「FAQ」の版間の差分
(→PIONE) |
(→コマンド時のエラー) |
||
(他の1人の利用者による、間の49版が非表示) | |||
行1: | 行1: | ||
'''FAQ'''では、Eosに関して、よくある質問をまとめています。こちらにない内容でも疑問に思ったことはQ.に書き込んで頂くと、後ほど回答致しますので、ご協力お願いします。<br> | '''FAQ'''では、Eosに関して、よくある質問をまとめています。こちらにない内容でも疑問に思ったことはQ.に書き込んで頂くと、後ほど回答致しますので、ご協力お願いします。<br> | ||
+ | <br> | ||
+ | |||
+ | == ダウンロード・インストール・更新 == | ||
+ | === Q1. ダウンロードのコマンドがよく分かりません。 === | ||
+ | A. 基本的には[[ダウンロード]]の操作の内いずれでも可能です。gitが使用できる(git --versionで確認できる)環境の場合は例えば[[ダウンロード#全てのデータを一括でダウンロードしたい場合(makeコマンドを使用)]]の方法、そうでない場合は[[ダウンロード#直接ダウンロードしたい方、開発環境は必要なく、実行だけを行いたい方]]の方法でダウンロードしてみてはどうでしょうか。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q2. make git-fetchやmake git-mergeなどでエラーが表示されます。 === | ||
+ | A. make gitコマンドの中にはgit logを使用しているものがあります。一度も更新されていない場合はログが無いのでgit logが失敗してエラーとなっている可能性があります。再度make git-fetchとmake git-mergeを実行すると解消されます。<br> | ||
<br> | <br> | ||
== コマンド時のエラー == | == コマンド時のエラー == | ||
=== Q.1 コマンド実行時にライブラリなどのエラーが発生して動作しません。 === | === Q.1 コマンド実行時にライブラリなどのエラーが発生して動作しません。 === | ||
− | A. | + | A. [[Eosを最新版に更新]]して[[Eosのリビルド]]を試してみて下さい。あるいはothersも[[ダウンロード#付加的なレポジトリを利用したい場合|ダウンロード]]、更新してみて下さい。Eosでは使用するライブラリはOSの環境毎に使い分けていますので、アップデートしたときやダウンロードしたときはそのままでは正常に動作しない場合があります。この動作の詳細は、[[MachineIndependent]]等をご参照下さい。<br> |
<br> | <br> | ||
行67: | 行76: | ||
A. デジタル画像では、画像が繰り返していると考えるべきであることから生じています。周辺の濃さが左右、上下で異なる場合に、如実に表れます。<br> | A. デジタル画像では、画像が繰り返していると考えるべきであることから生じています。周辺の濃さが左右、上下で異なる場合に、如実に表れます。<br> | ||
− | これを無くすためには、Padding([[mrcImagePad]])/Windowing([[mrcImageWindowing]])/Floating([[mrcImagePad]]で可能)といった前処理を行うことで最小限に抑えることが出来ます。<br> | + | これを無くすためには、Padding([[mrcImagePad]])/Windowing([[mrcImageWindowing]])/Floating([[mrcImageFloating]]または[[mrcImagePad]]で可能)といった前処理を行うことで最小限に抑えることが出来ます。<br> |
<br> | <br> | ||
行80: | 行89: | ||
A. 入力画像の角度情報は角度毎の参照像との相関値によって決めています。この相関値はデータの厚みや補間方法によって高くなりやすい場合と低くなりやすい場合があるので、これにより角度情報が偏ってしまう場合もあります。<br> | A. 入力画像の角度情報は角度毎の参照像との相関値によって決めています。この相関値はデータの厚みや補間方法によって高くなりやすい場合と低くなりやすい場合があるので、これにより角度情報が偏ってしまう場合もあります。<br> | ||
− | *細長い粒子との相関値は厚くなる向きでは高くなりやすく、薄くなる向きでは低くなりやすい。 | + | *細長い粒子との相関値は厚くなる向きでは高くなりやすく、薄くなる向きでは低くなりやすい。<br> |
+ | → [[単粒子解析#実行例2(相関値を正規化して角度情報を得る)]]を参照。<br> | ||
*0°, 90°, 180°, 270°, … の回転ではそのままのデータを入れ替えるだけの処理(一般的な角度では周辺のデータ同士で補間を行う)なので、相関値は高くなりやすい。<br> | *0°, 90°, 180°, 270°, … の回転ではそのままのデータを入れ替えるだけの処理(一般的な角度では周辺のデータ同士で補間を行う)なので、相関値は高くなりやすい。<br> | ||
<br> | <br> | ||
行88: | 行98: | ||
A. 再構成する前に使用した角度情報(-Iの入力ファイル)が偏っていないでしょうか。Makefileで実行した場合は.3dlstファイルが角度情報となっていますので、確認してみましょう。角度情報が偏っている場合は[[#Q.1 決定された投影角がある方向に偏ってしまいます。]]を参照。<br> | A. 再構成する前に使用した角度情報(-Iの入力ファイル)が偏っていないでしょうか。Makefileで実行した場合は.3dlstファイルが角度情報となっていますので、確認してみましょう。角度情報が偏っている場合は[[#Q.1 決定された投影角がある方向に偏ってしまいます。]]を参照。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.2 3次元再構成後のファイルを拡大・縮小するコマンドはありますか。 === | ||
+ | A. [[mrcImageSamplingUnitChange]]を使用すると、2Dあるいは3D画像ファイルの拡大・縮小ができます。<br> | ||
<br> | <br> | ||
行100: | 行114: | ||
=== Q.1 フーリエ空間のパワースペクトラムの値を出したいのですが、どんなコマンドがありますか? === | === Q.1 フーリエ空間のパワースペクトラムの値を出したいのですが、どんなコマンドがありますか? === | ||
− | A. [[mrcFFTInfo]] | + | A. [[mrcFFTInfo]]というコマンドがあり、R毎の平均値や和などを出すことが出来ます。これ以外に、[[mrcFFTShellInfo]]という設定したShell(Rmin<R<Rmax)の平均強度やパワーを出すことができるツールもあります。<br> |
<br> | <br> | ||
== 並列計算 == | == 並列計算 == | ||
=== Q.1 Eosのsmall commandsは、並列計算することが出来ますか。=== | === Q.1 Eosのsmall commandsは、並列計算することが出来ますか。=== | ||
− | A. できるコマンドもあります。-pthread/- | + | A. できるコマンドもあります。-pthread/-cudaなどのキーワードがオプションにあるコマンドを参考にして下さい。[[mrc2Dto3D]]や[[mrc3Dto2D]]などがそれに対応します。<br> |
<br> | <br> | ||
行114: | 行128: | ||
=== Q.2 "make: *** No rule to make target `XXXX'. Stop."というエラーが表示されてしまいます。 === | === Q.2 "make: *** No rule to make target `XXXX'. Stop."というエラーが表示されてしまいます。 === | ||
− | A1. `XXXX' | + | A1. `XXXX' を作成する際のsuffixルールまたはmakeコマンドが正しくない可能性があります。[[Makefile]]にて`XXXX'の構文を確認してみて下さい。<br> |
<br> | <br> | ||
A2. あるいは`XXXX'を作成する過程において、入力として最低限必要なファイルが無い可能性があります。`XXXX'を作成する際に入力ファイルの拡張子、さらにそれを作成する拡張子を遡り、それぞれsuffixルールに書かれているか確認してみて下さい。suffixルールに書かれていない拡張子が見つかった場合はそれを作成するコマンドを事前に実行してから、再度`XXXX'作成のコマンドを試してみて下さい。<br> | A2. あるいは`XXXX'を作成する過程において、入力として最低限必要なファイルが無い可能性があります。`XXXX'を作成する際に入力ファイルの拡張子、さらにそれを作成する拡張子を遡り、それぞれsuffixルールに書かれているか確認してみて下さい。suffixルールに書かれていない拡張子が見つかった場合はそれを作成するコマンドを事前に実行してから、再度`XXXX'作成のコマンドを試してみて下さい。<br> | ||
行124: | 行138: | ||
== PIONE == | == PIONE == | ||
− | === Q.1 | + | === Q.1 gemコマンドやbundleコマンドにてエラーが発生しました。(インストール、アップデート、アンインストールなど) === |
− | + | A1. whichコマンドを使用してruby, gem, bundlerが意図した場所であるかを確認してみて下さい。[[ファイル:pione_ver.sh.zip]]のシェルスクリプトを使用すると[[PIONE]]を含めたバージョンを確認できます。ご利用ください。<br> | |
+ | <br> | ||
+ | A2. コンパイルされたrubyに必要なライブラリが含まれていない可能性もあります。[[PIONEのインストール方法#rubyの(再)コンパイル|こちら]]を試してみて下さい。<br> | ||
+ | <br> | ||
+ | A3. rubyはバージョン1.9.2以上2未満を要求していますので、他のバージョンと混在している可能性もあります。次の方法を試してみて下さい。<br> | ||
+ | A3-1. 使用しないバージョンについては一時処置として、名前の後ろにバージョンNo.を付けるなどリネームを行ってみて下さい。<br> | ||
+ | A3-2. $HOMEディレクトリに.gemという隠しディレクトリがありますので、こちらを削除(あるいはリネーム)してみて下さい。<br> | ||
<br> | <br> | ||
=== Q.2 作成した[[PIONE]]コマンド実行時に"fatal: Pione syntax error: rule footer not found"というエラーが出てしまいました。 === | === Q.2 作成した[[PIONE]]コマンド実行時に"fatal: Pione syntax error: rule footer not found"というエラーが出てしまいました。 === | ||
− | A. | + | A. 作成した[[PIONE定義書]]について構文エラーの可能性もあります。コードをよく確認しましょう。(参照:[[PIONE定義書のTIPS#構文エラーに関する注意点]])また使用文字コードにも気をつけましょう。(参照:[[ASCII]])<br> |
− | + | ||
<br> | <br> | ||
− | === Q.3 [[ | + | === Q.3 [[PIONE]]のパッケージ作成時にエラーが発生します。 === |
− | + | A1. まず、jsonファイルが作成されているかを確認して下さい。ログにてinfo: update... ...jsonと出力されていれば、[[PIONE定義書]]と同じ場所に作成されているはずです。作成されていない場合は構文ルールが読み取れなかった可能性があります。[[PIONE定義書]]にパッケージ用の構文が正しく書かれているかを確認しましょう。次にパッケージ用のコマンドが正しく入力されているかを確認しましょう。([[pione package build]] (ディレクトリ名))。<br> | |
<br> | <br> | ||
− | + | A2. jsonファイルが作成されている場合はそこから.ppgファイルを作成する段階でエラーとなっていると考えられます。下記のような可能性があります。<br> | |
− | + | ||
<br> | <br> | ||
− | + | A2-1. 作業ファイルの所有者または権限によってエラーになっているケース: [[PIONE]]、[[PIONE Webclient]](サーバ)を別々のユーザで使用した場合に偶然パッケージ名が同じだった場合に発生します。作成するパッケージ名もしくはタグ名を変更すると解決します。このケースは下記のコマンドによって[[PIONE]]の作業ディレクトリの権限を確認することで判断できます。<br> | |
− | + | <pre> | |
+ | $ ls -ld $HOME/.pione/ | ||
+ | </pre> | ||
<br> | <br> | ||
− | === | + | === Q4. [[PIONE]]の出力結果をファイル出力すると変な文字が含まれています。標準出力のときと違います。 === |
− | A. [[ | + | A. [[PIONE]]の結果出力には端末に対する色制御文字列が付加されているためです。これはオプション--color falseを設定すると付加されませんので、こちらを試してみて下さい。(参照: [[PIONEのTIPS#実行結果をファイル出力するとき]])<br> |
<br> | <br> | ||
− | === Q. | + | === Q5. 既に記述されている[[Makefile]]をベースに[[PIONE定義書]]を記述したいのですが、何に気をつけたら良いでしょうか。 === |
− | + | A. まず、[[Makefile]]と[[PIONE定義書]]を見てそれぞれの違いを確認してみましょう。特に入力ファイルから出力ファイルを作成する一つのルーチンをそれぞれどのように書いているかに注目します。それを踏まえて、[[Makefile]]のmake allから最初に実行しているコマンドの書き換えから試してみて下さい。また、内部の処理はどちらも基本的には[[シェルスクリプト]]ですが、[[Makefile]]には[[Makefile#Makefile作成での注意点|シェルスクリプトと異なる点]]もありますので、注意して下さい。特にif文やfor文などで使用している\はあっても動作しますが、デバッグのために途中でコメントアウトできるようにしておいた方が良いので、消しておくことをお薦めします。<br> | |
+ | <br> | ||
+ | |||
+ | === Q6. PIONE実行時に"warn: cannot move /var/folders/ ... to #<Pione::Location::LocalLocation local:/ ... >: same file: /var/folders/ ..."といったワーニングが出力されます。 === | ||
+ | A. これはワーキングディレクトリに存在するファイルをファイルサーバ上に移動させようとした場合に、失敗した事を表す警告です。pione-clientを単独で動作させた場合は問題ありませんが、もし複数のマシンで動作させていた場合や[[PIONE Webclient]]の場合で出力された場合は何らか([[PIONE定義書]]、[[PIONE]])のバグが生じている可能性がありますので、報告をお願いします。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q7. [[pione-client]]での処理が終わりません。あるいは実行されないルールがあります。 === | ||
+ | A1. inputやoutputに*などのワイルドカードを使用している場合は該当する全てのファイルについてルールが適用されます。途中で作成されるoutputが条件を満たすようになっていないでしょうか。<br> | ||
+ | <br> | ||
+ | |||
+ | A2. あるいはFlowに記述している条件式またはパラメータに設定している[[PIONEの式]]の構文が正しくない場合があります。特に四則演算については現バージョンの[[PIONE]]では二項についてのみ対応していますので、注意が必要です。(参照:[[PIONEの式#四則演算における注意事項]])<br> | ||
+ | <br> | ||
+ | |||
+ | === Q8. [[pione-client]]実行時に"info ERROR: Outputs of rule 'Main' in package &Anonymous are invalid: ... "といったエラーが発生します。 === | ||
+ | A. Mainルールでoutputに記述したファイルのいずれかが作成されていない可能性があります。[[PIONE定義書]]の構文を確認してみて下さい。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.9. [[PIONE定義書]]のAction内でechoしても標準出力されません。 === | ||
+ | A. [[PIONE]]は入力からActionを実行し出力を得る仕組みで、入出力の有無と時間のみを基準に処理を行うのみなので、Action内で何が実行されているかは関与しません。それ故にAction処理内部でのそのままではecho処理でターミナル上に標準出力することはできません。ログとして閲覧・記録する場合はファイルに書き込んで、Mainルールまで出力するようにして下さい。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.10. [[PIONE定義書]]にブロックコメントを付けることはできますか === | ||
+ | A. [[PIONE定義書]]の記法にはブロックコメントに相当する構文はありません。エディタによっては文頭に#を付ける機能もありますので、そちらをご利用下さい。あるいはifなどの条件分岐を使用する方法もあります。(参照:[[PIONEチュートリアル#デバッグのための条件文]])<br> | ||
+ | <br> | ||
+ | |||
+ | == PIONE-webclient == | ||
+ | === Q.1 pione-webclient-god.logにYou should create Drop-ins app key file at XXXというエラーが次々に出力されてしまいます。 === | ||
+ | A. こちらのバグは最新バージョンでは解決しています。最新バージョンでも発生する場合は[https://github.com/pione GITHUB/PIONE]へ報告をお願いします。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.2 [[PIONEの起動方法#pione-webclientのためのサーバの起動]]の通りにgod実行をしましたがWebページが見れません。 === | ||
+ | A1. まず、godからpione-web-clientが動いているかを確認してみて下さい。psコマンドを使用すると確認できます。<br> | ||
<pre> | <pre> | ||
$ ps -axl | $ ps -axl | ||
</pre> | </pre> | ||
このとき、ruby -I lib bin/pione-webclientというコマンドがリスト内にある場合はpione-web-clientが動いていることになります。<br> | このとき、ruby -I lib bin/pione-webclientというコマンドがリスト内にある場合はpione-web-clientが動いていることになります。<br> | ||
− | |||
− | |||
− | |||
<br> | <br> | ||
− | == PIONE | + | A1-1. pione-web-clientが動いていない場合はgodの実行で失敗している可能性があります。<br> |
− | === | + | 実行しているユーザが間違っていないかを確認し、/pione-webclient/内をls -lにて調べ、ログ及びワーススペースの所有者がそのユーザ名になっていて、書き込み可能であるかを確認してみて下さい。そうでない場合はこれらをリネームするか削除してから実行してみて下さい。<br> |
− | A. | + | <br> |
+ | A1-2. 次にpione-web-clientが動いている場合は出力されているログにエラーが書かれていないか確認してみて下さい。<br> | ||
+ | エラーが出力されている場合はバグの可能性もありますので、その場合はこのログと実行環境(OS, PIONE, Ruby, gem, Bundlerのバージョンなど)を合わせて、PIONE GitHubに報告しましょう。[[ファイル:pione_ver.sh.zip]]のシェルスクリプトを使用するとOS以外のバージョンが出力されます。<br> | ||
+ | そしてエラーがない場合はポートが開いているかを確認して下さい。ポート番号は56001です。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.3 [[PIONE Webclient]]で[[Eosのコマンド]]を実行したときにエラーが発生しました。 === | ||
+ | A1. [[Eosのコマンド]]を処理する側のマシンにて[[Eos]]のパス(環境ファイル)が設定されていない可能性があります。例えば、echo $EOS_HOMEのコマンドが出力されるかを確認し、出力されていなければそのマシンにてパスの設定を行う必要があります。.profileなどでsourceするようにして下さい。(参照: [[インストール方法#Eosの環境設定]])出力されている場合は別の原因であると考えられます。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.4 継承したパッケージが[[PIONE Webclient]]で動作しません === | ||
+ | A1. パッケージの継承は現在、[[PIONE Webclient]]には未対応です。<br> | ||
+ | <br> | ||
+ | |||
+ | == [[WoPeD]] == | ||
+ | === Q.1 [[WoPeD]]起動時に"java runtime environment"が見つからないというエラーが発生しました。 === | ||
+ | A. [[WoPeD]]の起動にはJRE(java runtime environment)が必要です。OSやバージョンによってはJREが初期設定でインストールされていない場合もあります。JREをインストールしてみて下さい。<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.2 [[WoPeD]]にて編集したplaceやtransitionの名称などが反映されません。 === | ||
+ | A. 恐らく[[WoPeD]]のバグです。編集したplaceやtransitionを一旦動かしてみると解消されるようです。<br> | ||
+ | <br> | ||
+ | |||
+ | == [[ProM]] == | ||
+ | === Q.1 [[ProM]]使用時に"Uitopia.ui"が見つからないというエラーが発生しました。 === | ||
+ | A. [[ProM]]を起動するときのディレクトリを[[ProM]]ディレクトリ内で実行してみて下さい。(OS-X 10.8.5で確認済み)<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.2 [[ProM]]で使用したいAction(Dotted Chartなど)が見つかりません。 === | ||
+ | A. そのActionが[[ProM]]にインポートされていない可能性があります。ProMPMを使用してインストール、インポートしてから試してみて下さい。(参照: [[ProM]])<br> | ||
+ | <br> | ||
+ | |||
+ | === Q.3 ログを確認していたら、図が表示されません。Refresh viewが終わりません。 === | ||
+ | A. [[ProM]]の再描画処理が動いていない可能性があります。最小化、再表示などを行ってみて下さい。<br> | ||
<br> | <br> | ||
2016年9月7日 (水) 03:17時点における最新版
FAQでは、Eosに関して、よくある質問をまとめています。こちらにない内容でも疑問に思ったことはQ.に書き込んで頂くと、後ほど回答致しますので、ご協力お願いします。
目次
- 1 ダウンロード・インストール・更新
- 2 コマンド時のエラー
- 3 撮影画像
- 4 画像フォーマットの変換
- 5 粒子の抽出
- 6 前処理・後処理
- 7 参照像の作成
- 8 投影角の決定
- 9 3次元再構成
- 10 画像の比較
- 11 フーリエ空間の解析
- 12 並列計算
- 13 Makefile
- 14 PIONE
- 14.1 Q.1 gemコマンドやbundleコマンドにてエラーが発生しました。(インストール、アップデート、アンインストールなど)
- 14.2 Q.2 作成したPIONEコマンド実行時に"fatal: Pione syntax error: rule footer not found"というエラーが出てしまいました。
- 14.3 Q.3 PIONEのパッケージ作成時にエラーが発生します。
- 14.4 Q4. PIONEの出力結果をファイル出力すると変な文字が含まれています。標準出力のときと違います。
- 14.5 Q5. 既に記述されているMakefileをベースにPIONE定義書を記述したいのですが、何に気をつけたら良いでしょうか。
- 14.6 Q6. PIONE実行時に"warn: cannot move /var/folders/ ... to #<Pione::Location::LocalLocation local:/ ... >: same file: /var/folders/ ..."といったワーニングが出力されます。
- 14.7 Q7. pione-clientでの処理が終わりません。あるいは実行されないルールがあります。
- 14.8 Q8. pione-client実行時に"info ERROR: Outputs of rule 'Main' in package &Anonymous are invalid: ... "といったエラーが発生します。
- 14.9 Q.9. PIONE定義書のAction内でechoしても標準出力されません。
- 14.10 Q.10. PIONE定義書にブロックコメントを付けることはできますか
- 15 PIONE-webclient
- 16 WoPeD
- 17 ProM
- 18 ハードウェアの設定
- 19 コンパイル・開発関連
- 20 Eospediaの使用
- 21 未分類(後ほど整理します)
ダウンロード・インストール・更新
Q1. ダウンロードのコマンドがよく分かりません。
A. 基本的にはダウンロードの操作の内いずれでも可能です。gitが使用できる(git --versionで確認できる)環境の場合は例えばダウンロード#全てのデータを一括でダウンロードしたい場合(makeコマンドを使用)の方法、そうでない場合はダウンロード#直接ダウンロードしたい方、開発環境は必要なく、実行だけを行いたい方の方法でダウンロードしてみてはどうでしょうか。
Q2. make git-fetchやmake git-mergeなどでエラーが表示されます。
A. make gitコマンドの中にはgit logを使用しているものがあります。一度も更新されていない場合はログが無いのでgit logが失敗してエラーとなっている可能性があります。再度make git-fetchとmake git-mergeを実行すると解消されます。
コマンド時のエラー
Q.1 コマンド実行時にライブラリなどのエラーが発生して動作しません。
A. Eosを最新版に更新してEosのリビルドを試してみて下さい。あるいはothersもダウンロード、更新してみて下さい。Eosでは使用するライブラリはOSの環境毎に使い分けていますので、アップデートしたときやダウンロードしたときはそのままでは正常に動作しない場合があります。この動作の詳細は、MachineIndependent等をご参照下さい。
Q.2 コマンドの動作、使い方などで質問したいところがあります。
A. このFAQ、あるいはこちらに書き込んで頂ければ、後ほど回答させて頂きます。コマンド実行時は「ドキュメント作成」へ、コードからのときは「開発者」の項目に書いて頂ければと思います。書き方については過去のスレッド等を参考にしてみて下さい。また、書き込む際にはメーリングリストにてメンバー登録して頂く必要があります。
Q.3 コマンド実行時にバグが見つかりました。
A. こちらにてチケットを発行して報告頂ければ幸いです。書き方については過去のチケット等を参考にしてみて下さい。また、書き込む際にはメーリングリストにてメンバー登録して頂く必要があります。
撮影画像
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.2 Display2を使用したときの画像が真っ黒(真っ白)で何も見えません。
A. 表示する密度(画像値)の範囲が適正でないと思われます。オプション-L, -Hを使用するか、Information->Display2 InfoでHighとLowを設定してみて下さい。-H, Highには最大値、-L, Lowには最小値を使用してみて下さい。最大値、最小値などはInformation->mrcImage InfoもしくはmrcImageInfo(-I)などで確認することができます。
前処理・後処理
Q.1 ノイズが多く、分子がよく見えないときにどうすればよいですか?
A. ノイズが多い画像からノイズをとるにはいくつかの方法(ノイズ除去)があります。平滑化の処理を行います。らせん対称性などの対称性がある画像の場合には、対称性に則った平均化を行います。
Q.2 CTF補正を行うとリング上の構造が現れます。
A. CCDやフィルム上に存在したゴミやホットスポットのために生じます。それらは異常に大きい値もしくは小さい値をとっている場合が多いです。そうした値をとるには、mrcImageAbnormalValueRemove、もしくは、mrcImageCCDNoiseRemoveを利用することが出来ます。
Q.3 CTF補正を行うと周辺から縞模様が現れます。
A. デジタル画像では、画像が繰り返していると考えるべきであることから生じています。周辺の濃さが左右、上下で異なる場合に、如実に表れます。
これを無くすためには、Padding(mrcImagePad)/Windowing(mrcImageWindowing)/Floating(mrcImageFloatingまたはmrcImagePadで可能)といった前処理を行うことで最小限に抑えることが出来ます。
参照像の作成
Q.1 参照像を楕円体で作りたいのですが、どんなことに気をつければ良いでしょうか。
A. 楕円体を作成するにあたって重要なのは3方向(長軸・短軸だけでもよい)の長さの比と体積を入力画像の粒子と同じにすることです。具体的に使用するコマンドなどは単粒子解析#球・楕円体を参照像とする場合を参照。
投影角の決定
Q.1 決定された投影角がある方向に偏ってしまいます。
A. 入力画像の角度情報は角度毎の参照像との相関値によって決めています。この相関値はデータの厚みや補間方法によって高くなりやすい場合と低くなりやすい場合があるので、これにより角度情報が偏ってしまう場合もあります。
*細長い粒子との相関値は厚くなる向きでは高くなりやすく、薄くなる向きでは低くなりやすい。
→ 単粒子解析#実行例2(相関値を正規化して角度情報を得る)を参照。
*0°, 90°, 180°, 270°, … の回転ではそのままのデータを入れ替えるだけの処理(一般的な角度では周辺のデータ同士で補間を行う)なので、相関値は高くなりやすい。
3次元再構成
Q.1 再構成してできた3次元像がある部分に偏ってできてしまいます。
A. 再構成する前に使用した角度情報(-Iの入力ファイル)が偏っていないでしょうか。Makefileで実行した場合は.3dlstファイルが角度情報となっていますので、確認してみましょう。角度情報が偏っている場合は#Q.1 決定された投影角がある方向に偏ってしまいます。を参照。
Q.2 3次元再構成後のファイルを拡大・縮小するコマンドはありますか。
A. mrcImageSamplingUnitChangeを使用すると、2Dあるいは3D画像ファイルの拡大・縮小ができます。
画像の比較
Q.1 画像(1D, 2D, 3D)の比較をしたいのですが、どんなコマンドがありますか?
A. mrcImageSubtractionにより減算した結果を出すことができます。
もし、二つの画像間で、密度の一次変換を行い、一方の密度にもっともあう密度に変換した後、比較したい場合には、mrcImageNormalizedSubtractionを利用することが出来ます。また、このコマンドでは、RMSD(root mean square deviation)を計算することも出来ます。
フーリエ空間の解析
Q.1 フーリエ空間のパワースペクトラムの値を出したいのですが、どんなコマンドがありますか?
A. mrcFFTInfoというコマンドがあり、R毎の平均値や和などを出すことが出来ます。これ以外に、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などを使用してタイムスタンプを更新するように記述すると解決します。
PIONE
Q.1 gemコマンドやbundleコマンドにてエラーが発生しました。(インストール、アップデート、アンインストールなど)
A1. whichコマンドを使用してruby, gem, bundlerが意図した場所であるかを確認してみて下さい。ファイル:pione ver.sh.zipのシェルスクリプトを使用するとPIONEを含めたバージョンを確認できます。ご利用ください。
A2. コンパイルされたrubyに必要なライブラリが含まれていない可能性もあります。こちらを試してみて下さい。
A3. rubyはバージョン1.9.2以上2未満を要求していますので、他のバージョンと混在している可能性もあります。次の方法を試してみて下さい。
A3-1. 使用しないバージョンについては一時処置として、名前の後ろにバージョンNo.を付けるなどリネームを行ってみて下さい。
A3-2. $HOMEディレクトリに.gemという隠しディレクトリがありますので、こちらを削除(あるいはリネーム)してみて下さい。
A. 作成したPIONE定義書について構文エラーの可能性もあります。コードをよく確認しましょう。(参照:PIONE定義書のTIPS#構文エラーに関する注意点)また使用文字コードにも気をつけましょう。(参照:ASCII)
Q.3 PIONEのパッケージ作成時にエラーが発生します。
A1. まず、jsonファイルが作成されているかを確認して下さい。ログにてinfo: update... ...jsonと出力されていれば、PIONE定義書と同じ場所に作成されているはずです。作成されていない場合は構文ルールが読み取れなかった可能性があります。PIONE定義書にパッケージ用の構文が正しく書かれているかを確認しましょう。次にパッケージ用のコマンドが正しく入力されているかを確認しましょう。(pione package build (ディレクトリ名))。
A2. jsonファイルが作成されている場合はそこから.ppgファイルを作成する段階でエラーとなっていると考えられます。下記のような可能性があります。
A2-1. 作業ファイルの所有者または権限によってエラーになっているケース: PIONE、PIONE Webclient(サーバ)を別々のユーザで使用した場合に偶然パッケージ名が同じだった場合に発生します。作成するパッケージ名もしくはタグ名を変更すると解決します。このケースは下記のコマンドによってPIONEの作業ディレクトリの権限を確認することで判断できます。
$ ls -ld $HOME/.pione/
Q4. PIONEの出力結果をファイル出力すると変な文字が含まれています。標準出力のときと違います。
A. PIONEの結果出力には端末に対する色制御文字列が付加されているためです。これはオプション--color falseを設定すると付加されませんので、こちらを試してみて下さい。(参照: PIONEのTIPS#実行結果をファイル出力するとき)
Q5. 既に記述されているMakefileをベースにPIONE定義書を記述したいのですが、何に気をつけたら良いでしょうか。
A. まず、MakefileとPIONE定義書を見てそれぞれの違いを確認してみましょう。特に入力ファイルから出力ファイルを作成する一つのルーチンをそれぞれどのように書いているかに注目します。それを踏まえて、Makefileのmake allから最初に実行しているコマンドの書き換えから試してみて下さい。また、内部の処理はどちらも基本的にはシェルスクリプトですが、Makefileにはシェルスクリプトと異なる点もありますので、注意して下さい。特にif文やfor文などで使用している\はあっても動作しますが、デバッグのために途中でコメントアウトできるようにしておいた方が良いので、消しておくことをお薦めします。
Q6. PIONE実行時に"warn: cannot move /var/folders/ ... to #<Pione::Location::LocalLocation local:/ ... >: same file: /var/folders/ ..."といったワーニングが出力されます。
A. これはワーキングディレクトリに存在するファイルをファイルサーバ上に移動させようとした場合に、失敗した事を表す警告です。pione-clientを単独で動作させた場合は問題ありませんが、もし複数のマシンで動作させていた場合やPIONE Webclientの場合で出力された場合は何らか(PIONE定義書、PIONE)のバグが生じている可能性がありますので、報告をお願いします。
Q7. pione-clientでの処理が終わりません。あるいは実行されないルールがあります。
A1. inputやoutputに*などのワイルドカードを使用している場合は該当する全てのファイルについてルールが適用されます。途中で作成されるoutputが条件を満たすようになっていないでしょうか。
A2. あるいはFlowに記述している条件式またはパラメータに設定しているPIONEの式の構文が正しくない場合があります。特に四則演算については現バージョンのPIONEでは二項についてのみ対応していますので、注意が必要です。(参照:PIONEの式#四則演算における注意事項)
Q8. pione-client実行時に"info ERROR: Outputs of rule 'Main' in package &Anonymous are invalid: ... "といったエラーが発生します。
A. Mainルールでoutputに記述したファイルのいずれかが作成されていない可能性があります。PIONE定義書の構文を確認してみて下さい。
Q.9. PIONE定義書のAction内でechoしても標準出力されません。
A. PIONEは入力からActionを実行し出力を得る仕組みで、入出力の有無と時間のみを基準に処理を行うのみなので、Action内で何が実行されているかは関与しません。それ故にAction処理内部でのそのままではecho処理でターミナル上に標準出力することはできません。ログとして閲覧・記録する場合はファイルに書き込んで、Mainルールまで出力するようにして下さい。
Q.10. PIONE定義書にブロックコメントを付けることはできますか
A. PIONE定義書の記法にはブロックコメントに相当する構文はありません。エディタによっては文頭に#を付ける機能もありますので、そちらをご利用下さい。あるいはifなどの条件分岐を使用する方法もあります。(参照:PIONEチュートリアル#デバッグのための条件文)
PIONE-webclient
Q.1 pione-webclient-god.logにYou should create Drop-ins app key file at XXXというエラーが次々に出力されてしまいます。
A. こちらのバグは最新バージョンでは解決しています。最新バージョンでも発生する場合はGITHUB/PIONEへ報告をお願いします。
Q.2 PIONEの起動方法#pione-webclientのためのサーバの起動の通りにgod実行をしましたがWebページが見れません。
A1. まず、godからpione-web-clientが動いているかを確認してみて下さい。psコマンドを使用すると確認できます。
$ ps -axl
このとき、ruby -I lib bin/pione-webclientというコマンドがリスト内にある場合はpione-web-clientが動いていることになります。
A1-1. pione-web-clientが動いていない場合はgodの実行で失敗している可能性があります。
実行しているユーザが間違っていないかを確認し、/pione-webclient/内をls -lにて調べ、ログ及びワーススペースの所有者がそのユーザ名になっていて、書き込み可能であるかを確認してみて下さい。そうでない場合はこれらをリネームするか削除してから実行してみて下さい。
A1-2. 次にpione-web-clientが動いている場合は出力されているログにエラーが書かれていないか確認してみて下さい。
エラーが出力されている場合はバグの可能性もありますので、その場合はこのログと実行環境(OS, PIONE, Ruby, gem, Bundlerのバージョンなど)を合わせて、PIONE GitHubに報告しましょう。ファイル:pione ver.sh.zipのシェルスクリプトを使用するとOS以外のバージョンが出力されます。
そしてエラーがない場合はポートが開いているかを確認して下さい。ポート番号は56001です。
Q.3 PIONE WebclientでEosのコマンドを実行したときにエラーが発生しました。
A1. Eosのコマンドを処理する側のマシンにてEosのパス(環境ファイル)が設定されていない可能性があります。例えば、echo $EOS_HOMEのコマンドが出力されるかを確認し、出力されていなければそのマシンにてパスの設定を行う必要があります。.profileなどでsourceするようにして下さい。(参照: インストール方法#Eosの環境設定)出力されている場合は別の原因であると考えられます。
Q.4 継承したパッケージがPIONE Webclientで動作しません
A1. パッケージの継承は現在、PIONE Webclientには未対応です。
WoPeD
Q.1 WoPeD起動時に"java runtime environment"が見つからないというエラーが発生しました。
A. WoPeDの起動にはJRE(java runtime environment)が必要です。OSやバージョンによってはJREが初期設定でインストールされていない場合もあります。JREをインストールしてみて下さい。
Q.2 WoPeDにて編集したplaceやtransitionの名称などが反映されません。
A. 恐らくWoPeDのバグです。編集したplaceやtransitionを一旦動かしてみると解消されるようです。
ProM
Q.1 ProM使用時に"Uitopia.ui"が見つからないというエラーが発生しました。
A. ProMを起動するときのディレクトリをProMディレクトリ内で実行してみて下さい。(OS-X 10.8.5で確認済み)
Q.2 ProMで使用したいAction(Dotted Chartなど)が見つかりません。
A. そのActionがProMにインポートされていない可能性があります。ProMPMを使用してインストール、インポートしてから試してみて下さい。(参照: ProM)
Q.3 ログを確認していたら、図が表示されません。Refresh viewが終わりません。
A. ProMの再描画処理が動いていない可能性があります。最小化、再表示などを行ってみて下さい。
ハードウェアの設定
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の使用
Q.1 使用したいコマンドなどはどのように探せば良いでしょうか。
A. コマンド名から検索したい場合はコマンド一覧にて、用途から検索したい場合は機能別コマンド一覧にて検索をしてみて下さい。また、左側にある検索機能では入力の途中でも検索候補が出てきます。mrcI など途中まで入力してみて下さい。あるいはファイル:Eospedia.zipを使うと、ターミナル操作により各コマンドのページを開くことができます。