本家様 https://github.com/RosettaCommons/RoseTTAFold

蛋白質立体構造予測プログラム

[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.1 (Blue Onyx)
[root@rockylinux9 ~]# getenforce
Enforcing
[root@rockylinux9 ~]#
 
[root@rockylinux9 ~]# cd /apps/
[root@rockylinux9 apps]# git clone https://github.com/RosettaCommons/RoseTTAFold

RoseTTAFold/folding python実行環境

まずは RoseTTAFold と folding のpython実行環境を用意します.

RoseTTAFold の実行にcuda11を使うなら「RoseTTAFold-linux.yml」を、cuda10なら「RoseTTAFold-linux-cu101.yml」を使用します
cuda11、cuda10の分かれ目ですが、AmpreチップなGPUならcuda11が必須、それ以外のGPUチップならcuda10でも可って感じかな.

ここではA2000(Ampre)を使っているので cuda11 版を使います.

環境を確認してみると

[root@rockylinux9 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  525.89.02  Wed Feb  1 23:23:25 UTC 2023
GCC version:  gcc version 11.3.1 20220421 (Red Hat 11.3.1-2) (GCC)
 
[root@rockylinux9 ~]#

python実行環境はpyenv/anacondaでここでは用意していて、まずは下準備

pyenv/anaconda環境が用意されていなければ、crYOLOのように下記を実行します

git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
pyenv install anaconda3-2022.10
pyenv global anaconda3-2022.10
export PATH=$PYENV_ROOT/versions/anaconda3-2022.10/bin:$PATH

もしcrYOLOとかでpyenv/anaconda環境を既に作ってるなら

export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
export PATH=$PYENV_ROOT/versions/anaconda3-2022.10/bin:$PATH

と環境を整えておく. その後に「RoseTTAFold-linux.yml」を下記のように実行.

[root@rockylinux9 ~]# conda env create -f /apps/RoseTTAFold/RoseTTAFold-linux.yml

そしてもう一つ folding 向けに

[root@rockylinux9 ~]# conda env create -f /apps/RoseTTAFold/folding-linux.yml

とします.
環境が作られたかは「conda env list」で確認します

[root@rockylinux9 ~]# conda env list |grep -e RoseTTAFold -e folding
RoseTTAFold              /apps/pyenv/versions/anaconda3-2022.10/envs/RoseTTAFold
folding                  /apps/pyenv/versions/anaconda3-2022.10/envs/folding
[root@rockylinux9 ~]#

trained weights and data

既にトレーニングされたweightsデータを展開します. 展開場所はRoseTTAFoldの直下です.

[root@rockylinux9 ~]# cd /apps/RoseTTAFold
[root@rockylinux9 RoseTTAFold]# wget https://files.ipd.uw.edu/pub/RoseTTAFold/weights.tar.gz
[root@rockylinux9 RoseTTAFold]# tar xvf weights.tar.gz
weights/
weights/RoseTTAFold_e2e.pt
weights/RoseTTAFold_pyrosetta.pt
weights/RF2t.pt
weights/Rosetta-DL_LICENSE.txt
[root@rockylinux9 RoseTTAFold]#

install third-party software

必要なアプリを追加します. 「install_dependencies.sh」を実行すればインストールされます.
lddt(Local Distance Difference Test, https://swissmodel.expasy.org/lddt)とcs-blast(Context-specific mutation probabilities for protein sequencing searching, https://github.com/soedinglab/csblast)

[root@rockylinux9 RoseTTAFold]# ./install_dependencies.sh
installing for linux
downloading lddt . . .
 :
Archive:  lddt.zip
  inflating: lddt/stereo_chemical_props.txt
  inflating: lddt/lddt
downloading cs-blast . . .
 :
[root@rockylinux9 RoseTTAFold]# ls -l
 :
drwxr-xr-x. 4 root root         58 Mar  7 16:53 csblast-2.2.3
drwxr-xr-x. 2 root root         51 Mar  7 16:53 lddt
 :
[root@rockylinux9 RoseTTAFold]#

実際にはこのほかに「GNU parallel」が必要で epelリポジトリにある「parallel.noarch」でもいいのかもしれないが、ここでは最新版をソースから持ってきて入れている

wget https://ftp.jaist.ac.jp/pub/GNU/parallel/parallel-20210722.tar.bz2
tar xf parallel-20210722.tar.bz2
cd parallel-20210722
./configure; make ; make install

これで「/usr/local/bin」に「parallel」がインストールされます. 最新版にする理由ですが、他のアプリ(I-TASSER)で問題があり、最新版を使っていたため. なのでepelリポジトリ提供の「GNU parallel」が RoseTTAFold が動かないとかは不明です

sequence and structure databases

データセットを用意します
必要なデータセットは3種. BFDuniref30structure templates

それぞれの取得先は下記参照

BFD_ttps://storage.googleapis.com/alphafold-databases/casp14_versions/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt.tar.gz
uniref30_ttp://wwwuser.gwdg.de/~compbiol/uniclust/2020_06/UniRef30_2020_06_hhsuite.tar.gz
structure templates_ttps://files.ipd.uw.edu/pub/RoseTTAFold/pdb100_2021Mar03.tar.gz

この内BFDは、Alphafoldの構築で bfd として取得済み、uniref30 はRaptorX-3DModelingで取得済みなので流用します

ここではこれらを「/Public/alphafold」の中に展開していて、それをRoseTTAFoldにシンボリックリンクで配置させてます

[root@rockylinux9 RoseTTAFold]# ln -s /Public/alphafold/bfd bfd
[root@rockylinux9 RoseTTAFold]# ln -s /Public/alphafold/HH-suite UniRef30_2020_06
[root@rockylinux9 RoseTTAFold]# ln -s /Public/alphafold/pdb100_2021Mar03 pdb100_2021Mar03
 
[root@rockylinux9 RoseTTAFold]# ls -l bfd pdb100_2021Mar03 UniRef30_2020_06
lrwxrwxrwx. 1 root root 21 Mar  7 16:55 bfd -> /Public/alphafold/bfd
lrwxrwxrwx. 1 root root 34 Mar  7 16:56 pdb100_2021Mar03 -> /Public/alphafold/pdb100_2021Mar03
lrwxrwxrwx. 1 root root 26 Mar  7 16:56 UniRef30_2020_06 -> /Public/alphafold/HH-suite
[root@rockylinux9 RoseTTAFold]#

PyRosetta licence and install the package

PyRosettaを「folding」実行環境に組み込みます.
PyRosettaは python バージョンで複数用意されているのでまずは「folding」実行環境のpythonバージョンを調べます.

[root@rockylinux9 ~]# source activate folding
(folding) [root@rockylinux9 ~]#
(folding) [root@rockylinux9 ~]# conda list | grep python
python                    3.7.16               h7a1cb2a_0
python-dateutil           2.8.2              pyhd3eb1b0_0
(folding) [root@rockylinux9 ~]#

っとどうやら「python-3.7」みたい. なので 取得すべき PyRosetta は python-3.7 系となる.

そしてPyRosettaにはインストール方式が複数あって、.tar.gzのsetupコマンドで入れるか、.whlのpipを使うかのどちらか.

ここではcondaで環境整備しているので whl 形式のファイルを使うことにしました.

実際のPyRosettaの入手ですが、ライセンス品で手続きが必要です. https://els2.comotion.uw.edu/product/pyrosettaから入手してください.

ここでは「PyRosetta4.Release.python37.linux.wheel」の「pyrosetta-2023.9+release.4388618-cp37-cp37m-linux_x86_64.whl」を取得しました.
ファイルを取得後に、下記のようにして「folding」実行環境に組み込みます.

(folding) [root@rockylinux9 ~]# which pip
/apps/pyenv/versions/anaconda3-2022.10/envs/folding/bin/pip
 
(folding) [root@rockylinux9 ~]#
/apps/pyenv/versions/anaconda3-5.3.1/envs/folding/bin/pip
 
(folding) [root@rockylinux9 ~]# pip install ./pyrosetta-2021.29+release.d8f5566-cp37-cp37m-linux_x86_64.whl
 
(確認)
(folding) [root@rockylinux9 ~]# conda list
 :
cudatoolkit               10.1.243             h6bb024c_0
 :
numpy                     1.21.5           py37h6c91a56_3
numpy-base                1.21.5           py37ha15fc14_3
 :
pyrosetta                 2023.9+release.4388618          pypi_0    pypi
 :
(folding) [root@c ~]#

となる.
....A2000なので「cudatoolkit 10.1.243」は微妙...

EnvironmentModules

「/apps/modulefiles/RoseTTAFold 」

#%Module1.0
prepend-path PATH /apps/pyenv/versions/anaconda3-2022.10/envs/RoseTTAFold/bin:/apps/RoseTTAFold

使い方

同封されている「run_pyrosetta_ver.sh」を使用するが一部修正

--- run_pyrosetta_ver.sh.orig   2023-03-07 17:07:27.138282772 +0900
+++ run_pyrosetta_ver.sh        2023-03-07 17:08:32.516866293 +0900
@@ -1,4 +1,8 @@
 #!/bin/bash
+if [ $# != 2 ]; then
+   echo "   useage: $0 <input fasta> <workdir>"
+   exit 1
+fi
 
 # make the script stop when error (non-true exit code) is occured
 set -e
@@ -6,7 +10,7 @@
 ############################################################
 # >>> conda initialize >>>
 # !! Contents within this block are managed by 'conda init' !!
-__conda_setup="$('conda' 'shell.bash' 'hook' 2> /dev/null)"
+__conda_setup="$('/apps/pyenv/versions/anaconda3-2022.10/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
 eval "$__conda_setup"
 unset __conda_setup
 # <<< conda initialize <<<

同じく「run_e2e_ver.sh」も一部修正

--- run_e2e_ver.sh.orig 2023-03-07 17:09:07.799180861 +0900
+++ run_e2e_ver.sh      2023-03-07 17:09:37.870447731 +0900
@@ -1,4 +1,8 @@
 #!/bin/bash
+if [ $# != 2 ]; then
+   echo "   useage: $0 <input fasta> <workdir>"
+   exit 1
+fi
 
 # make the script stop when error (non-true exit code) is occured
 set -e
@@ -6,7 +10,7 @@
 ############################################################
 # >>> conda initialize >>>
 # !! Contents within this block are managed by 'conda init' !!
-__conda_setup="$('conda' 'shell.bash' 'hook' 2> /dev/null)"
+__conda_setup="$('/apps/pyenv/versions/anaconda3-2022.10/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
 eval "$__conda_setup"
 unset __conda_setup
 # <<< conda initialize <<<

共に引数のエラーハンドルとcondaへの絶対PATH指定を入れた.

その上で

[saber@rockylinux9 ~]$ module use --prepend /apps/modulefiles/
[saber@rockylinux9 ~]$ module load RoseTTAFold
 
[saber@rockylinux9 ~]$ mkdir -p test/RoseTTAFold
[saber@rockylinux9 ~]$ cd test/RoseTTAFold
 
[saber@rockylinux9 RoseTTAFold]$ vi input.fa
>T1078 Tsp1, Trichoderma virens, 138 residues|
MAAPTPADKSMMAAVPEWTITNLKRVCNAGNTSCTWTFGVDTHLATATSCTYVVKANANASQASGGPVTCGPYTITSSWSGQFGPNNGFTTFAVTDFSKKLIVWPAYTDVQVQAGKVVSPNQSYAPANLPLEHHHHHH
 
[saber@rockylinux9 RoseTTAFold]$
[saber@rockylinux9 RoseTTAFold]$ run_pyrosetta_ver.sh input.fa out

メモ

最新の60件
2024-07-25 2024-07-24 2024-07-16 2024-07-15 2024-07-12 2024-07-07 2024-06-29 2024-06-22 2024-06-21 2024-06-17 2024-06-14 2024-06-11 2024-06-10 2024-06-08 2024-06-07 2024-06-02 2024-06-01 2024-05-30 2024-05-16 2024-04-26 2024-04-15 2024-04-11 2024-04-06 2024-04-05 2024-03-30 2024-03-29 2024-03-19 2024-03-15 2024-03-06 2024-03-05 2024-03-03 2024-02-23 2024-02-22 2024-02-21 2024-02-20 2024-02-19 2024-02-18 2024-02-13 2024-02-12 2024-02-09 2024-02-04 2024-02-03

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-03-07 (火) 20:47:48