チュートリアルデータを基にして作り直してみました  以前の記事Relion/Gautomatch20220312

撮影した画像をため込んだフォルダを Movies とします。
フォルダ構成を下記だとします。

  PrecalculatedResults(ここでRelionを実行)
       +------- Movies/ (撮影したtiffファイルが入ってます)
       +------- Import/
       |              +----   job001/
       +------- MotionCorr/
       |              +----   job002/
       +------- CtfFind/
                      +----   job003/
  • プロジェクトフォルダを作成して
  • Moviesフォルダを作って、そこに撮影した画像ファイル(20170629_00021_frameImage.tiff, 20170629_00022_frameImage.tiff ...)を設置します
  • プロジェクトフォルダで relion を起動させ
  • 左ペインのジョブタイプブラウザから「Import」を選択して、Movies フォルダにあるtifファイルをすべて集めたstarファイルを作る
  • 次にジョブタイプブラウザから「Motion correction」を選択してtiff動画の補正を行う
  • 次に「CTF estimation」を選択してctf推定を行う

ここらはチュートリアルで詳しく解説されてます。
っで、次のステップが「単粒子pick」なのですが、手動で行ってもいいし、RelionのLoG、crYOLO、Gautomatchでpickしてもかまいません。
ここではGautomatchでpickを行って、それをどのようにRelionに反映させたらいいのかを示します。

Gautomatch実行場所をどこにするか

「Motion correction」の結果が入っている場所で行うのが簡単。上記のAAになぞれば

  PrecalculatedResults(ここでRelionを実行)
       +------- Movies/ (撮影したtiffファイルが入ってます)
       +------- Import/job001/
       +------- MotionCorr/job002/Movies <-- ここ
       +------- CtfFind/job003/Movies    <-- ここでもいい

「MotionCorr/job002/Movies」の中にGautomatchの結果ファイルができるようにすればいい。
コマンド的には

[saber@c PrecalculatedResults]$ cd MotionCorr/job002/Movies
 
[saber@c Movies]$ Gautomatch  --apixM 1.58  --diameter 300  *frameImage.mrc

とかで。すると

[saber@c Movies]$ ls -lrt 20170629_00021_frameImage*
-rw-r--r-- 1 rc rc  1049600 Jul 24  2019 20170629_00021_frameImage_PS.mrc
-rw-r--r-- 1 rc rc    44556 Jul 24  2019 20170629_00021_frameImage.star
-rw-r--r-- 1 rc rc    92269 Jul 24  2019 20170629_00021_frameImage_shifts.eps
-rw-r--r-- 1 rc rc 56956944 Jul 24  2019 20170629_00021_frameImage.mrc
-rw-rw-r-- 1 rc rc      188 Mar 12 16:28 20170629_00021_frameImage_rejected.star
-rw-rw-r-- 1 rc rc      416 Mar 12 16:28 20170629_00021_frameImage_rejected.box
-rw-rw-r-- 1 rc rc    10089 Mar 12 16:28 20170629_00021_frameImage_nonunique.box
-rw-rw-r-- 1 rc rc     7130 Mar 12 16:28 20170629_00021_frameImage_automatch.star
-rw-rw-r-- 1 rc rc     9686 Mar 12 16:28 20170629_00021_frameImage_automatch.box
[saber@c Movies]$

とかが得られる。

Gautomatchでpickした状態を見たいなら

「Manual picking」を利用します。
「IO」タグの「Input micrographs」にはMotionCorrでできた「MotionCorr/job002/corrected_micrographs.star」をあてて
「Display」タグの「Particle diameter」を適当な大きさにします。そして「Run」ボタンを押下。
2019y08m05d_022150099.png
「corrected_micrographs.star」に記載されている画像リストとpickされている件数が表示される。
2022y03m12d_163727217.png
もし「IO」タグの「Input micrographs」をCtfFindで得られた「CtfFind/job003/micrographs_ctf.star」にすると、CTFの値も表示される。
2022y03m12d_163806641.png

ここで特定の画像で「Pick」ボタンを押下します。

指定した画像が表示される。ここでマウス操作で右クリックから「load coordinate」を選択します。
2019y08m11d_001757359.png
ファイルセレクターが表示され、表示している画像に関連したGautomatchの結果ファイル「20170629_00021_frameImage_automatch.star」を指定して読み込みます。
2022y03m12d_163629602.png
するとpickの具合が表示されます。
2022y03m12d_164320665.png

RelionGUIを経由せずコマンドで行いたいのなら

[saber@c PrecalculatedResults]$ relion_manualpick \
--i MotionCorr/job002/corrected_micrographs.star \
--odir ./MotionCorr/job002/ \
--pickname automatch \
--scale 0.2 --sigma_contrast 3 --lowpass 20 --ctf_scale 1 --particle_diameter 200

あるいは

[saber@c PrecalculatedResults]$ cd MotionCorr/job002/Movies
[saber@c Movies]$ relion_manualpick --i "*frameImage.mrc" --odir ./ --pickname automatch --scale 0.2 --sigma_contrast 3 --lowpass 20 --ctf_scale 1 --particle_diameter 200

