RELION3チュートリアル

提供: Eospedia
2019年5月13日 (月) 13:56時点におけるKttn (トーク | 投稿記録)による版

移動: 案内検索

前書き

  • 本ドキュメントは、RELION3のチュートリアルを日本語訳し、図や補足説明などを追加して充実化したものです(Sjors Scheres博士の許可を得ています)。
  • 誤訳等がある場合には、ご連絡いただけますと幸いです。少しずつ、良いものにしたいと思います。
  • 使用したRELION3のバージョンは 3.0.5 です。
  • 本ドミュメントは随時更新中です。webブラウザにキャッシュが残っていると古い版の図が表示される場合があるようです。キャッシュを消してから見ていただくと安全です。

目次

1 Preprocessing (前処理)

1.1 Getting organized (解析の準備)

まず構造解析プロジェクトのディレクトリを作成します。1つの構造解析プロジェクトにつき1つのディレクトリを作成することを推奨します。これをプロジェクトディレクトリと呼びます。RELION GUIはプロジェクトディレクトリ直下から起動するようにしてください。次に、プロジェクトディレクトリの中に、未処理の電顕画像または動画を格納するためのディレクトリを作成し、そこへ画像または動画を格納します。サポートされているファイル形式はMRCまたはTIFFです。ディレクトリ名は、全ての動画を1つのディレクトリに納めるならばMovies/、例えば撮影日別でいくつかのディレクトリに分けて納めたいならばMovies/15jan16、Movies/23jan16のようにすると良いです。何らかの理由によりRELIONのプロジェクトディレクトリの中に動画を置きたくない場合は、動画を格納したディレクトリのシンボリックリンクをプロジェクトディレクトリ内に作成すれば良いです。

画像ファイル名の拡張子は .mrc、動画ファイル名の拡張子は .mrcs または .tiff とする必要があります。チュートリアル用のテストデータを解凍すると、中にMovies/ディレクトリが存在し、その中にTIFF形式の動画24本、ゲインリファレンスファイル(gain.mrc)、データ収集条件に関する情報が記載されたNOTESファイルが含まれています。

RELION GUIを起動してみましょう。前述のように、GUIは常にプロジェクトディレクトリからの起動が必要です。誤ってプロジェクトディレクトリ外から起動することを防ぐため、GUIは新しいディレクトリで初めて起動された場合、ユーザーに確認を要求します。その為、新しいディレクトリで初めてGUIを起動するときは、"&"を付けてバックグラウンド起動することは避けてください。プロジェクトディレクトリの中にいることを確認し、次のコマンドでGUIを起動します。

relion

確認ダイアログに対し"y"と入力すると、RELIONプロジェクトがセットアップされ、GUIが立ち上がります。

RELION3のGUIウィンドウ.png

まずはじめに、動画ファイル達を解析パイプラインにインポートします。ジョブタイプブラウザから”Import”を選択し、以下の様にパラメータを指定します。

