使用 JSON 文件批量执行 AlphaFold 3 web server 预测 是目前最实用、可重复的批量提交方式之一,尤其适合处理几十到几百个蛋白/复合物预测任务。
AlphaFold 3 的官方 AlphaFold Server(https://alphafoldserver.com/)明确支持通过 JSON 文件批量导入任务(每个文件最多支持 100 个 job),但它目前没有公开的纯 API 可以完全自动化提交并轮询结果(需要浏览器登录操作)。下面是 2025–2026 年实际可行的几种方案,从简单到半自动化排序。
方案一:最推荐(官方支持)—— JSON 文件批量导入到 AlphaFold Server(半手动)
步骤
- 准备单个任务的 JSON 模板
官方示例在 GitHub 上有详细说明:
https://github.com/google-deepmind/alphafold/blob/main/server/README.md 典型简单蛋白结构预测 JSON 示例(单链蛋白):
{
"name": "MyProtein_001",
"modelSeeds": [1, 2, 3],
"sequences": [
{
"protein": {
"id": ["A"],
"sequence": "MADEEKLPPGWEKRMSRSSGRVYYFNHITNASQFERPQTYQTRVMEKD"
}
}
],
"dialect": "alphafold3",
"version": 1
}
- 多链复合物示例(蛋白+配体)参考官方文档或已运行任务的
_job_request.json - 每个任务可以包含 protein、dna、rna、ligand、ion、covalent 等多种分子类型
- 批量生成多个任务的 JSON 文件
使用 Python 脚本批量创建(推荐):
import json
import os
# 你的序列列表(可以从 CSV、TXT 读取)
sequences = [
{"id": "seq001", "name": "ProteinA", "seq": "MADEEKLPPGWEKRMSRSSGRVYYFNHITNASQFERPQTYQTRVMEKD"},
{"id": "seq002", "name": "ProteinB", "seq": "MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAGQEEYSAMRDQYMRTGEGFLCVFAINNTKSFEDIHHYREQIKRVKDSEDIPAVFVTRKRVD"},
# ... 更多序列
]
output_dir = "af3_jobs"
os.makedirs(output_dir, exist_ok=True)
for item in sequences:
job = {
"name": f"{item['name']}_{item['id']}",
"modelSeeds": [1], # 可加多个种子
"sequences": [
{
"protein": {
"id": ["A"],
"sequence": item["seq"]
}
}
],
"dialect": "alphafold3",
"version": 1
}
filename = os.path.join(output_dir, f"{item['id']}.json")
with open(filename, 'w') as f:
json.dump(job, f, indent=2)
print(f"生成: {filename}")
- 批量导入到 AlphaFold Server
- 登录 https://alphafoldserver.com/
- 点击右上角或 job 列表页的 “Upload JSON” 按钮
- 支持一次上传 一个 JSON 文件(最多 100 个 job)
- 或者准备一个 大 JSON(数组形式包含多个 job):
[ { /* job 1 */ }, { /* job 2 */ }, ... ] - 导入后任务会出现在 Drafts(草稿) 列表中
- 你可以批量选中 → 编辑(可选) → Run(每天免费配额 20 个 job)
- 结果下载
- 每个任务完成后可下载 zip 包
- zip 里面包含
_job_request.json(可直接复用修改后重新提交)
优点 & 限制
- 优点:官方支持、最准确的 AlphaFold 3 模型、无需本地 GPU
- 限制:每天 20 个 job 配额、需要手动点击 “Run”、无纯 API 自动化提交
方案二:本地批量运行 AlphaFold 3(完整自动化)
如果你有足够 GPU 资源,可以使用官方开源推理代码批量运行:
- 申请模型权重(非商业用途免费):https://github.com/google-deepmind/alphafold3
- 安装环境(Docker 或 conda)
- 使用
--json_path或--input_dir参数批量运行:
# 单文件
python run_alphafold.py --json_path=/path/to/job1.json --model_dir=/path/to/models --output_dir=/output
# 批量目录(所有 .json 文件)
python run_alphafold.py --input_dir=/jobs_folder --model_dir=/models --output_dir=/results
脚本会自动处理目录下所有 JSON 文件。
方案三:ColabFold / 社区工具生成 AF3 兼容 JSON(辅助批量准备)
- ColabFold 支持
--af3-json参数,可以批量生成 AlphaFold 3 兼容的 JSON 文件(但不运行预测) - 示例:
colabfold_batch input.fasta output_dir --af3-json
然后把生成的 JSON 上传到 AlphaFold Server。
快速总结建议(最实用路径)
| 需求 | 推荐方案 | 自动化程度 | 每天上限 | 需要 GPU |
|---|---|---|---|---|
| 少量任务(<20/天) | 直接用 web 界面 + JSON 导入 | 半自动 | 20 | 否 |
| 中等批量(几十-几百) | 脚本生成 JSON → 批量导入 web server | 半自动 | 20/天 | 否 |
| 大批量、高通量 | 本地/集群运行官方 AlphaFold 3 推理代码 | 全自动 | 无 | 是 |
如果你只是想批量预测几十个蛋白/复合物,强烈建议先用方案一:写 Python 脚本生成 JSON → 一次性上传 100 个 → 分批点 “Run”。
需要我帮你:
- 写更详细的批量生成 JSON Python 脚本(支持多链、配体、DNA 等)?
- 提供复合物/蛋白-小分子复合物的 JSON 示例?
- 说明如何从 CSV/Excel 表格批量转 JSON?
告诉我你的具体输入类型(单蛋白、多聚体、带小分子等)和数量,我可以给出更精准的方案。