使用Json文件批量执行Alphafold3 web server预测

使用 JSON 文件批量执行 AlphaFold 3 web server 预测 是目前最实用、可重复的批量提交方式之一,尤其适合处理几十到几百个蛋白/复合物预测任务。

AlphaFold 3 的官方 AlphaFold Server(https://alphafoldserver.com/)明确支持通过 JSON 文件批量导入任务(每个文件最多支持 100 个 job),但它目前没有公开的纯 API 可以完全自动化提交并轮询结果(需要浏览器登录操作)。下面是 2025–2026 年实际可行的几种方案,从简单到半自动化排序。

方案一:最推荐(官方支持)—— JSON 文件批量导入到 AlphaFold Server(半手动)

步骤

  1. 准备单个任务的 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 等多种分子类型
  1. 批量生成多个任务的 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}")
  1. 批量导入到 AlphaFold Server
  • 登录 https://alphafoldserver.com/
  • 点击右上角或 job 列表页的 “Upload JSON” 按钮
  • 支持一次上传 一个 JSON 文件(最多 100 个 job)
  • 或者准备一个 大 JSON(数组形式包含多个 job): [ { /* job 1 */ }, { /* job 2 */ }, ... ]
  • 导入后任务会出现在 Drafts(草稿) 列表中
  • 你可以批量选中 → 编辑(可选) → Run(每天免费配额 20 个 job)
  1. 结果下载
  • 每个任务完成后可下载 zip 包
  • zip 里面包含 _job_request.json(可直接复用修改后重新提交)

优点 & 限制

  • 优点:官方支持、最准确的 AlphaFold 3 模型、无需本地 GPU
  • 限制:每天 20 个 job 配额、需要手动点击 “Run”、无纯 API 自动化提交

方案二:本地批量运行 AlphaFold 3(完整自动化)

如果你有足够 GPU 资源,可以使用官方开源推理代码批量运行:

  1. 申请模型权重(非商业用途免费):https://github.com/google-deepmind/alphafold3
  2. 安装环境(Docker 或 conda)
  3. 使用 --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?

告诉我你的具体输入类型(单蛋白、多聚体、带小分子等)和数量,我可以给出更精准的方案。

文章已创建 4391

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部