本家様 http://huanglab.phys.hust.edu.cn/EMReady/
EMReady is a three-dimensional nested U-net-based framework for improving the interpretability of cryo-EM maps using similarity and correlation-guided deep learning.
(DeepL様翻訳)
EMReadyは、類似性と相関に導かれたディープラーニングを用いて低温電子顕微鏡マップの解釈可能性を向上させるための、3次元ネストされたU-netベースのフレームワークです。単体アプリとして作れるし、Scipionのplug-inとしても利用できるみたい. https://github.com/scipion-em/scipion-em-emready
ここでは単体アプリとして作ってみる
condaアプリなので pyenv/anaconda を敷いてその上に EMReady 実行環境を作ります.
git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
pyenv install miniforge3-25.3.1-0
source /apps/pyenv/versions/miniforge3-25.3.1-0/etc/profile.d/conda.sh
(既にpyenv/anacondaが用意されているなら下記の実行)
source /apps/pyenv/versions/miniforge3-25.3.1-0/etc/profile.d/conda.shその上で
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.6 (Blue Onyx)
[root@rockylinux9 ~]#
[root@rockylinux9 ~]# cd /apps/src
[root@rockylinux9 src]# wget http://huanglab.phys.hust.edu.cn/EMReady/EMReady_v1.3.tgz
[root@rockylinux9 src]# cd ..
[root@rockylinux9 apps]# tar xf src/EMReady_v1.3.tgz
[root@rockylinux9 apps]# cd EMReady_v1.3/
[root@rockylinux9 EMReady_v1.3]# ls -lF
total 72
-rwxr-x---. 1 573 514 4526 Aug 14 11:13 EMReady.sh*
-rwxr-x---. 1 573 514 357 Jun 17 11:34 environment.yml*
-rwxrwx---. 1 573 514 3719 Jun 17 11:28 frn.py*
-rwxrwx---. 1 573 514 6004 Aug 14 10:58 interp3d.py*
-rwxrwx---. 1 573 514 1278 Aug 14 10:59 interp.py*
-rwxr-x---. 1 573 514 288 Aug 14 11:20 LICENSE*
drwxr-x---. 2 573 514 68 Jun 17 11:28 model_state_dicts/
-rwxrwx---. 1 573 514 12289 Aug 14 11:23 pred.py*
-rwxrwx---. 1 573 514 11223 Jun 17 11:28 scunet.py*
-rwxrwx---. 1 573 514 9883 Aug 14 11:12 utils.py*
[root@rockylinux9 EMReady_v1.3]#
[root@rockylinux9 EMReady_v1.3]# conda env create -f environment.yml
[root@rockylinux9 EMReady_v1.3]# conda activate emready_env
(emready_env) [root@rockylinux9 EMReady_v1.3]#
(emready_env) [root@rockylinux9 EMReady_v1.3]# chmod 755 EMReady.sh frn.py interp3d.py interp.py pred.py scunet.py utils.py
(emready_env) [root@rockylinux9 EMReady_v1.3]# chmod 755 model_state_dicts/ /apps/EMReady_v1.3
(emready_env) [root@rockylinux9 EMReady_v1.3]# chmod 644 environment.yml LICENSE
(emready_env) [root@rockylinux9 EMReady_v1.3]# chmod 644 model_state_dicts/model_grid_size_*
(emready_env) [root@rockylinux9 EMReady_v1.3]# chown -R root:root /apps/EMReady_v1.3
(emready_env) [root@rockylinux9 EMReady_v1.3]# vi EMReady.sh
:
EMReady_home="/apps/EMReady_v1.3"
activate="/apps/pyenv/versions/miniforge3-25.3.1-0/bin/activate"
EMReady_env="emready_env"
:
(emready_env) [root@rockylinux9 EMReady_v1.3]# conda deactivate
[root@rockylinux9 EMReady_v1.3]#「/apps/modulefiles/EMReady/1.3」
#%Module
set em /apps/EMReady_v1.3
prepend-path PATH $em本家様にテストデータがあります. まずはそれを入手して
[saber@rockylinux9 ~]$ wget http://huanglab.phys.hust.edu.cn/EMReady/emd_22216.map.gz
[saber@rockylinux9 ~]$ ls -lh emd_22216.map.gz
-rw-r--r--. 1 saber saber 15M Aug 31 2020 emd_22216.map.gz
[saber@rockylinux9 ~]$ gzip -d emd_22216.map.gz
[saber@rockylinux9 ~]$ ls -lh
total 16M
-rw-r--r--. 1 saber saber 16M Aug 31 2020 emd_22216.map
[saber@rockylinux9 ~]$計算してみます.
[saber@rockylinux9 ~]$ module use /apps/modulefiles/
[saber@rockylinux9 ~]$ module load EMReady/1.3
[saber@rockylinux9 ~]$ EMReady.sh
EMReady by Huang Lab @ HUST (http://huanglab.phys.hust.edu.cn/EMReady)
USAGE: EMReady.sh in_map.mrc out_map.mrc [options]
Descriptions:
in_map.mrc : Input EM density map in MRC2014 format
out_map.mrc : Filename of the output processed density map
-g : ID(s) of GPU devices to be used, e.g., 0 for GPU #0, and 2,3,6 for GPUs #2, #3, and #6
default: 0
-s : The stride of the sliding window to cut the input map into overlapping boxes. The value should be an integer within the range of [6, 48]. A smaller stride means a larger number of overlapping boxes
default: 12
-b : Number of input boxes in one batch. Users can adjust 'batch_size' according to the available VRAM of their GPU devices. Empirically, a GPU with 40 GB VRAM can afford a 'batch_size' of about 200
default: 10
-m : Input mask map in MRC2014 format
-c : The contour threshold to binarize the mask map
default: 0.0
-p : Input structure in PDB or mmCIF format to be used as the mask
-r : Zone radius of the mask around the input structure in Angstrom
default: 4.0
-mo : Filename of the output binary mask map
--use_cpu : Run EMReady on CPU instead of GPU
--inverse : Inverse the mask
[saber@rockylinux9 ~]$
[saber@rockylinux9 ~]$ EMReady.sh emd_22216.map emd_22216_EMReady.mapGPUも使ってくれます.
EMReady_v1.2.1の時は f90 なプログラムがありましたが、以降はソースから消えてますね.