294

Bohrium Uni-Mol Docking:在线 Docking 服务如何定位

Bohrium 上的 Uni-Mol Docking 在线服务把对接能力做成云端产品。这篇讲清在线计算服务的定位、适用场景与选择时的判断。

Bohrium 是深势科技(DP Technology)的科学计算云平台,Uni-Mol Docking 是其上的在线对接服务:上传受体与配体,在云端跑基于 Uni-Mol 的深度学习对接(见 188《Uni-Mol Docking V2》),拿到结合姿势。它代表了一类产品形态:把某个具体的计算能力做成即开即用的云服务

在线计算服务的定位

适合 不适合
快速试用某个方法 大规模批量计算
没有 GPU 的团队偶尔用 需要深度定制参数
验证是否值得自建 敏感数据
教学与演示 需要中间产物做深入分析
与其他方法交叉验证 要求严格可复现的生产流程

最实际的用法是「交叉验证」:本地跑 Vina 和 GNINA,再用在线服务跑一次深度学习对接,看三条不同原理的路线是否指向同一结合模式。三者一致的姿势,可信度远高于任何单一方法的高分。

使用时的判断要点

  • 数据保密优先:上传的受体结构与配体结构会离开本地。未公开的靶点、专有化合物不应提交。这一条应在评估功能之前先确认。
  • 结果可复现性:在线服务的模型版本可能更新,同样输入在不同时间可能给出不同结果。重要结论应记录运行日期与版本信息。
  • 参数可控性有限:网页界面通常只暴露少数参数,无法做精细调整。
  • 仍需做物理检查:深度学习对接的姿势可能有键长键角问题或空间冲突,拿到结果后应过一遍 PoseBusters 类检查,并做能量最小化。
  • 费用模式:按计算量计费时,注意成本控制。

本地部署的对照

# 如果确认这个方法有用,本地部署并不难
git clone https://github.com/deepmodeling/Uni-Mol.git
cd Uni-Mol/unimol_docking_v2
pip install -e .

# 本地跑,数据不出内网,参数完全可控
python interface/demo.py --mode single --conf-size 10 --cluster \
  --input-protein receptor.pdb --input-ligand ligand.sdf \
  --input-docking-grid grid.json \
  --model-dir ckpt/unimol_docking_v2.pt

决策逻辑很简单:在线服务用于「试」,本地部署用于「用」。试用阶段省掉部署成本很合理;一旦确认要纳入常规流程,本地部署在数据安全、可复现性、成本、可控性上都更好。

对接方法的选择框架

无论用什么服务,方法选择的逻辑是一致的:

  • 超大规模初筛:Vina / smina,快且成本可控(见 182《AutoDock Vina》);
  • 中等规模 + 重排序:GNINA 的 CNN 重打分(见 183《GNINA》);
  • 口袋未知:DiffDock 等盲对接方法(见 184《DiffDock》);
  • 关注姿势物理合理性:Uni-Mol Docking V2(见 188《Uni-Mol Docking V2》);
  • 最终精化:MM/GBSA 或 FEP(见 201《OpenFE》);
  • 永远的前提:先做重对接验证(RMSD ≤ 2 Å),做不到就说明准备或口袋定义有问题,后面的结果都不可信。

提示

在线服务的功能、定价与模型版本变动较快,本文为方向性介绍。核心提醒:敏感结构不应上传外部服务;在线试用适合评估方法,确认有用后建议本地部署。

延伸资源