遺伝研スパコンでの alphafold 2.1 の実行
概略
遺伝研スパコンでは🔗alphafold 2.1(Yoshitaka Moriwaki 氏の🔗パッチ適用済み)をインストールした singularity image と alphafold 2.1 で使用するデータベースを /lustre7/software/alphafold/2.1.1/ に用意しています。
alphafold 2.1 によるタンパク質の立体構造予測は以下のステップで実行されます。
- jackhmmer による uniref90 データベースを対象とした入力アミノ酸配列の検索(CPU 使用)
- jackhmmer による mgnify データベースを対象とした入力アミノ酸配列の検索(CPU 使用)
- hhsearch による pdb70 データベース(単量体の場合)または pdb_seqres データベース(多量体の場合)を対象とした入力アミノ酸配列の検索(CPU 使用)
- hhblits による bfd データベース・ uniclust30 データベースを対象とした入力アミノ酸配列の検索(CPU 使用)
- 構造テンプレートを pdb_mmcif データベースより検索(CPU 使用)
- jackhmmer による uniprot データベース(多量体の場合)を対象とした入力アミノ酸配列の検索(CPU 使用)
- 機械学習による立体構造予測(CPU または GPU 使用)
- OpenMM による構造最適化(CPU または GPU 使用)
入力アミノ酸配列が多量体の場合、ステップ 1-6 は多量体を構成するサブユニットのアミノ酸配列ごとに実行されます。
デフォルトの設定では 5 つのモデルの構造予測を行うため、ステップ 7 ・ 8 は 5 回実行されます。また、ステップ 7 ・ 8 は CPU の他に GPU を使用できるため、CPU 用と GPU 用の singularity image をそれぞれ用意しています。
(実行時間の目安)
入力ファイルの準備
立体構造を予測するタンパク質のアミノ酸配列を 1 ファイルの fasta 形式で用意してください。対象タンパク質が多量体の場合は、構成するサブユニットのアミノ酸配列をすべて 1 ファイルに入力してください。同じサブユニットを複数含む場合は、その数だけ該当するサブユニットのアミノ酸配列を入力してください。
(入力ファイルのサンプル)
ジョブスクリプトの準備
/lustre7/software/alphafold/にジョブスクリプトのサンプルを用意しています。こちらを自分のホームにダウンロードして適宜修正して使用してください。
example_job_script_cpu.sh
GPU を使用しない場合のジョブスクリプトです。
#!/bin/sh
#$ -S /bin/sh
#$ -cwd
#$ -l s_vmem=160G
#$ -l mem_req=8G
#$ -pe def_slot 16
FASTAFILE="${HOME}/input/test.fasta"
OUTPUTDIR="${HOME}/output"
DATE="2021-11-12"
MODEL="monomer"
export OPENMM_CPU_THREADS=16
singularity exec \
-B /lustre7/software/alphafold/database:/data1/database \
/lustre7/software/alphafold/alphafold-2.1-CPU.sif \
/opt/alphafold/bin/alphafold \
--fasta_paths=${FASTAFILE} \
--output_dir=${OUTPUTDIR} \
--model_preset=${MODEL} \
--max_template_date=${DATE}
修正箇所
#$ -pe def_slot 16
export OPENMM_CPU_THREADS=16
使用する CPU コア数を 16 以上 128 以下で入力してください。両方の行に同じ数値を入力してください。
この値はステップ 8 で使用する CPU コア数を決定します。この値が大きければ大きいほどステップ 8 の処理が速くなります。
#$ -l s_vmem=160G
2560G / def_slot の値 を入力してください。
#$ -l mem_req=8G