PSP - AlphaFold2 における Amber Relax の異常と MSA 検索の異常

私の CSDN へようこそ: https://spike.blog.csdn.net/
この記事のアドレス: https://spike.blog.csdn.net/article/details/131533695

アンバー

タンパク質構造の Amber Minimization アルゴリズムは、分子力場理論に基づいて、原子座標を繰り返し調整することでタンパク質の位置エネルギーを最小値に到達させ、タンパク質の三次元立体構造を最適化する手法です。アンバー最小化アルゴリズムは 2 つのステップに分かれています。

  • 最初のステップは最急降下です。これは、極小値に達するか最大ステップ数を超えるまで、位置エネルギー勾配の反対方向に原子を移動させます。
  • 2 番目のステップは共役勾配です。つまり、前の 2 回の勾配情報を使用して、局所最小値から飛び出して全体最小値を見つけるために、より適切な移動方向を計算します。

Amber Minimization アルゴリズムは、タンパク質構造内の不当な結合長、結合角、ファンデルワールス力を効果的に除去し、タンパク質構造の安定性と信頼性を向上させることができます。

1. アンバーリラックス異常

テスト ケース、T1104-D1_A117.fasta、構成CPU 10Memory 40Gi:

/nfs_baoding/chenlong/workspace_v2/af2-by-chenlong/mydata/casp15-fasta-idr2-56/T1104-D1_A117.fasta
# fasta
>A
XXEDSEVEAVAKGLEEMYANGVTEDNFKNYVKNNFAQQEISSVEEELNVNISDSCVANKIKDEFFAMISISAIVKAAQKKAWKELAVTVLRFAKANGLKTNAIIVAGQLALWAVQCG

異常: 進行状況がありませんrelaxed。test コマンドを使用して GPU をオンにし、モデルの数 ( -l 1) を 1 に設定します。

bash run_alphafold.sh -o mydata/results_v2/casp15-fasta-56-af2-idr2-outputs/ -f mydata/casp15-fasta-idr2-56/T1104-D1_A117.fasta -g true -r true -e true -l 1

ログ:

command args: --fasta_paths=mydata/casp15-fasta-idr2-56/T1104-D1_A117.fasta --output_dir=mydata/results_v2/casp15-fasta-56-af2-idr2-outputs/ --max_template_date=2022-04-01 --db_preset=full_dbs --model_preset=monomer --benchmark=false --use_precomputed_msas=true --num_multimer_predictions_per_model=1 --use_gpu_relax=true --logtostderr --use_saved_msa=false --run_only_msa=false --use_no_template=false

出力:

error: 'Amber minimization can only be performed on proteins with well-defined residues. This protein contains at least one residue with no atoms.' for T1104-D1_A117

理由: タンパク質配列中に未知のアミノ酸 X が出現するため、予測された構造は使用できませんAmber Minimization。X の代わりに A または G を使用することをお勧めします。

2.MSA検索例外

タンパク質の構造予測のために AlphaFold2 を実行する場合、大量のメモリを消費する必要があるため、最初に MSA を推論してから構造予測を実行することをお勧めします。bfd_uniref_hits.a3m全体的な推論速度は、検索例外を回避しながら、つまりパラメーターを追加しながら向上させることができます-h true

nohup bash run_alphafold.sh -o mydata/results_v2/casp15-fasta-56-af2-idr1-outputs/ -f mydata/casp15-fasta-idr1-56/ -h true > casp15.idr1-msa-only.out &
nohup bash run_alphafold.sh -o mydata/results_v2/casp15-fasta-56-af2-idr2-outputs/ -f mydata/casp15-fasta-idr2-56/ -h true > casp15.idr2-msa-only.out &

Bug1: 遇到Bug 「UserWarning: Flag xxx has a non-None デフォルト値」

たった今:

UserWarning: Flag --use_gpu_relax has a non-None default value; therefore, mark_flag_as_required will pass even if flag is not specified in the command line!

理由:use_gpu_relaxフラグのデフォルト値は None に設定する必要があり、True または False に設定することはできません。

Bug2: 遇到Bug 「MSA 1 には少なくとも 1 つのシーケンスが含まれている必要があります。」

理由:T1106s2-D1_A111_to_A107での MSA 検索例外により、空のファイルによる中断が発生しましたbfd_uniref_hits.a3m:

casp15-fasta-56-af2-idr1-outputs/T1106s2-D1_A111_to_A107/msas  # MSA 文件夹

解決策として、ファイルを変更しますalphafold/data/pipeline.py

...
bfd_out_path = os.path.join(msa_output_dir, 'bfd_uniref_hits.a3m')

# BugFix: MSA 1 must contain at least one sequence.
if os.path.isfile(bfd_out_path) and os.path.getsize(bfd_out_path) == 0:  # 判断文件是否为空
  logging.info('[CL] File bfd_uniref_hits.a3m is empty, remove it to avoid bug.')
  os.remove(bfd_out_path)

hhblits_bfd_uniref_result = run_msa_tool(
    msa_runner=self.hhblits_bfd_uniref_runner,
    input_fasta_path=input_fasta_path,
    msa_out_path=bfd_out_path,
    msa_format='a3m',
    use_precomputed_msas=self.use_precomputed_msas)
...

推論ファイルを再度実行すると、次のことが可能になります。

nohup bash run_alphafold.sh -o mydata/results_v2/casp15-fasta-56-af2-idr1-outputs/ -f mydata/casp15-fasta-idr1-56/ > casp15.idr1.out &

同時に、大容量のメモリのマシンを使用して最初に MSA を検索し、次に構造を推測することをお勧めします。完璧な解決策。

おすすめ

転載: blog.csdn.net/u012515223/article/details/131533695