ref2015 评分函数:骨架、权重与变体
好了,各位,我们终于来到了重头戏。ref2015 可以说是 Rosetta 评分函数家族里最经典、应用最广的一个成员了。从蛋白-小分子对接,到蛋白-蛋白复合物结构预测,甚至是抗体设计,你都能看到它的身影。
我个人习惯把 ref2015 看作一把「瑞士军刀」。它不是为某个特定问题设计的,而是力求在多种场景下都给出一个相对合理的能量评估。这一节,我们就把它拆开看看,里面到底装了些什么「零件」。
ref2015 的核心组成
说白了,ref2015 是一个 线性组合 的评分函数。什么意思?就是它把不同类型的能量项加起来,每一项乘以一个权重,最后得到一个总分。
能量总分 = Σ(权重 × 能量项)
ref2015 的能量项可以大致分为三大类:
- 物理化学项:模拟真实的物理作用力,比如范德华力、静电作用、氢键、溶剂化效应等。
- 统计势项:从已知的蛋白质结构数据库中统计出来的经验项。比如某些二面角组合出现的频率,用来约束主链和侧链的构象。
- 参考能量项:这个是 ref2015 名字的由来(reference)。它校正了不同氨基酸在不同环境下的「背景能量」,避免评分函数偏向某种特定的氨基酸类型。
嗯,这里要注意:「参考能量」和「溶剂化」这两个项,是 ref2015 从之前的版本(如 talaris2013)改进的关键。没有它们,评分函数很容易给出不合理的打分。
能量项与权重
下面这张表列出了 ref2015 的主要能量项及其默认权重。这可是实际干活用的参数,我把它们记下来。
| 能量项 | 描述 | 权重 | 我的理解 |
|---|---|---|---|
fa_atr |
全原子吸引性范德华 | 0.80 | 模拟原子间的伦敦色散力。我在对接项目中,经常用它来判断配体是否「卡」进了结合口袋。 |
fa_rep |
全原子排斥性范德华 | 0.44 | 空间冲突的惩罚项。稍微有点大,结构就会剧烈变化。 |
fa_sol |
Lazaridis-Karplus 溶剂化能 | 1.05 | 评估原子从气相转移到水相的能量变化。我曾经在优化一个极性配体时,全靠调这项目的经验来改善打分。 |
fa_elec |
全原子静电势 | 0.70 | 库仑静电相互作用。 |
hbond_lr_bb |
主链-主链长程氢键 | 1.17 | 主要针对蛋白质二级结构中的氢键。 |
hbond_sr_bb |
主链-主链短程氢键 | 0.585 | 局部氢键,比如螺旋和片层内的。 |
hbond_bb_sc |
主链-侧链氢键 | 1.17 | 侧链官能团与主链形成的氢键。 |
hbond_sc |
侧链-侧链氢键 | 1.10 | 侧链之间的直接氢键。 |
rama |
Ramachandran 偏好性 | 0.20 | 基于统计势,鼓励主链二面角落在允许区域。 |
omega |
Omega 二面角偏好性 | 0.50 | 肽键平面的顺反异构偏好,主要是反式。 |
fa_dun |
侧链旋转异构体库 | 0.56 | 侧链构象的统计势。低分通常意味着侧链「扭」得不自然。 |
p_aa_pp |
氨基酸主链偏好性 | 0.64 | 特定氨基酸在 phi/psi 空间的偏好。 |
ref |
参考能量 | 1.00 | 这是 ref2015 的「灵魂」。它校正了不同氨基酸的内在能量差异。 |
你看,氢键相关项就有 4 个不同的权重。这说明 Rosetta 对氢键的刻画非常细致。在做结合亲和力预测时,配体和受体之间的 氢键网络 常常是决定打分高低的关键。我经常建议大家,在分析结果时,不要只看总分,把这几个氢键项单独拉出来看看,往往能发现一些有趣的东西。
权重是固定的吗?
不,当然不是。这些默认权重是经过大量蛋白结构恢复测试和最小化优化得来的。但遇到特殊情况,比如你的体系中存在大量金属离子,或者你在做膜蛋白,那可能就需要调整权重。Rosetta 提供了一套完整的权重调整框架——权重文件。
举个例子,如果你想关掉静电项,可以创建一个自定义权重文件:
# custom.wts 文件内容
fa_atr 0.80
fa_rep 0.44
fa_sol 1.05
fa_elec 0.00 # 把静电权重设为零
hbond_lr_bb 1.17
... (其余保持默认)
然后通过命令行传递这个文件:
$Rosetta/main/source/bin/score_jd2.linuxgccrelease \
-in:file:s complex.pdb \
-score:weights custom.wts \
-out:prefix custom_
不过,我要提醒一句:调整权重是个技术活,而且很容易掉坑里。我曾经为了优化一个体系的打分,把静电项权重提得过高,结果导致结构偏好性打分异常,反而让预测结果变得更差。后来我学乖了,不到万不得已,尽量不动权重。如果真的需要,至少保证其他项不变,一次只调一个。
常见的 ref2015 变体
ref2015 不是孤立的,它有一个「家族」。不同变体针对不同场景做了微调。下面列出几个我常用的:
| 变体名称 | 特点 | 权重来源 | 我的评价 |
|---|---|---|---|
ref2015 |
原始版本,通用性强。 | 标准权重文件 | 首选,适用于大部分蛋白-配体系。 |
beta_nov16 |
beta 版本,改进了一些能量项,特别是溶剂化和参考能量。 | 独立权重文件 | 有时候比 ref2015 更准,但不稳定。我在重复一个经典实验时,发现它的氢键项表现更好。 |
genpot |
通用势,尝试平衡不同分子类型的评分。 | 独立权重文件 | 用于多肽或小分子对接时,可以考虑。 |
relax2015 |
专门用于结构弛豫(relax)的评分函数。 | ref2015 微调 | 内部权重略有调整,更适合在最小化过程中引导结构。 |
talaris2014 |
ref2015 的前身。 | 权重略有不同 | 历史版本,我一般做回归测试时才会用它。 |
你会发现,这些变体本质上都是基于 ref2015 的权重调整,或者是针对某些能量项做了重新统计。在 Rosetta 中,你可以通过 -score:weights 参数指定任何一个变体的权重文件。
实战技巧:如果不确定该用哪个变体,就用 ref2015。它经过了最广泛的验证。只有在 ref2015 明显不理想时,再尝试其他变体,比如 beta_nov16。
ref2015 的应用范围
我个人觉得,ref2015 最适合用于 相对结合亲和力的预测。也就是比较一系列类似配体对同一受体的结合能力。举个例子,你设计了一组针对某个激酶抑制剂的类似物,想预测哪个结合得更紧密。这种情况下,ref2015 的评分和实测的 ΔG 往往有不错的线性关系。
但如果你想把 ref2015 的绝对得分直接换算成结合自由能(kcal/mol),那可能就有点想多了。ref2015 的得分是一个「相对能量单位」,不是真正的物理能量值。强行转换的话,误差会比较大。
避坑指南:我曾经看到有人直接把 Rosetta 的分数套到 BindingDB 或 PDBbind 的 pKd 值上做线性回归,结果 R² 很难看。不是说不能做,而是你必须清楚地知道:ref2015 的分数是「能量」,不是「亲和力」。你需要做一系列校准,或者使用专门的自由能预测方法,比如 Rosetta 的 结合自由能计算(binding free energy perturbation)。
好了,关于 ref2015 的组成、权重和变体,我们就聊到这里。你可能会觉得,这些东西有点细,有点琐碎。但说实话,要真的用好 Rosetta,理解评分函数的构造是绕不开的一步。下次当你看到一堆能量分数时,至少能分得清它是由什么组成的,哪些项是强项,哪些项可能不靠谱。