とすると下記のような画面が表示される。こちらだと画像リストと共にGautomatchでpickさてた数も表示されます。
2022y03m12d_165522734.png

粒子の切り出し

まず「Import」でGautomatchの「*_automatch.star」を読み込み
「Input files」には「MotionCorr/job002/Movies/*_automatch.star」
「Node type」には「Particle coordinates (*.box, *_pick.star)」
を指定して、実行
2022y03m12d_170443372.png

その後に「Particle extraction」では、micrograph STAR filesにはCTF推定で得られたmicrographs_ctf.star
Input coordinatesには先ほど作った「Import」のSTARファイルを入れます。「Import/job00X/coords_suffix_automatch.star」
2022y03m12d_171034411.png

Gautomatchの実行場所をより分かりやすくしたい

MotionCorrとかCtfFindの配下でなく、プロジェクトディレクトリの直下にフォルダ(Gautomatch)を作って

  PrecalculatedResults(ここでRelionを実行)
       +------- Movies/
       +------- Import/    job001/
       +------- MotionCorr/job002/
       +------- CtfFind/   job003/
       +------- Gautomatch

「Gautomatch/Movies」を準備する。その「Movies」フォルダに「MotionCorr/job002/Movies/」のmrcファイルをリンクさせる

[saber@c PrecalculatedResults]$ mkdir -p Gautomatch/Movies
[saber@c PrecalculatedResults]$ cd Gautomatch/Movies
 
[saber@c Movies]$ ln -s ../../MotionCorr/job002/Movies/*frameImage.mrc .
 
(そして計算)
[saber@c Movies]$ Gautomatch  --apixM 1.58  --diameter 300 *frameImage.mrc
 
(ファイルはこんな感じになります)
[saber@c Movies]$ ls -lrt 20170629_00021*
lrwxrwxrwx 1 rc rc    60 Mar 12 17:20 20170629_00021_frameImage.mrc -> ../../MotionCorr/job002/Movies/20170629_00021_frameImage.mrc
-rw-rw-r-- 1 rc rc   188 Mar 12 17:21 20170629_00021_frameImage_rejected.star
-rw-rw-r-- 1 rc rc   416 Mar 12 17:21 20170629_00021_frameImage_rejected.box
-rw-rw-r-- 1 rc rc 10089 Mar 12 17:21 20170629_00021_frameImage_nonunique.box
-rw-rw-r-- 1 rc rc  7130 Mar 12 17:21 20170629_00021_frameImage_automatch.star
-rw-rw-r-- 1 rc rc  9686 Mar 12 17:21 20170629_00021_frameImage_automatch.box
[rc@AK01 Movies]$

pickの確認は

[saber@c Movies]$ pwd
/home/saber/test/PrecalculatedResults/Gautomatch/Movies
 
[saber@c Movies]$ relion_manualpick --i "*frameImage.mrc" --odir ./ --pickname automatch \
--scale 0.2 --sigma_contrast 3 --lowpass 20 --ctf_scale 1 --particle_diameter 200

にて行える。

粒子の切り出しは前述の「Import」作業を経由してもいいのですが、一応別の方法でもできるようで
「Particle extraction」で
「micrograph STAR files」には同じようにCTF推定で得られたmicrographs_ctf.starを指定します。
そして、「Input coordinates」には「Gautomatch/_automatch.star」を指定します
2022y03m12d_172619159.png
これでもいいようで
2022y03m12d_172814391.png
と一応成功する

crYOLOなら

crYOLOで実行環境が用意されているとして、下記のような「crYOLO/Movies」フォルダを用意します

[saber@c PrecalculatedResults]$ mkdir -p crYOLO/Movies
 
(イメージ的にはこんなフォルダ構成)
  PrecalculatedResults(ここでRelionを実行)
       +------- Movies / (撮影したtiffファイルが入ってます)
       +------- Import/job001/
       +------- MotionCorr/job002/Movies
       +------- crYOLO/Movies

作ったcrYOLOフォルダにて config.json ファイルを作成します。

[saber@c PrecalculatedResults]$ cd crYOLO
[saber@c crYOLO]$ vi config.json
    {
    "model" : {
        "architecture":         "PhosaurusNet",
        "input_size":           1024,
        "anchors":              [205,205],
        "max_box_per_image":    700,
        "num_patches":          1,
        "filter":               [0.1,"tmp_filtered"]
      }
    }
[saber@c crYOLO]$

次に計算対象のmrcファイルをリンクとして「crYOLO/Movies」に作ります

[saber@c crYOLO]$ cd Movies
 
[saber@c Movies]$ ln -s ../../MotionCorr/job002/Movies/*frameImage.mrc .

その後、crYOLOフォルダで cryolo_predict.py を実行します

[saber@c Movies]$ cd ..
 
[saber@c crYOLO]$ cryolo_predict.py -c config.json -w /apps/crYOLO/gmodel_phosnet_202005_N63_c17.h5 -i Movies/*frameImage.mrc -o ./

crYOLOの計算が開始され終了すると下記のフォルダ構成になる

[saber@c crYOLO]$ ls -CF
CBOX/  config.json  DISTR/  EMAN/  logs/  Movies/  STAR/  tmp_filtered/
 
[saber@c crYOLO]$ls STAR/
20170629_00021_frameImage.star  20170629_00027_frameImage.star  20170629_00036_frameImage.star  20170629_00044_frameImage.star
20170629_00022_frameImage.star  20170629_00028_frameImage.star  20170629_00037_frameImage.star  20170629_00045_frameImage.star
20170629_00023_frameImage.star  20170629_00029_frameImage.star  20170629_00039_frameImage.star  20170629_00046_frameImage.star
20170629_00024_frameImage.star  20170629_00030_frameImage.star  20170629_00040_frameImage.star  20170629_00047_frameImage.star
20170629_00025_frameImage.star  20170629_00031_frameImage.star  20170629_00042_frameImage.star  20170629_00048_frameImage.star
20170629_00026_frameImage.star  20170629_00035_frameImage.star  20170629_00043_frameImage.star  20170629_00049_frameImage.star
 
[saber@c crYOLO]$

STARファイルは「STAR」フォルダに用意されるが、このファイル名は「20170629_00021_frameImage.star」なって「_autopick」とかが挿入されていない。
これではmanualpickによる確認が面倒なので、意図的に名称変更します

[saber@c crYOLO]$ cd STAR/
[saber@c STAR]$ for i in `ls *.star` ; do ln -s $i ${i%.*}_crYOLO.star ; done

次に crYOLO/Movies のmrcファイルを crYOLO/STAR にリンクさせる

[saber@c STAR]$ for i in `ls ../Movies/*frameImage.mrc`;do ln -s $i . ;done

これでpick具合を確認します。

[saber@c STAR]$ relion_manualpick --i "*frameImage.mrc" --odir ./ --pickname crYOLO --scale 0.2 --sigma_contrast 3 --lowpass 20 --ctf_scale 1 --particle_diameter 200

2022y03m12d_174923890.png
「pick」を押下すると
2022y03m12d_175043969.png
そしてExtractを行う
Gautomatch/_automatch.star」と同じようなことをするには、「crYOLO/Movies」にpickのSTARファイルが必要なので

[saber@c PrecalculatedResults]$ cd crYOLO/Movies/
 
[saber@c Movies]$ for i in `ls ../STAR/*frameImage.star` ; do ln -s $i $(basename ${i%.*}_crYOLO.star)  ; done
 
[saber@c Movies]$ ls
20170629_00021_frameImage_crYOLO.star  20170629_00029_frameImage_crYOLO.star  20170629_00042_frameImage_crYOLO.star
20170629_00021_frameImage.mrc          20170629_00029_frameImage.mrc          20170629_00042_frameImage.mrc
20170629_00022_frameImage_crYOLO.star  20170629_00030_frameImage_crYOLO.star  20170629_00043_frameImage_crYOLO.star
20170629_00022_frameImage.mrc          20170629_00030_frameImage.mrc          20170629_00043_frameImage.mrc
20170629_00023_frameImage_crYOLO.star  20170629_00031_frameImage_crYOLO.star  20170629_00044_frameImage_crYOLO.star
20170629_00023_frameImage.mrc          20170629_00031_frameImage.mrc          20170629_00044_frameImage.mrc
20170629_00024_frameImage_crYOLO.star  20170629_00035_frameImage_crYOLO.star  20170629_00045_frameImage_crYOLO.star
20170629_00024_frameImage.mrc          20170629_00035_frameImage.mrc          20170629_00045_frameImage.mrc
20170629_00025_frameImage_crYOLO.star  20170629_00036_frameImage_crYOLO.star  20170629_00046_frameImage_crYOLO.star
20170629_00025_frameImage.mrc          20170629_00036_frameImage.mrc          20170629_00046_frameImage.mrc
20170629_00026_frameImage_crYOLO.star  20170629_00037_frameImage_crYOLO.star  20170629_00047_frameImage_crYOLO.star
20170629_00026_frameImage.mrc          20170629_00037_frameImage.mrc          20170629_00047_frameImage.mrc
20170629_00027_frameImage_crYOLO.star  20170629_00039_frameImage_crYOLO.star  20170629_00048_frameImage_crYOLO.star
20170629_00027_frameImage.mrc          20170629_00039_frameImage.mrc          20170629_00048_frameImage.mrc
20170629_00028_frameImage_crYOLO.star  20170629_00040_frameImage_crYOLO.star  20170629_00049_frameImage_crYOLO.star
20170629_00028_frameImage.mrc          20170629_00040_frameImage.mrc          20170629_00049_frameImage.mrc
[rc@AK01 Movies]$

とします。
そしてextractですが、relionを立ち上げて「Particle extraction」にて
2022y03m12d_180610926.png
結果は下記になります
2022y03m12d_180744118.png

メモ

relionのExternal欄を使うツールものある
https://github.com/wlugmayr/relion-ext-cryolo


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2022-03-18 (金) 20:07:24 (440d)