188

Uni-Mol Docking V2:开源 Docking 工作流体验

Uni-Mol Docking V2 用预训练模型做对接,在姿势合理性上明显改善,可纳入自有筛选流程。这篇讲清它相比第一代与其它深度学习对接方法的差别。

Uni-Mol Docking V2 是深势科技在 Uni-Mol 表示基础上的对接专用版本。它针对第一代深度学习对接方法最被诟病的问题——生成姿势物理上不合理——做了系统性改进,是这条路线里对「可用性」考虑得比较周到的一个。

部署

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 \
  --output-ligand-name out --output-ligand-dir predict_sdf \
  --model-dir ckpt/unimol_docking_v2.pt

需要 GPU 与预训练权重。输入需给出对接盒子(grid.json),属于口袋已知的定向对接,而非 DiffDock 那样的盲对接。

相比第一代改了什么

  • 物理合理性约束:显式处理键长、键角、空间冲突,大幅降低了生成畸变结构的比例。在 PoseBusters 这类物理有效性检查上的通过率是它的主要卖点。
  • 更大更干净的训练数据:扩充了训练复合物并做了更严格的数据清洗与去冗余。
  • 构象采样 + 聚类--conf-size 生成多个候选构象再聚类,缓解单次预测的偶然性。

放在整个方法谱系里

方法 范式 需要口袋 主要短板
AutoDock Vina 物理打分 + 搜索 打分与实测相关性弱
GNINA 搜索 + CNN 重打分 训练分布偏置
EquiBind 一步回归坐标 精度低、姿势畸变
DiffDock 扩散生成 物理合理性、apo 结构上下降
Uni-Mol Docking V2 预训练表示 + 约束生成 需已知口袋、依赖权重与算力

怎么评估要不要用

  • 先用自家体系重对接验证:拿几个内部靶点的共晶结构做重对接,看 RMSD ≤ 2 Å 的比例,和 Vina/GNINA 直接对比。官方基准成绩不能替代自家验证——训练集覆盖度不同,结论可能反转。
  • 务必检查物理有效性:即使它在这方面有改进,也要过一遍 PoseBusters,把不合格的姿势剔掉再分析。
  • 它不解决亲和力排序:和其它深度学习对接一样,姿势预测和结合强度排序是两回事,虚拟筛选的富集度仍需单独评估。
  • 成本核算:GPU 推理成本高于 Vina,超大规模筛选时通常放在第二级精化,而非第一道筛。

上手提示

  • 它的核心改进是姿势的物理合理性,这正是前代方法最弱的一环;
  • 需要指定口袋,不是盲对接,定位与 Vina 更接近;
  • 选型必须拿自家靶点做重对接对比,别只看公开基准;
  • 姿势准 ≠ 排序准,虚拟筛选富集度要单独验证。

延伸资源