Importジョブのパラメータ
説明
Input files Movies/*.tiff Movies/以下のすべての.tiffファイル(動画ファイル)をインポートします。
Node type 2D micrograph movies 各ファイルを2次元の画像がスタックされた動画ファイルとしてインポートします。

Current job: Give_alias_here と書かれたフィールドに、このインポートジョブに対するエイリアス名を入力できます(例: movies)。【Run!】ボタンを押すとジョブが実行され、Import/job001 という名前のディレクトリが作成されます。エイリアス名を指定した場合はImport/moviesというシンボリックリンクも作成されます。作成されたディレクトリ内にはSTARファイルと、インポートされた全ての動画ファイルが格納されています。次のコマンドでSTARファイルの中身を確認してみましょう。

less Import/job001/movies.star

もしRELION以外のソフトウェアで単粒子切り出しなどを行った場合、以下の前処理ステップを飛ばし、"Import"ジョブタイプを使って単粒子のSTARファイル、3D参照像、3Dマスク等をインポートすることができます。ただし、これはRELIONを使う上で推奨される方法ではなく、適切なSTARファイルの作成はユーザー自身で行う必要があることに注意してください。

1.2 電子線により誘起される画像の動きの補正

Motion correction job-typeは便利な全体フレーム動画の調整のためのUCSF MOTIONCOR2[21]ラッパーを規定します。あるいは、バージョン3.0以降はMOTIONCOR2と同じアルゴリズムであるRELION独自の実装を使用することもできます。RELION独自の実装はCPU でのみの実行となるので注意してください。[I/O]タブで設定をします。

 ●Input movies STAR file: Import/movies/movies.star

([Browse]ボタンで参照できるファイルは、STAR形式の動画ファイ ルのみです。)

 ●First frame for corrected sum: 1
 ●Last frame for corrected sum: 0

(これはすべての動画フレームに使用する際の結果です。)

 ●Pixel size(A) 0.885
 ●Voltage (kV) 200
 ●Dose per frame (e/A2) 1.277
 ●Pre-exposure (e/A2) 0
 ●Do dose-weighting? Yes
 ●Save non-dose-weighted as well? No

(いくつかの非用量加重顕微鏡写真にはCTF推定を行う方がよいで しょう。ディスク容量を節約するために、データが非常に良いの でこのオプションは使用しません。)

[Motioncor2]タブは以下のように入力します。

 ●Bfactor: 150

(超高解像度動画ではより大きい価値を使用します。)

 ●Number of patches X,Y  5 5
 ●Group frames: 1
 ●Binning factor: 1

(超高解像度動画ではたいてい2を使用します。)

 ●Gain-reference image: Movies/gain.mrc

(これは、オンザフライでのgain-reference補正用のgain- referenceファイルを規定するために使用できます。これらの動 画はまだgain補正されていないので、この場合には必要です。)

 ●Defect file:

(これは検出器上の壊れたピクセルを隠すために使用することがで きます。)

 ●Gain rotation: No rotation (0)
 ●Gain flip: No flipping (0)

(gain-reference画像はこのデータセットのために既に補正されて います。)

 ●Use RELION’s own implementation?  Yes

(これによって、UCSF実装をインストールする必要性が少なくなり ます。どちらにせよ、UCSFプログラムをインストールしている場 合は、それを使用することもできます。その場合、以下のオプシ ョンも入力する必要があります。)

[Running]タブは以下のように入力します。

 ●Do dose-weighing?  Yes
 ●Voltage (kV) 200
 ●Dose per frame (e/A2) 1.277
 ●Pre-exposure (e/A2) 0

このプログラムの実行には手頃な12スレッドの最新機器を用いればおおよそ5分かかります。MOTIONCOR2アルゴリズムのRELION独自の実装はGPUでは使用しないことに注意してください。しかしそれはマルチスレッドです。各スレッドは独立して動画フレーム場で動作するので、動画フレームの数をスレッドの数で割った数が整数になるように、いくつかのスレッドを使用することが最適です。これらの動画は24フレームあるので、12スレッドを使用すると各スレッドで2フレームが処理されます。[Run now!]ボタンの下の[Display:]ボタンからout:logfile.pdfを選択することで、推定された電子線によって誘起された変化を見ることができます。または、out:corrected_micrographs.starを選択することで、値が合計された顕微鏡写真を見ることができます。スクリーンサイズに依存して、見やすいように、顕微鏡写真(Scale:0.3)を縮小し、Sigma contrast:3を使い、見やすい数のコラム(例として、Number of columns:3)にするべきです。[Display:]ボタンから表示したときから顕微鏡写真は選択できないことに注意してください。もし、取り除きたい顕微鏡写真がある場合(今回はすべていい画像なので削除しないだろうが)は[Subset selection]job-typeが使用できます。

1.3 CTF推定

次に、それぞれ補正した顕微鏡写真からCTFの値を推定します。速度の為Kai ZhangのGCTFのためのラッパーとして[CTF estimation]job-typeにします。適切なGPUがない場合、Alexis RohouとNiko GrigoreffのCTFFIND4.1を使用することができます。[I/O]タブで、[Motion correction]jobのcorrected_micrographs.starファイルを選択するために[Browse]ボタンを使用します。また、他のタブは以下のように入力します。

I/Oタブにおいて

 ●Use micrograph without dose-weighting? No

(これらは重み付けされたものよりも良いThon ringsを持っているが、書き出さないことを前のステップで決めました。)

 ●Sperical aberration (mm): 1.4

(顕微鏡メーカーがこの値を提供してくれています。)

 ●Voltage (kV): 200
 ●Amplitude contrast: 0.1

(強度コントラストはほとんどないことが知られていますが、約10%の値を与えることで、多くの構造の結果がよくなることが示されています。これは低周波数の弱い散乱がモデル化されていないからです。)

 ●Magnified pixel size (A): 0.885

(これらはピクセルサイズ0.885Aのもとの動画です。)

 ●Amount of astigmatism (A): 100

(範囲が適切に調整されていれば、この値は多くのデータセットに適しています。)

Searchesタブにおいて、CIFFINDの一般的な値を設定します(正確な意味については、Nikoのドキュメンテーションを参照してください)。これらの設定は、GCTFを使用する場合には無視してください(デフォルトで、これをオフに切り替えることができるが)。

 ●FFT box size (pix): 512
 ●Minimum resolution (A): 30
 ●Maximum resolution (A): 7.1
 ●Minimum defocus cvalue (A): 5000
 ●Maximum defocus cvalue (A):50000
 ●Defocus step size (A): 500
 ●Amount of astigmatism (A): 100
 ●Estimate phase shifts  No

(これはphase-plateデータだけに役に立つ) GCTFを使用する場合はCTFFIND-4.1タブを無視してください。逆にGCTFを使用しない場合はCTFFIND-4.1タブウィ使用してください。今回の例として、GCTFを使用し、Getfタブを設定します。

 ●Use Gctf instead? Yes
 ●Gctf executable:  /wherever/it/is/Gctf

(環境変数である$RELION_CTFFIND_EXECUTABLEと$RELION_GCTF_EXECUTABLEは対応するプログラムのGUIエントリのデフォルト値を制御するために使用されます。)

 ●Ignore ‘Searches’ parameters? Yes

(GCTFにSearchesタブのパラメーターを渡すにはこれを’No’に設定します。デフォルトでは、これらの値は無視され、GCTF独自のデフォルトが使用されます。)

 ●Perform equi-phase averaging? Yes

(これによりThon ringのSNRが向上します。)

 ●Other Gctf options:
 ●Which GPUs to use: 0

(この小さいデータセットには1GPUで十分でしょう。)

マシンに応じて、複数のMPI処理を使用してプログラムを実行することができます。1プロセッサーとGPUのみを使用すると、動作はGCTFを使用すると31秒かかります。いったん動作が終わると、出力のCtfFind/job003/Moviesという出力ディレクトリの中にそれぞれの顕微鏡写真ごとに追加ファイルができます。.ctfファイルは算出されたパワースペクトルと適合したCTFモデルのMRCフォーマットの画像を含んでいます。.logファイルはCTFFINDかGCTFからの出力を含んでいます(CTFFINDを使用した場合のみ、.comファイルはCTFFINDを起動するために使用したスクリプトを含んでいます)。 Display:ボタンを使用してout:micrographs_ctf.starを選択すると、すべてのThon ring画像を見ることができます。実験の画像のThon rings間の0はモデルの0と一致するはずです。デフォーカス、最高分解能や性能指数などの順番の表示を並べ替えることができます。log.pdfファイルにはすべての顕微鏡写真に対する、デフォーカス、非点収差、推定解像度などの有用なパラメータのプロットとデータセット全体のヒストグラムが含まれています。データ収集における問題点を見つけ出すのに役に立ちます。  もしCTFモデルが実験のThon ringに十分に一致していない場合、それらの顕微鏡写真の.logファイルを削除して、Finished jobsリストからCtfFind/job003を選択し、parameter-panel の値を修正し、Continue nowボタンをクリックすることでjobを再実行することができます。存在しない.logファイルの顕微鏡写真のみが再処理されます。すべてのCTFモデルが十分に一致するまで実行できます。もしこれでも実行できないまたは、不十分なThon ringがあり顕微鏡写真を削除すると決めた場合、Subset selection jobタイプで破棄することができます。

1.4手動粒子抽出

次のManual picking jobタイプでは(平均化された)顕微鏡写真の「粒子座標」を手動で選択して使用します。自分たちのデータをより理解できるように少なくとも複数の顕微鏡写真を選択するのがよいでしょう。選択した粒子を使用して、参照なしの2Dクラス平均を計算し、その後、これらの粒子は全データセットの粒子を自動検出するためのテンプレートになります。しかしRELION3.0以降は、Laplacian-of-Gaussian(LoG)フィルターに基づく参照なしの自動抽出手順が含まれています。これまでにテストされたほとんどの場合、この手順は適切な開始座標を提供してくれるので、Manual pickingステップは飛ばすことができます。relion_it.pyスクリプトはこの機能を使用して、完全に自動化されたオンザフライ処理を実行します。このチュートリアルでは、説明のためにManual picking jobを起動し、その後LoGベースのAuto-pickingを継続して最初の粒子セットを細分化します。  手動粒子検出は経験あるのみです!RELIONで手動で粒子の検出をするのが好きでなければ、Jude ShortのXIMDISP[17](任意の拡張子付きで)、XMIPP-2.4[16](任意の拡張子付きで)、Steven LudtkeのE2BOXER.PY[18](.boxの拡張子付きで)の座標形式ファイルもサポートしています。もしこれらを使用する場合、顕微鏡写真(動画)を取り込んだディレクトリと同じディレクトリにテキストファイルとしてまとめた座標ファイルを保存してください。そして、同じ顕微鏡写真のルートネームは異なる(suffix+)拡張子で保存されていることを確認してください。例えば、顕微鏡写真がMovies/006.mrcの時、Micrographs/006.boxやMicrographs/006_pick.starとなります。Import jobタイプを使用し、Node type:を2D/3D particle coordinatesに設定してください。Input Files:の欄に整理されたファイルのsuffix拡張子に従ってlinux wildcardが含まれていることを確認してください。上記の例だと、それぞれMovies/*.boxやMovies/*_pick.starになります。  Manual picking jobタイプのI/OタブではCtfFind/job003に作成されたmicrographs_ctf.starファイルを選択するためにBrowseボタンを使用して、Colorsタブは無視して、Displayタブは下のように入力します。

 ●Prticle diameter (A): 200

(これは単に顕微鏡写真に表示された円の直径を調節します。)

 ●Scale for micrographs: 0.25

(これは画面サイズによります。)

 ●Sigma contrast: 3

(顕微鏡写真はほとんど最適な”sigma-contrast”で表示されています。黒が標準偏差の3倍低く、白が標準偏差の3倍高くなります。グレースケールは黒から白へ直線的に変化します。詳細はDisplayImages entry on the RELION wikiを参照してください。)

 ●White value: 0

(どの値を白にするか手動で設定してください。これが動作するには、Sigma contrastは0に設定されるべきです。)

 ●Black value: 0

(どの値を黒にするか手動で設定してください。これが動作するには、Sigma contrastは0に設定されるべきです。)

 ●Lowpass filter (A):20

(ノイズのひどい顕微鏡写真の粒子をより見やすくするための動作です。)

 ●Highpass filter (A): 0

(これは顕微鏡写真上の濃淡のグラデーションを取り除くのに役立ちます。)

 ●Pixel size: 0.885

(これは粒子の直径や、low-pass filterとhigh-pass filterの計算に必要です。)

 ●Scale for CTF image:1

(これは単にそれぞれの顕微鏡写真のCTFボタンをクリックしたときにThon ring画像がどれくらい大きくなるのか調節します。) Run now!ボタンをクリックすることでjobが実行され、必要に応じていくつかの粒子をクリックしてください。しかし、次のセクションではLoGベースの自動抽出を使用するので、必要でなければ選ぶことはありません。最初の[2D classification] jobに手動抽出した粒子を使用する場合は、適切なクラス平均を計算するために約500~1000個の粒子が必要になります。左クリックで選択、中クリックで選択された粒子の削除、右クリックで座標を保存する必要があるポップアップメニューが表示されます。Continue nowボタンをクリックし、Finished jobsからManualPick/job004を選択することによって、いつでもメニューから保存した座標のSTARファイルに戻ることができます(ポップアップメニューの座標を使用してSTARファイルを保存した場合)。

1.5 LoGベース自動選択

今回は、Laplacian-of-Gaussian(Log)フィルタに基づくテンプレートフリーの自動抽出の手順を使用して、最初の粒子セットを選択して下さい。その後、それらの粒子は[2D classification]jobで使用され、2番目の[Auto-picking]jobのテンプレートが生成されます。初期段階では多くの粒子を必要としないので、最初の3枚の顕微鏡写真に対してのみLoGべーすの自動抽出を実行します。一般的に、可能な限り良いテンプレートを得るために、おそらく使用可能なすべての顕微鏡写真に対してLoGベースの抽出を実行します。しかし、今回はこのチュートリアルの計算速度を上げるためにいくつかの顕微鏡写真のみを使用します。  最初にいくつかの顕微鏡写真を選択するために、[Subset selection]jobに移動し、I/Oタブで下を除くすべての空欄をままにします。

 ●OR select from picked cords: ManualPick/job004/cords_suffix_manualpick.star

(手動抽出で座標を保存したときに生成されます。今回は座標を使用するつもりはなく、顕微鏡写真のサブセットセレクションを行うためにそのjobを使用しているだけです。)

このjobにはalias 5micsを使用しました。Run!ボタンを押し、[Manual picking]jobと同じポップアップウィンドウを再び押すと、すべてのpickとCTFボタンが表示されます。‘File’メニューを使用して‘Invert selection’:最初の5枚の顕微鏡写真の前にあるチェックボックスをクリックして選択します。その後、‘File’メニューを再び使用して‘Save selection’を選択します。これで、ManualPick/job004/micrographs_selected.starというファイルができ、これを下記の[Auto-picking]jobに使用します。 その後、[Auto-picking]jobを処理し、I/Oタブの設定を行います。

 ●Input micrographs for autopick: Select/job005/micrographs_selected.star
 ●Pixels size in micrographs (A)  -1

(ピクセルサイズは入力STARファイルの中の情報から自動的に設定されます。)

 ●2D references:

(テンプレートフリーのLoGベースの自動抽出では空欄のままにします。)

 ●OR: provides a 3D reference?  No
 ●OR: use Laplacian-of-Gaussian?  Yes

Laplacianタブの設定をします。

 ●Min. diameter for loG filter (A)  150
 ●Max. diameter for loG filter (A)  180

(これは粒子投影のオングストロームの最小最大のサイズに対応します。)

 ●Are the particles white?  No

(黒です。)

 ●Maximum resolution to consider  20

(ここはデフォルト値のままでいいです。)

 ●Adjust default threshold  0

(正の値、すなわち閾値はより少ない粒子を選び、負の値もより少ない粒子を選んでください。有用な値は、おそらく[-1,1]の範囲ですが、多くの場合デフォルト値の0は正しい働きをします。)

 Referencesタブは無視して、autopickingタブの最初の四つのオプションは無視してください。下記のように設定してください。

 ●Write FOM maps?  No

(これは下のテンプレートベースの抽出で使用されます。)

 ●Read FOM maps?  No

(これは下のテンプレートベースの抽出で使用されます。)

 ●Shrink factor:  0

(縮小を0に設定すると、自動抽出プログラムは参照上のローパスフィルタの解像度に合わせて顕微鏡写真を縮小します。これはすごく早くなり、必要なメモリが少なくなるため、このチュートリアルを素早く実行するのに便利になります。0と1の間の値は顕微鏡写真のサイズの少数で表されるでしょう。これは縮小で1を使用するよりも正確な抽出が少なくなること、つまり縮小がないことに注意してください。この新しいパラメータの詳細は、次のサブセクションで説明します。)

 ●Use GPU acceleration?  No

(計算速度がとても速いので、LoGベースの自動抽出はGPU加速されていません。)

 ●Which GPUs to use:

 Helixタブを無視して、Running tabで単一MPIプロセッサを使用して実行します。もしかするとLoG_basedのようなaliasが有用かもしれません。単一プロセッサを使用すると、これらの計算は、私たちのコンピュータでは約40秒かかります。  Display:ボタンのcoords_suffix_autopickオプションをクリックすることで結果をチェックすることができます。この段階で表示されるポップアップウィンドウで手動で粒子を追加/削除できます。さらに、autopickingタブのノイズの標準偏差と平均のパラメータやLaplacianタブのデフォルトの閾値の調節をしている間、新しいjobを実行して、より多くの、またはより少ない粒子を抽出することができます。しかし、この段階では、単に2回目のauto-picking jobのテンプレート作成のための最初の粒子セットなので、多くの場合これは必要ないでしょう。

1.6 Particle extraction(粒子の抽出)

粒子をピックしたいすべての顕微鏡写真の座標ファイルを使って、対応する粒子を抽出し、必要なすべてのメタデータを【Particle extraction】jobタイプで取得することができます。【Particle extraction】 jobタイプの【I/O】タブで以下の設定をします。

 ● Micrograph STAR file: CtfFind/job003/micrographs_ctf.star

ファイルの選択には【Browse】ボタンが使用できます。ManuaPickディレクトリから選択した顕微鏡写真を選択することもできます。とにかくそれは、3つの選択されたファイルの為の唯一の座標ファイルなので問題ではありません。顕微鏡写真が不足していて座標座標ファイルが見つからないと、警告として【GUI】ボタンウィンドウが赤く表示される。)

 ● Coordinate-file suffix: ManulPick/job004/coords_suffix_manualpick.star

(ファイルの選択には【Broswe】ボタンが使用できます。)

 ● OR re-extract refined particles? No

(STARファイルの粒子のみを再抽出するために、【2D classification】、【3D classification】、【3D auto-refine】 jobから_data.starファイルが使用できます。例えば、抽出時に粒子を前もって縮小していた場合、初めの分類後は元の大きさの粒子で精密化を実行したいときにも役に立ちます。RELION-3.0において、この機能は、【3D classification】または【3D auto-refine】 jobに使われる3次元の参照を利用者指定のX、Y、Z座標上に're-center refined coodinates'するオプションとして拡張された。これは、すべての粒子のXとYの原点座標を調整します。新しく抽出された粒子の再構成は、X,Y,Zそれぞれ位置を中心とするようになります。これは、焦点を絞った微調整に役立ちます。

 ● Manually set pixel size? No

(CTF情報が含まれていない顕微鏡写真STARファイルを入力する時のみ必要です。)

【extract】タブで、実際の粒子抽出のための値を以下のように設定します。

 ● Particle box size (pix): 256

(これは常に偶数にすべきです!)

 ● Invert contrast? Yes

(これは黒を白に反転します。)

 ● Normalize particles? Yes

(常に正規化します。)

 ● Diameter background circle(pix): 200

(粒子はバックグラウンド領域のすべてのピクセルでの平均値が0に、標準偏差が1になるように正規化されます。バックグラウンド領域とは、(縮尺変更前に)ピクセル中の指定された円の外側の部分すべてのピクセルと決められています。負の値を設定すると、粒子ボックスサイズの75%の値が使用されます。)

 ● Stddev for white dust removal: -1
 ● Stddev for black dust removal: -1

(データを実際に見る場合、異常に白や黒よりの値のピクセルのみ除去されます。よく使うのは、stdevの値として5程度です。このデータセットでは異常な値のピクセルはありませんので、補正せずに、初期値の-1のままです。(すなわち、何もしません。))

 ● Rescale particles? Yes

(縮小した粒子は計算速度が速くなります。そのため、処理速度を上げるために初期段階ではよく粒子を縮小します。初期の適切な粒子の分類の計算速度を上げるために使います。再構成がナイキット周波数に近づくと、縮小せずに粒子を再抽出します。)

 ● Re-scaled sized (pixels)? 64

後ほど、同じtemplete-basedの自動選択粒子にも同じjob-typeを使用します。このjobには、LoG_basedのような別名を与えることをお勧めします。[Helix]タブを無視し、一つのMPIプロセッサーを使い、実行してください。粒子はExtract/job007/Movies/という新しいディレクトリの中のMRCスタック(RELIONではいつも.mrcs拡張子をもつ)の中に抽出されます。【Display:】ボタンからout: particles.starに格納された抽出粒子を可視化することによって、すべてうまく進んでいるかの確認をすぐにすることはとても良い考えです。画面上の右クリックでメニューを選択すると、すべての粒子の選択(Invert selection)や、すべての選択された粒子の(位置が合わせられてはいない、そのままの)平均の計算(Show average of selection)などができます。

1.7 Making templates for auto-picking(自動検出のためのテンプレート作成)

次に、全顕微鏡写真の自動検出のためのテンプレートを計算するために、jobタイプ【2D classification】を使用します。 【I/O】タブ上で(【Browse】ボタンを使って)Extract / job007 / particles.starファイルを選択します。 【CTF】タブの設定:

 ● Do CTF-correction? Yes

(ベイズフレームワークの中で、全ての位相強度補正を行います。)

 ● Have data been phase-flipped? No

(このオプションはRELION外でデータを事前処理した場合にのみ有効です。)

 ● Ignore CTFs until first peak? No

(振幅補正によって低解像度成分が誤って強く与えられ、全ての粒子が非常に少ないぼけたクラスに分類されるような場合には、このオプションが役立ちます。)

【Optimisation】タブの設定:

 ● Number of classes: 50

(クライオ電子顕微鏡(cryo-EM)では、少なくともクラス当たり約100個の粒子を使用するのが望ましいです。ネガティブ染色法の場合、1クラスで20~50程のより少ない粒子を使用します。ただし、粒子の数がすくないため、これらの数を緩和することで、さまざまなクラスへの分離が改善されました。おそらく、最低でも50クラス用意するべきです。

 ● Regularisation parameter T: 2

(Tの定義については[13]を参照してください。 クライオ電子顕微鏡(cryo-EM)において、2次元分類ではT=2-3が、3次元分類ではT=3-4の値が一般的に使用されます。ネガティブ染色の場合、これよりもより小さい値の方が良い場合もあります。一般的にクラス平均のノイズが非常に多く現れた場合は、一旦Tの値を減らしてください。もし、クラス平均の分解能が低すぎる場合はTの値を増やしてください。重要なことは、高分解能側のノイズのオーバーフィッティング(過学習)してしまっていることに気がつくことです。)

 ● Number of iterations: 25

(これをほとんど変えた事はほとんどありません。)

 ● Use fast subsets for large date sets? No

(Yesと設定した場合、最初の5回の反復は、K*100個の粒子のランダムなサブセットのみで行われます。(Kはクラスの数)次の5つはK*300個の粒子で、次の5つは30%のデータで設定して、そして最後の1つはすべてのデータを含むものです。これは[Niko Grigorieff et al]によるシステム実装に触発されました。このオプションは、とても大きなデータセットを分類するのに非常に便利です。(何十万もの粒子のマッチもかなり速いです。このようにセットされた小さなデータの場合、それは必要ありません。)

 ● Mask diameter (A): 200

(このマスクは全ての2次元クラス平均に適用されます。また、粒子画像の溶媒ノイズや隅にあるような隣接した粒子を除去するのに使われます。ノイズが大きい溶媒と隣り合った粒子が位置合わせの際に干渉してしまうかもしれないため、直径は小さく保ちたいでしょうが、他方では、クラス平均からシグナルを切り捨てたくないため、粒子の大きさよりも直径が大きいか確かめる必要があります。一方で、粒子の直径が最大寸法よりも大きいことを確認する必要があり、クラスの平均から任意のシグナルを切り取ることはよくありません。)

 ● Mask individual particles with zeros? Yes
 ● Limit resolution E-step to (A): -1

(正の値を与えた場合、この値を超える周波数を位置合わせの際に利用しません。これはノイズによる過学習を防ぐのにも役立ちます。ここではそれは必要ではありませんが、10-15Aで設定されている可能性があります。難しい分類、すなわち非常にノイズの多いデータの場合は、分解能を制限することによって問題が解決することが多いです。)

【Sampling】タブでは、デフォルトをほとんど変更しません。ほとんどのプロジェクトでは6度のサンプリングで十分です。いくつかの大きな正二十面体ウイルスは、より細かい角度サンプリングからの利益があるかもしれません。その場合、最初に6度のサンプリングで25回の反復を実行できます。そしていくつかの実行を続けます。(【Continue now】ボタンを使います。)さらに5回繰り返し、(【optimization】タブで30回までの繰り返し回数を設定して)例えば2回のサンプリングです。このデータ設定のために、この操作は全く必要ありません。前に何らかの形で失敗したjobを、【Continue now】ボタンを使用して再開することもできます。この場合、どのパラメータも変更する必要は無いでしょう。【2D classification】、【3D classification】、または【3Dauto-refine job】を続行するには、常に【I / O】タブの【Continue now】に_optimiser.starファイルを指定する必要があります。

【Helix】タブは無視し、【Compute】タブで以下のように設定を行います。

 ● Use parallel disc I/O? Yes

(この場合、すべてのMPIスレーブは自分の粒子をディスクから読み込みます。 高速(並列)ファイルシステムを使用している場合は、このオプションを使用してください。 並列ではないファイルシステムは、複数のMPIノードからの並行したアクセスを処理できない場合があることに注意してください。そのような場合、このオプションをNoに設定するべきです。この時、マスターMPIノードだけが粒子を読み込み、ネットワーク経由でMPIスレーブにデータを送信します。)

 ● Number of pooled particles: 30

(粒子はMPIスレーブによって個々のバッチに処理されます。各バッチの中で、粒子画像のスタックは、ディスクアクセス時間を改善するために1回だけ開閉されます。1つのバッチのすべての粒子画像は一緒にメモリに読み込まれます。nr_pooled_particlesパラメータは、スレッドごとに読み込まれる粒子の数を制御します。30に設定され、1つが8つのスレッドを使用する場合、30x8 = 240個の粒子のバッチが一緒に読み込まれます。これにより、ディスクアクセス、特にディスクアクセスのメタデータ処理が問題となるシステムでのパフォーマンスが向上する可能性があります。通常、GPUを使うときは、10-30の値を利用します。CPUのみを使う場合は3のようにより小さい値を使います。わずかなRAM(ランダム・アクセス・メモリ)の使用量の増加をもたらします。)

 ● Pre-read all particles into RAM? Yes

(Yesを選択すると、すべての粒子画像がコンピュータのメモリに読み込まれ、ディスクアクセスが遅いシステムでの計算が大幅に高速化されます。ただし、使用可能なRAMの量には注意が必要です。粒子は倍精度で読み込まれるため、N個の粒子をRAMに読み込むには(N *box size*box size* 4 /(1024 * 1024 * 1024))ギガバイトかかることになります。並列ディスクI / Oが「Yes」で選択されている場合、すべてのMPIスレーブは粒子すべて読み込みます。並列ディスクI / Oが「No」で選択されている場合、マスターのみがすべての粒子をRAMに読み込み、精密化の反復中にMPIスレーブにそれらの粒子を送信します。)

 ● Copy particles to scratch directory?

(すべての粒子を事前読み込みするのに十分なRAMを持っておらず、コンピュータに速いスクラッチディスク(SSD?)があるのなら、これは役に立ちます。この場合、一時のディレクトリを作成できるスクラッチディスクの名前を指定します。e.g. /ssd)

 ● Combine iterations though disc? No

このようにして、すべてのMPIノードは、ネットワークを介してそれぞれの反復の終わりとデータを結合します。もしネットワークがボトルにネックになっているか、どういうわけか問題を起こしている場合、オプションでNoを設定することができる。この場合、すべてのMPIノードのデータをディスクに書き込み/読み込みをします。

 ● Use GPU acceleration? Yes

(これらに合ったGPUをお持ちの場合、このjobは高速化されます。)

 ● Which GPUs to use: 0:1:2:3

(これは、あなたのシステムで使えるGPUに依存します。これを空のままにすると、プログラムは使用するGPUを特定しようと試みます。0または1を使ってGPU IDを入力してください。複数のMPIプロセッサーを使用している場合、指定したGPUで各MPIプロセスを実行できます。異なるMPIプロセスのGPU IDは、コロンで区切られます。 0:1:0:1はGPU 0でMPIプロセス0と2を実行し、MPIプロセス1と3はGPU 1で実行されます。)

【Running】タブで、Number of MPI processors(MPIプロセスの数)とNumber of threads(スレッドの数)を指定します。要求されたCPUまたはコアの総数は、2つの値の積になります。【2D classification】、【3D classification】、【3D initial model】、【3D auto-refine】は1つのMPIプロセスをマスターとして利用します。これは計算を一切行いませんが、MPIプロセッサーに要求にjobを送ります。したがって、1つが上記の4 GPUを指定している場合、5つのMPIプロセスで実行するのが得策です。スレッドは、しばしばより効率的なRAM使用に関して利点がありますが、MPIの並列化はスレッドよりも優れています。多くの場合、【3D classification】と【3D auto-refine】jobでは、各(マルチコアの)計算ノードで使用可能なRAMを共有するために、多くのスレッドを使用することが必要になります。。【2D claasification】ではメモリを消費しないので、スレッドがあまり必要ない場合があります。しかし、MPIプロセス間通信(拡張のボトルネック)が、多くのスレッドを実行する場合に比べて、速度を制限する場合もあります。さまざまなクラスタによって異なりますので、これらのパラメータを使用して、それぞれのコンピュータのセットアップによって最適なパフォーマンスを得る必要があります。すべての粒子をPAMに先読みしてパラレルディスクI/O、4GPUおよび、5MPIプロセッサーをそれぞれ6スレッドで使用したところ、作業はおよそ4分で終了しました。

多くの【2D classification】jobを実行するので、例えば、LoG_basedのような、意味のあるエイリアスを使用することが賢いやり方です。、[Display:]ボタン上でrun_it025_model.starを選択し、得られたクラス平均を見ることができます。特定の順番でクラスの平均を見ることを選択したいと思うかもしれません。ポップアップウィンドウでは、rlnClassDistribution(クラス粒子の個数)(【reverse order】をチェックして、昇順の代わりに降順の並び替え)、またはrlnAccuracyRotationsに基づくなど特定の順序でクラス平均を調べ、選択してみることができます。

1.8 Selecting templates for auto-picking (自動検出のためのテンプレート選択)

適切なクラス平均画像の選択は【Subset selection】jobで行われます。【Class option】タブ上に与えられたSelect classes from model.starと書かれた行の横にある【Browse】ボタンを利用して、【I/O】タブ上のClass2D/manualpick/run_it025_model_.starファイルを選択してください。

 ● Re-center the class averages?: Yes

(このオプションは、2次元クラス平均の自動センタリングが可能です。画像のセンタリングはその重心を基準としており、粒子の白(黒ではない)の部分をもとに計算されます。センタリングされたテンプレートが自動検出中に必要となる一方で、2D classification実行時ではクラス平均はセンタリングされないかもしれないので、再センタリングがしばしば必要となります。特にオートピッキングのためにクラスの平均画像を使用する場合、それが中心にあることが重要です。さもないと、すべての粒子座標が体系的に中心から外れてしまうためです。)

 ● Regroup the particles? No

(これは、それぞれの電子顕微鏡写真にある(選ばれた)粒子が非常に少ない場合に便利なオプションです。そのような場合、スペクトルノイズ強度とスケールファクターの推定が不安定になることがあります。デフォルトでは、スケールファクターの推定は顕微鏡写真ごとにそれぞれ計算されます。このオプションは計算実行時、複数の顕微鏡写真の粒子を一緒に計算してグループ化することが可能です。RELIONは、(クラス分類や自動精密化実行の際に)グループがとても小さくなっている場合に警告を出します。)

templates4autopickのようなエイリアスはとてもいいアイディアです。rlnClassDistributionカラムに基づいたクラス平均を再び求める可能性があります。代表となりそうな、見た目が異なる粒子のクラス平均を4〜6つ選択してください。見た目が似ているものを繰り返し選択したり、よくないクラス平均を含めたりしないでください。選択するにはクラス平均上で左クリックしてください。右クリックでポップアップメニューからSave selected classes オプションを使うことで、選択したクラス平均を保存できます。

1.9 Auto-picking(自動検出)

【Auto-picking】jobタイプでは、テンプレートとして選択された2次元クラス平均を使います。ただしすべての顕微鏡写真で自動ピッキングを実行する前に【auto piking】タブ上で4つの主要なパラメータ―を最適化する必要があります。the piking threshold、the Minimum inter-particle distance、the Maximum stddev noiseとthe Minimum avg noiseです。これは時間を短縮するために数枚の顕微鏡写真のみで行われます。LoG_basedのオートピッキング用に選んだのと同じ5つの顕微鏡写真を利用します。 次に、[auto piking]jobでの[I/O]タブ設定:

 ● Input micrographs for autopick: Select/5mics/micrographs.star
 ● Pixel size in microgfraphs (A): -1

(ピクセルサイズは、入力STARファイルの情報から自動的に設定されます。)

 ● References: Select/templates4autopick/class_averages.star
 ● OR: provide a 3D reference?No
 ● OR: use Laplacation-of-Gausssian?No

【References】タブでの設定:

 ● Lowpass filter references (A): 20

("Einstein-from-noise"のアーティファクトを避けるために、データから得ようとしている最終的な分解能よりも大幅に低いローパスフィルターを使用することは非常に重要です。)

 ● Highpass filter (A): -1

(たとえば200などの正の値を渡した場合、リファレンスの顕微鏡写真はオートピッキングよりも高いハイパス・フィルターが適用されます。これは強いグレースケール勾配(氷の厚さなどに依存)が顕微鏡写真にかかっているときに役立ちます。)

 ● Pixel size in references (A): 3.54

(負の値を渡した場合、入力した顕微鏡写真と同じスケールであると認識します。そうでない場合、例えば粒子を抜き出す上でのリファレンスを作るために使用される粒子をリスケールする必要があるので、正しいピクセルサイズの正の値をここのリファレンスに追加します。【particle extraction】jobで4倍の粒子(256から64)をダウンロードするため、参照のピクセルサイズは4*0.588=3.54Åです。)

 ● Mask diameter (A): -4

(負の値を与えた場合、(【2D classification】 jobタイプのときに使った値と同じ値が使えます。)

 ● Angular sampling (deg): 5

(この値はどんな場合でもほとんど正常に動くと思われます。)

 ● References have inverted contrast? Yes

(顕微鏡写真の中にある粒子は黒い(CTF補正がかかっていない)ので、使用するリファレンスは白を利用します。)

 ● Are References CTF corrected? Yes

(2Dクラス平均を行った際にCTF補正をしたためです。)

 ● Ignore CTFs until first peak: No

(【2D classification】jobでもリファレンス作製のために使用した場合のみこのオプションを使って下さい。)

【auto piking】タブでの設定:

 ● Picking threshold: 0.8

(これはpeak-searchアルゴリズムのためのFOMマップ中のしきい値です。この値よりも低いFOMの粒子は検出されません。)

 ● Minimum inter-particle distance (A): 200

(これは、隣接する2つの粒子間の最大許容距離です。反復的クラスタリングアルゴリズムはこの距離よりも互いに近い粒子を取り除きます。これの効果的な値は粒子直径の50%から60%の範囲であることが多いです。)

 ● Maximum stddev noise: -1

(これは炭素領域や非常に汚染されてる特徴が見て取れる領域のピッキングを防止するのに有効です。標準化された顕微鏡写真のバックグラウンド標準偏差がこの値より高い領域のピークは無視します。効果的な値は1.0から1.2の範囲であることが多いです。バックグラウンド標準偏差が高いため、ピークを除去するためにこの機能をオフにするには値を-1にして下さい。)

 ● Minimum avg noise -999

(これは炭素領域や非常に汚染されてる特徴が見て取れる領域のピッキングを防止するのに有効です。標準化された顕微鏡写真のバックグラウンド標準偏差がこの値より高い領域のピークは無視します。効果的な値は-0.5から0の範囲であることが多いです。バックグラウンド標準偏差が高いため、ピークを除去するためにこの機能をオフにするには値を -999にして下さい。)

 ● Write FOM maps? Yes

(下の説明参照。)

 ● Read FOM maps? No

(下の説明参照。)

 ● Shrink factor: 0

これを0に設定することで、オートピッキングプログラムは顕微鏡写真をリファレンスにおいてのローパスフィルターの解像度にまで縮小します。これはチュートリアルを手軽にできるように、実行をとても速く、要求メモリも軽くしてくれます。0から1の間の値は顕微鏡写真のサイズの画分の結果になります。これはshrink=1(縮小しない)にするよりもいくらか正確さの低い検出になるということに注意して下さい。これの新要素についての詳細な説明は次のサブセクションでします。)

 ● Use GPU acceleration? Yes

(適切なGPUを備えている場合のみ使って下さい。)

 ● Which GPUs to use:

(これを空白のままにした場合、このプログラムはどのGPUを使えばよいのか判断しようとします。しかし、もし使いたいGPUのIDが例えば0や1などと、はっきりと分かる場合は、この項目に入力して下さい。複数のMPI-processorsを使う場合(そうでない場合も)は、それぞれのMPI processを特定のGPUで動かすことができます。それぞれのMPI processesに割り振るGPU IDは0:1:0:1など、コロンで分けられています。0:1:0:1とはMPI processの0と2はGPU 0上を、MPI processの1と3はGPU 1上で動作しているという意味です。)

【Helix】タブは無視して下さい。 【Running】タブでひとつのMPI processorを使って動かして下さい。おそらくoptimise_paramsのようなエイリアスが有効かもしれません。GPUアクセラレーションを使うと、ジョブは30分で完了します。

この計算の高負荷な部分は、a probability-based figure-of-merit(それぞれの回転したリファレンスと顕微鏡写真の中の全ての場所での相互相関関数に関連した値)の計算をすることです。計算後には、前述のしきい値と最小距離のパラメータを利用した、より高速なpeak-detectionアルゴリズムが実行されます。これらのパラメータは最適化する必要があるため、 プログラムは【References】タブで指定されているようにいわゆるFOMマップをかき出します。これらはリファレンスごとに2つの大きなサイズ(顕微鏡写真のサイズ)のファイルになります。ハードディスク動作中のI/O障害を避けるために、FOMマップに書き出すときに自動検出プログラムは順次に動作するようにできます(従って上記で示した様に、一つのMPI processorで実行するべきです。)

FOMマップをディスクに書き出せば、より高速に検出するパラメータになるように最適化するために使用されます。最初に、動作させ終えたばかりのjobで【Display:】ボタンから coords_sufix_autopick オプションを使って、現在の設定で自動検出された粒子を調べます。ディスプレイウィンドウは、最後に実行した【Manual picking】jobのパラメーター(サイズやシグマコントラスト、カラーなど)を利用することに注意しておいて下さい。実際に【Manual picking】jobタイプでこれらのパラメーターを変更でき、左上の jobs メニューから Save job settings オプションで設定を保存できます。

FOMの状態を表示するために、【Colors】タブで次のように設定したあとに、これを行って下さい。

 ● Blue<>red color particles? Yes
 ● MetaDataLabel for color: rlnAutopickFigureOfMerit	
 ● STAR file with color label:

(この部分は空にしておいて下さい。)

 ● Blue value: 1
 ● Red value: 0

【Running】タブでjobを実行すると、従来通り【pick】ボタンと、【CTF】ボタンをもつ同様のGUIが示されます。ディスプレイウィンドウから両方の顕微鏡写真を開き、より多くのまたはより少ない粒子を選びたいか(つまり、しきい値を大きくするか小さくするか。)近くの粒子を同一とするか異なるものとするか決定します。(最小の粒子間距離の設定)各粒子が赤から青に着色されていることに注意してください。(赤のFOMはとても低く、青のFOMはとても高いです。)次のステップに進む間、両方の顕微鏡写真のディスプレイウィンドウを開いたままにすることができます。

【Finished jobs】から、AutoPick/optimise_params jobを選択して下さい。そして【autopicking】タブ上でパラメーターを変更して下さい。次のように変更して下さい。

 ● Write FOM maps? No
 ● Read FOM maps? Yes

【Continue now】ボタンをクリックすることで実行した時、全てのFOMの再計算の代わりに、以前書きだされたFOMマップをディスクから再読み込みします。新しい座標のその後の計算は、数秒で実行されます。

3つのパラメータをすべて使いこなして、検出結果をどのように変更するかを確認してください。すべての顕微鏡写真のauto-pickingに使用するパラメータがわかったら、GUIの左上にあるjob-typeブラウザの【Auto-picking】オプションをクリックして【Run now!】ボタンでjobを選択します。【I/O】タブで入力した顕微鏡写真のSTARファイルと選択した2つの顕微鏡写真を元の【CTF estimation】job のところで置き換えます。(CtfFind/job003/micrographs_ctf.star)【References】タブに表示されている通りすべて任せます。また、【auto picking】タブは以下のように設定します。

 ● Picking threshold: 0.0
 ● Minimum inter-particle distance (A): 100

(良い値はしばしば、粒子の直径のおよそ50-70%です。)

 ● Maximum stddev noise: -1
 ● Minimum avg noise: -999
 ● Write FOM maps? No
 ● Read FOM maps? No

ここで、jobは並列に(FOMマップが書き出せされてないのであれば)実行されるかもしれません。【Running】タブで、自動検出を実行するコアの数を指定します。MPIプロセッサーの最大有効数は、入力したSTARファイルの顕微鏡写真の数となります。シグナルMPIプロセスとシグナルGPUのみを使用して、計算はまだ約1分で終了しました。エイリアスとしてtempale_basedを使用しました。

FOMマップを読み込み書き出しをするかどうかによって、【Continue now】ボタンの動作の仕方に重要な違いがあることに注意して下さい。FOMマップを読み込みまたは書き出しをする場合には、【Continue now】ボタンをクリックすることで、プログラムは(一般的には少数の)全ての入力した顕微鏡写真を再度検出します。しかし、FOMマップの読み込みまたは書き込みをしない場合、すなわち、自動検出を全ての顕微鏡写真で行う2回目のjobでは、【Continue now】ボタンをクリックすることで、まだ自動検出を行っていない顕微鏡写真のみ再検出します。これはスケジュール化されたjobの反復にて有効です。たとえば、顕微鏡検査セッションの間の高速データ処理などです。また、詳細は13.3のセクションを見て下さい。もし再検出を全ての顕微鏡写真について、新しい値のセットを用いてしたい場合は(仕上がっていない顕微鏡写真だけ動作させる代わりとして)、【Run now!】ボタンの代わりに、左にあるjobタイプブラウザ上で【Auto-picking】jobタイプをクリックして下さい。そのとき、新しい出力ディレクトリが作成されます。 【Display:】ボタンからcoords_suffix_autopick オプションをクリックすることで、結果を再確認することができます。手動で全ての顕微鏡写真を調べて誤検知を取り除くのを好む方もいます。たとえば、顕微鏡写真上の炭素端や高コントラストの人工物はしばしば粒子と誤認されます。【Display:】ボタンからポップアップウィンドウを使うことで、それぞれの顕微鏡写真においてこれを実行できます。マウスの中ボタンを使って粒子を取り除いて下さい。中ボタンを押しっぱなしにすることで、広い範囲の誤認粒子を複数取り除けます。忘れずに右ボタンメニューから新しい座標を保存して下さい。

ひとたび全部の結果を満たしたすと、ディスクスペースを確保するために、最初のステップで書き出したFOMマップを削除したくなるかもしれません。手軽に行うために【Job actions】ボタンから、Gentle clean オプションを使うことができます。 ひとたび座標全体セットを満たしたら、以前のデータを全て保ちつつ、【Partcle extraction】jobを再実行する必要がありますが、【Input coordinates】を自動検出で新しく生成されたものに変えて下さい。これは下記のよりよい精密化のために使われる初期単粒子データセットを作成します。おそらく、template_basedのようなエイリアスは意義があるのでしょう。

1.9.1The shrink parameter(縮小値)

より速い処理を可能にするために、RELIONでは、コマンドライン引数 --shrink を通して顕微鏡写真をフィルタリングするオプションを実装しています。最もシンプルな使い方は --shrink 0 と使うことです。しかし、これはもっと制御して使うことができます。その場合は、次の方法に従って動作して下さい。

--shrink の初期値は1.0ですが、これは効果がなく、顕微鏡写真に全くフィルターをかけません。これは以前のバージョンのRELION-2.0の自動検出と同一の動作をします。

● --shrink val = 0 では、テンプレートリファレンスのローパスと同じように、--lowpass 指定されたローパスフィルタをかけた顕微鏡写真となります。これは単粒子解析(らせん状検出のためではなく)のために使うことをお勧めします。

● --shrink 0 < val ≤ 1 では、画像サイズが、size= val ·micrograph size にした結果になります。すなわち、valとは顕微鏡写真のオリジナルサイズに適用させたスケールファクターです。

● --shrink val > 1 では、size = val − (val mod 2)、すなわち、valより小さい最小の偶数の整数値になります。これは顕微鏡写真に特定の(偶数の)整数サイズ与える方法です。

新しいサイズが--lowpassよりも小さい場合、これは要求された(あるいは初期設定の)分解能を超えて、分解能を制限することになるので、致命的ではありませんが警告をならす結果となります。RELIONの自動検出は多くのFFTを実行するため、顕微鏡写真のサイズもFFT計算の大きな落とし穴を避けるために自動的に調整されるようになりました。これらに関する注釈とどのようにパラメータが上書きされるかは、ユーザーが実行する各自動検出の最初の出力に表示されます。

1.10 Particle sorting(粒子ソート)

RELIONには、各粒子とそれらの調節されたCTF補正リファレンスとの間の差異に基づいて粒子を素早く並べ替える機能もあります。ソートプログラムは【Particle sorting】jobタイプからアクセスすることができ、それぞれの粒子でリファレンスが利用できるときであれば、いつでも動かせます。たとえば、【Auto-picking】、【2D classification】、【3D classificationo】、【3D auto-refaine】の後などです。その使用方法を示すために、自動検出の後に実行します。

【I/O】タブでは以下のように設定してください。

 ● Input particles to be sorted: Extract/allmics autopicked/particles.star

(このファイルは自動検出後の抽出プログラムによって生成されます。【2D classification】、【3D classification】または、【3D auto-refine】jobの場合は、最後の反復での_data.starを入力するべきです。)

 ● References from model,star:

(空のままにします。これは入力粒子が【2D classification】、【3D classification】または、【3D auto-refine】jobからくるときに利用されます。)

 ● OR autopicking references: Select/templates4autopick/class_averages.star

(抽出された粒子のための座標を与える自動検出jobに使われた参照を入力してください。)

【CTF】タブ上では以下のように設定してください。

 ● Pixel size in references (A) -1

(参照はソートされる粒子と同じサイズです。)

 ● Are References CTF corrected? Yes
 ● Ignore CTFs until first peak? No

このプログラムは、シグナルMPIプロセスにおいて数秒で実行されます。複数のMPI processorsを動かす必要がないほどです。おそらくあなたはエイリアスとしてafter_autopickを使うことができると思います。このjobは出力ディレクトリに particles_sort.star と呼ばれる入力ファイルと同じファイルを生成しますが、rlnPartileSelectZScore と呼ばれるカラムの追加があります。。【Subset selection】jobタイプの 【OR select from particles.star】 とある行で、このファイルを選択することが出来ます。すべての粒子を表示するために必ずGUIの‘Max. nr. images’ エントリーを負の値に設定してください!ポップアップ表示ウィンドウ内にて、その新しいカラムに基づいて粒子を可視化できます。ディスプレイの上に良い粒子、下に良くない粒子をもつ強い傾向が見えてきます。下から上にスクロールして、下のすべての粒子を破棄する必要があるポイントを決定でき、右マウスメニューを使用して Select all above および、または1つずつ粒子を選択することができます。右マウスからポップアップメニューを使って、出力STARファイルに忘れずに保存しましょう。おそらく、after_sortingのようなエイリアスがこの【Subset selection】jobに役立つことでしょう。

 3.0のリリースから、RELIONはSTARfileの値に基づいて粒子のサブセットを選択するためのGUIベースの機能も実装しています。これはソート後の粒子の整理にも役に立ちます。もしデータセットが非常に大きい場合は、それらをすべて表示するのに長い時間と多くのコンピュータのメモリがいります。したがって、【Particle sorting】jobは、logfile_pdbも出力し、ソートアルゴリズムとそれらのヒストグラムから、すべての粒子のZスコアをプロットします。一度これらを見て、Zスコアのカットオフにとって良い値を決めることができます。これはチュートリアルで行わなかったと思いますが、それから【Sub selection】guiに行くことができます。【I/O】タブでparticles_sort.starファイルを読み込み、【Subset】タブで設定してください。

 ● Select based on metadata values? Yes
 ● Metadata label for subset selection rlnParticleSelectZscore
 ● Minimun metadata value: -9999.
 ● Maximum matadata value: 8.0
 ● OR: select on image statistics? No
 ● OR: split into subsets? No

2 Reference-free 2D class averaging (参照無2次元クラス平均)

良くない粒子を取り除くために、大抵は参照なし2Dクラス平均を使います。 前項で述べた粒子抽出ステップ(例えば、自動検出結果の手動管理や抽出された粒子の分類)で良い粒子を含もうとしますが、ほとんどの場合、良くない粒子がデータの中にまだ存在しています。 良くない粒子は一緒にうまく平均化しないので、大抵は比較的小さいクラスになりやすく、不適切な2Dクラス平均を算出します。これらを取り除くことで効率的にデータをきれいにします。


2.1 Running the job(動作の実行)

このチュートリアルでは動作タイプを【2D classificiation(2次元分類)】にセットし、その中の【I/O】タブは次の通りにセットします。その他のオプションは、前述の自動検出のテンプレートを作成した時と同じです。

●Input images STAR file: Select/after_sorting/particle.star

【Optimisation(最適化)】タブを次の通りにセットします。

●Number of class: 100

(今、たくさんの粒子を持っています。)  After_sortingのようなエイリアスを用いると、20分ほどで終わります。 動作が終了したら、_model.starファイルを選択して【Subset selection】を起動することができます。class2d_aftersortのようなエイリアスは意味があります。ここで、すべての見栄えの良いクラスをクリックして選択します。(もしくは右クリックメニューオプション【Select all classes above】を使用する。)この時、自動検出において低いしきい値を使用して、高解像度のノイズが蓄積している場合、低解像度のゴーストのように見える【Einstein-from-noise】クラスに気を付けてください。こうしたクラスの選択は避けて下さい。より良いクラスがすべて選択されたら、マウス右クリックメニューオプションから選択したものを保存します。 この手順は、複数回繰り返すことがあるので、覚えておきましょう。また、2D classficationのあとのデータに残っている外れ画像を識別するために、ソート(並べ替え)アルゴリズムを再実行できることに注意してください。 す

2.2 Analysing the results in more detail(より詳細な結果の分析)

ここではRELIONへの興味が深い人向けの、より詳細な情報を含んでいます。 お急ぎの方はこのセクションをスキップしても構いません。 RELION は 2D(3D)classification を繰り返すごとに、ファイルに書き出します。 2D クラス平均算出の最終反復時では、以下のファイルが作成されます。

● Class2D/after_sorting/run_it025_classes.mrcs 

 これは、クラス平均結果をMRCスタックとして保存しています。これらはメインGUIのDisplay: ボタンから _model.star を選択したときに表示される画像です。RELION は GUIから選択した場合、(GUIを選択した場合)、クラス平均はおそらく黒い背景が白くなるだろう。そのためクラス平均はおそらく黒い背景に対して白いものになります。もしデータが良ければ、その画像はローパスフィルターをかけた原子モデルにとてもそっくりな投影になります。 2D クラス平均の質は3Dマップがうまくいくかどうかの指標になります。我々はタンパク質ドメインの投影を用いた内部構造と、理想的には平らになっているであろう粒子周りの溶媒領域を期待したいところです。  溶媒領域の放射状に伸びた筋は典型的な過剰適合の兆候です。もしこれがおきたときは、2D classification アルゴリズムのE-step内で分解能に制限をかけてみて下さい。

●Class2D/after_sorting/run_it025_model.star 

 これは実際のクラス平均に沿って精密されたモデルパラメーター(クラス間の画像の分布、再構成された構造中のシグナル対ノイズ比の球面平均、全てのグループのノイズスペクトラム)を含んでいます。  less コマンドを使って、このファイルの中身を見てください。特に、data_model_classesテーブルのそれぞれのクラスの粒子分布を確認して下さい。これとクラス平均を比較すると、低分解能のクラスにある粒子はほとんどない一方で、高分解能のクラスに存在する粒子は多いと分かる。  平均的に少ない粒子を通しての平均化は自然と低いシグナル対ノイズ比になりますので、このときにベイズ推論的な考えを持つことが重要になります。それぞれのクラスにおいて概算されたスペクトラル、シグナル対ノイズ比はdata_model_class_N テーブルに保存されます。同様に、それぞれのグループにおいて概算されたノイズスペクトラムはdata_model_group_Nテーブルに保存されます。data_model_groupsテーブルはそれぞれのグループにて精密されたscale-factor強度を保存します。(平均よりも高い値をもつグループはより強力なシグナルを持っている、平均よりも低い値をもつグループは相対的に低いシグナルである)  これらの値はデフォーカスと相互関係があることが多いだけでなく、汚れのの蓄積や氷の厚さに影響される。

●Class2D/after_sorting/run_it025_data.star

 これはそれぞれの粒子に関わる全てのメタデータを含んでいます。そのメタデータとは、particles.star fileに入力した情報の他に、最適な方向、最適なクラス同定、対数尤度への寄与、などに関する追加情報です。 このファイルは再度新しく洗練されたデータをstarファイル同様の形式のでの入力に使用される。

●Class2D/after_sorting/run_it025_optimiser.star 

 これは終了しなかった場合の再起動に必要な精密化過程についての全体的な情報が含まれています。たとえば、もし25反復後でもまだ収束しなかった過程を考える場合(評価のために反復24と25から出したクラス平均を比較できる)、Finished jobs パネルの中で以下の機能を選択できる。I/O タブ上で、Continue from hereから上記のファイルを選択することが出来る。そのときに、Optimisationタブ上で

Number of iterations:40 

と設定して下さい。このジョブは、反復26から反復40名で繰り返されるだろう。また、Sampling タブで緻密な角度や並列処理をするサンプリング比率を選ぶかもしれません。optimiser.starファイルのもう1つの有用な特徴として、1行目に、これを動かすために与えられた正確なコマンドライン引数がコメントとして含まれています。

●Class2D/after_sorting/run_it025_sampling.star 	

 これはサンプリング間隔の採用についての情報が含まれています。このファイルもまた再起動に必要なファイルです。

2.3 Making groups

ここではRELIONへの興味が深い人向けの、より詳細な情報を含んでいます。 お急ぎの方はこのセクションをスキップしても構いません。

RELIONは、粒子をグループ化する際に、以下のふたつのことを実行します。ひとつは、平均のノイズのスペクトラム強度(σij^2)の推定と単一数としての強度スケールファクター(τi^2)の推定です。後者は、そのデータの異なる部分の間での、全領域シグナル対ノイズ比(SNRi)の違いを表現しており、例えば、氷の厚さ、デフォーカスまたは汚染等によるものです。  通常、顕微鏡写真上の全ての粒子は別々のグループとして扱っています。この動作は顕微鏡写真ごとに多くの粒子が存在する場合には良いです。しかし、高倍率で扱っている場合、サンプルは非常に希釈されるか、最終的に選択されたものは顕微鏡写真ごとには少数しか粒子が含まれておらず、強度スケールファクター(またノイズスペクトラ)強度の推定は不安定なものとなります。一般的に各グループに少なくとも10〜20の粒子がある方が良いとしていますが、2D,3Dクラス化後、各グループの粒子の初期数はより少なくなるだろうということに注意しておいて下さい。  顕微鏡写真ごとに粒子が殆ど無い場合、複数の顕微鏡写真からの粒子をグループ化することをお薦めします。このことから、RELION 2.0での新しいGUIとして【Subset selection】の中に便利な機能が追加されています。それは【I/O】タブ上で _model.starファイルを選択した時、【Regroup particle?】と表示された時【Yes】と入力し、【Approximate nr of groups : 5】と【Class option】タブで入力することで、すべての粒子を5つのグループに分類できます。(実際の数は入力値によって幾分変化するため、入力上での近似値となる)この方法は以前の最終バージョンのRELIONでは避けられた方法でした。このチュートリアルの顕微鏡写真には十分な粒子が含まれているので、ここではこの手順を使用しません。 RELIONは、他のプログラムで時々使用されるデフォーカスグループとは非常に異なることに注意しておいて下さい。RELIONは常に各粒子に使用されたグループとは無関係に(異方性の)CTF補正がされます。

3 De novo 3D model generation  (3Dモデル形成)

RELIONは、2Dの粒子から| 3D initial model | (3Dの初めのモデル)を生成することからSGDアルゴリズムを用いる。RELION-3.0によると、実行はcryoSPARCプログラムの実行にとてもよく従う。見ている方向とデータの合理的な配分の生成は(2D classification)の詳細なクラス平均を産出するために十分いい。このアルゴリズムは、適切な産出にとてもふさわしく、それ以降の低解像度モデルは、3D classificationか3D auto-refunementで利用できる。ここで留意すべきは、リリースされた3.0の実行の改善は、もはや2D classification動作からクラスにつき選択されたランダムな分子とともに分子の部分集合を選択することをしないことである。代わりに、選択された分子の一式の全体のデータを用いた時、そのアルゴリズムはとてもたくましいものである。

3.1 Running the job (動作の実行)

3D initial model のジョブタイプのI/Oタブのselect/class2d_aftersort/particles.starファイルを選択する。すべては、すでにCTFで順番にしている。OptimisationタブのFillにより従う(角のある初期状態の放置とサンプリングの相殺)

●Number of class : 1

(時々、一つのクラスより大きいもの。0をつかうと、データセットにまだ存在するだろう至適な分子のシンクの生成を助けるだろう。追加された議論sgd_skip_annealはまだ有用だろう。この場合、私たちはスピードアップするための一つのクラスをつかうだろう。)

●Mask diameter (A) : 200

前と同じ

●Flatten and enforce non-negative solvent  : Yes
●Symmetry C1

(対称性がなにかもわからないとき、C1の再構築はおそらく、始めることにベストな選択であるだろう。いくつかの高い対称性の物体は正しい空間グループよりC1のSGDによる解法が簡単だろう。このデータセットはいいデータで、正しいポイントグループD2が動作できる。しかしながら、C1からC2にどのように進行するかを説明すると、C1のSGDを動かすだろう。) 特に、実例の1つに、SGDタブのいくつかに変えることはできないことと、その初期状態はいくつかの場合に適している。しかしながら、このチュートリアルのスピードアップすることは、私たちは、反復のデフォルトの数の半分だけ行うだろう。 したがって、このように変化する。:

●Number of initial iterations : 25
●Number of in-between iterations : 100
●Number of final iterations : 25

Gomputeタブで、システム上で最適化する。再度RAMの中で数千の分子がプレリードできる。GPUの加速は、スピードアップを実現でき、反復の間の複数の極大化のステップは、2Dか3Dの精密化か分類の基準の準備はゆっくりになるだろう。4CPUのカードと、5MPInoプロセス、6スレッドのMPIプロセスを使い、システムはおよそ15分で済む。

3.2 Analysis the result (結果の分析)

UCSFキメラのような3Dビューワーの吐出量(Initial Model/job017/run-it/50_class001.mrc)を見る。もし、このポイントにおける対照的なポイントグループの追加を認識することは、RELIONの習慣における協調的なシステムの中心的なX,Y,軸における対照的な軸を整列させることを必要とするだろう。リリースされた3.0は新しいプログラムを促進することを含む。 この動作はコマンドラインから実行できる。

●Relion_align_symmetry - - i InitialModel/job017/run_it150_class001.mrc - -o InitialModel/job017/run_it150_class001_alignD2.mrc - -sym D2

それと、マップにおける対照的な軸のUCSFキメラかrelion_displayの確認はX,YとZ軸の実際の整列とする。私たちはD2の対称的なものを使うことを強要させるだろう。

●Relion_image_handler –i InitialModel/job017/run_it150_class001_alignD2.mrc –o InitialModel/job017/run_it150_class001_symD2.mrc –sym D2

後者のコマンドの出力マップは、入力マップに似ているだろう。 これによって確認できる。

●relion_display_ --i InitialModel / job017 / run_it150_class001_alignD2.mrc & relion_display –i InitialModel / job017 / run_it150_class001_symD2.mrc &

4 Unsupervised 3D classification (教師無3次元クラス分類)

すべてのデータは異性分からなっています。問題は、どのくらいの費用でいられるかです。RELIONの3Dマルチリファレンス精密化手順は、強力な教師なし3次元分類へのアプローチを提供しています。

4.1 Running the job (ジョブを開始)

教師なし3次元分類は、[3D classification] ジョブタイプから、実行可能です。 [I/O]タブの設定:

●Input images STAR file: Select/class2d_aftersort/particles.star
●Reference map: Import/initial_3dref/3i3e_lp50A.mrc

このマップはパイプラインの部分のように、Brouseボタンで表れないように述べる。両方のタイプは空のフィールドの中に名付けられるか、importジョブタイプをつかうマップの移入が行われる。対照的なC1を動作させたり、非対称的なInitialModel / job017 / run_it150_class.mrcを使いことを選択する。しかしながら、すでに右の対称的なセッティングは、後々とても楽になるだろう。

●Reference mask (optional):

(これは空白のままにしておきます。これは、例えば、注目しているリボソーム精密化のために大/小サブユニットマスクを提供するところです。この項目を空のままにしておくと、[Optimisation]タブで指定された粒径の球形マスクが使用されます。 これは分類へのバイアスを最小限にする働きがあります。) [Reference]タブの設定:

●Ref. map is on absolute greyscale: No

(このマップがデータセットから再構築されたとき、すでに正しいグレースケールであります。RELION内の同じデータから再構築されていないマップは、おそらく、正しいグレースケール上にないと考慮しておきましょう。)

●Initial low-pass filter (A): 50

(精密化プロセスにバイアスが導入する可能性があるため、高解像度の初期参照モデルは使用してはいけません。[12]で説明したように、初期マップをできる限りフィルタリングする必要があります。リボソームでは大抵、70Åを使用し、小さい粒子では通常40〜60Åの値を使用します。)

●Symmetry: C1

(このサンプルはD2の対称性があることはわかっていますが、対称性を持たない初期分類を実行することをお勧めします。良くない粒子は適切なものから分離することができ、対称性は再構成されたマップで確認することができます。)

●Do CTF corection? Yes
●Has reference been CTF-correced? Yes

(このモデルは、SGDのCTFコレクションによって作られている。)

●Have data been phase flipped? No
●Ignore CTFs untill first peak? No

(リファレンスを作成するために使用した[2D classification]jobでもこのオプションを使用した場合にのみ、このオプションを使用します。) 【Optimisation】タブの設定:

●Number of class: 4

(より多くのクラスを使用すると、多様な情報が含まれているデータセットがより多くのサブセットに分割されます。計算コストは、CPU時間と必要なコンピュータメモリの両方の観点から、クラス数に比例して変化します。)

●Number of iterations: 25

(これは一般的には変更する必要はありません。)

●Regularisation parameter T: 4

(Tの定義については[13]を参照してください。クライオEMの、2次元分類では、通常、Tは1~2を設定し、3次元分類では2~4を設定します。ネガティブ染色の場合、少し低い値が効果的な時があります。クラス平均にノイズが見える場合はTの値を低くし、逆にクラス平均の分解能が低すぎる場合はTの値を高くします。主に気をつけなければならない点は、高解像度のノイズの過学習です。あらかじめ計算された結果に2という値を使用しました。おそらく4を設定しても同じようにうまくいくでしょう。)

●Mask diameter (A): 200

(前回の[2D classification]のjobタイプと同じ値を使用してください。)

●Mask individual particles with zeros? Yes

(Yes: 0 / No: 乱数)

●Limit resolution E-step to (A): -1

(正の値を指定すると、この値を超える周波数はアラインメントに含まれません。これは過学習を防ぐのにも役立ちます。実際に必要にではありませんが、10~15Aに設定されている可能性があります。) 【Helix】タブは無視して下さい。 以前の[2D-classification]の場合と同様に【Compute】タブに記入してください。 ここでも、【Running】タブで、使用するNumber of MPI processors(MPIプロセッサの数)とthreads(スレッド数)を指定できます。[2D classification]のjobタイプで説明したように、3次元分類は2次元分類よりも多くのメモリを必要とするため、より多くのスレッドが使用されることがあります。しかし、この場合、画像はかなり小さく、RAM不足はそれほど大きな問題ではないかもしれません。おそらく、最初の3次元分類を表示するためにfirst_exhaustiveのようなエイリアスを使用でき、徹底的な角度検索を使用しているのではないでしょうか。 精密化された再構成を分析する際には、UCSFキメラなどのしきい値マップだけでなく、スライスでそれらを見ることも非常に便利です。スライスビューでは、未解決の異質性のより良い印象を受けるでしょう。これは、スライスに不鮮明な領域や縞状の領域として表示されます。スライスはまた、溶媒領域の平坦性の良好な印象を確認できます。【Display:】ボタンを使用して、最後の反復からの再構成のいずれかを選択して、RELIONのスライスビューを開きます。 UCSFキメラなどを使用し、表示されたマップを3Dで見ると、マップが精密化の間にわずかに回転する可能性があるので、それらをすべて最良のものに合わせることはしばしば良い考えです。キメラでは、【Tools】 - > 【Volume Data】 - > 【Fit in Map】ツールを使用します。お互いに並んでいる複数のマップを見るには、【Tools】 - > 【Structure Comparison】 - >【Title Structures】ツールと、【Viewing】ウィンドウの【independent】中心回転方法を組み合わせたものが好ましいです。 2次元分類の場合と同様に、【Subset selection】を使用して、1つ以上のクラスに割り当てられた粒子のサブセットを選択することができます。【I/O】タブで、_model.starファイルのサブセットを最後の反復から選択します。表示ウィンドウには、4つの精密化されたモデルの中央スライスが表示されます。最適なクラスを選択し、右クリックメニューを使用して対応する粒子を保存します。class3d_first_exhaustiveのようなエイリアスを使用してください。

4.2 Analysing the results in more detail (詳細な結果の解析)

ここではRELIONへの興味が深い人向けの、より詳細な情報を含んでいます。 お急ぎの方はこのセクションをスキップしても構いません。

出力ファイルは基本的に2次元分類の実行時と同じです。(実際に2次元,3次元精密時に同じ記法を利用しています)唯一の違いは、以前に出力された2次元クラス平均に関するシングルMRCスタックとは対照的に、各クラスのマップが別々のMRCマップとして保存されることです。例えば、run_it025_class00?.mrcというMRCマップです。 今まで通り、小さいクラスは大きなクラスより精密にローパスフィルターにかけられ、スペクトルのシグナル対ノイズ比(SNR)が_model.starファイルのdata_model_class_Nテーブル(N = 1,,,,K)に保存されます。おそらく今がSTARファイルから任意のタイプのデータを抽出するのに便利な2つの手軽なスクリプトを導入するいい機会です。以下の通りに入力して下さい。

●relion_star_printtable Class3D/first_exhaustive/run_it025_model.star data_model_class_1 rlnResolution rlnSsnrMap

上記はdata_model_class_1テーブルから解像度に関する(rlnResolution)コラムとスペクトルのシグナル対ノイズ比に関する(rlnSsnrMap)コラムを画面に出力します。ここでそのファイルを参照して、お好みの言語でプロットできます。もし、使用者のコンピューターにgnuplotがインストールされているのであれば、以下の通りに入力して下さい。

●relion_star_plottable Class3D/first_exhaustive/run_it025_model.star data_model_class_1 rlnResolution rlnSsnrMap

実行が収束したかどうかを確認するには(上記のように)、以下でも確認できます。

●grep _rlnChangesOptimalClasses Class3D/first_exhaustive/run_it???_optimiser.star

これまででお分かりのように、STARファイルはさまざまなタイプの入出力データを扱うのに非常に便利なツールです。得られた結果の分析するための柔軟で強力なツールとなるrelion_star_printtableのようなスクリプトは、だいたいgrepやawkのようなlinuxのシェルコマンドと併用して実行できます。

5 High-resolution 3D refinement(三次元精密化)

十分に均質なサブセットは一旦選択されると、このサブセットを自動的に高い解像度に精密化するために[3D auto-refine]を使用することができます。この手順は分解能を推定するために、gold-standard Fourier Shell Correlation(FSC)(二つの群に分け、互いに独立して再構成した場合に、どの分解能まで相関があるかにより判断)と言われる判断基準を用います。これにより、過学習を避けることができます[15]。角度の割当の正確さを推定する新しい手順([14])と組み合わせ、精密化が収束するときに自動的に決定されます。そのため、この手順は使用者の入力をほとんど必要としません。すなわち、客観性をのこしたまま、多くのデータセットのための優れたマップが生成がされていると述べられています。もう一つの長所は、一般的にこの手順は必要な実行回数が一回のみであり、最適化のための引数はほとんどありません。  しかしながら、前に高解像度の精密化を始めた時、スケール未満とともに選ばれた粒子の正しいセットを再度抽出して、それによりもしかすると高解像度になるかもしれない。これをすることで、GUIのParticle extraction のジョブタイプとI/Oタブを与える。

●micrograph STAR file : CtfFind / job003 / micrographs – ctf.star

(そのままでよい)

●Coordinate – file suffix : 

(空でよい)

●OR re – extract refined particles ? Yes
●Refined particles STAR file : Select /class3d – first_exhausitive /    particle.star

(今、選択された粒子の微粒にされたサブセットだけをつかうだろう)

●Re – center refined coodinates ? Yes

(3D classificationの動作以上から整列させたオフセットに従ってすべての粒子は再度中央に置かれるだろう)

●Recenter on – X , Y , Z (pix) 0.0.0

(箱の真ん中の分子を中心にキープさせたい)

●Manually set pixel size ?  No

(入力したマイクログラフstarファイルはCTFの情報に含まれていないことが必要である。) Extractタブはすべてキープする。

●Particle box size (pix) 360

(大きな箱をつかうだろう。それにより非局在化させたCTFシグナルはより良いモデルになるだろう。これはCTF精密化の後が大事である。)

●Rescale particles ? yes

(とても大きな画像が働くことを防ぐことで、360×0.885/256 = 1.244 Åのピクセルサイズを減少させ、採取しましょう。これは、おそらく十分に小さいデータ、2.5 Åの大きな達成可能な解像度に制限があるだろう。) この動作では、エイリアスbest3dclass_bigboxを使用する。 加えて、256ピクセルのボックスサイズに従って一番いいマップを入手したことのいたずらは必要である。

●relion_image_handler –i Class3D/job018/run_it025_class001.mrc –angpix 3.54 –rescale_angpix 1.244 –o Class3D/job018/run_it025_class001_box256.mrc –new_box256 

5.1 Running the auto-refine job (自動精錬動作の実行)

3D auto-refine のジョブタイプのI/Oタブ

●Input images STAR file : Extract/best3dclass_fullsize/particles.star
●Reference map : Class3D / job018 / run_it025_class001_box256.mrc
●Reference mask (optional)

(からのままでいい) Reference タブ

●Ref. map is on absolute gryscale ?  No

スケール現象の画像の違う標準化によると、正しく絶対的なグレースケールはマップの中に確立しなかった。このオプションの“No”は大事で、精密化の最初の相互作用のグレースケールは正しくなるだろう。

●Initial low-pass filter (A) 50

マップの高い頻度の成分に向かってバイアスを防いだことは低いパスのフィルターから自動精密化され始める。それと解像度から完全に依存された粒子の“gold standard”の維持は、1頭文字より高かった。

●Symmetry D2

(高解像度の粒子の照準は、強要された対称性の粒子の4倍効率的にするだろう) CTFのパラメータで、OpimisationとAuto-samplingタブは、3D classificationと同じでとどまる 【Sampling】タブでの配向性のサンプリング間隔は反復の最初の数回のみ使用されており、ここでのアルゴリズムは収束するまで、角度サンプリング間隔が自動的に細かくなっていきます。したがって、8面体または正20面体対称よりも小さい角度で、全ての精密化仮定でで、一般的に大域探索では、初期値の角度である7.5度のサンプルを使用し、局所探索では1.8度のサンプルから行います。より正確な対称の精密化を行う場合のみ、3.7度でのサンプリングを行い、局所探索では0.9度ごとにサンプリングを行います。 MPIのノードは1つのマスター(他のスレーブを管理するだけのもの)と2つのスレーブ(2つの半分のセットに作用するもの)のセットで分かれているので、奇数のMPI処理装置を使用するのが最も効率が良いです。ナイキスト周波数までのすべての周波数が考慮されているため、必要メモリは最終反復でかなり増加します。従って、使っているクラスターノードのコアと同じ数のスレッドで動かしたいデータセットのボックスより大きいサイズで作られたボックスが必要です。もしかするとafter_first_class3dのようなエイリアスが良いかもしれません。

5.2 Analysing the results (結果の分析)

 出力ファイルは3D classificationを実行したときのものと大部分が同じです。しかし、全てにおけるプログラムの反復では、2つのrun_it0??_half?_model.starと2つのrun_it0??_half?_class001.mrcファイルを書き出します。それぞれデータの半分が精密化されます。収束した場合にのみ、ひとつのrun_model.starとrun_class001.mrcファイルを書き出します(名前に_it0??がありません)。最終反復では、2つの独立した半分の復元データが一緒に結合されているので、一般的に最終反復で解像度がかなり改良されます。プログラムはすべてのデータでナイキスト周波数を使用しているので、この反復では更に多くのメモリとCPUが必要です。 角度サンプリングでの自動増加が自動精密化手順の様子が重要な側面であることに注意してください。[14]で説明されているシグナル対ノイズの考察が基礎となっており、角度の精度と併進運動の割り当てを評価します。プログラムは必要だと判断したものよりも細かい角度や並進運動サンプリング比は使用しません(結果がよくならないためです)。評価された精度と採用したサンプリング比は現在の解像度評価と一緒にすべて_optimiser.starと_model.starファイルに保存されますが、stdoutファイルからも抽出されるかもしれません。 例えば、以下のように試してみてください。

●grep Auto Refine3D/after_first_class3d/run.out

6 Mask creation & Postprocessing(マスク作成 & 後処理)

3D自動精密化の実行後、マップを先鋭化する必要があります。その場合も、自動精密化の内部で生み出されるgold-standard FSCカーブは、マスク化されていないマップのみで使います。(Use solvent-flatted FSCsというオプションを使っていない場合に限ります)これは実際の精密化中には実際の分解能は下回っているということを意味しています。なぜならば、溶媒領域のノイズがFSCカーブを低くするからです。RELIONにおけるBファクターでの先鋭化とマスク化したFSCカーブを計算するための手順は、”post-processing(後処理)”と呼ばれています。しかし、最初にはタンパク質の末端と溶媒領域の開始点を精密化するためのマスクを作る必要があります。これは[Mask Creation]ジョブタイプを使って行います。

6.1 Making a mask (マスクの作成)

[I/O]タブ上で3D自動精密化が終わった出力マップRefine3D/first3dref/run-class001.mrcを選択してください。【Mask】タブ上で以下のように設定してください。

● Lowpass filter map (A): 15

(15Åのローパスフィルターが滑らかな溶媒マスクのために良い選択と思われます)

● Pixel size (A): 1.244

(この値はローパスフィルターの計算にのみ使われます)

● Initial binarisation threshold: 0.005

(これは例としてタンパク質領域の外側にノイズスポットが完全になく表示するキメラのように、ローパスフィルターのかかったマップの描写でのしきい値となります。適切なスポットを見つけるために、しきい値を上げたり下げたりしてみて下さい。入力マップのローパスフィルターがかけられたバージョンを得るために --lowpass 15 --angpix 1.244オプションを付与させてrelion_image_handlerと呼ばれるコマンドラインプログラムを使用できることを覚えておいてください。初期しきい値としてよい値はだいたい、0.01から0.04のあたりです)

● Extend binary map this many pixels: 0

(上記のしきい値は白黒画像マスクを生成するのに使われます。)

● Add a soft-edge of this many pixels: 6

(これはマスクに余弦形状のソフトエッジを配置します。これは、とても鋭いマスクにかなり繊細である可能性があるFSCカーブに、マスクが及ぼす影響を計測する補正手順として重要です。マスクの生成は相対的に速いので、しばしば分解能の最も適した概算を得るためのマスクパラメーターと共に使います。) 【Helix】タブを無視してfirst3Drefのようなエイリアスを使ってください。 3.0がリリースされた現在、このステップを速めるために筋道でmask-createプログラムを実行することができるということを留意してください。[Display]ボタンを使うことでマスクの結果を通した切片を見て、UCSFキメラにマスクを読み込ませることができる。後者はマスクが構造全体をカプセル化するがマスク内に多くの溶媒を残さないことを確認するために自動精密手順のマップと一緒にいいアイデアになるかもしれません。好きなマスクを見つけるまでマスク生成のために新しいセッティングで同じジョブを続けることができます。ジョブを続けるたび、古いマスクはmask.mrc.oldというファイルへコピーされる。

6.2Postprocessing(後処理)

[Post-processing]jobタイプを選択して[I/O]タブで以下のように設定してください。

●One of the 2 unfiltered half-maps:Refine3D/first3dref/run_half1_class_unfil.mrc
●Solvent mask:Mask Create/first3dref/mask.mrc
●Calibrated pixiel size(A):1.244

(時々、正確なピクセルサイズと思って作り始めたモデルが実は数パーセント異なっていたことが分かることがあります。RELION内では、この時までになしたものすべてはまだ一貫しています。そのためマップの再精密化やデータクラスの再分類をする必要はありません。正確なマップと最終解像度の推定のために必要なことがここに正しいピクセルサイズを提供することです。) [sharpen]タブで以下のように設定してください。

●MTF of the detector (STAR file): mtf_k_2_3000kV.star

(RELION wikiに記録した解析結果から2,3個の一般的なカーブをダウンロードすることができます。200kVでのK2のMTFは、300kVでのK2のMTFに似ています。)

●Estimate B-factor automatically:Yes

(この手順は本誌[10]に基づき、最終解像度が確実に10Åを超えるように伸ばす必要があります。もし、マップの解像度が10Åに満たない場合、独自の"ad-hoc"B-ファクターを代わりに使う必要があるかもしれません。)

●Lawest resolution for auto-B fit (A):10

(これは通常変える必要はありません。)

●Use your own B-factor? No

[Filter]タブでは以下のように設定してください。

●Skip FSC-weighting? No

(このオプションのときに全体のマップ分解能を超えるような解像度へと拡張するマップ範囲を解析するのに便利です。今回は当てはまりません。) jobを実行(クラスターは必要ないほどこのjobはすぐ終わります)し、first3drefのようなエイリアスを使用してください。[Display]ボタンを使って、後処理されるマップとこの構造のFSCカーブとGuinierプロットを含んだPDFを通してスライスを表示します。ChimeraでPostProcess/first3dref/postprocess.mrcマップを開くこともできる。そこでは3D自動精密化の手順となる収束したマップでの全てのα-ヘリックスの場所を簡単に見ることができます。分解能の推定は以前に発表された[2]のフェイズランダムの手順に基づいています。フェイズランダムマップのFSC(赤いカーブ)が多かれ、少なかれ、推定していた後処理マップの解像度のゼロ点であることを確認してください。そうでない場合は、マスクが鮮明すぎるか細部の描写が多すぎます。この場合は、強いローパスフィルターや以前の[Mask Creation]ステップでのより広く、より薄いマスクを使用し、後処理を繰り返してください。実際に少し薄いマスクを作りたくなるかもしれないので、その場合は、エッジがだいたい5ピクセルになるように試してみてください。このために[Continue now]ボタンを使った場合、以前の結果が上書きされます。左側にあるjobタイプブラウザをクリックし、[Run now!]ボタンで新しいディレクトリができます。

7 CTF and beamtilt refinement(CTFとビームチルトの精密化)

3.0がリリースされた現在、全体のデータセットのために、粒子につき値とビームチルトの値の焦点をぼかすと見積もるためのプログラムをRELIONは含んでいる。これは、CTFの精密化job-typeでの中で実行されます。これは、相対的に少量の計算量で解像度のさらなる改善を導くことができる。それはPost-processingjobに対応しているのと同様に前の3D auto-refinejobから実行する。

7.1 Runnnig the job(jobの実行)

GUIでCTFrefinement job-typeの[I/O]タブで以下のように設定してください。

●Particles (from Refine3D) Refine3D/first3dref/run_data.star
●Postprocess STAR file:PostProcess/first3dref/postprocess.star

[Fit]タブで以下のように設定してください。

●Minimum resolution for fits (A):30

(デフォルトそのままにします。)

●Perform CTF parameter fitting? Yes

(それぞれの粒子の焦点をぼかす再見積もりに関心があります。これは氷層と氷層の上層や下層にある粒子が水平になっていない原因となるでしょう。)

●Range for defocus fit (A) 2000

(通常デフォルトの数字で問題なく動くでしょう。)

●Fit per-micrograph astigamtism? No

(とても強いデータのみで動きます。)

●Fit per-perticle astigamtism? No

(とてもとても強いデータのみで動きます。)

●Fit per-micrograph phase-shift No

(phase-plate画像でのみ便利でたとえデータが強くなくても扱いにくいだろう。慎重にこれらの結果をモニターしてください。)

●Perform beamtilt estimation? Yes

(全体のデータセットから(XとYの方向の)ビームチルトを見積もります。) このプログラムはCPU上でのみ実行されます。4MPIsを使うことで8つの筋道はそれぞれコンピュータ上でこのジョブはだいたい1分で終わります。

7.2 Analysing the results(結果の分析)

GUI上の[Display]ボタンからlogfile.pdfファイルを選ぶことによって非焦点の精密化を分析できます。水平ではない氷層がどこか顕微鏡写真で見抜くことができますか。ビームチルトの概算はCtfRefine/job024/beamtilt_0.txt;ファイルの中に保存されます。この概算で得られたものからの位相差の画像は表示されて使います。 relion_display --i CtfRefine/job024/beamtilt_delta-phase_per-pixel.mrc --scale 3 & そして表示され、使うことができることを通してモデルはフィットしました。 relion_display --i CtfRefine/job024/beamtilt_delta-phase_lin-fit.mrc --scale 3 & もし、ビームチルトが重要であればこの画像は停止よりもサークルブラッカーの片側とホワイターの片側を示します。この場合、ビームチルトはXでは0mrad,Yでは、0.2mradとおおよそ見積もられました。これらのデータの分析で重要な違いは作りません。ビームチルトの概算なしでCtfrefinement jobを再実行できる代わりに動くために選びました。

8 Bayesian polishing(ベイジアンポリッシング)

3.0がリリースされた現在、ビームによって引き起こされた運動補正をベイジアン法をRELIONも実行します。この方法は規則正しくされた見込みの最適化が狙いです。強いることなしに空間的干渉性の行為と時間的に滑らかな動きが限定する前の見込みで粒子軌道のそれぞれの仮説のセットを連想することを許します。前の期間の平滑度は動きを観察した統計学で説明する3つのパラメータを必要とします。この粒子のデータセットのための最も良い収量の動きを追跡する前の見積もりをすることは最初のtraining modeのプログラムを実行することができます。

8.1 Running in training made(トレーニングモードの実行)

平行な16の筋道を使うことでこのjobはコンピュータで1時間と15分かかります。もしこれを待ちたくないのであれば8.2へ進んであらかじめ計算された結果からsigma-valuesを使うことができます。もし、このjobを実行したいのであれば、job-typeをBaysian polishingを選択して以下のように設定してください。

●Micrographs (from MotinCorr): MotinCorr/own/corrected_micrographs.star

(このMotioncorrection jobはRELION3.0かそれ以上のもので実行されていることは重要です。運動補正について必要なメタデータが書かれていないのでRELION 2.1 もしくはそれ以下ではMotion correction jobは動きません。)

●Perticles (from Refine3D or CtfRefine):CtfRefine/job024/particles_ctf_refine.star

(これらの粒子はポリッシュされます。)

●Postprocess STAR file Postprocess/first3dref/postprocess.star

(このjobからのマスクとFSCカーブはポリッシュの手順で使われます。)

●First movie frame:1
●Last movie frame:-1

(それらの映画から最初もしくは最後のフレームを捨てる人もいます。RELIONでベイジアンポリッシングを行うときこれは勧めないことを注意してください。B-ファクターの映画フレームの重さは光る粒子のシグナルとノイズの割合で自動的に最適化するので、全ての映画フレームを含むための最善です。) [Train]タブにセットして以下のように設定してください。

●Train optional parameters? Yes
●Fraction of Fourier pixcels for testing:0.5

(デフォルトのままにしてください。)

●Use this many particles:5000

(それはほとんどすべてのものです。さらに多くの粒子、多くのRAMでこのプログラムを行うことを留意してください。もし、メモリーが尽きたら、少量の粒子でトレーニングをしてみてください。5000よりもとても少ない粒子を使うのにおすすめしないです。) Polishタブを確かめてセット以下のように設定してください。

●Perform particle polishing? No

このプログラムのトレーニングステップは、MPIと並行しないことに留意してください。それゆえに、1つのMPIの過程のみを使う確認をしてください。プログラムのスピードを上げるため16の道筋でプログラムを実行しました。まだ、計算には1時間以上かかります。trainのエイリアスを使いました。

8.2 Running in Polishing mode(ポリッシングモードの実行)

一度トレーニングステップが終わってしまえば、そのプログラムはPolish/train/opt-params.txtと呼ばれるテキストファイルに書き出されます。粒子をポリッシュするためにこれらのパラメータを使うにはjob-typeメニューの左にある新しいBayesian polishingを選んでクリックしてください。以前と同じ[I/O]タブのパラメータを維持して[Train]タブをトレーニングオフに変換したことを確認してください。その時、[Polish]タブをセットして以下のように設定してください。

●Perform particle polishing? Yes
●Optimised parameter file: Polish/train/opt-params.txt
●OR use your own parameters? No
●Minimum resolution for B-factor fit (A):20
●Maximum resolution for B-factor fit (A):-1

(最後の2つのパラメータはデフォルトのままにしてください。) 代わりにもしトレーニングセットをスキップすると決めたならば、実行することで得たsigma-parametersでPolishタブを満たすことができます。

●Perform particle polishing? Yes
●Optimised parameter file: 

(下記に従って手に入れた最適なパラメータを使うのでここは空のままにしてください。)

●OR use  your own parameters? Yes
●Sigma for velocity (A/dose) 0.462
●Sigma for divergence (A) 1935
●Sigma for accleration (A/dose) 2.46
●Minimum resolution for B-factor fit (A):20
●Maximum resolution for B-factor fit (A):-1

(最後の2つのパラメータはデフォルトのままにしてください。) このプログラム部分はMPI並行化されています。3MPIを使う過程でそれぞれ16道筋、2分で実行し終えます。ポリッシュのエイリアスを使いました。

8.3 Analysing the results (結果の分析)

Bayesian polishing jobは、shuny starと呼ばれる粒子をポリッシュしたSTARfileとlogfileのPDFに出力します。後者はスケールのプロットを含み、放射線障害の重さにため、B-ファクターが使われました。加えて、粒子の精密化のプロットは、全ての顕微鏡写真のすべて含んだ粒子を追跡しています。このデータセットのプロットを見てください。そのステージの流れが少し出現します。ほとんどすべての粒子は映画の間、上の右から左の下へ動きます。ポリッシュ後、粒子のシグナルとノイズの割合は改良されていました。そして、それは新しい3D auto-refine jobと一致するPost-processing jobを提示すべきです。[I/O]タブで下記のオプションを使うため、光る粒子で3Dauto-refineを実行してください。

●Reference mask (optinal): MaskCreate/first3dref/mask.mrc

(これは最初のPost-processing jobのために作ったマスクです。このオプションを使うことで、マスクの外側のすべてのピクセルを0にセットします。これは参考の中でノイズが減少し、このようにさらに良い配向指定を導き、このように再構築します。) [Optmisation]タブ上で下記のように設定してください。

●Use solvent-flattened FSCs? Yes

(精密化は毎相互作用でFSCカーブの基準で溶媒補正を使います。このオプションを良く使うことは、Post-processing job-typeで使われるようです。粒子の箱の中身の相対的に小さい体積をタンパク質が占めるときこのオプションは特に便利です。例えば、分子をとても引き伸ばすかマスクを使って小さい部分で精密化して焦点を合わせるときです。3D精密化でFSCを計算することのデフォルトの方法は精密化の間、分解能は下回っているマスキングしているハーフマップ以外である。これは、毎相互作用でFSCカーブの溶媒補正の位相ランダム化を計算することによって正しく設定され、これは通常注目すべき分解能の改善を導きます。) 以前計算した結果を見ることができるので最終的に2.9Åに伸びている分解能を得ることができます。3GBのデータのために悪くないということですか?

8.4 When and how to run CTF refinement and Bayesian polishing(いつどのようにしてDTF精密化とベイジアンポリッシングを実行するか)

粒子ごとに焦点をぼかしてビームチルトを見積もったベイジアンポリッシングとCTF精密化はともに分解能の再構築を改善するかもしれません。これは最初にどちらを適用すべきなのかという疑問が生じます。この例では、粒子ごとに焦点をずらした値とビームチルトの精密化を最初にしたが、最初にベイジアンポリッシングも行うことができます。両方法とも高い分解能モデルから恩恵を被るので相互作用の手順が有益であるかもしれません。例えば、ベイジアンポリッシングの後、CTFの精密化を繰り返すことができます。通常、初めに最も大きい問題といくつかの試みに取り組むことがおそらく最善です。そして、エラーは場合によっては、必要です。さらにトレーニングが矛盾した結果を生成するケースがいくつか見られます。すなわち、とても異なるシグマ値の収量で複数実行します。しかしながら、よくポリッシングのために使われた実際のシグマ値が光っている粒子を再精密化した後、分解能のマップのためにあまり重要ではないと述べました。それゆえに、トレーニングは計算的に高いのでデフォルトのパラメータで直接ポリッシングを実行した方がいいでしょう。(σvel=0.2;σdiv=5000;σacc=2)すなわち特定のデータセットでは、トレーニングなしがいいでしょう。

9 Locak-resolution estimation(ローカル解像度推定)

後処理プログラム[Post-processing]から推定される分解能は広域的な推定となります。しかしながら、たった1つの数では高分子複合体の再構築でしばしば観測される分解能が場所ごとで異なることを描写できません。Alp Kucukelbir and Hemant Tagare はマップ全体の解像度の変化を推定する効果的なプログラムを記述しています。[7] RELIONは[Local resolution]job-type を通してプログラムのラッパーを実装しています。代わりに全体のマップ周りを動く柔らかい球状のマスクでpost-processingのような手順を実行するために選ぶことができます。以下が例です。

9.1 Running the job(jobの実行)

[I/O]タブ上で以下のように設定してください。

●One of the two unifiltered half-maps:Refine3d/polished/run_half1_class001_unfil.mrc
●User-provided solvent mask:MaskCreate/first3dref/mask.mrc
●Calibrated pixel size: 1.244

(時には、正しいピクセルサイズと思ったモデルを作り始めたときに実際は何%かずれていることを発見します。RELIONの中身はこの点までのすべては、首尾一貫していました。なので、マップの精密化や/とデータの分類化は必要がありませんでした。する必要があるすべては、正しい地図と最終的な解像度推定のためにここに正しいピクセルサイズを提供することです。) ResMapをセットして、Use ResMap?をNoとしてRelionタブをセットして以下のように設定してください。

●Use Relion? Yes
●User-provided B-factor:-30

(この値は、ローカリーフィルターとマップを鋭くする計算をすることも慣れています。おそらく、Post-processing jobの間で機械的に測定した値に近い値を使いたいでしょう。)

●MTF of the detector (STAR file):mtf_k2_300kV.star

(Post-processing jobと同じです。)

9.2 Analysing the results(結果の分析)

エイリアスとしてポリッシュを使いました。8MPIprocessで実行したときこのjobは7分かかります。出力はLocalRes/polished/relion_locres.mrcと呼ばれます。ローカル解像度によりPostprocess/polished/postprocess.mrcマップに色を付けるUCSFChimeraで使われたかもしれないファイルです。Tools->Volume data->Surface colorを使ってby volume data valueを選んでresmapファイルを拾い読みます。特有のRELIONのオプションは1つのマップの質における全体の差異をするlocally-filteredとsharpend mapの出力を追加します。このマップは、local/Res/polished/relion_locres_filtered.mrcに保存されUCSFChimeraで直接ビジュアライズすることができます。(オプションで前のローカル解像度によって色を付けます。)

10 Checking the handedness(利き手のチェック)

マップの慎重な検査は利き手が間違ったことを指し示します。例えば、α-ヘリックスは間違った方法の向きを変えるからです。顕微鏡使用ステージのチルティングなしでデータセットから絶対的な利き手を決心するのは不可能であることを覚えておいてください。したがって、3D initial model job-typeのSGPアルゴリズムは、逆の手である50%の可能性があります。あらかじめ計算された結果では、これは本当に本当です。ある方法で以下の通りに後処理されたマップの利き手を動かしてください。 relion_image_handler --i PostProcess/polished/postprocess.mrc --o PostProcess/polished/postprocess_invert.mrc --invert_hand 同じコマンドもまた他のどのマップで実行することができます。手が間違っていると画像処理手順の前に気が付いたら他の手に変更してください。RELIONは自身で両手が区別されない問題を解決することができませんが、気が付くとすぐに手を動かすことはより便利である場合があります。一度正しい手にするとマップでUCSFChimeraに読み込みβ-ガラクトシダーゼの原子モデルで上書きしたいとします。PDBID 5a1aを用いたPDBから直鎖上の原子モデルをフェッチすることができたはずです。

11 まとめ

11.1 フローチャートの作成

どのようにして最終的な再構築をするか気になるでしょう。Finished jobリストから実行した最後の動作を選択し、Job actionsボタンからMake flowchartオプションを試してください。これを実行するためにはシステムにLATEXTikZパッケージが必要となります。最初の項は正確な作業名のないフローチャートの全体像です。これは、出版目的に役立つでしょう(おそらくお気に入りのvector-based designプログラムの編集後に)。フローチャートの全体像の後に、最初の詳細なフローチャートにどのようにして終了するかが示されています。10ステップ以上からなるフローチャートは複数の構成要素に分けられることに注意してください。作業中に複数枝分かれすることがあるでしょう。それ故に、最終作業のフローチャートに従って、それぞれの分岐についてフローチャートがあるでしょう。リンクをクリックすることでPDFファイルから合致する位置を得ることができます。

11.2 ディレクトリのクリーンアップ

ディスクの空間を確保するために、RELIONは作業ディレクトリをクリーンアップするオプションを持っています。これには2つのモードがあります。gentleクリーンは作業ディレクトリから中間ファイルのみを削除します。harshクリーンは作業からのインプットを必要とする新たな作業を開始するのに必要なファイルを削除します。例えば、harshクリーンはMotion Corr作業から平均化された、あるいはParticle extraction作業から少量のスタックを抽出された顕微鏡写真を削除します。一方、gentleクリーンは2D classification, 3D classificationあるいは3D auto-refine作業の中間反復からすべてのファイルを削除します。Job actionsボタンから個別に作業をクリーンアップすることができます。あるいは、GUIのトップメニューから下がった、Jobsからすべての作業をクリーンアップすることができます。私たちは計算前の結果に頭を悩ませていたプロジェクトディレクトリのtarballを作る前にそのメニューからGently clean all jobsオプションを使いました。長期間保存されていたデータを取る前にプロジェクトディレクトリをクリーンアップしたいでしょう。

11.3 質問や引用

以上です!このチュートリアルを楽しんで、そして役に立つことを願います。もしRELIONについて質問があれば、初めにRELION WikiFAQCCPEMメーリングリストを確認してください。それが助けにならなければ、CCPEMリストを利用して質問してください。お願いですから、決してSjorsに直接メールを送信しないでください。質問全てに返答できるわけではありません。もしRELIONが利用者の研究に有益であると思ったら私たちの論文を引用し、あなたの研究仲間たちに伝えてください。

11.4 参考文献

RELIONの手順の改善を支持した理論の詳細は以下の論文で述べられています。

  • S.H.W. Scheres (2012) “RELION: Implementation of a Bayesian approach to cryo-EM structure determination” J. Struc. Biol., 180, 519-530.
  • S.H.W. Scheres (2012) “A Bayesian view on cryo-EM structure determination” J. Mol. Biol., 415, 406-418.

RELIONの使い方に関する包括的な概観は以下の論文に述べられています。

  • S.H.W. Scheres (2016) “Processing of structurally heterogeneous cryo-EM data in RELION” Meth. Enzym., 579, 125-157.


12 付録 A:インストールの注意

12.1 MPIのインストール

MPI(message passing interface)がインストールされた計算機クラスター、もしくはNVIDIA GPU搭載のマルチコアデスクトップマシンが必要になることに注意してください。RELIONをコンパイルするには、mpi-develパッケージが必要です。おそらく存在する種類(MPICH, LAM-MPI, etc)またはバージョンはそれほど重要ではありません。まだシステム内にmpi-develをインストールしてなければ、openMPIをインストールすることをお勧めします。

12.2 CUDAのインストール

NVIDIAの比較的新しいGPU(compute capability 3.5+以上)を持っている場合、オートピッキング、分類、精密化作業を高速に実行できます。GPU-accelerationサポートを含むRELIONをコンパイルするには、CUDAをインストールする必要があります。このチュートリアルの準備にはCUDA-8.0を使用しました。NVIDIAのWebサイトからダウンロードしてください。

12.3 RELIONのインストール

RELIONはオープンソースのソフトウェアです。the RELION wikiから無料でダウンロードして、手順に従ってインストールしてください。もし、job submission system(Sun Grid EngineやPBS/TORQUE etc)に詳しくない場合は、インストール手順の説明にあるように、qsub.cshスクリプトの設定に関して、システム管理者にお尋ねください。分散メモリ並列化のためのMPIと、共用メモリの並列化のためのpthreadsの両方を使用する、いわゆるハイブリッド並列計算を実行したいときは注意してください。ジョブキューイングシステムはこれを可能とするためにいくつかの調整が必要な場合があります。再度、システム管理者にお尋ねください。

12.4 モーション補正ソフトウェアのインストール

RELION-3.0は全フレーム顕微鏡写真ムービーアライメントに使用される、UCSFプログラムMOTIONCOR2へのラッパーを提供します。Dabid Agardのページからプログラムをダウンロードし、インストールの手順に従ってください。また、RELIONの保有する、MOTIONCOR2の実行を使うかもしれません。なので、もし、UCSF実行をインストールするのに問題が発生しても心配しないでください。バージョン3.0において、Nico grigorieff’s groupからUNBLURへのラッパーはGUIから中止されていることに注意してください。

12.5 CTF推定ソフトウェアのインストール

CTF推定はRELIONに含まれていません。代わりに、RELIONはAlexis RohouやNiko Grigorieff’s CTFFIND4へのラッパーを提供します。Niko’s CTFFIND websiteからダウンロードし、手順に従ってインストールしてください。また、もし、パソコンにNVIDIA graphics card(GPU)が入っているならKai Zhang’s GCTFを使うこともできます。その際は、LMBに関するKaiのWebサイトからダウンロードしてください。

12.6 RESMAPのインストール

局所分解能推定はRELIONが所有するポストプロセッシングプログラムの中、あるいはAlp KucukelbirのRESMAPへのラッパーを通して実行される。AlpのRESMAP Webサイトからダウンロードし、手順に従ってインストールしてください。



13 付録B:RELIONの利用

13.1 GUIについて

13.1.1 pipeline approach

RELION-3.0では、一つのプログラムの出力を次のプログラムの入力として順次繋いでいくような情報の受け渡し(パイプライン)を円滑に実現できるようなGUIを設計しました。詳細は2016 Proceedings of the CCP-EM Spring Symposium[3]で公開されています。  RELION-3.0を使うにあたって、まずプロジェクト(すなわち構造決定したい分子)ごとにディレクトリを作成することを推奨します。ここではこのディレクトリの呼称をプロジェクトディレクトリとします。RELIONのGUIは「relion」とコマンドを打つことで起動させることができますが、この動作は常にプロジェクトディレクトリに移動してから行うことを念頭に置いてください。

このソフトのGUIでは、すべてのジョブや、あるジョブによる出力がどのように他のジョブの入力に使われたのかといった履歴を保存することができ、この機能によってパイプラインが形成されます。各種ジョブにはそれぞれ独自の出力ディレクトリが与えられます。ここではたとえば あるジョブの出力のためにClass2D/ というディレクトリができるとします。こういったジョブディレクトリの中でさらに新しいジョブが実行されると、その新しいジョブには一連の番号が与えられます。たとえばClass2Dのもとで作られたとあるジョブにはClass2D/job010という番号が振り分けられます。さらに、ジョブディレクトリのもとでは、Class2D/job010/run といったように出力名が定められます。このソフトでは、各ジョブに意味のある名前が付けられるような仕組みを備えるために、ファイルシステム上の個々のジョブディレクトリへの記号リンクとして実装された"エイリアス"システムを使用しています。 パイプラインに関するすべての情報はdefault_pipeline.starという名前のファイルに保存されていますが、基本的にはこのファイルを見る必要はありません。もしdefault_pipeline.starファイルが壊れてしまった場合は、最後に実行したジョブディレクトリで保存されたバックアップから復元することができます。

13.1.2 The upper half: jobtype-browser and parameter-panel(上半分:jobタイプブラウザとパラメータパネル)

このソフトのGUIは上半分と下半分に分かれています。上半分の左側にはジョブの種類が縦リスト上に並べられており、行いたいジョブを選ぶことができます。たとえば2D classificationを行いたいときは、上半分の左側のブラウザで選択すればいいわけです。上半分の右側には複数のタブがあるパネルがあり、それぞれのジョブタイプへのパラメータを入力できます。GUIの左上には機能のおおよその概要が分かる3つのメニューが書かれています。 【Schedule】ボタンでは、後でジョブを実行するときのスケジューリングを行うことができます。それに対して【Run now!】ボタンは今すぐに実行したいときに使います。【Schedule】ボタンは、繰り返し実行できるよう完全自動化された「パイプライン」を用意したいときに役立ちます。たとえば、データが収集されていくにつれてそれが瞬時に反映できるようなパイプラインを実現したいときに有効です。詳細は13.3を参照してください。 GUIの左側のjobtype-browserをクリックすると、新しい動作(【Run now!】ボタン付き)が右側のパラメータパネルにロードされます。

13.1.3 The lower half: job-lists and stdout/stderr windows

GUIの下半分には、まだ実行中のジョブ(【Running jobs】)、すでに完了しているジョブ(【Finished jobs】)、または後で実行するようにスケジュールされたジョブ(【Scheduled jobs】)のリストがあります。これらのリスト内のジョブをクリックすると、そのジョブのパラメータがパラメータパネルにロードされ、【Run now!】ボタンの色が変わり、【continue now!】に変わります。それをクリックすると、新しい出力jobディレクトリが作成されることはありませんが、パラメータパネルで指定されたパラメータに従ってjobが続行されます。【2D classification】、【3D classification】、【3D auto-refine】のジョブでは、_optimiser.starというファイルが必要になり、ファイル名には、run_ct23のような継続された繰り返しのファイル名が付きます。他のjobタイプでは、それらが以前に実行されるまで、その時点から継続することができます。【モーション補正】、【CTF推定】、【自動ピッキング】、【粒子抽出】は、これまでに行われていなかった顕微鏡写真でのみ実行されます。【Input to this job】(このjobへの入力)と【Output from this job】(このjobからの出力)は、リンクjobをまとめてリストし、プロジェクト履歴内を前後にブラウズするために使用できます。

GUIの下半分の下部には、選択された(実行済みまたは実行中の)jobの標準出力(stdout)と標準エラー出力(stderr)がそれぞれ黒と赤のテキストで表示されます。標準エラー出力は理想的には何もない状態でなければなりません。これらのテキスト表示は、jobリスト内のjobをクリックするたびに更新されます。stdoutまたはstderrのディスプレイをダブルクリックすると、スクロールがしやすくなるようテキスト全体を含むポップアップウィンドウが開きます。

13.1.4 The Display button(ディスプレイボタン)

runボタンとscheduleボタンの下にある【Display:】ボタンでは、各ジョブにおける最重要たる入力ファイルと出力ファイルを視覚的に表示することができます。GUIの下半分にあるjobリストのうちのひとつのjobを選択した後に【Display:】ボタンをクリックすると、選択されたjobの入力と出力がすべて(例えば、パーティクル、顕微鏡写真、座標、 PDFファイルなど)がポップアップメニューとして表示されます。中間体のファイルを表示するといったような一般的な機能はGUI左上の3つのメニューのうちFile>Displayを選択することで使うことができます。

2.1.5 The Job action button(jobアクションボタン)

【Job action】ボタンは、選択した(実行中、完了後、またはスケジュールされた)ジョブの設定を含む小さなメニューを開きます。ここで、note.txtというファイルにアクセスすることができます。このファイルは個々のジョブディレクトリに保存されており、ユーザーのコメントを格納したり、jobのエイリアスを変更したり、jobを終えたものをマークすることができたり、job履歴のフローチャートを作ったり(LATEXとTikZパッケージがシステムにインストールされている場合は、第11章を参照してください)、ディスク容量を節約するためにjobを削除またはクリーンアップ(13.1.6参照)したりすることができます。

2.1.6 Clean-up to save disk space(ディスク領域を節約するためのクリーンアップ)

ジョブを削除すると、ジョブディレクトリ全体がプロジェクトディレクトリからTrash/というディレクトリに移動します。RELIONの左上にある【File】メニューの【Trash】フォルダを空にすると、完全に削除され空き領域が増えます。これを行うまでは、左上の[job]メニューから対応する設定を使用して、ジョブを復元することができます。

ディスク容量を節約するため、ジョブを「clean」にすると、refine jobのすべての中間的な繰り返しに対して書き出されたファイルのような中間ファイルをごみ箱フォルダに移動します。これには2つのクリーニングオプションがあり、片方は【gentle clean】という方法です。この方法では、他のジョブへの入力として使用できるすべてのファイルをそのまま残します。もう一方は【harsh clean】という完全なクリーニング方法です。この方法では全てのファイルを消すことになるため、より多くの容量を確保できます。その中でも【Motion correction】、【Particle extraction】、【Movie refinement】、【Particle polishing】のジョブタイプから選択できる粒子スタック、または顕微鏡写真を含むディレクトリに関しては、とりわけ多くの容量を確保できます。

 また、RELIONの左上にある【job】メニューの対応するオプション(【Gently clean all jobs】あるいは、【Harshly clean all jobs】)を使用して、プロジェクト内のすべてのディレクトリをワンクリックで消去することもできます。 その際、特定のディレクトリを削除対象から除外したい場合には、NO_HARSH_CLEANというファイルをその中に置いてください。

 例えば、保護したい粒子データがjob098にある場合、次のコマンドを実行してください。

 $ touch Polish/job098/NO_HARSH_CLEAN

※ touchコマンドは、指定したファイルが存在しない場合には空のファイルを作成するプログラムです。存在している場合には、ファイルの修正時刻を変更します。


13.2 それぞれの環境におけるけさんを最適化

13.2.1 GPU-acceleration(GPUによる高速化)

Erik Lindahl(ストックホルム)のグループのDari KimaniusとBjoern Forsbergは、RELIONの計算コストの高い部分を移植して、GPUを使うようになりました。彼らはこの作業を行うためにNVIDIAのCUDA-librariesを使用したため、RELION内のGPUアクセレータはNVIDIAカードでしか動作しません。NAVIDIAのGPUはcompute campacity 3.5以上である必要があります。単精度と倍精度の両方のカードが動作するため、高価な倍精度カードに限らず安価なゲーミングカードを使用することもできます。2つの異なるRELIONプログラムがGPUにより高速化されています。それは、relion_autopick(自動ピッキング)とrelion_refine(2次元分類、3次元分類、3次元自動精密化job)です。これらのプログラムのシーケンシャル版とMPI版の両方が加速されました。

13.2.2 Disk access(ディスクへのアクセス)

GPUアクセレータによって画像処理速度があるかに向上したため、ハードディスクへのアクセスがますます妨げられるようになりました。RELION-2.0のGUIには、データセットとコンピュータセットアップのディスクアクセスを最適化するためのいくつかのオプションが用意されています。2次元分類、3次元初期モデル、3次元分類、そして3次元自動精密化のためにパラレルディスクI/Oの使用【use parallel disc I/O】を選択できます。Yesに選択したとき、すべてのMPIプロセスがハードディスクから同時に粒子を読み込みます。そうでないときは、マスターだけがイメージを読み取り、ネットワークを通してこれらをスレーブに送信します。fhgfsのglusterのような並列ファイルシステムは、並列ディスクI/Oで優れています。NFSは並行してたくさんのスレーブを読み込むと中断してしまうでしょう。     メモリ中にプールされた粒子の数【number of pooled particles】を設定することもできます。粒子はMPIスレーブによって個々のバッチに加工されます。各々のバッチの間で、粒子画像のスタックは、一度だけ開閉され、ディスクアクセス時間を改善します。1つのバッチのすべての粒子画像は一斉にメモリに読み込まれます。これらのバッチのサイズは、使われるスレッドあたり、少なくとも1つです。このパーラメータは、スレッドごとにバッチ内で一緒に読み込まれる粒子の数を制御します。もし、3にセットし、1つにつき8つのスレッドが使われるとすると、3x8 = 24個の粒子のバッチが一緒に読み込まれます。これによりディスクアクセス、特にメタデータ処理が問題であるディスクアクセスシステムのパフォーマンスが向上するでしょう。それは、控えめなRAM使用を与えます。もし、比較的小さなデータセット(及び/または大量のRNAを持つコンピュータ)を持つとすると、計算のはじめに全ての粒子をRNAに先行読み取りすることができます【pre-reqd all particles into RAM】。これによりディスクアクセスが比較的遅いシステムの計算を大幅に高速化することが出来るでしょう。しかしながら、使用可能なRNAの量には注意が必要です。粒子はフロート精度で読み込まれるため、N粒子をRNAにお読み込むためには(N×boxsize×boxsize×4)/(1024×1024×1024)GBが必要です。200ピクセルのボックスサイズの100,000個の粒子は15GBとなり、または、400ピクセルのボックスサイズで同じ粒子の数では60GBとなる。データセットが大きすぎてRAMに先読みできないが、各計算ノードに同じ名前でマウントされたローカルの高速ディスク(ソリッドステートドライブなど)(スクラッチディスクと呼ぶ)がある場合、各MPIスレーブはすべての粒子を 計算を開始する前にローカルディスクを使用することができます。これは、粒子をスクラッチディレクトリにコピーすることによって行われます【Copy particles to scratch directory.】。もし、多様なスレーブが同じノード上で実行されると、最初のスレーブだけが粒子にコピーされます。もし、全体のデータセットを保持するのにローカルディスクが小さすぎると、これらの粒子はもはやスクラッチディスクに当てはまらないで、元々の位置から読み取られるでしょう。Relion_volatileと呼ばれるAサブディレクトリは指定されたディレクトリ名の内部につくられます。例えば、/ssdを指定すると、/ssd/relion_volatileという名のディレクトリが作成されます。もし、/ssd/relion_volatileという名のディレクトリが既に存在してたとすると、粒子をコピーする前に消去されます。その後、プログラムはすべての入力粒子を、このディレクトリ内の単一な大きさのスタックにコピーします。もしこのjobが正確に終了すると、/ssd/relion_volatileのディレクトリは再び消去されるでしょう。もし、このjobが終了する前に故障すると、自分で除去したいと思うことでしょう。このプログラムは、すべての人が書き込むことの許可を持って/ssd/relion_volatileを作成します。それにより、スクラッチディレクトリとしてユーザーネーム無しで/ssdを使用することを選択することが出来ます。その方が、各計算ノード上の1人のユーザーが常に1つのjobしか実行しないという条件で、ローカルディスクは、jobがクラッシュし、ユーザーがスクラッチディスクのクリーニングを忘れたときでも、ジャンクでいっぱいになる危険性はありません。最後に、ディスクを通して繰り返しを組み合わせるオプション【combine iterations through disc】があります。Yesに設定すると、すべてのMPIスレーブはすべての繰り返しの最後に、蓄積された結果をひとつの大きなファイルに書き出します。MPIマスターはこれらすべてのファイルを読み込み、それらをすべて結合し、結合された状態で、ひとつの新しいファイルに書き出します。すべてのMPIスレーブは、その後、その結合された結果を読み込みます。これにより、ネットワークの負荷が軽減されますが、ディスクI / Oの負荷が増加します。これは、期待値ステップ(E-step)の終わりに達する進捗バー(マウスがチーズに達する)とその後の最大化ステップ(M-Step)の開始にかかる時間に影響します。この時間は、非常に効率的なシステム設定に依存します。このオプションは当初、LMBでの古いクラスタ上でのネットワークカードのバグを回避するために実装されました。 今日では、精密化が高解像度に達すると非常に遅くなる傾向があるので、このオプションは使用しない方が望ましいです。


13.3 Scheduling jobs(jobのスケジュール化)

【Schedule】ボタンから、今後のjobの準備をできます。スケジュール化された動作により期待される出力ファイルは、既に【Browse】ボタンから他のjobへの入力として利用できるため、Scheduled jobsに複数の連続した動作の「パイプライン」を構築することが可能です。GUIの左上にある【Autorun】メニューからスケジュール化されたjobを実行することができます。そのプログラムは何回スケジュール化された動作を実行したいかを訊ねてくるでしょう。1より大きい値を指定すると、すべてのスケジュールしたjobが繰り返し実行されます。この設定にした場合、スケジュール化されたjobが一周毎に、何分経過させるべきかという質問が出てきます。(もしスケジュールしたjobの実行時間がこの時間よりも短い場合、このプログラムは、次にスケジュールしてあるjobの実行を待ちます。)jobタイプが、【Import】、【Motion correction】、【CTF estimation】、【Auto-picking】、【Particle extraction】、【Movie refinment】である場合には、以前の反復で完了していない顕微鏡写真のみを処理します。他のすべてのjobタイプでは、スケジュール化されたjobの各反復後、最初から計算を再スタートするでしょう。

13.4 On-the-fly processing(撮影しながら処理を実行)

これから紹介するRELION-3.0はスケジュール化されたjobをパイプラインに追加することと、これらをコマンドラインから実行うることを可能にします。これによって進化を可能にされたRelion_it.pyと呼ばれるスクリプトは、RELIONに組み込まれた/scriptsのディレクトリの中で見つけることが出来ます。このスクリプトは次の手順で自動的に実行される。   ●*.mrcsか*.mrcか*/tiffのすべてのファイルの入力は、動画と平均化された顕微鏡写真(*.mrcのみ)のどちらにもなり得ることができます。大きなファイルをコピーするのにはたくさんの時間がかかり、まだコピーが終わっていない動画や顕微鏡写真を入力するのは好ましくないため、このスクリプトはファイルを一時的なファイル名でコピーし、コピーが完全に終了したときにのみ、ファイルを適切なファイル名に変更するべきでしょう。   ●入力されたファイルが動画の場合:Motion correction

  ● CTF estimation
  ● Auto-pickingはRELION-3.0の新しい特徴である:reference-freeからピックされLaplacian-of Gaussian(LoG)フィルターに基づいています

 ●Particle extraction

 この手順はたくさん繰り返され、そして、各反復の間に追加された新しい画像だけが加工されるでしょう。一方では、スクリプトがいくつの分子が引き抜かれたかを同様に観察しています。ユーザー指定の数の粒子が抽出されると、スクリプトは、ユーザー指定の数の粒子のバッチで、2D分類/3D分類jobも起動します。3D参照がまだ利用できない場合、スクリプトは3D初期モデルjobを使用して自動的に生成することもできます。必要に応じて、スクリプトはすべての顕微鏡写真をもう一度通過します。そのため、最初の分子から適切な3D参照が取得されているので、これを使用してテンプレートベースの自動ピッキングjobの投影を生成します。おそらく最初のパスで使用されたものより大きいBoxのサイズを有するピッキングランから抽出された粒子は、その後2D分類/3D分類jobに再度使用することができます。セットアップ全体では、収集中の画像をその場で簡単に処理することができます。また、プロジェクトディレクトリでGUIを開くことにより、プロセスを追跡することができます。顕微鏡でのデータ収集中にすでに2次元クラスの平均を調べることは、データを最初に取得する価値があるかどうか、または、方位分布が可能か、または、氷の厚い領域で収集する必要があるかどうかを判断するために役立ちます。オンザフライ3D再構成は、例えば、ある補因子が関心のある複合体に結合しているかどうかを確認するために有用であり得る。パイソンで書かれているので、スクリプトを修正するのは比較的簡単です。そして、私たちはこのスクリプトが多くのユーザーのニーズと設定を反映するために多くの異なる方法で修正されるかもしれないと思われます。例えば、取得されているデータセットの達成可能な解像度を評価するために3D自動更新jobを非常に簡単に追加できます。


