用途
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 用于过滤和排序。