批量构造 · 先筛,再构造
给一批结构(AF 模型 / 实验结构)和一个目标位姿,逐模型跑 「6-DOF → 全原子闭合 → OpenMM 收尾」,输出:能不能到、RMSD、残余冲突、gap。 单模型 1–2 分钟;先过批量质量门,再挑 10–20 个构造,是成本最低的顺序。
漏斗
100输入模型
30质量门可用(1–3 s/个)
15构造可交付(1–2 min/个)
3–5值得进 MD/实验
20 任务内测(4AKE × 5 切点 × 4 角度,经公网 API)
成功20/20
全链 0 冲突20/20
单例中位32 s
gap 中位1.33 Å
逐条结果:server/test_20_result.json;最长 93 s,4 并发总耗时 9 分钟。
五个已交付案例
| 案例 | 构造 → 位姿 RMSD | 冲突 | gap | 档 |
|---|---|---|---|---|
| AdK 4AKE → 1AKE | 6.06 Å(模板 7.13) | 0 | 1.34 Å | 0 |
| PKA 1ATP(轴 15°) | 0.25 Å(模板 1.56) | 0 | 1.33 Å | 0 |
| ABL 2HYY(轴 20°) | 0.29 Å(模板 2.03) | 0 | 1.33 Å | 0 |
| EGFR 1M17(轴 20°) | 0.20 Å(模板 2.93) | 2 | 1.32 Å | ≤3 |
| CaM 1CLL(轴 25°) | 0.11 Å(模板 2.15) | 0 | 1.34 Å | 0 |
注意:AdK 是唯一“实验对账”的案例,且只是“比模板更接近”,不是“命中实验”;其余为给定位姿的构造。
批量接口
POST /api/construct(PDB + pos/axis/angle)→ job id;GET /api/jobs/<id> 轮询;
GET /api/jobs/<id>/structure 下载。单机 8 核约 100 个/2–4 小时;生产建议队列 + 限流。
顺序建议
先用批量质量门把 100 个压到 30 个,再挑 10–20 个做批量构造; 构造失败的,回到质量门看是哪一条判据先出的问题,而不是直接换模型。