三款主流对接软件深度对比:Vina、Glide、GOLD

做高通量虚拟筛选这些年,我接触过的对接软件少说也有七八款。但真正能在工业级筛选中站住脚的,其实就这三家:开源的AutoDock Vina、Schrödinger家的Glide、以及CCDC的GOLD。

这三款工具,说白了一个道理——没有最好的软件,只有最适合场景的工具。我在搭建筛选流程时吃过不少亏,今天把这些经验摊开来聊。

AutoDock Vina:开源界的扛把子

Vina是Oleg Trott在2010年推出的作品。它继承了AutoDock的衣钵,但换了全新的打分函数和优化算法。

核心优势:免费、速度快、容易部署。我个人做开始的初步筛选,十次有八次会用Vina。

Vina的评分函数基于经验打分,结合了成对相互作用的求和项。它的算法并不复杂——布谷鸟算法配合局部优化,但胜在足够鲁棒。

# 典型的Vina对接命令
vina --receptor protein.pdbqt \
     --ligand ligand.pdbqt \
     --out output.pdbqt \
     --center_x 12.0 \
     --center_y -8.5 \
     --center_z 5.2 \
     --size_x 22 \
     --size_y 22 \
     --size_z 22 \
     --exhaustiveness 8

优点:

  • 完全开源,可以查看和修改代码
  • 支持多线程并行,天然适合高通量
  • 输入输出格式简单,好做批处理脚本
  • 运行速度快,单配体一般几秒到几十秒

缺点:

  • 打分函数精度有限,尤其是对柔性侧链的处理
  • 无法处理水分子和金属离子的特殊配位
  • 缺乏图形界面,调试不够直观
  • 采样效率在低柔性区域不够均匀

避坑提醒:我曾经在一个项目中,用Vina对某个含锌离子的蛋白酶做过虚拟筛选。结果排名靠前的分子几乎全假阳性——Vina根本不认得锌离子的配位几何。后来我不得不给锌离子单独加了约束参数,才勉强把召回率提上去。

Glide:精度至上的帝王工具

Glide是Schrödinger公司的招牌产品。如果你问我哪款软件在蛋白—配体结合模式预测上最准,我肯定会说Glide——前提是你预算够。

Glide的核心创新在于“漏斗式”筛选策略。它先做粗粒度的栅格采样,然后逐步精细化。它独有的HTVS(High Throughput Virtual Screening)、SP(Standard Precision)和XP(Extra Precision)三级精度模式,让高通量筛选有了梯度选择。

# Glide对接命令示例(通过Schrödinger的Python API)
import schrodinger.application.glide.glide as glide

conf = glide.GlideConfig()
conf.receptor = 'protein.mae'
conf.ligand = 'ligands.mae'
conf.precision = glide.Precision.SP
conf.grid = 'grid.zip'
conf.output = 'glide_out.mae'
conf.nposes = 5

job = glide.run(conf)

优点:

  • 采样精度极高,XP模式的pose还原度堪称行业标杆
  • 内置Embrace算法,处理结合位点柔性更合理
  • 与Schrödinger生态无缝集成,分析管线的自动化非常顺畅
  • 对带金属蛋白、水分子介导结合的物理建模很细致

缺点:

  • 商业授权极其昂贵——说实话,一个小课题组根本扛不住
  • 计算资源消耗大,尤其XP模式,时间成本接近Vina的5到10倍
  • 依赖Maestro图形界面配置,命令行运维也有不小学习成本

我的经验:现在做真正的先导化合物筛选,我的策略是先用Vina做第一轮粗筛,砍掉70%的明显不合理分子。然后拿剩下30%用Glide的SP模式精筛。这样既保住了通量,又拿到了Glide的高精度打分——成本只要纯Glide方案的三分之一。

GOLD:遗传算法的老将

GOLD是CCDC公司开发的老牌工具,从1998年就开始服务学术界和工业界了。如果你研究的是含金属离子的酶,或者结合口袋特别不规则的情况,GOLD可能是你的首选。

GOLD的独特之处在于它用遗传算法做构象搜索,而不是传统的蒙特卡洛或梯度下降法。它不需要预先计算格点,而是动态评估配体与受体间的相互作用。

