AlphaFold2 (AlphaFold Ver.2.1.1)

AlphaFold2 は DeepMind社が開発したタンパク質立体構造予測プログラムです。

利用方法


$ module load AlphaFold/2.1.1
$ run_alphafold.sh                                       # オンラインヘルプの表示
$ run_alphafold.sh -o outdir -f input.fa -t 2020-05-14
実行コマンドは run_alphafold.sh です(これは AlphaFold2 の非Docker版実行スクリプトを当スパコンシステム向けに改修したものです)。

必須オプション
-o <output_dir>   Path to a directory that will store the results.

-f <fasta_path>   Paths to FASTA files, each containing a prediction target that
                  will be folded one after another. If a FASTA file contains multiple
                  sequences, then it will be folded as a multimer. Paths should be separated
                  by commas. All FASTA paths must have a unique basename as the basename is
                  used to name the output directories for each prediction.
                  (a comma separated list)

-t <max_template_date> Maximum template release date to consider
                  (ISO-8601 format - i.e. YYYY-MM-DD <= 2021-11-10). 
                  Important if folding historical test sets.
その他のオプション
(注1) 一部のオプションは 2.0.0 とは異なっています。
(注2) --db_preset, --model_preset だけでなく、それ以外の run_alphafold.py のオプションも指定可能です。
(注3) hhblitsの使用コア数は4,hmmsearch, jackhmmerの使用コア数は8で決め打ちですが、OpenMM の使用コア数は -n オプションで指定可能です(デフォルトは8)。
-n <openmm_threads>   OpenMM threads (default: 8)

--db_preset=<full_dbs|reduced_dbs>
                  Choose preset MSA database configuration (default: full_dbs)
                  - full_dbs    : full genetic database
                  - reduced_dbs : smaller genetic database config

--model_preset=<monomer|monomer_casp14|monomer_ptm|multimer>
                  Choose preset model configuration (default: monomer)
                  - monomer        : the monomer model
                  - monomer_casp14 : the monomer model with extra ensembling
                  - monomer_ptm    : monomer model with pTM head
                  - multimer       : multimer model

より進んだ利用方法


AlphaFold2 の全オプションを指定可能な実行コマンド run_alphafold.py もあります。利用法はオンラインヘルプ
$ run_alphafold.py
$ run_alphafold.py --helpshort
$ run_alphafold.py --helpfull
をご覧下さい。

(参考1)
run_alphafold.sh コマンドのジョブ
$ run_alphafold.sh -o outdir -f input.fa -t 2021-11-10
と同等の run_alphafold.py コマンドのジョブは以下の様になります。
PREFIX=/usr/appli/freeware/AlphaFold/2.1.1

run_alphafold.py \
  --output_dir=outdir \
  --fasta_paths=input.fa \
  --max_template_date=2021-11-10 \
  --db_preset=full_dbs \
  --model_preset=monomer \
  --data_dir=${PREFIX}/data \
  --bfd_database_path=${PREFIX}/data/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt \
  --mgnify_database_path=${PREFIX}/data/mgnify/mgy_clusters.fa \
  --template_mmcif_dir=${PREFIX}/data/pdb_mmcif/mmcif_files \
  --obsolete_pdbs_path=${PREFIX}/data/pdb_mmcif/obsolete.dat \
  --uniclust30_database_path=${PREFIX}/data/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \
  --uniref90_database_path=${PREFIX}/data/uniref90/uniref90.fasta \
  --pdb70_database_path=${PREFIX}/data/pdb70/pdb70 \
  --hhblits_binary_path=/usr/bin/hhblits \
  --hhsearch_binary_path=/usr/bin/hhsearch \
  --jackhmmer_binary_path=/usr/bin/jackhmmer \
  --kalign_binary_path=/usr/bin/kalign

(参考2)
run_alphafold.sh コマンドのジョブ
$ run_alphafold.sh -o outdir -f input.fa -t 2020-05-14 --model_preset=multimer
と同等の run_alphafold.py コマンドのジョブは以下の様になります。
PREFIX=/usr/appli/freeware/AlphaFold/2.1.1
export OPENMM_CPU_THREADS=8

run_alphafold.py \
--output_dir=out \
--fasta_paths=input.fa \
--max_template_date=2021-11-10 \
--db_preset=full_dbs \
--model_preset=multimer \
--data_dir=${PREFIX}/data \
--bfd_database_path=${PREFIX}/data/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt \
--mgnify_database_path=${PREFIX}/data/mgnify/mgy_clusters.fa \
--template_mmcif_dir=${PREFIX}/data/pdb_mmcif/mmcif_files \
--obsolete_pdbs_path=${PREFIX}/data/pdb_mmcif/obsolete.dat \
--uniclust30_database_path=${PREFIX}/data/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \
--uniref90_database_path=${PREFIX}/data/uniref90/uniref90.fasta \
--uniprot_database_path=${PREFIX}/data/uniprot/uniprot.fasta \
--pdb_seqres_database_path=${PREFIX}/data/pdb_seqres/pdb_seqres.txt \
--hhblits_binary_path=/usr/bin/hhblits \
--hhsearch_binary_path=/usr/bin/hhsearch \
--jackhmmer_binary_path=/usr/bin/jackhmmer \
--kalign_binary_path=/usr/bin/kalign

補足事項

  1. 利便性向上のため、以下のパッチを適用しています。
    - https://gist.github.com/YoshitakaMo/2625edeaaca40c5d4f7d1fff5eae319e
     
  2. 実行性能向上(OpenMM による構造最適化処理でGPUを使用)のため、以下のパッチを適用しています。
    - https://gist.github.com/YoshitakaMo/c263016185f8eaa43733febd8b26a129
     
  3. GPUを使用せずに計算した場合(APC, SDF キュー)、GPU, TPU, CUDA が無いといったメッセージや
    Very slow compile?
    といったメッセージが出ますが、無視して下さい。
     
  4. データベースのバージョン(日付)、は以下の通りです。
    データベース日付monomer,
    monomer_casp14,
    monomer_ptm
    multimer
    AlphaFold parameters2021/10/27--
    BFD database2019/03
    small version of BFD2021/08/03
    MGnify database2019/05
    Uniref90 database2021/06/16
    template mmCIF structures2021/11/06
    PDB obsolete.dat2021/11/06
    Uniclust30 database2018/08
    PDB70 database2021/11/10×
    Uniprot database2021/06/16×
    PDB seqres database2021/11/06×
  5. データベースファイルの置き場所は以下の通りです。
    PCクラスター(APC, APGキュー)/usr/appli/freeware/AlphaFold/2.1.1/data/
    大規模共有メモリサーバ(SDFキュー)/NVME/appadm/AlphaFold2/data/2.1.1/

ライセンス


AlphaFoldのソースコード自体のライセンスは Apache License, Version 2.0 ですが、モデルパラメータは Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) license ですので、商用利用はできません

関連ページ