AlphaFold (version 2.2.0)などが動くコンピュータの利用について

 

総合分析実験センターでは、AlphaFold (version 2)(Google Colab版ではない正式版・高精度版)を利用できるようにしました。次のようにご利用下さい。なお、以下の説明は、ゴリゴリ使う人向けの利用案内です。ちょっとだけ使いたいなら、担当者の方で計算を仕掛けますので、担当者にご連絡ください。

 

0.   (必須) まずLinuxの基本コマンドを知らない人は、勉強してください。担当者が推薦する教科書は「たのしいUNIX」(坂本 文(著)、アスキー (1990/11/1))です。

1.   下記の連絡先まで、希望のユーザーIDを添えて、ご連絡ください。計算を行うコンピューターへのアクセスに必要なIDを担当者が作成します。このIDを以下では、your_IDと表記します。

2.   your_ID@133.49.43.63にアクセスしてください。例えば、WindowsのPowerShellやWSL、あるいは、マックのターミナルから、次のようにアクセスします。

ssh your_ID@133.49.43.63

また、Tera Term等のターミナルエミュレータからも利用できます。次に、以下のコマンドでパスワードを必ず変更してください。なお、ssh接続は学外から利用できませんので、学外公開設備にはなりません。。

passwd

3.   biocondaをインストールしてください。手順は以下に記されています。

https://bioconda.github.io/user/install.html

このサイトに従い、次のように、入力してください。

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

sh Miniconda3-latest-Linux-x86_64.sh

何やら表記されますが、@ページを進めるのはスペース、Ayes/noはyes、Bそれ以外の選択肢はenterキー、とすれば、大丈夫です。ここで、一旦、ログアウトします。

exit

再び、your_ID@133.49.43.63にアクセスしてください。(base)と表示されているはずですが、これはこのままで構いません。次に、以下を一つずつ順に実行してください。一個目のコマンドだけ、何やら謎のメッセージが表示されますが、気にしないでください。

conda config --add channels defaults
conda config --add channels bioconda

conda config --add channels conda-forge

以下のファイルはもう必要ないので削除します。

rm Miniconda3-latest-Linux-x86_64.sh

4.   以下のようにAlphaFold専用の仮想環境の作成し、更に、必要なPythonパッケージをインストールします。

conda create --name alphafold python=3.8

conda activate alphafold

pip3 install -r /data/alphafold/docker/requirements.txt

このうち、conda activate alphafoldがAlphaFold専用の仮想環境に入るためのコマンドです。conda deactivateでもとの環境に戻ることができますが、今、これを行う必要はありません。 ここまでが最初に行う準備ですので、再び行う必要はありません。ただし、conda activate alphafoldでAlphaFold専用の仮想環境に入ることは毎回、行って下さい。

5.   アミン酸配列を含むFASTAファイルを作成します。FASTAファイルの名前をhoge.fastaとした場合、@ cat > hoge.fastaと打って、enterキー(次の図の黒字)、AFASTA形式の配列情報をペースト(次の図の赤字)、B最後が改行されていない場合は、改行、CCtrlキーとDキーを同時に押す(次の図の青字)、とする方法が簡単です。scpコマンドやWinSCPでFASTAファイルをアップロードする方法もあります。なお、実際の解析ではhoge.fastaをファイル名として使わないで下さい。

cat > hoge.fasta

>BAB41080.1 DNA-binding protein DF1 [Pisum sativum]

MLGDSAVLGTGGGGGSSGDAAGASASGGAYHDGGDTVGGGGGSISGDDERGGGSRNEEGGDRNFGGNRWP

RQETIALLKIRSEMDVTFRDASVKGPLWDEVSRKMADLGYHRNSKKCKEKFENVYKYHKRTKEGRGGKSE

GKTYRFFDQLQALENNPSIQSPRTQTQLNISTLPPTTPSSSSSLPISTTSTTLTTTNPLLLPPSLLNSTS

PITIHTPSITTTAAATTVPLTTTITPPIPMSLPQVQNTVSQSNPTYFPPIPSTTTATNPTNTNNPLPQIT

ITPPPSSFPNTSTDFFSNSSSSSTSSEETMTMEGGGNRRKRKRKWKDFFERLMKEVVEKQEELHKRFLEA

IEKRELERGAREEAWRLQEMQRINREREILAQERSIAAAKDAAVMAFLQKIADQQQEQQQNIVVPVALNT

NIVPQQQQALQEPTSTPTPAPASTPTPAPTPVPAPALTSAPAPMQTPTPMPLPMPIQSQQQVQTPTSAVQ

VQQTAPVISQALPLAQPQQAQVQVQQQATNMDIVKSDNNGESLMQASSSRWPKTEVEALIRLRTTLDMKY

