使用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 脚本批量创建(推荐):importjsonimportos# 你的序列列表(可以从 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)foriteminsequences: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")withopen(filename,'w')asf: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?
告诉我你的具体输入类型(单蛋白、多聚体、带小分子等)和数量,我可以给出更精准的方案。