3. 热力学循环与自由能变化:构建热力学循环,计算结合自由能差
好,我们接着往下聊。
上一节我们说了自由能是什么,也提到了结合自由能差这东西很关键。但问题来了——你总不能真的在实验室里把蛋白质和配体按上、按下,然后直接读出能量差吧?这玩意儿不是测电压。好在,我们有热力学这个老朋友帮忙。
3.1 为什么要绕一圈?
说白了,我们没法直接精确计算结合自由能的绝对值。模型误差、力场的近似,还有采样不充分,都会让直接算出来的数漂移得厉害。
但我们可以换一种思路。
热力学有一个很优雅的性质:状态函数的变化只取决于初态和终态,跟你走的路径没关系。这就是热力学循环的核心思想。
结合自由能差ΔΔG,说白了就是比较两个相似配体结合能力的差异。我们算的不是ΔG_bind本身,而是两个配体的ΔG_bind之差。这个差值,通过构造一个循环,可以拆成几个我们更容易算的项。
核心公式
ΔΔG = ΔG2 - ΔG1 = (ΔGwater) - (ΔGprotein)
换句话说,在蛋白中把一个配体“改造”成另一个所需要的自由能,减去在水环境中做同样改造所需的自由能,两者之差就是结合自由能差。
3.2 构建一个标准的双顶热力学循环
这是最常用的套路。我们来看一个具体的例子:
假设你有两个配体,A是参考化合物,B是修饰后的候选化合物。你想知道B比A的结合力强还是弱。
- 状态1: 蛋白 + 配体A (在水里)
- 状态2: 蛋白 + 配体B (在水里)
- 状态3: 蛋白-配体A复合物 (在水里)
- 状态4: 蛋白-配体B复合物 (在水里)
循环路径有两个方向:
- 水平方向: 配体A和B在蛋白环境中互相转化(ΔGprotein)
- 垂直方向: 配体与蛋白的结合过程(ΔGbind)
- 另一个水平方向: 配体A和B在水环境中互相转化(ΔGwater)
现在,根据热力学循环闭合原理:
ΔG_bind(A) + ΔG_protein = ΔG_water + ΔG_bind(B)
所以:
ΔΔG = ΔG_bind(B) - ΔG_bind(A)
= ΔG_protein - ΔG_water
看出门道了吗?你根本不需要直接算ΔG_bind。你只需要算两个“相对简单”的东西:在蛋白口袋里把A变成B需要多少能量,在水里把A变成B需要多少能量。两者相减,就是答案。
3.3 这个循环到底怎么用?
光知道公式不行,得动手。我一般会分三步走。
第一步:设置两个独立的模拟体系
一个体系是“蛋白 + 配体A”的复合物,另一个体系是纯水溶液中的配体A。
然后,在两个体系中,我都要把配体A“变成”配体B。
具体做法是引入一个耦合参数λ(lambda)。λ从0变到1,就代表配体从A变成了B。比如前处理时,两个体系的拓扑文件里都包含一个带有λ参数的混合势能。
一个小经验
我曾经在设置两个体系的溶剂盒子大小时偷懒,结果蛋白体系的盒子偏小,水体系盒子偏大,导致最后计算的ΔGprotein和ΔGwater的统计误差不对等。后来我就统一用相同体积的盒子,减少了一个系统误差来源。
第二步:跑多窗口的FEP/MD模拟
λ不能直接从0跳到1,中间要切很多个窗口。常见的做法是设11-21个窗口(λ = 0.0, 0.1, 0.2, ... 1.0)。每个窗口独立跑一段平衡和生产模拟。
模拟完后,要用工具提取相邻窗口的能量差。比如用BAR(Bennett Acceptance Ratio)或WHAM方法处理。
第三步:能量解析与差值计算
从蛋白体系得到ΔGprotein,从水体系得到ΔGwater。然后:
ΔΔG = ΔG_protein - ΔG_water
如果ΔΔG < 0,说明B比A结合得更强(负值更大)。
如果ΔΔG > 0,说明B比A结合得更弱。
避坑指南:
我曾经犯过一个低级错误——把ΔGprotein和ΔGwater的符号搞反了。结果算出一个漂亮的负值,欣喜若狂拿去汇报,后来发现B根本结合不上。符号问题在自由能计算中非常致命,每次跑完流水线我都建议做一次“双盲验证”:让实习生或同事独立算一遍,或者至少把路径反过来(B→A)重跑一遍,看ΔΔG是否变号。
3.4 热力学循环的优势与局限
| 对比项 | 直接计算法(不行) | 热力学循环法(可行) |
|---|---|---|
| 误差来源 | 多种:力场、采样、溶剂化 | 主要来自配体改造的“相对”变化 |
| 采样需求 | 需大量采样覆盖构象空间 | 相对小,因为两个配体相似 |
| 适用场景 | 理论上可以,实际不实用 | 先导化合物优化、骨架跃迁等 |
| 计算量 | 极大 | 适中,但需要多窗口 |
这个循环也不是万能药。比如当A和B的结构差异很大(比如加了一个大环)时,λ路径太陡,导致高能量阻碍,采样会崩溃。这时候就需要引入中间状态(软核势、分段微扰),但本质上还是热力学循环的变种。
3.5 把整件事串起来:一张图说明一切
下面这张SVG图把热力学循环直观地画了出来。你一看就明白我们到底在算什么。
你看,我们把一个复杂的结合问题,拆成了两个相对简单的“配体改造”问题。一个在蛋白里改,一个在水里改。两者之差抵消了大量系统误差,留下的就是精确的结合自由能差。
嗯,这就是热力学循环的妙处。绕了一圈,反而更准了。你想想看,是不是这个道理?