本家様 https://github.com/tbepler/topaz

Scipionにも含まれてますが、単体で利用したいなら.

Anacondaを使ってtopaz向けの環境環境を作るのがいいみたい.
ここではcrYOLOのときにpyenv経由でAnacondaを敷いたのでそれをそのまま使うことにする

(crYOLOでのおさらい)
[root@c ~]# git clone https://github.com/yyuu/pyenv.git /apps/pyenv
[root@c ~]# export PYENV_ROOT=/apps/pyenv
[root@c ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@c ~]# eval "$(pyenv init - --no-rehash)"
[root@c ~]# pyenv install anaconda3-5.3.1
[root@c ~]# pyenv global anaconda3-5.3.1
 
[root@c ~]# export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH
[root@c ~]# conda update conda
 
(ここからtopaz)
[root@c ~]# conda env list
# conda environments:
#
                         /apps/eman2.3
                         /apps/eman2.31
base                  *  /apps/pyenv/versions/anaconda3-5.3.1
cinderella               /apps/pyenv/versions/anaconda3-5.3.1/envs/cinderella
cryolo                   /apps/pyenv/versions/anaconda3-5.3.1/envs/cryolo
cryolo-1.5.4             /apps/pyenv/versions/anaconda3-5.3.1/envs/cryolo-1.5.4
janni                    /apps/pyenv/versions/anaconda3-5.3.1/envs/janni
pyem                     /apps/pyenv/versions/anaconda3-5.3.1/envs/pyem
topaz                    /apps/pyenv/versions/anaconda3-5.3.1/envs/topaz
transphire               /apps/pyenv/versions/anaconda3-5.3.1/envs/transphire
                         /apps/scipion/software/em/eman-2.3
                         /home/cryosparc/software/cryosparc/cryosparc2_master/deps/anaconda
                         /home/cryosparc/software/cryosparc/cryosparc2_worker/deps/anaconda
 
[root@c ~]#

っとScipionで作った「topaz」がリストに入っている。なので別名(topaz-v0.2.4とか)で作ってみる
cryolo-1.5.4はScipion由来のcryoloです

topaz環境を作ります
環境構築には「conda create -n topaz-v0.2.4 python=3.6」でつくり、その環境をactivateします

[root@c ~]# conda create -n topaz-v0.2.4 python=3.6
[root@c ~]# source activate topaz-v0.2.4
(topaz-v0.2.4) [root@c ~]#

環境を削除するには

[root@c ~]# conda env remove --name topaz-v0.2.4

とします.

その後topazをインストールします
インストールされているcudaが10.2なので、それを指定しています

(topaz-v0.2.4) [root@c ~]# conda install topaz cudatoolkit=10.2 -c tbepler -c pytorch
 :
 :
(topaz-v0.2.4) [root@c ~]# source deactivate
[root@c ~]#

Environment Modules

[root@c ~]# vi /etc/modulefiles/topaz
#%Module -*- tcl -*-
set               root              /apps/pyenv/versions/anaconda3-5.3.1/envs/topaz-v0.2.4
prepend-path      PATH              $root/bin
 
[root@c ~]#

使ってみる

公式の使い方はこちらhttps://github.com/tbepler/topazに記載されてます。
チュートリアルもきちんと用意されてますhttps://github.com/tbepler/topaz#tutorial

ここではごくごく簡単な使い方をしてみます。本来ならトレーニングを行うのでしょうが、既存のモデルをそのまま使っています。
対象はGautomatchのサンプルで。

実行は単に「module load topaz」でtopaz実行環境をロードして

[illya@c ~]$ module load topaz
[illya@c ~]$ which topaz
/appl/pyenv/versions/anaconda3-5.3.1/envs/topaz-v0.2.4/bin/topaz
 
[illya@c ~]$

対象ファイルを確認して、topaz実行場所を作る.

[illya@c ~]$ ls -lh  gautomatch/examples/ribosome/*.mrc
-rw-r--r-- 1 illya em 65M Apr 15  2016 gautomatch/examples/ribosome/test7.mrc
-rw-r--r-- 1 illya em 65M Apr 15  2016 gautomatch/examples/ribosome/test8.mrc
 
[illya@c ~]$ mkdir topaz && cd topaz 
[illya@c topaz]$

まずは 対象のmrcファイルに topaz の preprocess を掛ける

[illya@c topaz]$ topaz preprocess -v -s 8 -o ./  ../gautomatch/examples/ribosome/*.mrc
# processed: test7
# processed: test8
 
[illya@c topaz]$ ls -lh
total 2.1M
-rw-r--r-- 1 illya em 1.1M Jul  9 16:12 test7.mrc
-rw-r--r-- 1 illya em 1.1M Jul  9 16:12 test8.mrc
[illya@c topaz]$

preprocess が終わったmrcファイルでpickを試みる

[illya@c topaz]$ topaz extract -r 14  -o predicted_particles.txt *.mrc
 
[illya@c topaz]$ ls -lh
total 2.1M
-rw-r--r-- 1 illya em  42K Jul  9 16:20 predicted_particles.txt
-rw-r--r-- 1 illya em 1.1M Jul  9 16:12 test7.mrc
-rw-r--r-- 1 illya em 1.1M Jul  9 16:12 test8.mrc
 
[illya@c topaz]$

得られた「predicted_particles.txt」の中身は下記になります

[illya@c topaz]$ less predicted_particles.txt
image_name      x_coord y_coord score
test7   2216    1768    1.86423e+36
test7   2192    1344    2.5884942e+35
test7   3432    664     3.147465e+34
test7   3376    888     1.3698722e+32
test7   3744    1880    1014.0857
test7   3712    232     1011.4868
test7   3712    1680    631.3565
test7   3600    3928    510.96475
test7   3712    1088    485.2298
 :
 :
[illya@c topaz]$

「ファイル名 X Y スコア」って感じですね. スコアはマイナスもあります.

っでこれを使って実際にどこが拾われているかを調べた.
2020y07m09d_171059951.png
スコアは2以上です

本来なら、自分でpickした座標データでトレーニングさせて、得られたモデルで「topaz extract」する感じかな.
ここでは標準装備のモデルを使ってます。「topaz extract -h」でモデルの指定方法が明記されてます.
*「-r」のサイズを小さくするとオーバーラップした粒子がpickされるみたい


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2020-07-14 (火) 01:21:21 (67d)