# GOLD配置文件片段(gold.conf)
GOLD_CONFIGURATION_FILE
GOLD_SYSTEM_DIR = /path/to/gold/system
RECEPTOR_FILE = receptor.mol2
LIGAND_FILE = ligand.mol2
FITNESS_FUNCTION = chemscore
SEARCH_EFFICIENCY = 200%
AUTOMATIC_SETTINGS = True
NUM_POSES = 10
ALLOW_EARLY_TERMINATION = True

优点:

  • 遗传算法对复杂搜索空间适应性极强
  • 原生支持金属配位键建模——这一点Glide也要向它学习
  • 打分函数多样化,GoldScore、ChemScore、ASP等可选
  • 处理柔性残基的能力很强,适合诱导契合场景

缺点:

  • 速度慢——遗传算法的天然短板,高通量时非常吃力
  • 结果稳定性不如Glide,相同参数跑两遍可能会有差异
  • 社区和技术支持不及Schrödinger,更新频率稍慢
  • 配置文件不直观,新手容易埋坑

避坑指南:我第一次用GOLD跑10万分子级的高通量时,以为默认参数就够了。结果跑了整整一个礼拜,才发现SEARCH_EFFICIENCY设成200%对大多数分子完全没必要。后来调整为100%,时间砍了一半,pose质量几乎没有变化。嗯,默认参数不一定是好参数。

三款软件核心指标对比

下面这个表我建议你收藏。高通量筛选的初期选型,就是在这几个维度间做权衡。

对比维度 AutoDock Vina Glide GOLD
授权方式 开源免费 商业付费(昂贵) 商业付费(中等)
核心算法 布谷鸟+局部优化 漏斗式层级采样 遗传算法
单配体速度 快(秒级) 中(分钟级) 慢(分钟到小时级)
打分精度(QM验证) 中等 高(尤其XP) 中等偏高
金属配位建模 弱 强 很强
高通量适用性 非常适用 适用(配合HTVS) 一般不适用
跨平台支持 Linux/macOS/Windows Linux为主 Linux/Windows
社区活跃度 极高 高(商业化支持) 中等

我的选型方法论

你可能会问:那我到底选哪个?我个人的思路是这样的。

如果你手头项目是百万级以上超高通量初筛,预算也不充裕——别犹豫,直接上Vina。配好蛋白预处理流程,写几层Shell脚本做批处理,配合HPC集群,一个周末就能跑完一轮。虽然误报率高一些,但作为第一道筛子是够用的。

如果你的项目已经到了先导化合物优化阶段,或者你研究的是GPCR这类对pose精度要求极高的蛋白——那就咬咬牙用Glide。XP模式的能量分解报告,能直接指导你做官能团改造。

而GOLD嘛,它的位置在两者之间。当你面对那些带金属辅因子、或结合口袋异常灵活的蛋白时,GOLD偶尔能给你意想不到的好结果。不过说实话,在纯高通量场景下它确实不太合适当主力。

三款对接软件选型决策流 虚拟筛选项目启动 高通量初筛 百万级配体库 精度优先的精筛 先导优化、GPCR 推荐:AutoDock Vina 免费 + 高速 + 易部署 推荐:Glide (XP/SP) 精度极高 + 商用服务 特殊场景:GOLD 金属蛋白 / 不规则口袋 可配合Vina做二次筛选

总结实战建议

说了这么多,我想给你三个摆在手边的建议。

建立分级筛选管道:别指望一把定胜负。我自己的管道永远是三层:Vina粗筛 → Glide SP精筛 → 分子动力学验证。三层过滤下来,命中率能稳定在20%以上。

场景驱动选型:如果是对接计算本身需要24小时内拿到百万分子结果——那Vina几乎是唯一选择。如果是10万分子以下且精度是生命线——就上Glide。遇到金属蛋白或奇怪的口袋——试试GOLD,哪怕只跑几千分子也值得。

别忽视输入数据质量:讲实话,再好的对接软件也是垃圾进垃圾出。我曾经花三个月调Glide的参数,结果发现是受体晶体结构选错了——绑定态结构用成了非绑定态。受体结构优化和配体电荷分配,比挑对接软件重要十倍。