LoginSignup
4
3

More than 1 year has passed since last update.

AlphaFold2をinstallして使ってみました

Last updated at Posted at 2022-06-30

参考にしたサイトは

https://qiita.com/Ag_smith/items/7c76438906b3f665af38
https://www.af2anatomia.jp/

上の2つのサイトを見ればほぼ出来るのであろうが、linux初心者には
すんなりinstallできなかったので気になった点やうまく行った順番を初心者目線で記録しておきます
(dockerなしのやり方です)

必要な環境
・4TBのSSD(installに3TB近くとられるので4TBあるとよい)
・32GB以上のメモリ
・linux (ubuntu20.04)

1. GitHubよりdatabaseのダウンロードに必要なスクリプトファイルをダウンロードしておく

※databaseのダウンロードの前にやっておく
homeのすぐ下をINSTALLDIRと指定してファイルをダウンロード
(gitがinstallされていない場合は入れてください)

INSTALLDIR=/home/あなたのPCのuser名
mkdir -p ${INSTALLDIR}
cd ${INSTALLDIR}
git clone https://github.com/deepmind/alphafold.git
cd alphafold

homeのすぐ下にalphafoldのフォルダができます

2. databaseのダウンロード

時間がかなりかかります(9時間かかりました)。事前に強力なダウンロードコマンドを入れておくといいそうです

sudo apt -y install rsync aria2

ミラーサイトを利用するとダウンロードの時間が早くなります
/alphafold/scripts/download_pdb_mmcif.shを開きます
img0_1.png
48,49行目あたりの
rsync --recursive --links --perms --times --compress --info=progress2 --delete --port=33444 \
rsync.rcsb.org::ftp_data/structures/divided/mmCIF/ \

rsync --recursive --links --perms --times --compress --info=progress2 --delete \
ftp.pdbj.org::ftp_data/structures/divided/mmCIF/ \
に変更しておきます
img0_2.png

圧縮してダウンロードすると早いです
/alphafold/scripts/download_pdb_seqres.shを開きます
img0_3.png
34行目くらいの
SOURCE_URL="ftp://ftp.wwpdb.org/pub/pdb/derived_data/pdb_seqres.txt"

SOURCE_URL="https://ftp.pdbj.org/pub/pdb/derived_data/pdb_seqres.txt.gz"
に変更しておくと早いです
img0_4.png

ダウンロードする場所を指定します
今回はhomeのすぐ下にdatabaseフォルダを作成します

mkdir -p $INSTALLDIR/database

注意!ここで作成した際のフォルダ名は以後変更しないでください。
ここではその中にダウンロードします。

作成したdatabaseフォルダをダウンロードする場所として指定します

DOWNLOAD_DIR=${INSTALLDIR}/database

ダウンロードを開始します。(私は9時間かかりました)
※ミラーサイトの利用など、変更しておかなかったら、3日たっても終わらなかったです
ダウンロード内容の詳細や、もっと時間を短縮したい方はこちらのサイトに記載されています

scripts/download_all_data.sh ${DOWNLOAD_DIR}

ダウンロードが終了すると
作成したDownloadフォルダ内に9つのフォルダができています
bfd mgnify params pdb70 pdb_mmcif pdb_seqres uniprot uniclust30 uniref90
※圧縮してダウンロードするように修正した場合は、圧縮したファイルがpdb_seqresにあるので、解凍しておきます。

cd ${DOWNLOAD_DIR}/pdb_seqres
gunzip pdb_seqres.txt.gz

3. AlphaFoldのインストール

1で作成されたalphafoldのフォルダをALFAFOLDDIRと指定します

ALPHAFOLDDIR=${INSTALLDIR}/alphafold

動作に必要とされるファイル「stereo_chemical_props.txt」をダウンロード
Alphafold/commonのフォルダ内にダウンロードされます

wget -q -P ${ALPHAFOLDDIR}/alphafold/common/ https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt --no-check-certificate

仮想環境を作成するためにminicondaをインストールします

cd ${ALPHAFOLDDIR}
wget -q -P . https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash ./Miniconda3-latest-Linux-x86_64.sh -b -p ${ALPHAFOLDDIR}/conda
rm Miniconda3-latest-Linux-x86_64.sh

minicondaを使って、仮想環境を作り、必要なソフトをインストールします

. "${ALPHAFOLDDIR}/conda/etc/profile.d/conda.sh"
export PATH="${ALPHAFOLDDIR}/conda/condabin:${PATH}"
conda create -p ${ALPHAFOLDDIR}/alphafold-conda python=3.8 -y
conda activate ${ALPHAFOLDDIR}/alphafold-conda
conda update -n base conda -y
conda install -y -c conda-forge openmm==7.5.1 cudnn==8.2.1.32 cudatoolkit==11.1.1 pdbfixer==1.7
conda install -y -c bioconda hmmer==3.3.2 hhsuite==3.3.0 kalign3
pip install pandas absl-py==0.13.0 biopython==1.79 chex==0.0.7 dm-haiku==0.0.4 dm-tree==0.1.6 immutabledict==2.0.0 jax==0.2.14 ml-collections==0.1.0 numpy==1.19.5 scipy==1.7.0 tensorflow==2.5.0
pip install --upgrade jax==0.2.25 jaxlib==0.1.72 -f https://storage.googleapis.com/jax-releases/jax_releases.html

