本家様 https://github.com/HeliXonProtein/OmegaFold
gitを取得して「setup.py」を眺めるとpython3.8, 3.9, 3.10が対象のご様子.
なので
ここではcrYOLO、topazのようにrootでconda環境を整備しています. またconda activate/source activateで有効化もいいのですが、他のアプリの関係もあるので conda activate/source activateを避けてEnvironment-modulesを使ってます
[root@rockylinux ~]# export PYENV_ROOT=/apps/pyenv
[root@rockylinux ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@rockylinux ~]# export PATH=$PYENV_ROOT/versions/anaconda3-2022.05/bin/:$PATH
[root@rockylinux ~]# conda create -n OmegaFold python=3.10
[root@rockylinux ~]# source activate OmegaFold
(OmegaFold) [root@rockylinux ~]#
(OmegaFold) [root@rockylinux ~]# cd /apps/
(OmegaFold) [root@rockylinux apps]# git clone https://github.com/HeliXonProtein/OmegaFold
(OmegaFold) [root@rockylinux apps]# cd OmegaFold/
(OmegaFold) [root@rockylinux OmegaFold]#
(OmegaFold) [root@rockylinux OmegaFold]# which python
/apps/pyenv/versions/anaconda3-2022.05/envs/OmegaFold/bin/python
(OmegaFold) [root@rockylinux OmegaFold]#
(OmegaFold) [root@rockylinux OmegaFold]# python setup.py install
(OmegaFold) [root@rockylinux OmegaFold]# which omegafold
/apps/pyenv/versions/anaconda3-2022.05/envs/OmegaFold/bin/omegafold
(OmegaFold) [root@rockylinux OmegaFold]#
EnvironmentModules
[root@rockylinux ~]# vi /apps/modulefiles/OmegaFold
#%Module
set root /apps/pyenv/versions/anaconda3-2022.05/envs/OmegaFold
prepend-path PATH $root/bin
prepend-path LD_LIBRARY_PATH $root/lib:$root/lib/python3.10/site-packages/nvidia_cudnn_cu11-8.5.0.96-py3.10-linux-x86_64.egg/nvidia/cudnn/lib
[root@rockylinux ~]#
なんかLD_LIBRARY_PATH の指定がエレガントではない...
[illya@rockylinux ~]$ module load OmegaFold
[illya@rockylinux ~]$ omegafold -h
/apps/pyenv/versions/anaconda3-2022.05/envs/OmegaFold/lib/python3.10/site-packages/biopython-1.80-py3.10-linux-x86_64.egg/Bio/Data/SCOPData.py:18: (改行
BiopythonDeprecationWarning: The 'Bio.Data.SCOPData' module will be deprecated in a future release of Biopython in favor of 'Bio.Data.PDBData.
warnings.warn(
usage: omegafold [-h] [--num_cycle NUM_CYCLE] [--subbatch_size SUBBATCH_SIZE] [--device DEVICE]
[--weights_file WEIGHTS_FILE] [--weights WEIGHTS] [--pseudo_msa_mask_rate PSEUDO_MSA_MASK_RATE]
[--num_pseudo_msa NUM_PSEUDO_MSA] [--allow_tf32 ALLOW_TF32]
input_file output_dir
Launch OmegaFold and perform inference on the data. Some examples (both the input and output files) are included in the
Examples folder, where each folder contains the output of each available model from model1 to model3. All of the results
are obtained by issuing the general command with only model number chosen (1-3).
positional arguments:
input_file The input fasta file
output_dir The output directory to write the output pdb files. If the directory does not exist, we just
create it. The output file name follows its unique identifier in the rows of the input fasta
file"
options:
-h, --help show this help message and exit
--num_cycle NUM_CYCLE
The number of cycles for optimization, default to 10
--subbatch_size SUBBATCH_SIZE
The subbatching number, the smaller, the slower, the less GRAM requirements. Default is the
entire length of the sequence. This one takes priority over the automatically determined one for
the sequences
--device DEVICE The device on which the model will be running, default to the accelerator that we can find
--weights_file WEIGHTS_FILE
The model cache to run
--weights WEIGHTS The url to the weights of the model
--pseudo_msa_mask_rate PSEUDO_MSA_MASK_RATE
The masking rate for generating pseudo MSAs
--num_pseudo_msa NUM_PSEUDO_MSA
The number of pseudo MSAs
--allow_tf32 ALLOW_TF32
if allow tf32 for speed if available, default to True
[illya@rockylinux ~]$
っでテスト実行
[illya@rockylinux ~]$ mkdir OmegaFold
[illya@rockylinux ~]$ cd OmegaFold/
[illya@rockylinux OmegaFold]$ vi q.fasta
[illya@rockylinux OmegaFold]$ omegafold ./q.fasta .
/apps/pyenv/versions/anaconda3-2022.05/envs/OmegaFold/lib/python3.10/site-packages/biopython-1.80-py3.10-linux-x86_64.egg/Bio/Data/SCOPData.py:18: (改行
BiopythonDeprecationWarning: The 'Bio.Data.SCOPData' module will be deprecated in a future release of Biopython in favor of 'Bio.Data.PDBData.
warnings.warn(
INFO:root:Downloading weights from https://helixon.s3.amazonaws.com/release1.pt to /home/illya/.cache/omegafold_ckpt/model.pt
100.0%
INFO:root:Constructing OmegaFold
INFO:root:Reading ./q.fasta
INFO:root:Predicting 1th chain in ./q.fasta
INFO:root:68 residues in this chain.
INFO:root:Finished prediction in 14.72 seconds.
INFO:root:Saving prediction to ./dummy_sequence.pdb
INFO:root:Saved
INFO:root:Done!
[illya@rockylinux OmegaFold]$
[illya@rockylinux OmegaFold]$ ls -lrt
total 52
-rw-rw-r--. 1 illya illya 85 Nov 23 19:34 q.fasta
-rw-rw-r--. 1 illya illya 46502 Nov 23 20:12 dummy_sequence.pdb
[illya@rockylinux OmegaFold]$