分子对接参数介绍:搜索算法、评分函数与柔性设置
分子对接的核心,说白了就是一把钥匙开一把锁。但这里的“锁”和“钥匙”都在动——配体在三维空间里翻转跳跃,受体的侧链也在悄悄摆动。要把这个匹配过程算准,就得把三个关键参数吃透:搜索算法、评分函数、柔性设置。
我刚开始做对接那会儿,经常一股脑把默认参数全点上。结果呢?算出来一堆假阳性,实验验证全翻车。后来才明白,这三样东西不是孤立选的,它们之间互相影响,牵一发动全身。今天咱们就把它们逐个拆开聊。
搜索算法:怎么找到最佳姿势
搜索算法负责在构象空间里寻找配体与受体的最优结合姿态。你可以把构象空间想象成一座连绵起伏的山脉——有高峰有低谷,我们的目标就是找到最深的那条峡谷(全局最低能)。
常用的几类搜索算法我列在下面,你在项目里碰到最多的应该是遗传算法和模拟退火。
| 算法类型 | 代表软件/方法 | 特点 | 我个人习惯 |
|---|---|---|---|
| 遗传算法 (GA) | AutoDock, GOLD | 种群进化,全局搜索能力强,适合大配体 | 种群大小设150~200,代次数一般25~50 |
| 模拟退火 (SA) | AutoDock (部分版本) | 一开始跳得猛,后面慢慢收敛,容易陷入局部最优 | 我一般只在配体柔性度低时用SA |
| 粒子群优化 (PSO) | PSO-Dock, PLANTS | 速度快,但参数敏感 | —— |
| 系统搜索 | Glide SP/XP | 穷举旋转键角度,精度高但极慢 | 只用于配体可旋转键≤8的小分子 |
| MC / MD引导 | RosettaLigand, CHARMM | 结合分子动力学,柔性考虑充分 | 很暴力但计算量大,适合精修 |
避坑指南:我曾经在一个激酶项目里用了默认的遗传算法参数,跑了48小时,最后top排名全是假构象。后来把迭代次数翻倍、加入局部极小值扰动,才找到实验验证正确的结合模式。别信默认值,尤其是配体比较“胖”的时候。
你想想看,如果搜索算法没跑够,评分函数再准也没用——因为你根本没让评分函数看见真正的好解。我通常的做法是:先用快速算法(如GA 20代)过滤一批,再用精细搜索(GA 100代或系统搜索)做二次精炼。这叫“粗筛+精修”,效率和质量都能兼顾。
评分函数:怎么打分才准
评分函数就是对接的审美标准——它判断哪些姿势更可能成为现实。但问题是,每种评分函数都有先天的“偏见”。
我把主流评分函数按推导方法分成三类,用一张表格看清楚它们的长处和短板。
| 类型 | 核心思想 | 速度 | 结合自由能预测 | 我在项目里的感受 |
|---|---|---|---|---|
| 经验力场 | 直接使用或拟合分子力场的范德华+静电+氢键项 | ★★★★★ | 偏差大,需要线性修正 | 适合初筛,但绝对能量不要信 |
| 半经验 (回归) | 用实验数据拟合权重,如ChemScore、PLP | ★★★★ | 中等,对疏水项敏感 | 我个人觉得ChemScore在多数靶点上比经验力场更稳 |
| 基于知识 | 统计晶体结构中原子对的偏好分布,算出势能 | ★★★★ | 差(无法外推到结合常数) | 用来排除明显不合理的姿势很有效 |
| 机器学习 (ML) | 用RF、XGBoost或NN训练打分模型 | ★★★ | 潜在高,但过拟合风险大 | 我只在训练集覆盖足够宽的靶点族上用ML评分 |
小诀窍:不要只依赖一种评分函数。我习惯至少用两种不同类型的评分函数做交叉验证。如果两者都排第一的姿势不一样,那说明至少有一个评分函数在骗你。但这不是坏事,反而提示你需要做更详细的结合自由能计算(如MM/GBSA)。
评分函数还有一个致命问题——它对水分子、离子、辅因子的贡献处理得都很粗糙。我以前做过一个靶点,活性位点里有两个结晶水,默认把水全删了对接,结果结构完全错位。加上结晶水并用“水分子的旋转与平移自由度”进行优化后,评分才合理。
柔性设置:锁和钥匙到底谁能动
柔性设置决定了计算模型里允许哪些原子动起来。这是个平衡艺术——动得越多越真实,但计算量也越可怕。
- 刚性对接:受体和配体都是刚体,只有平移和旋转自由度。极快但忽略诱导拟合。只适用于“锁孔固定”的经典场景,比如已知结合模式附近的微调。
- 半柔性对接:配体完全柔性,受体保持刚性或只允许特定侧链柔性。这是最常用的模式,90%的对接项目都选它。AutoDock、Glide、GOLD的默认模式都是半柔性。
- 全柔性对接:受体与配体所有骨架和侧链都能动。听起来完美,但计算量大到爆炸(单次对接可能要跑数小时甚至数天),而且会引入大量噪声。
- 局部柔性/侧链柔性:只允许活性口袋内指定残基的侧链旋转。这是一个折中方案,我特别推荐用于口袋有罕见构象变化的靶点。
注意:我见过很多同学把配体所有可旋转键都打开了,觉得“越柔性越精确”。实际上,可旋转键数超过10~12个时,搜索空间爆炸,遗传算法根本找不到正确解。正确的做法是:用Rotatable Bonds分析工具先看看哪些键的旋转对结合模式影响大,只保留关键二面角。
我曾经在一个CDK2项目里做过对比:半柔性对接(全部侧链固定)和局部柔性(口袋内3个关键残基侧链柔性),两者对实验结合模式的RMSD分别为2.3 Å和1.1 Å。多花20%的计算时间,精度提升一倍。这个投资值得。
小结一下我自己的经验框架:
- 新靶点、新配体系列 → 先用半柔性 + GA + 半经验评分快速筛选 → 前20个候选做局部柔性精修
- 已知结合模式需要微调 → 刚性或半柔性 + 系统搜索 + 经验力场
- 口袋有诱导拟合证据 → 局部柔性(3~5个残基)+ 遗传算法(代数翻倍)+ 至少两种评分交叉验证
你在参数调试时可以把这些参数记在本子里:种群大小、迭代代数、旋转键个数、柔性残基列表、评分函数权重。每次调参只为解决一个具体问题,不要同时改三个参数。我就曾一个晚上改四个参数,第二天全忘光了啥组合对应啥结果。保持实验记录习惯,比任何技巧都管用。