本家様 https://github.com/dauparas/ProteinMPNN
"ディープラーニングに基づくタンパク質配列設計法"
pyenv-anacondaの設置 †
[root@rockylinux9 ~]# git clone https://github.com/yyuu/pyenv.git /apps/pyenv
[root@rockylinux9 ~]# export PYENV_ROOT=/apps/pyenv
[root@rockylinux9 ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@rockylinux9 ~]# pyenv install anaconda3-2023.03
[root@rockylinux9 ~]# pyenv global anaconda3-2023.03
[root@rockylinux9 ~]# pyenv versions
system
* anaconda3-2023.03 (set by /apps/pyenv/version)
[root@rockylinux9 ~]#
[root@rockylinux9 ~]# export PATH=$PYENV_ROOT/versions/anaconda3-2023.03/bin/:$PATH
[root@rockylinux9 ~]# conda update conda
既にpyenv-anaconda環境があるのなら
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
export PATH=$PYENV_ROOT/versions/anaconda3-2023.03/bin/:$PATH
ProteinMPNN の実行環境を作成 †
ProteinMPNNのアプリ構築ではなく、その実行環境の整備のみです.
[root@rockylinux9 ~]# conda create -n mlfold
[root@rockylinux9 ~]# source activate mlfold
(mlfold) [root@rockylinux9 ~]# conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
(mlfold) [root@rockylinux9 ~]# conda list
:
cuda-runtime 11.7.1 0 nvidia
:
python 3.10.10 h7a1cb2a_2
pytorch 2.0.0 py3.10_cuda11.7_cudnn8.5.0_0 pytorch
pytorch-cuda 11.7 h778d358_3 pytorch
:
(mlfold) [root@rockylinux9 ~]# conda deactivate
[root@rockylinux9 ~]#
Environment Modules †
[root@rockylinux9 ~]# vi /apps/modulefiles/mlfold
#%Module
set root /apps/pyenv/versions/anaconda3-2023.03/envs/mlfold
prepend-path PATH $root/bin
[root@rockylinux9 ~]#
テスト †
[saber@rockylinux9 ~]$ module load mlfold
[saber@rockylinux9 ~]$ mkdir test && cd test
[saber@rockylinux9 test]$ git clone https://github.com/dauparas/ProteinMPNN
[saber@rockylinux9 test]$ cd ProteinMPNN
[saber@rockylinux9 ProteinMPNN]$ cd examples/
[saber@rockylinux9 examples]$ ls -l
total 48
-rw-r--r-- 1 osanai em 690 Apr 17 03:17 submit_example_1.sh
-rw-r--r-- 1 osanai em 987 Apr 17 03:17 submit_example_2.sh
-rw-r--r-- 1 osanai em 772 Apr 17 03:17 submit_example_3_score_only_from_fasta.sh
-rw-r--r-- 1 osanai em 614 Apr 17 03:17 submit_example_3_score_only.sh
-rw-r--r-- 1 osanai em 577 Apr 17 03:17 submit_example_3.sh
-rw-r--r-- 1 osanai em 1552 Apr 17 03:17 submit_example_4_non_fixed.sh
-rw-r--r-- 1 osanai em 1558 Apr 17 03:17 submit_example_4.sh
-rw-r--r-- 1 osanai em 1826 Apr 17 03:17 submit_example_5.sh
-rw-r--r-- 1 osanai em 1006 Apr 17 03:17 submit_example_6.sh
-rw-r--r-- 1 osanai em 729 Apr 17 03:17 submit_example_7.sh
-rw-r--r-- 1 osanai em 1042 Apr 17 03:17 submit_example_8.sh
-rw-r--r-- 1 osanai em 1917 Apr 17 03:17 submit_example_pssm.sh
[saber@rockylinux9 examples]$ cat submit_example_1.sh
#!/bin/bash
#SBATCH -p gpu
#SBATCH --mem=32g
#SBATCH --gres=gpu:rtx2080:1
#SBATCH -c 2
#SBATCH --output=example_1.out
# source activate mlfold <-- ここを無効化
folder_with_pdbs="../inputs/PDB_monomers/pdbs/"
output_dir="../outputs/example_1_outputs"
if [ ! -d $output_dir ]
then
mkdir -p $output_dir
fi
path_for_parsed_chains=$output_dir"/parsed_pdbs.jsonl"
python ../helper_scripts/parse_multiple_chains.py --input_path=$folder_with_pdbs --output_path=$path_for_parsed_chains
python ../protein_mpnn_run.py \
--jsonl_path $path_for_parsed_chains \
--out_folder $output_dir \
--num_seq_per_target 2 \
--sampling_temp "0.1" \
--seed 37 \
--batch_size 1
[saber@rockylinux9 examples]$
[saber@rockylinux9 examples]$ bash ./submit_example_1.sh