参考にしたサイトは
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
を開きます
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/ \
に変更しておきます
圧縮してダウンロードすると早いです
/alphafold/scripts/download_pdb_seqres.sh
を開きます
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"
に変更しておくと早いです
ダウンロードする場所を指定します
今回は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の場所とデータベースの場所を自分の環境に修正します。
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のサイトで入手できます。
-
PDBのサイトにアクセスし、
PDB Archive
にPDB ID
かタンパク質名
を入力 ex. 1EMA
-
アミノ酸配列が表示されるので、すべてコピーしてText Editorに貼り付ける
拡張子は.fasta
でalphafoldフォルダ内に保存しておきます
4. AlphaFoldを実行する
run_alphafold.sh
があるフォルダに移動
cd ${ALPHAFOLDDIR}
run_alphafold.sh
に実行権限を渡します
chmod +x run_alphafold.sh
実行します
./run_alphafold.sh
こんな感じで実行されていきます。
終了するとalphafoldフォルダ内にfastaファイル名のフォルダができます。
5. pdbファイルを開いてみましょう
出来上がったフォルダの中に.pdbファイルがありますが、pdbのviewerがないと3D画像を見ることができません。
無料のソフト等沢山ありますので、インストールしておくとよいでしょう。
また、PDBのサイトにアップするとみることもできます。
-
PDBの3D view サイトを開きます
Open Files
でファイルを選択すると3D画像が表示されます(ドラッグアンドドロップでも可)
ex.緑色蛍光タンパク質1EMAの3D(Alphafold実行時間 2時間かかりました)
クリックすると拡大表示されます
ちなみに次は緑色蛍光タンパク質1EMAにカルシウムがくっついた3D(Alphafold実行時間 22時間かかりました)
ーーーーーーーーーーー
うまく行かなくて苦労した点、初心者がやらかした失敗点
- databaseをDownload した後フォルダ名を別名に変更しました。path等の記述もすべて変更しなおしたのに実行するとなぜか変更前のフォルダ名を探しに行ってしまい、Download した時点でどこかにフォルダ名が記録されているのではないかと思ったが、探せなかったので、結局元の名前に戻して実行したらうまくいきました。
- databaseのダウンロードが途中でエラーが起きたため、削除し、再度ダウンロードをしたが、完全削除ではなくゴミ箱に捨てただけで再ダウンロードを実行したため、空き容量がなくなり、GUIでの削除ができなくなった。
- alphafoldのdatabaseが同じSSDの中じゃないとうまく行かなかった
※500GBのSSDにalphafold,4TBのHDDにdatabaseと分けてインストールしたらうまく行かなかったので4TBのSSD1本で行いました。 - Alphafoldのフォルダを一度削除して再インストールしたらインストールされないフォルダがあったminiconda関係
- 仮想環境を一度削除しようと思ったが上記のやり方が仮想環境名を登録しないやり方だったため、仮想環境名がない仮想環境の削除方法を見つけるのに苦労した
- bin/alphafold と run_alphafold.sh の両方に実行権限が必要だった