QENGPKGPLWEEISGLMKNLGYNRNAKRCKEKWENINKYFKKVKESNKKRPEDSKTCPYFHQLDALYREK

NKGEGSSASRPEGTMMAPLMVRPEQQWPPQPQPPPVTRADVTMEDAENDRPP

ここでCtrlキーとDキーの同時打ち

6.  (monomerの場合)いよいよ本番のAlphaFoldの実行です。赤字の部分がFASTAファイルの名前です。青字の部分には、担当者は、その日の日付を入れています。このコマンドは、AlphaFold専用の仮想環境に入ってから実行してください。(base)となっていたら、conda activate alphafoldとすることで、(alphafold)となり、仮想環境に入れます。なお、詳細はhttps://github.com/deepmind/alphafoldに記されています。ここに記載のreduced_dbsには対応させていません。

DOWNLOAD_DIR="/data/database/"
python3.8 /data/alphafold/docker/run_docker.py --fasta_paths=
hoge.fasta --max_template_date=2022-06-03 --model_preset=monomer --db_preset=full_dbs --data_dir=$DOWNLOAD_DIR --docker_user=0

なお、以下のようにすれば、接続を切ってもコマンドが実行されます。

DOWNLOAD_DIR="/data/database/"
nohup python3.8 /data/alphafold/docker/run_docker.py --fasta_paths=
hoge.fasta --max_template_date=2022-06-03 --model_preset=monomer --db_preset=full_dbs --data_dir=$DOWNLOAD_DIR --docker_user=0 &

この際、nohup.outにログが出力されます。
(multimerの場合、または、タンパク質間相互作用をみる場合)まず、multiple fastaファイルを作成します。ファイル名をhoge2.fastaとした場合、以下のようになります。 ただし、用いる配列が全て原核生物の場合は--is_prokaryote_list=trueにします。

DOWNLOAD_DIR="/data/database/"
python3.8 /data/alphafold/docker/run_docker.py --fasta_paths=
hoge2.fasta --is_prokaryote_list=false --max_template_date=2022-06-03 --model_preset=multimer --db_preset=full_dbs --data_dir=$DOWNLOAD_DIR --docker_user=0

なお、以下のようにすれば、接続を切ってもコマンドが実行されます。

DOWNLOAD_DIR="/data/database/"
nohup python3.8 /data/alphafold/docker/run_docker.py --fasta_paths=
hoge2.fasta --is_prokaryote_list=false --max_template_date=2022-06-03 --model_preset=multimer --db_preset=full_dbs --data_dir=$DOWNLOAD_DIR --docker_user=0 &

この際、nohup.outにログが出力されます。

7.   FASTAファイルのファイル名がhoge.fastaの場合、/data/results/hogeというディレクトリに結果が出力されます。出力されたファイルをダウンロードして、ご活用下さい。scpコマンドやWinSCPがダウンロードに便利です。作成されるファイルの意味については、ググって調べて下さい。

8.   この計算を行うコンピューターのユーザーがメンバーとなるMicrosoft Teamsのチームをeduアカウントで作成します。alphafoldを動かす等の激しい計算を行う前に、ここで、一言メッセージを下さい。低スペックのマシン(36スレッド、256GBメモリ、GPUのコア数6144)を使用していますので、ご協力の程、よろしくお願いいたします。

また、他の人が使用中は、使用をご遠慮下さい。使用状況は、topコマンドでわかります。


連絡先・担当者
永野幸生
佐賀大学・総合分析実験センター
nagano@cc.saga-u.ac.jp

作成日: 2021年8月27日
 

役に立つサイト
結果の見方の動画
PyMol (Winodwsやマックのanacondaからconda install -c schrodinger pymol-bundleでインストールできます)
pLDDTスコアの抽出スクリプト(これは重要。)
AlphaFold (ver.2.1.1) インストール
AlphaFold2解体新書
上海老師のnote
佐賀県出身の柳田先生による紹介ページ
AlphaFolder
本家
論文(おそらく理解不能)
ヒトのプロテオームの論文

インストールのメモ
@ AlphaFold (ver.2.1.1) インストールに従いました。
A databaseディレクトリを、git cloneコマンドでコピーしたalphafoldディレクトリ内に作ると、docker build中に、HDDがいっぱいになり、停止します。
B alphafold/docker/DockerfileをエディターでARG CUDA=11.0からARG CUDA=11.1に変更する必要がありました。

C バージョン2.1.1では/tmp/alphafold/は自分で作成する必要がありました。

このコンピュータでのDeepVariantの利用
 docker runをdocker run --gpus 1に
 google/deepvariant:"${BIN_VERSION}"をgoogle/deepvariant:"${BIN_VERSION}-gpu" に
 することでとても速くなります。