FAQ
FAQでは、Eosに関して、よくある質問をまとめています。
目次
コマンド時のエラー
Q.1 コマンド実行時にライブラリなどのエラーが発生して動作しません。
A. リビルドを試してみて下さい。あるいはothersもダウンロード、更新してみて下さい。Eosでは使用するライブラリはOSの環境毎に使い分けていますので、アップデートしたときやダウンロードしたときはそのままでは正常に動作しない場合があります。
撮影画像
Q.1 単粒子解析と電子線トモグラフィーの違いはなんでしょうか。
A. 撮影方法には下記のような違いがあり、それぞれにメリット・デメリットがあります。
*単粒子解析は毎回向きが不明の粒子(あるいはその集まり)を1回毎に交換しながら撮影します。
(メリット)
・交換しながら撮影するので、正常な粒子画像を撮りやすい。
・撮影数を増やすと様々な向きの粒子画像を集めることができる。
(デメリット)
・向き、位置が(場合によっては存在の有無も)不明であるので、3次元再構成するために角度情報の決定が必要になる。
*電子線トモグラフィーは1つの試料を一定角度毎に傾けながら撮影します。
(メリット)
・予め角度が分かっているので、位置合わせだけで3次元再構成ができる。(より精度を高めるには軸の傾きを補正する必要がある)
・3次元再構成すると粒子単位でなく、撮影した空間単位で再現できる。
(デメリット) → 電子線トモグラフィー#電子線トモグラフィー画像のもつ問題点を参照。
・同じ試料を何度も撮影するので、途中で粒子の形状が変化する可能性がある。
・試料を傾ける角度に限界(±60°程度)があるため、撮影画像だけで再構成した3次元像にミッシングエリアが発生する。
画像フォーマットの変換
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. 楕円体を作成するにあたって重要なのは3方向(長軸・短軸だけでもよい)の長さの比と体積を入力画像の粒子と同じにすることです。具体的に使用するコマンドなどは単粒子解析#球・楕円体を参照像とする場合を参照。
投影角の決定
Q.1 決定された投影角がある方向に偏ってしまいます。
A. 入力画像の角度情報は角度毎の参照像との相関値によって決めています。この相関値はデータの厚みや補間方法によって高くなりやすい場合と低くなりやすい場合があるので、これにより角度情報が偏ってしまう場合もあります。
*細長い粒子との相関値は厚くなる向きでは高くなりやすく、薄くなる向きでは低くなりやすい。 → 単粒子解析#実行例2(相関値を正規化して角度情報を得る)を参照。
*0°, 90°, 180°, 270°, … の回転ではそのままのデータを入れ替えるだけの処理(一般的な角度では周辺のデータ同士で補間を行う)なので、相関値は高くなりやすい。
3次元再構成
Q.1 再構成してできた3次元像がある部分に偏ってできてしまいます。
A. 再構成する前に使用した角度情報(-Iの入力ファイル)が偏っていないでしょうか。Makefileで実行した場合は.3dlstファイルが角度情報となっていますので、確認してみましょう。角度情報が偏っている場合は#Q.1 決定された投影角がある方向に偏ってしまいます。を参照。
画像の比較
Q.1 画像(1D, 2D, 3D)の比較をしたいのですが、どんなコマンドがありますか?
A. mrcImageSubtractionにより減算した結果を出すことができます。
もし、二つの画像間で、密度の一次変換を行い、一方の密度にもっともあう密度に変換した後、比較したい場合には、mrcImageNormalizedSubtractionを利用することが出来ます。また、このコマンドでは、RMSD(root mean square deviation)を計算することも出来ます。
フーリエ空間の解析
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.2 "make: *** No rule to make target `XXXX'. Stop."というエラーが表示されてしまいます。
A1. `XXXX' を作成する際のsuffixルールまたはmakeコマンドが正しくない可能性があります。Makefileにて`XXXX'の構文を確認してみて下さい。
A2. あるいは`XXXX'を作成する過程において、入力として最低限必要なファイルが無い可能性があります。`XXXX'を作成する際に入力ファイルの拡張子、さらにそれを作成する拡張子を遡り、それぞれsuffixルールに書かれているか確認してみて下さい。suffixルールに書かれていない拡張子が見つかった場合はそれを作成するコマンドを事前に実行してから、再度`XXXX'作成のコマンドを試してみて下さい。
Q.3 makeコマンドを実行しても出力ファイルが更新されません。
A. "make: `XXXX' is up to date."というエラーが表示されてないでしょうか。これは出力ファイルの更新時間が入力ファイルよりも新しいものなので作成する必要がないと判断されたときのメッセージです。どうしても処理の都合上で出力ファイルが事前に更新されてしまうときは入力ファイルにtouchなどを使用してタイムスタンプを更新するように記述すると解決します。
ハードウェアの設定
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/
Eospediaの使用
使用したいコマンドなどはどのように探せば良いでしょうか。
コマンド名から検索したい場合はコマンド一覧にて、用途から検索したい場合は機能別コマンド一覧にて検索をしてみて下さい。