パッチをあてる

cd ${ALPHAFOLDDIR}/alphafold-conda/lib/python3.8/site-packages/ && patch -p0 < ${ALPHAFOLDDIR}/docker/openmm.patch

binフォルダをAlphafoldフォルダ内に作成

mkdir -p $ALPHAFOLDDIR/bin
cd $ALPHAFOLDDIR/bin

GitHubよりalphafold shell scriptをダウンロードします。zipファイルがダウンロードされるのでextract hereで解凍します。
中にはalphafoldのshell scriptファイルが1つあります。
binフォルダ内に置きます

alphafold shell scriptの中を編集します。
Text Editorで開きます
AlphaFoldの場所とデータベースの場所を自分の環境に修正します。
img8.png
binフォルダに保存したalphafoldファイルに権限を渡します

chmod +x alphafold

次に、以下のシェルスクリプトファイルも作成します
(ファイル名はrun_alphafold.shでalphafold内に保存)
Text EditorにコピペでOK

export PATH="/home/あなたのPCのuser名/alphafold/bin:$PATH"

# Specify a fasta file whose structure you want to predict.
FASTAFILE="1ema.fasta"
# Specify a folder to save output files
OUTPUTDIR="."
# You can restrict the structures that AlphaFold selects as templates
# before the release date specified as DATE
DATE="2099-07-14"
# 以降AlphaFold処理。以下は特に変更する必要なし。
mkdir -p ${OUTPUTDIR}
alphafold --fasta_paths=${FASTAFILE} \
          --output_dir=${OUTPUTDIR} \
          --model_preset=monomer_ptm \
          --run_relax \
          --use_gpu_relax \
          --num_multimer_predictions_per_model=1 \
          --max_template_date=${DATE}
# ディスク容量節約のため、計算終了後のresult_model_*_pklを削除する処理(※任意)
FILE=${FASTAFILE%.*}
rm ${OUTPUTDIR}/${FILE}/result_model_*.pkl

FASTAFILE="1ema.fasta" の部分はあなたが使うfastaファイル名に変更します。
OUTPUTDIR="."なので、結果の保存場所はalphafoldフォルダ内になっています。好きな場所に変更可能です。

※fastaファイルのサンプルはPDBのサイトで入手できます。

  1. PDBのサイトにアクセスし、PDB ArchivePDB IDタンパク質名を入力  ex. 1EMA
    img9.png

  2. 表示されたらDisplay filesfastaよりFASTA Sequence を選択
    img10.png

  3. アミノ酸配列が表示されるので、すべてコピーしてText Editorに貼り付ける
    拡張子は.fastaでalphafoldフォルダ内に保存しておきます
    img11.png

4. AlphaFoldを実行する

run_alphafold.shがあるフォルダに移動

cd ${ALPHAFOLDDIR}

run_alphafold.shに実行権限を渡します

chmod +x run_alphafold.sh

実行します

./run_alphafold.sh

こんな感じで実行されていきます。

img12.png

終了するとalphafoldフォルダ内にfastaファイル名のフォルダができます。

5. pdbファイルを開いてみましょう

出来上がったフォルダの中に.pdbファイルがありますが、pdbのviewerがないと3D画像を見ることができません。
無料のソフト等沢山ありますので、インストールしておくとよいでしょう。
また、PDBのサイトにアップするとみることもできます。

  1. PDBの3D view サイトを開きます
    img13.png

Open Filesでファイルを選択すると3D画像が表示されます(ドラッグアンドドロップでも可)

ex.緑色蛍光タンパク質1EMAの3D(Alphafold実行時間 2時間かかりました)
1EMA.png
クリックすると拡大表示されます
1EMA_1.png
ちなみに次は緑色蛍光タンパク質1EMAにカルシウムがくっついた3D(Alphafold実行時間 22時間かかりました)
7fhk.png

ーーーーーーーーーーー
うまく行かなくて苦労した点、初心者がやらかした失敗点

  • databaseをDownload した後フォルダ名を別名に変更しました。path等の記述もすべて変更しなおしたのに実行するとなぜか変更前のフォルダ名を探しに行ってしまい、Download した時点でどこかにフォルダ名が記録されているのではないかと思ったが、探せなかったので、結局元の名前に戻して実行したらうまくいきました。
  • databaseのダウンロードが途中でエラーが起きたため、削除し、再度ダウンロードをしたが、完全削除ではなくゴミ箱に捨てただけで再ダウンロードを実行したため、空き容量がなくなり、GUIでの削除ができなくなった。
  • alphafoldのdatabaseが同じSSDの中じゃないとうまく行かなかった
    ※500GBのSSDにalphafold,4TBのHDDにdatabaseと分けてインストールしたらうまく行かなかったので4TBのSSD1本で行いました。
  • Alphafoldのフォルダを一度削除して再インストールしたらインストールされないフォルダがあったminiconda関係
  • 仮想環境を一度削除しようと思ったが上記のやり方が仮想環境名を登録しないやり方だったため、仮想環境名がない仮想環境の削除方法を見つけるのに苦労した
  • bin/alphafold と run_alphafold.sh の両方に実行権限が必要だった
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3