13.5 Heerical reconstruction(ヘリカル再建)

Scheresグループの博士課程学生であるShaoda Heは、ヘリカルアセンブリ処理のためのワークフローを実装しています。これには、【Auto-picking】、【Partcle extraction】、【2Dclassification】、【3Dclassification】、【3D auto-refine】、【Particle polishing】、および【Mask create】といったjobタイプのパラメータパネルへの追加タブが含まれます。ヘリ    カル再建を処理するための個別のチュートリアルはありません。一般的な原則は、このチュートリアルで取り上げている単粒子分析と同じです。したがって、ヘリカル処理にRELIONを使用するつもりのユーザーは、このチュートリアルを最初に実行することをお勧めします。これらオプションのより詳細な説明は、ユーザーがRELION Wikiの関連するページ、またはShaodaの論文から参照できます。

13.6 Sub-tomogram averaging(サブ断層写真の平均化)

MRC-LMBのLoweグループの元博士号であるtanmay Bharatの助けを借りて実装されたサブ断層撮影の平均化。一般的な概念の多くは単一粒子解析と同じであり、RELIONで顕微鏡画像の平均化を実行するユーザーは、このチュートリアルを先に進めることをお勧めします。サブ断層画像平均化の手順の詳細な説明については、ユーザーはRELION wikiの対応するページ、またはTanmayの論文を参照してください。なお、サブ断層像平均化パイプラインをより使いやすく、よりよくするための努力を続けています。この作業は、MRC-LMBでも、John Briggsのグループと密接に協力して行われています。一方、サブ断層像平均化パイプラインは単一粒子のものよりもかなり合理化されておらず、多くの場合、RELIONパイプラインの外側でスクリプトを作成する準備をする必要があります。

13.7 Interaction with other programs(他のプログラムとの相互)

原則として、RELIONは異なるプログラムによって抽出されたパーティクルを使用できますが、これは推奨される手順ではありません。多くのプログラムは粒子自身を変更します。位相反転、バンドパスまたはウィーナーフィルタリング、マスキングなどを介して行われます。これらはすべて、その後のRELIONでの使用には最適とは言えません。さらに、必要なメタデータすべてを正しくフォーマットされたRELIONタイプのSTARファイルにまとめると、エラーが発生する可能性があります。 RELIONでパーティクルを再抽出するのは簡単で非常に高速であるため、以下に概説する手順は多くの場合RELIONへのはるかに簡単な(そしてより良い)経路です。また、RELIONを囲むラッパーの実装もいくつか報告されました(例えばEMAN2、SCIPION、APPIONなど)。他の人がこれらのラッパーを書くとき私たちは役に立つように努めますが、私たちはそれらを完全に制御することができず、彼らの最終製品が最良の方法でRELIONを使うかどうか知りません。したがって、これらのラッパーで得られた結果に疑問がある場合は、このチュートリアルで概説している手順に従うことをお勧めします。