しゅうせいちゅう

本家様 http://cb.csail.mit.edu/cb/cryodrgn/

githubで公開されている https://github.com/zhonge/cryodrgn
ライセンス的には「GNU General Public License v3.0」https://github.com/zhonge/cryodrgn/blob/master/LICENSE.txtのようで商用も大丈夫みたい

物はpythonアプリで構築/組み込みはcrYOLOとかの方法でしょうか

下準備

まずcrYOLOのようにpyenv/anaconda環境を用意します
こちらは/apps/pyenvにpyenvの基点を作り、その配下に pythonパッケージ管理anaconda を敷いている
anaconda/minicondaを直接入れて構築するのもありだけど、ここではpyenvを間に入れてます

rootで作業します. まずpyenvを入れて、次にanacondaを入れます

git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
pyenv install anaconda3-2023.03
pyenv global anaconda3-2023.03
export PATH=$PYENV_ROOT/versions/anaconda3-2023.03/bin/:$PATH
conda update conda
 
(既に環境があるなら)
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
export PATH=$PYENV_ROOT/versions/anaconda3-2023.03/bin/:$PATH

インストール

GitHubに記載のように実行しますが、「conda activate cryodrgn」は「source activate cryodrgn」としています。

[root@rockylinux9 ~]# conda create --name cryodrgn python=3.9
[root@rockylinux9 ~]# source activate cryodrgn
 
(cryodrgn) [root@rockylinux9 ~]# conda install pytorch -c pytorch
(cryodrgn) [root@rockylinux9 ~]# conda install pandas
 
(cryodrgn) [root@rockylinux9 ~]# conda install seaborn scikit-learn
(cryodrgn) [root@rockylinux9 ~]# conda install umap-learn jupyterlab ipywidgets cufflinks-py "nodejs>=15.12.0" -c conda-forge
 
(cryodrgn) [root@rockylinux9 ~]# which jupyter
/apps/pyenv/versions/anaconda3-2023.03/envs/cryodrgn/bin/jupyter
 
(cryodrgn) [root@rockylinux9 ~]# jupyter labextension install @jupyter-widgets/jupyterlab-manager --no-build
(cryodrgn) [root@rockylinux9 ~]# jupyter labextension install jupyterlab-plotly --no-build
(cryodrgn) [root@rockylinux9 ~]# jupyter labextension install plotlywidget --no-build
(cryodrgn) [root@rockylinux9 ~]# jupyter lab build
 
(cryodrgn) [root@rockylinux9 ~]# cd /apps
(cryodrgn) [root@rockylinux9 apps]# git clone https://github.com/zhonge/cryodrgn.git
(cryodrgn) [root@rockylinux9 apps]# cd cryodrgn
 
(cryodrgn) [root@rockylinux9 cryodrgn]# pip install .
(cryodrgn) [root@rockylinux9 cryodrgn]# conda deactivate
 
[root@rockylinux9 cryodrgn]#
(cryodrgn) [root@centos7 ~]# cd /apps/src/
(cryodrgn) [root@centos7 src]# git clone https://github.com/zhonge/cryodrgn.git
(cryodrgn) [root@centos7 src]# cd cryodrgn
 
(cryodrgn) [root@centos7 cryodrgn]# ls -CF
analysis_scripts/  cryodrgn/  LICENSE.txt  MANIFEST.in  README.md  setup.py*  testing/  utils/  versions.txt
 
(cryodrgn) [root@centos7 cryodrgn]#
(cryodrgn) [root@centos7 cryodrgn]# git branch
* master
(cryodrgn) [root@centos7 cryodrgn]# git tag
0.0.18
0.0.19
0.1.1
0.1.2
0.2.0
0.2.1
0.2.1b
0.3.0
0.3.0b
0.3.1
(cryodrgn) [root@centos7 cryodrgn]#
(cryodrgn) [root@centos7 cryodrgn]# git checkout -b 0.3.1 refs/tags/0.3.1
Switched to a new branch '0.3.1'
 
(cryodrgn) [root@centos7 cryodrgn]# which python
/apps/pyenv/versions/anaconda3-5.3.1/envs/cryodrgn/bin/python
 
(cryodrgn) [root@centos7 cryodrgn]# python setup.py install

最後の「python setup.py install」で「/apps/pyenv/versions/anaconda3-5.3.1/envs/cryodrgn/bin」にプログラムがインストールされます

EnvironmentModules

ここでは各種プログラムの実行にはEnvironmentModulesを用いてコマンドによる実行環境を用意してる
以前なら .bashrcや.cshrcを手動で書き換えてプログラムの実行環境を作っていたが、
プログラムごとに実行環境が必要になったのでEnvironmentModulesで切り替えれる形にしている

アプリごとにpythonのこのバージョン、あのバージョンとかがあってもはや統一的な実行環境が用意できないので

既定でanacondaを敷けばいいのも知れないが、OS由来の環境も保ちたいので

下記を「/etc/modulefiles/cryoDRGN」として保存します

#%Module -*- tcl -*-
set               root              /apps/pyenv/versions/anaconda3-5.3.1/envs/cryodrgn
prepend-path      PATH              $root/bin

実行方法

まずはEnvironmentModulesで cryoDRGN の実行環境をロードします

[saber@centos7  ~]$ module load cryoDRGN

そしてコマンドを実行します

[saber@centos7  ~]$ cryodrgn -h
usage: cryodrgn [-h] [--version]
                {downsample,parse_pose_csparc,parse_pose_star,parse_ctf_csparc,parse_ctf_star,train_nn,(略
                ...
 
CryoDRGN neural network reconstruction
 
optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
 
Choose a command:
  {downsample,parse_pose_csparc,parse_pose_star,parse_ctf_csparc,parse_ctf_star,train_nn,backproject_v(略
 
[saber@centos7  ~]$

*単に「cryodrgn」と実行するとエラーメッセージが表示されます

使い方についてはgithubに詳しく載っているのでそちらを参照してください

jupyterlabが入っているので、notebookも使えそうですね

メモ

GPUが使われない

/apps/pyenv/versions/anaconda3-2022.05/envs/cryodrgn/bin/python
 
>>> import torch
>>> torch.cuda.is_available()
False
>>>

っでcryoDRGN の構成パッケージを確認すると

(cryodrgn) [root@centos7 cryodrgn]# conda list
 :
pytorch                   1.13.0              py3.9_cpu_0    pytorch
pytorch-mutex             1.0                         cpu    pytorch
 :
(cryodrgn) [root@centos7 cryodrgn]#

とある. pytorchなんだけど、cpu向けみたい

メモ

「jupyter labextension install @jupyter-widgets/jupyterlab-manager --no-build」で非常に時間が掛かる場合はそれはipv6で接続している可能性がある.
「/etc/hosts」に相手方のipv4とhost名を入れれば解決される


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2023-04-16 (日) 23:31:16 (54d)