4. 常用分子对接软件:AutoDock Vina、Glide、GOLD、DOCK的特点与选择
做药物设计这行,选对接软件就像选工具箱里的扳手。
我入行头两年,用过四五个不同引擎,踩过不少坑。
今天聊聊最主流的四个:AutoDock Vina、Glide、GOLD、DOCK。
每个都有脾气,用对了事半功倍。
4.1 AutoDock Vina:开源界的扛把子
Vina是我个人最常用的。
为啥?免费、快、社区活跃。
它的打分函数是基于经验的,用起来很稳。
我习惯拿它做大规模虚拟筛选的初筛。
一次跑几万个分子,Vina几分钟搞定。
但打分绝对值有偏差,别太迷信底部的亲和力数值。
然后直接用命令行跑批处理。
# 单分子对接命令示例
vina --receptor receptor.pdbqt --ligand ligand.pdbqt \
--center_x 0 --center_y 0 --center_z 0 \
--size_x 20 --size_y 20 --size_z 20 \
--exhaustiveness 8 --num_modes 9 \
--out output.pdbqt --log log.txt
4.2 Glide:精确度之王
Glide是我们药厂常用的商业软件。
贵,但精确度确实高。
Glide的SP和XP两种模式,差别很大。
SP模式适合高通量;XP模式是精修用的。
有一次我在优化一个激酶项目,Vina跑出来的结果排前十的分子,
用Glide XP一验证,三个根本对不上。
Glide的Induced Fit docking(IFD)也很牛,
能同时优化残基侧链构象。
学术版相对便宜但功能受限。
另外,Glide的预处理步骤繁琐,
蛋白准备、网格生成、配体准备缺一不可。
Glide最适合做核心化合物的结合模式精修。
尤其是你已经有初步的结合模式假设,
想看看侧链调整后能量变化。
# Glide SP & XP 对接命令(Schrödinger命令行)
$SCHRODINGER/glide -WAIT -HOST localhost:4 receptor_grid.zip ligand.maegz out_sp.maegz
# 从SP结果中提取前5个分子做XP
$SCHRODINGER/glide -WAIT -HOST localhost:4 receptor_grid.zip out_sp.maegz -JOBNAME refine -PRECISE
4.3 GOLD:柔性对接的标杆
GOLD是CCDC出的老牌子。
它的遗传算法做得特别好。
我做柔性对接时,第一个想到的就是GOLD。
为什么?GOLD可以处理配体和蛋白都是柔性的情况。
它的打分函数还有GoldScore、ChemScore、ASP三种。
我个人的经验是:GoldScore对氢键敏感,
ChemScore计算快但略粗糙,ASP适合新手不用调参。
GOLD有一个实用功能——结合模式聚类。
跑完100次遗传算法运行,会自动聚成几个候选模式。
这点在预测水分子介导的氢键时特别有用。
它的遗传算法每次运行要几秒到几十秒,
跑一万个分子,时间成本划不来。
剩下的候选分子用GOLD精修结合模式。
# GOLD对接配置文件关键部分
GOLD CONFIGURATION FILE
AUTOMATIC SETTINGS = 1
FITNESS FUNCTION = GoldScore
POPULATION SIZE = 100
SELECTION PRESSURE = 1.1
NUMBER OF ISLANDS = 5
NUMBER GENES = 100000
PUNCTUATION EQUILIBRIUM = 0.1
4.4 DOCK:无结构蛋白的利器
DOCK和前面三个画风不太一样。
它更强调基于形状的对接。
DOCK能处理无明确结合位点的蛋白,
用球集填充腔体来生成对接盒子。
我接触最多的是DOCK 6,它有个独特的anchor-and-grow算法。
先把配体分成刚性片段,逐个生长对接。
这种做法在遇到大分子配体时,效率惊人。
DOCK还有个冷门但很有用的功能:
可以做共价对接。
我在优化某共价抑制剂时,DOCK是唯一的可选。
需要自己写分子处理脚本,参数文件也复杂。
建议初学者先跑测试集,再跑实际项目。
不过,DOCK的粉丝多是做对接方法开发的。
商业项目里用得相对少一些。
# DOCK 6 对接命令(部分)
anchor_and_grow
ligand_atom_file ligand.mol2
conformer_search_type rigid
use_internal_energy yes
internal_energy_rep_exp 12
internal_energy_cutoff 100.0
ligand_outfile_prefix docked
flex_ligand_anchor_restraint 3
flex_ligand_torsion_sampling yes
flex_ligand_grow_restraint 2
4.5 四个软件的对比与选择
怎么能快速选对工具?
我按自己的经验列了个表,你扫一眼就明白。
| 场景 / 需求 | 推荐软件 | 理由 |
|---|---|---|
| 高通量虚拟筛选 | AutoDock Vina | 免费、批处理速度快、社区资源多 |
| 结合模式精修 | Glide XP / IFD | 打分精确,考虑侧链柔性 |
| 柔性对接 / 水分子介导 | GOLD | 遗传算法优化更好,支持水分子预测 |
| 无结合位点 / 共价对接 | DOCK | 基于形状的球集填充、共价对接原生支持 |
| 学术研究 / 方法开发 | DOCK 或 Vina | 开源、可读性好、可自由修改打分函数 |
| 大型制药企业流程 | Glide + GOLD | 商业支持、细节控制好、实验验证率高 |
选软件前,先问清楚自己三个问题:
1. 预算允许用商业软件吗?
2. 我关心的是位置准还是打分准?
3. 蛋白有晶体结构吗?
这三个问题定下来了,就好选了。
Vina便宜快,Glide精贵,GOLD柔,DOCK专。
混着用才是真高手。
4.6 知识结构一览
下面这张图是我自己画的,
把四个软件的核心定位、最佳场景和关键指标串起来了。
你保存下来,以后选软件时扫一眼就行。
4.7 实战避坑指南
这些年我踩过的坑,列成几条醒目的经验:
1. 别直接用默认参数跑所有项目——每个蛋白的盒子大小至少要微调两次。
2. 配体预处理很重要,加氢方向、质子化状态搞错了,对接全瞎忙。
3. 永远跑至少三个种子数,看结合模式是否一致,不一致就别信。
4. 商业软件(Glide、GOLD)一定要跑完验证集——不然你都不知道它在你的体系里表现如何。
5. DOCK的球集文件尽量手动校核,自动生成的很多时候不适合活性位点形态。
从那以后,我坚持:
“先用Vina粗筛 → 再用Glide精修 → 最后用GOLD跑一次柔性验证”。
三管齐下,基本不翻车。
好了,四个软件就聊到这儿。
下一章我们聊聊结合模式打分函数的设计逻辑,
这事儿更底层,搞懂了才能自定义打分。