FAQ
FAQでは、Eosに関して、よくある質問をまとめています。
目次
画像フォーマットの変換
Q.1 Eosで利用する画像処理ツールを使うためのmrcフォーマットにするにはどうすればよいですか。IMOD/INSPECT3D/TEMographyなどとフォーマットが違います
A. もともとは、英国・MRCのCCP4に発するフォーマットですが、元々がX線結晶解析からスタートしているために、各種のパラメータの解釈が違っていたり、特殊な拡張を行っている場合があります。 また、よくつかわれるTIFFなどの画像フォーマットの画像を直接取り扱うことが出来ません。そのために、mrc2mrc、tiff2mrcなど各種のフィルタ・ツールを用意しています。
粒子の抽出
Q.1 粒子を切り出すには何を使いますか.
A. Display2を使います。その詳細はDisplay2による粒子抽出を参考にして下さい。
前処理・後処理
Q.1 ノイズが多く、分子がよく見えないときにどうすればよいですか?
A. ノイズが多い画像からノイズをとるにはいくつかの方法(ノイズ除去)があります。平滑化の処理を行います。らせん対称性などの対称性がある画像の場合には、対称性に則った平均化を行います。
Q.2 CTF補正を行うとリング上の構造が現れます。
A. CCDやフィルム上に存在したゴミやホットスポットのために生じます。それらは異常に大きい値もしくは小さい値をとっている場合が多いです。そうした値をとるには、mrcImageAbnormalValueRemove、もしくは、mrcImageCCDNoiseRemoveを利用することが出来ます。
Q.3 CTF補正を行うと周辺から縞模様が現れます。
A. デジタル画像では、画像が繰り返していると考えるべきであることから生じています。周辺の濃さが左右、上下で異なる場合に、如実に表れます。 これを無くすためには、Padding(mrcImagePad)/Windowing(mrcImageWindowing)/Floating(mrcImagePadで可能)といった前処理を行うことで最小限に抑えることが出来ます。
投影角の決定
Q.1 決定された投影角がある方向に偏ってしまいます。
A. 入力画像の角度情報は角度毎の参照像との相関値によって決めています。この相関値はデータの厚みや補間方法によって高くなりやすい場合と低くなりやすい場合があるためです。
*細長い粒子との相関値は厚くなる向きでは高くなりやすく、薄くなる向きでは低くなりやすい。 → 単粒子解析#実行例2(相関値を正規化して角度情報を得る)を参照
*0°, 90°, 180°, 270°, … の回転では補間せずにそのままのデータを入れ替えるだけなので、相関値は高くなりやすい。(但し、補間方法による)
画像の比較
Q.1 画像(1D, 2D, 3D)の比較をしたいのですが、どんなコマンドがありますか?
A. mrcImageSubtractionにより減算した結果を出すことができます。また、このコマンドでは、RMSD(root mean square deviation)を計算するとも出来ます。 もし、二つの画像間で、密度の一次変換を行い、一方の密度にもっともあう密度に変換した後、比較したい場合には、mrcImageNormalizedSubtractionを利用することが出来ます。
フーリエ空間の解析
Q.1 フーリエ空間のパワースペクトラムの値を出したいのですが、どんなコマンドがありますか?
A. mrcFFTInfoというコマンドがあり、半径毎の平均値や和などを出すことが出来ます。これ以外に、mrcFFTShellInfoという設定したShell(Rmin<R<Rmax)の平均強度やパワーを出すことができるツールもあります。
並列計算
Q.1 Eosのsmall commandsは、並列計算することが出来ますか。
A. できるコマンドもあります。-pthread/-cudaなどのキーワードがオプションにあるコマンドを参考にして下さい。mrc2Dto3Dやmrc3Dto2Dなどがそれに対応します。
Makefile
Q.1 "Waiting for unfinished jobs...."というエラーが出て途中終了してしまいました。
A. -j オプションを使用している場合、makeコマンドの並列処理に失敗している可能性があります。-j の引数を小さくするもしくはオプション無しを試してみて下さい。
ハードウェアの設定
Q.1 X11上でEosのDisplay2やctfDisplayでキーボードの入力ができません。どうすれば良いでしょう。
A. 入力メソッドとして全てのソフトウェアで利用できる設定になっていますか。入力メソッドの設定の中に「全てのアプリケーションで利用する」のチェックを入れてみて下さい。
コンパイル・開発関連
Q1 コンパイル時にduplicateエラーが発生し、コマンドが作成されません。
A. gccのバージョンによってはデフォルトでインライン関数の定義が残るように設定されている可能性があります。gccを含む記述をgcc -std=gnu90にしてみて下さい。具体的に変更するファイルは $EOS_HOME/src/Config/XXXX.incです。(XXXXは使用しているOSのタイプです。)
例. x86Mac64.incの場合
変更前 変更後 CC = gcc CC = gcc -std=gnu90 SHAREDCC = gcc -fpic SHAREDCC = gcc -std=gnu90 -fpic
Q2 使いたいツールを実行しようとすると Not Installed: XXXXX-version YYYYYY といわれたのですが、どうすればよいでしょうか。
A. 設定された環境でコンパイル・リンクがなされていません。src/Tools以下のディレクトリにあるCLASS/YYYYYY のディレクトリに移動し、make check; make depend; make install とうってみましょう。
※ OS-Xの場合、ライブラリのインストールが足りていない可能性があります。下記のコマンドを試してみましょう。(ライブラリがコピーされます)
sudo cp /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Resources/lib*.dylib $EOS_HOME/util/X86MAC64/lib/