4、分子对接参数总览:梳理影响对接结果的常见参数类别
我通常跟团队新人说,分子对接的参数调优不是玄学。你只要搞懂三类核心参数——搜索算法、打分函数、构象采样,就能掌控90%的对接质量。这三类参数各管各的,但最终一起决定结果。说白了,它们就像汽车的发动机、方向盘和悬挂——分开看都不复杂,搭配不好就翻车。
下面这张图把整个参数体系串起来了。后面我们一个一个拆开讲。
4.1 搜索算法:决定用什么策略找最优结合姿势
搜索算法说白了就是决定怎么在空间里翻找配体的最佳位置和朝向。你想想看,一个配体分子有六个刚性自由度(平移+旋转),再加上内部可旋转键,搜索空间动不动就是几十维。用什么策略去搜,直接决定了你能不能找到真正的结合模式。
常见的搜索算法有这么几类:
- 遗传算法(GA)——模拟自然选择,种群进化。对多峰搜索空间很稳,是我个人比较偏爱的一类。
- 模拟退火(SA)——从高温慢慢冷却,避免卡在局部最优。适合做精细搜索。
- 粒子群优化(PSO)——群体协作,收敛快,但容易早熟。
- 系统搜索——穷举或网格遍历,精度最高,但速度最慢,一般用于小分子体系。
我记得有一次做激酶抑制剂项目,用GA跑一直找不到稳定的解。后来把种群大小从50调到300,结果才收敛。嗯,这里要注意——GA的种群大小、变异率、交叉率都得针对你的体系去试,没有万能模板。
下面是一个典型的AutoDock Vina配置文件,exhaustiveness参数就控制搜索的充分程度:
receptor = receptor.pdbqt
ligand = ligand.pdbqt
center_x = 12.5
center_y = 18.3
center_z = -5.2
size_x = 22
size_y = 22
size_z = 22
exhaustiveness = 8
num_modes = 9
energy_range = 3
exhaustiveness越高,搜索越充分,但耗时也越长。我在项目中通常从8开始,如果结果不稳定再往上加。
4.2 打分函数:用什么尺子评价结合好不好
打分函数就是给每个对接姿势算分数的工具。说白了,你搜出来一百个姿势,哪个最好?打分函数说了算。它直接决定了你能不能从噪声中挑出真正的结合模式。
打分函数分四大类,每类的原理和适用场景都不一样:
| 类型 | 原理 | 代表 | 优缺点 |
|---|---|---|---|
| 基于力场 | 用物理方程算结合能 | MM-PB/SA, Amber | 物理意义强,但计算慢 |
| 基于经验 | 拟合实验数据得到公式 | ChemScore, PLP | 速度快,但依赖训练数据 |
| 基于知识 | 从已知结构中提取原子对偏好 | DrugScore, PMF | 对已知体系好,外推差 |
| 机器学习 | 用神经网络或随机森林学打分 | NNScore, RF-Score | 潜力大,但易过拟合 |
我在项目中遇到过打分函数完全失灵的情况——某个打分函数对A体系表现很好,换到B体系排名全乱套。后来我养成了一个习惯:不要迷信单个打分函数,用共识打分(consensus scoring)更靠谱。至少选两个不同类型的打分函数,取它们排名的交集,这样虚报率会低很多。
4.3 构象采样:怎么处理分子柔性
受体和配体都不是铁板一块。它们会在结合过程中扭来扭去、调整形状。怎么处理这种柔性,就是构象采样要解决的问题。
构象采样分三个层次:
- 刚体对接——配体和受体都锁死,只做平移旋转。速度最快,但精度有限。适合大库初筛。
- 半柔性对接——配体可旋转键自由转动,受体保持刚性。速度和精度的黄金平衡点,我建议从这种方式开始。
- 全柔性对接——配体和受体都柔性。计算量大,但最贴近真实结合过程。适合做候选化合物的精修。
还有一个关键参数是扭转角步长。步长设太粗,会漏掉关键构象;设太细,计算量爆炸。我曾经在一个多肽对接项目中,把步长从30度改成10度,对接排名立马变了——30度时完全错过了活性构象。
给你一个经验值范围:
# 扭转角步长参考
# 快速粗筛: 30度
# 标准精度: 15度
# 高精度: 5-8度
嗯,具体用哪个取决于你的算力预算和项目阶段。先粗后精,这是铁律。
4.4 参数间的协同与制约
这三类参数不是各干各的。它们之间有一条隐形链条:
- 搜索算法决定了你能探索多大的空间。
- 构象采样决定了你在每个区域采多少样、采多细。
- 打分函数决定了你用什么标准来评价采到的样本。
你想想看,如果搜索算法很强但构象采样步长太粗,好姿势被漏掉了,打分函数再准也没用。反过来,构象采样很精细但搜索算法太弱,只在局部区域打转,同样找不到全局最优。这三者必须匹配。
我曾经遇到一个案例:团队用高精度打分函数配合粗步长构象采样,折腾了一个月结果还是不对。后来我把步长从30度调到10度,同时把exhaustiveness从4提到12,结果一周就出了理想结果。说白了,参数组合拧对了,效果翻倍。
调试参数时,我习惯先固定打分函数和搜索算法,调构象采样步长;步长稳定后再调搜索算法参数;最后换打分函数做验证。这样每一步都有可追溯的记录,出了问题也能快速定位。