SuperAPI AI 工具集

alphafold

数据与分析

查看项目

更新于 10-15 10:54

技能介绍

用途

AlphaFold 技能用于利用 AlphaFold2 进行蛋白质结构预测,以验证蛋白质设计的折叠是否正确。它适合在设计序列后评估其结构是否合理,例如验证设计序列能否正确折叠、预测蛋白质结构等。

主要能力

  • 通过 AlphaFold2 进行结构预测,提供多种运行方式:
    • Option 1:Modal(AlphaFold-Multimer)
    • Option 2:本地安装
    • Option 3:ESMFold2(快速单序列)
  • 支持单体和多聚体模型预设(monomer/multimer)。
  • 可配置参数包括:
    • --model_preset:默认 monomer,可选 monomer/multimer,用于选择模型类型。
    • --num_recycle:默认 3,范围 1-20,控制回收迭代次数。
    • --max_template_date:模板截止日期,格式 YYYY-MM-DD。
    • --use_templates:默认 True,可选 True/False,是否使用模板搜索。
  • 输出格式包括:
    • ranked_0.pdb(最佳模型)
    • ranked_1.pdb(次优模型)
    • ranking_debug.json(置信度分数)
    • result_model_1.pkl(完整结果)
    • msas/(MSA 文件)
    • features.pkl(输入特征)
  • 可从 result_model_1.pkl 中提取指标:plddt、ptm、iptm(仅多聚体)、predicted_aligned_error(PAE)。

使用方式

前置条件

要求 最低 推荐
Python 3.8+ 3.10
CUDA 11.0+ 12.0+
GPU 显存 32GB 40GB (A100)
内存 32GB 64GB
磁盘 100GB 500GB(用于数据库)

运行命令

Option 1:Modal(AlphaFold-Multimer)

cd biomodals
modal run modal_alphafold.py \
  --input-fasta sequences.fasta \
  --out-dir output/

GPU:A100 (40GB) | 默认超时:3600s

Option 2:本地安装

git clone https://github.com/google-deepmind/alphafold.git
cd alphafold

python run_alphafold.py \
  --fasta_paths=query.fasta \
  --output_dir=output/ \
  --model_preset=monomer \
  --max_template_date=2026-01-01

Option 3:ESMFold2(快速单序列)

printf '>protein|A\nMKTAYIAKQRQISFVK...\n' > seq.faa
uv run --with modal modal run modal_esmfold2.py --input-faa seq.faa

提取指标

import pickle

with open('result_model_1.pkl', 'rb') as f:
    result = pickle.load(f)

plddt = result['plddt']
ptm = result['ptm']
iptm = result.get('iptm', None)  # Multimer only
pae = result['predicted_aligned_error']

输出示例

成功运行输出示例:

$ python run_alphafold.py --fasta_paths complex.fasta --model_preset multimer
[INFO] Running MSA search...
[INFO] Running model 1/5...
[INFO] Running model 5/5...
[INFO] Relaxing structures...

Results:
  ranked_0.pdb:
    pLDDT: 87.3 (mean)
    pTM: 0.78
    ipTM: 0.62
    PAE (interface): 8.5

Saved to output/

良好输出标准:

  • pLDDT:> 85(均值,0-100 尺度)或 > 0.85(归一化)
  • pTM:> 0.70
  • ipTM:> 0.50(用于复合物)
  • PAE_interface:< 10

选择决策树

Should I use AlphaFold?
│
├─ What are you predicting?
│  ├─ Single protein → ESMFold (faster)
│  ├─ Protein-protein complex → AlphaFold/ColabFold ✓
│  ├─ Protein + ligand → Chai or Boltz
│  └─ Batch of sequences → ColabFold ✓
│
├─ What do you need?
│  ├─ Highest accuracy → AlphaFold/ColabFold ✓
│  ├─ Fast screening → ESMFold
│  └─ MSA-free prediction → Chai or ESMFold
│
└─ Which AF2 option?
   ├─ Local installation → Full control, slow setup
   ├─ ColabFold → Easier, MSA server
   └─ Modal → Recommended for batch

典型性能

任务规模 时间 (A100) 成本 (Modal) 备注
100 个复合物 1-2h ~$8 使用 MSA 服务器
500 个复合物 5-10h ~$40 标准任务
1000 个复合物 10-20h ~$80 大规模任务

每个复合物:使用 MSA 服务器时约 30-60s。

验证

find output -name "ranked_0.pdb" | wc -l  # Should match input count

故障排查

  • 低 pLDDT 区域:可能表示无序或设计不佳。
  • 低 ipTM:界面置信度低,检查热点。
  • 高 PAE 非对角线:链可能不相互作用。
  • OOM 错误:改用带 MSA 服务器的 ColabFold。

错误解释:

错误 原因 修复
RuntimeError: CUDA out of memory 序列过长 使用 A100 或拆分预测
KeyError: 'iptm' 对复合物运行了单体 使用 multimer 预设
FileNotFoundError: database 缺少 MSA 数据库 使用 ColabFold MSA 服务器
TimeoutError MSA 搜索慢 减少 num_recycles

适用场景

  • 验证设计序列能否正确折叠。
  • 预测蛋白质结构。
  • 蛋白质-蛋白质复合物预测(推荐 AlphaFold/ColabFold)。
  • 批量序列预测(推荐 ColabFold)。
  • 需要最高精度时(推荐 AlphaFold/ColabFold)。

限制

使用时需要满足较高的硬件要求(GPU 显存、内存、磁盘)。部分场景下更适合其他工具,例如单蛋白预测可选用更快的 ESMFold,蛋白-配体预测可选用 Chai 或 Boltz,无需 MSA 的预测可选用 Chai 或 ESMFold。此外,本地安装配置较慢,批量任务推荐使用 Modal。关于许可证、具体收费和官方支持的平台等信息,资料中暂未提供。

后续步骤:protein-qc 用于过滤和排序。