3. 常用分子对接软件概览

做分子对接这些年,我手里过过的软件少说也有七八种。AutoDock Vina、Glide、GOLD、DOCK……每个都有自己的脾气。今天我就把这几个“老伙计”拉出来聊聊,说说它们各自擅长什么,又该在什么场景下用。

先别急着上手调参。你得选对工具,后面的功夫才不白费。

分子对接软件选择框架 你的研究目标是什么? 高通量虚拟筛选 AutoDock Vina DOCK 先导化合物优化 Glide GOLD 根据数据规模/精度选择 提示 选择软件的核心逻辑:先明确任务类型,再根据数据量和精度需求匹配引擎。

3.1 AutoDock Vina:开源界的“万金油”

如果你刚入行,或者预算有限,Vina 基本是首选。它免费、开源、跨平台,而且社区极其活跃。我刚开始做对接那会儿,用的就是它。

Vina 的核心优势就一个字——快。它用了一种改良的蒙特卡洛算法,配合经验打分函数,能在几分钟内完成一个配体与受体的对接。对于虚拟筛选这种需要跑几千几万个分子的场景,Vina 简直是不二之选。

我的习惯:

做大规模虚拟筛选时,我一般先用 Vina 粗筛一遍,把排名前 10%-20% 的分子留下来,再用更精细的软件(比如 Glide)重新对接。这样既省时间,又不漏掉 good hits。

不过 Vina 也有短板。它的精度在标准测评集上大概在 60%-70% 之间,对于一些柔性很大的受体,或者结合模式非常特殊的配体,它可能会翻车。嗯,这里要注意——

避坑指南:

我曾经在一个项目中用 Vina 对接一个大环肽,死活得不到合理的构象。后来发现 Vina 处理不了环状结构的柔性。如果你对接的配体有环状结构且存在多种构象异构体,建议换 GOLD 或直接做 MD 模拟。

Vina 的命令行非常简洁,几分钟就能跑起来:

vina --receptor receptor.pdbqt --ligand ligand.pdbqt --config conf.txt --out output.pdbqt

其中 conf.txt 是配置文件,里面定义搜索盒子的大小和中心坐标。

3.2 Glide:Schrödinger 的精度担当

Glide 是商业软件 Schrödinger Suite 里的对接模块。如果你在学校或工业界有正版授权,那 Glide 几乎是最优解之一。它的精度在标准测评上能达到 80%-90%,尤其在打分函数上做得很细。

Glide 有三种模式:HTVS(高通量虚拟筛选)、SP(标准精度)、XP(额外精度)。说白了就是三个档次——模式越高,精度越好,但耗时也越长。

模式适用场景速度精度
HTVS百万级库的初筛极快一般
SP日常对接任务中等良好
XP先导化合物优化慢优秀

Glide 的得分函数里包含了氢键、疏水作用、π-π 堆积、静电势等多种能量项。它还有一个叫 GlideScore 的东西,就是把这些能量加权的总分。我个人习惯在 XP 模式下跑完后,再手动检查 GlideScore 的各个分解项,看看氢键项是否合理。

我的经验:

Glide 的网格生成非常关键。如果配体结合位点不是标准的“深口袋”形状,网格参数调一调能显著提升结果。尤其是那些表面局部有凹陷的位点,网格密度设成 tiny 可能漏掉重要相互作用,设成 fine 又太慢。我的建议是:先用 SP 模式粗调,再用 XP 模式精调。

3.3 GOLD:遗传算法与柔性对接的老牌劲旅

GOLD 是 CCDC 公司开发的产品,最大的特色是用了遗传算法来做构象搜索。你可能觉得遗传算法听起来不够酷,但 GOLD 在柔性对接上的表现是真的稳。

GOLD 支持配体全柔性,也支持受体侧链的柔性。对于结合口袋比较“狡猾”的情况——比如配体与受体存在明显的诱导契合效应——GOLD 往往能给出更合理的预测。

它的打分函数有好几种:GoldScore、ChemPLP、ASP、ChemScore。我个人最常用的是 ChemPLP,因为这个函数在维也纳公共数据集上的表现最均衡。

小技巧:

GOLD 的“GA 运行次数”参数默认是 10 次。如果你发现对接构象的 RMSD 分布很散乱,可以把运行次数加到 30 次甚至 50 次。这个开销不大,但能显著提升收敛性。

GOLD 的配置文件是文本格式的,可以手动修改:

GOLD CONFIGURATION FILE
autoscale = 1
vdw_correction = 1
n_flips = 5
flip_free_corners = 1
flip_amide = 1
flip_planar = 1
flip_pyramidal = 1
rotate_bond_angle = 0
popsiz = 100
maxops = 10000
select_pressure = 1.2
n_islands = 5
niche_sz = 2
crossover_freq = 95
mutatn_rate = 95

这里面的 popsiz(种群大小)和 maxops(最大操作数)是最关键的参数。对于大配体,我建议把种群调到 150。

3.4 DOCK:基于形状互补的经典算法

DOCK 是 UCSF 开发的免费软件,其核心思想是“形状互补”。它把受体口袋表示成一组球体(就是所谓的“球集”),然后让配体在这些球里寻找最佳位置。

DOCK 的优势在于对结合位点的形状敏感性。如果你要对接的受体有非常大而开放的口袋,或者配体没有明显的刚性骨架,DOCK 往往比 Vina 表现更好。

不过 DOCK 的预处理步骤相对繁琐。你需要先生成受体表面的分子表面(MS 文件),再把表面转化成球集,然后才能对接。这个过程对新手不太友好。我建议你用 UCSF Chimera 来辅助生成这些文件。

注意:

DOCK 的球集质量直接决定对接结果。球集太小会漏掉可能的结合位点,球集太大又会让配体漂移。我的做法是:先用一个已知活性配体去指导球集的生成,确保球集能覆盖配体的所有可能取向。

DOCK 的命令行示例:

dock6 -i dock.in -o dock.out

输入文件 dock.in 定义了受体、配体、得分函数、搜索策略等。其中最关键的是搜索策略选择:

grid_score_primary
grid_score_secondary
graph_matching
fixed_orientation
anchor_and_grow

anchor_and_grow 是 DOCK 最有特色的策略——它把配体拆分成“锚点”片段和“生长”片段,先匹配锚点,再逐步生长。这个策略对付线性分子非常有效。

3.5 选型对照与场景决策

好了,四个软件都介绍完了。可能有人会问:“那我到底该用哪个?”我的回答是:看数据。

下面的表格可以帮你快速决策:

场景推荐软件原因
百万级化合物库虚拟筛选AutoDock Vina速度快,批量处理能力强,免费
先导化合物优化,精度优先Glide XP打分函数成熟,分解项可解释
柔性受体或诱导契合效应GOLD遗传算法,天然支持侧链柔性
大而开放的口袋DOCK形状互补策略,适合体积大的配体
学术研究,参数可解释性要求高GOLD / Glide打分函数开源透明,适合科研分析

你想想看,如果手头有一千万个化合物要筛,你肯定不会用 Glide XP 一个个跑。反过来,如果老板给了你一个明确的目标分子让你优化,你也犯不着用 Vina 去测构象。工欲善其事,必先利其器——选对软件,就是“利其器”的第一步。

最后说一句:

没有任何一个软件是万能的。我的做法是,在项目开始前,先用 50-100 个已知活性的配体测试一下几个软件在本课题中的表现,谁最稳就用谁。这个“摸底测试”花不了多少时间,但能帮你少走很多弯路。