本家様 https://github.com/kiharalab/CryoREAD
Cryo_READ is a computational tool using deep learning to automatically build full DNA/RNA atomic structure from cryo-EM map.
deepL先生日本語訳
【Cryo_READは、低温電子顕微鏡マップからDNA/RNAの完全な原子構造を自動的に構築するディープラーニングを用いた計算ツールである。】
condaアプリのようなので、いつものように pyenv-anaconda環境にて CryoREAD 実行環境を作ります
既に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 miniforge3-23.11.0-0
source /apps/pyenv/versions/miniforge3-23.11.0-0/etc/profile.d/conda.sh
とします。
既にあれば
source /apps/pyenv/versions/miniforge3-23.11.0-0/etc/profile.d/conda.sh
で準備して、
[root@rockylinux ~]# cd /apps/
[root@rockylinux apps]# git clone https://github.com/kiharalab/CryoREAD
[root@rockylinux apps]# cd CryoREAD/
[root@rockylinux CryoREAD]# conda env create -f environment.yml
[root@rockylinux CryoREAD]# conda activate CryoREAD
(CryoREAD) [root@rockylinux CryoREAD]# conda install mkl==2024.0.0
(CryoREAD) [root@rockylinux CryoREAD]# which python
/apps/pyenv/versions/miniforge3-23.11.0-0/envs/CryoREAD/bin/python
(CryoREAD) [root@rockylinux CryoREAD]#
(CryoREAD) [root@rockylinux CryoREAD]# python ./main.py -h
usage: main.py [-h] [-F F] [-M M] [-P P] [--output OUTPUT] --mode MODE [--contour CONTOUR] [--stride STRIDE] [--box_size BOX_SIZE] [--gpu GPU]
[--batch_size BATCH_SIZE] [-f F] [-m M] [-g G] [-k K] [-R R] [--rule_soft RULE_SOFT] [--frag_size FRAG_SIZE] [--frag_stride FRAG_STRIDE]
[--top_select TOP_SELECT] [--resolution RESOLUTION] [--num_workers NUM_WORKERS] [--prediction_only] [--no_seqinfo] [--refine] [--colab]
[--thread THREAD]
optional arguments:
-h, --help show this help message and exit
-F F Input map file path. (str)
-M M Pre-trained model path. (str) Default value: "best_model"
-P P Optional fasta sequence file path. (str)
--output OUTPUT Output directory
--mode MODE Control Mode for program: 0: cryo_READ structure modeling. Required parameter. (Integer), Default value: 0
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default value: 0.0
--stride STRIDE Stride for scanning of deep learning model. (Integer), Default value: 32.
--box_size BOX_SIZE Input box size for deep learning model. (Integer), Default value: 64
--gpu GPU Specify the gpu we will use. (str), Default value: None.
--batch_size BATCH_SIZE
Batch size for inference of network. (Integer), Default value: 8.
-f F Filter for representative points, for LDPs, removing points' normalized density<=-f (Float), Default value: 0.05
-m M After meanshifting merge points distance<[float]. (Float), Default value: 2.0.
-g G Bandwidth of the Gaussian filter, (Float), Default value: 3.0.
-k K Always keep edges where d<k parameter. (Float), Default value: 0.5
-R R Maximum length of local edges. (Float), Default value: 10.0.
--rule_soft RULE_SOFT
Use strict/soft rules to assemble collected fragments in DP step. (Integer), Default value: 0 (strict rules)
--frag_size FRAG_SIZE
Fragment size for sequence split.(Integer), Default value: 20
--frag_stride FRAG_STRIDE
Frag stride step. (Integer), Default value: 2
--top_select TOP_SELECT
Select top fragment candidate here. (Integer), Default value: 20
--resolution RESOLUTION
resolution of maps, used for final structure refinement. (Float), Default value: 2.5
--num_workers NUM_WORKERS
number of workers to fetch data for GPU inference. (Integer), Default value: 4
--prediction_only Optional input. Only run the deep learning prediction step. (True/False) Default value: False
--no_seqinfo Optional input. Build structures when no sequence information is available. (True/False) Default value: False
--refine Optional Input. Use Phenix to do the last step refinement or not (Suggested to set as True).
--colab Optional Input. Used to specify the phenix path for colab settings
--thread THREAD Use multiple threads for fragment-based sequence assignment,default:1 (multi-threading is disabled)
(CryoREAD) [root@rockylinux CryoREAD]#
「/apps/modulefiles/CryoREAD」
#%Module1.0
set root /apps/pyenv/versions/miniforge3-23.11.0-0/envs/CryoREAD
prepend-path PATH $root/bin:/apps/CryoREAD
[saber@rockylinux ~]$ module use /apps/modulefiles/
[saber@rockylinux ~]$ module load CryoREAD
[saber@rockylinux ~]$ python /apps/CryoREAD/main.py
usage: main.py [-h] [-F F] [-M M] [-P P] [--output OUTPUT] --mode MODE [--contour CONTOUR] [--stride STRIDE] [--box_size BOX_SIZE] [--gpu GPU]
[--batch_size BATCH_SIZE] [-f F] [-m M] [-g G] [-k K] [-R R] [--rule_soft RULE_SOFT] [--frag_size FRAG_SIZE] [--frag_stride FRAG_STRIDE]
[--top_select TOP_SELECT] [--resolution RESOLUTION] [--num_workers NUM_WORKERS] [--prediction_only] [--no_seqinfo] [--refine] [--colab]
[--thread THREAD]
main.py: error: the following arguments are required: --mode
[saber@rockylinux ~]$
となるが、面倒なので「/apps/CryoREAD/main.py」の行頭を変更
[root@rockylinux ~]# vi /apps/CryoREAD/main.py
#!/apps/pyenv/versions/miniforge3-23.11.0-0/envs/CryoREAD/bin/python
import os
import mrcfile
import numpy as np
:
:
[root@rockylinux ~]#
[root@rockylinux ~]# chmod +x /apps/CryoREAD/main.py