引言
分子力场描述分子之间相互作用的势能与力。分子动力学模拟则通过分子力场逐步更新分子体系中所有原子的势能、速度和坐标,描述特定条件下的分子运动,从而获取我们关注的模拟体系微观或宏观信息。本博客将通过一系列文章以General Amber Force Field(GAFF)小分子通用力场为例,详细讲述小分子力场的的组成与拟合,对认识分子力场与分子力场优化提供一份基础教程。本篇内容作为开篇,将介绍分子力场的基础信息。
本文将以AMBER力场和Gromacs ITP文件格式为例,进行力场的介绍。之所以使用这样的组合,是因为AMBER力场几乎所有的力场搭建工具都打包在开源软件AmberTools中,因此配套的GAFF不需要借助在线工具即可离线构建小分子力场;选择Gromacs的力场格式ITP则是因为ITP文件比Amber的力场格式文件prmtop更加可读。
分子力场的组成
根据波恩-奥本海默近似,一个分子的能量可以近似看作构成分子的各个原子的空间坐标的函数,每个原子都有不同的原子性质或参数。因此一套分子力场由描述原子间相互作用的函数形式和各类原子的力场参数两部分组成。
基本力场形势
以Amber力场为例:
V=bonds∑2kli(li−li,0)2+angles∑2kθi(θi−θi,0)2+torsions∑2Vn(1+cos(nω−γ))+i=1∑Nj=i+1∑N(4ϵij[(rijσij)12−(rijσij)6]+4πϵ0ϵrrijqiqj)(1.1)
其中第一行是成键项,即分子内相互作用,第二行是非键项,即分子间相互作用和一部分远程的分子内相互作用。
Vbonded=bonds∑2kli(li−li,0)2+angles∑2kθi(θi−θi,0)2+torsions∑2Vn(1+cos(nω−γ))(1.2)
Vnonbonded=i=1∑Nj=i+1∑N(4ϵij[(rijσij)12−(rijσij)6]+4πϵ0ϵrrijqiqj)(1.3)
前三项成键项又分为键伸缩能,键角弯曲能,二面角扭转能,后一项非键项又可以拆分为范德华作用能和库仑作用能,而范德华作用能由12次幂的斥力项和6次幂的引力项组成。

图1.1 力场中的成键项与非键项
非键项
范德华项
vvdw=4ϵij[(rijσij)12−(rijσij)6](1.4)
或
vvdw=(rijAij)12−(rijBij)6,A=4ϵijσij12,B=4ϵijσij6(1.5)
范德华项使用Lennard-Jones势能函数进行描述,其中12次项的能量符号为正值,即斥力;6次项的能量符号为负值,即引力。原子远离时6次项的引力为主导,表现出原子间的吸引,原子靠近时12次项的斥力为主导表现出原子间的排斥。

图1.2 Lennard-Jones势能函数
函数中有两个参数,ϵ即势阱深度,单位为kcal/mol或kJ/mol,σ为引力斥力等值点的原子距离单位是A˚或nm
,Amber文件格式中使用前者美标单位,Gromacs使用后者国际标准单位制。
GAFF中的F原子间的ϵ=0.0832kcal/mol,σ=3.034A˚,当两个原子距离为4A˚时,原子间能量为4∗0.0832∗[(3.034/4)12−(3.034/4)6]=−0.051kcal/mol,当两个原子子距离为3A˚时,原子间能量为4∗0.0832∗[(3.034/3)12−(3.034/3)6]=0.025kcal/mol,当两个原子子距离为3.034A˚时,能量为0。
我们尝试求vvdw的极小点距离,另vvdw的导数为0,求极小点时的r。
vvdw′=4ϵij(12⋅rd13σij12−6⋅rd7σij6)=0(1.6)
=>rd=2(1/6)σ=>r0=2(−5/6)σ
rd=2(1/6)σ即是范德华势极小点的原子距离。回顾范德华半径的定义,我们可以直接将rd除以2得到的r0视作范德华半径,即F的范德华半径可近似为1.703A˚。通过这种方法我们可以通过各类力场参数文件中的σ参数快速获得所需原子的范德华半径,或通过范德华半径反推σ参数。
库仑项
vcoulb=4πϵ01ϵrrijqiqj(1.7)
库仑势由经典库仑公式描述,与原子距离r的1次幂的倒数相关。因此它在原子距离较远时衰减速度比Lennard-Jones势能的6次幂和12次幂要慢,原子距离较远时库仑力要大于范德华力;而当原子距离靠近时,12次幂的斥力势能增长极快,因此表现出完全由范德华力贡献的斥力。
库仑势有四个参数,介电常数参数项1/4πϵ0是常数,为332.0636kcal⋅A˚/(mol⋅e2)或138.935458kJ⋅nm/(mol⋅e2),相对介电常数ϵr在无外加反应场的显式水体系或真空体系下为1,两个原子的电荷参数q的单位为e。

图1.2 π-π堆叠的静电势模型
除了描述正负电荷之间的相互作用外,分子中原子的偏电荷(partial charge)通过规则性的分布可以描述特殊的相互作用,如π-π堆叠。π-π堆叠的本质是色散作用,分子力场中是没有专门描述色散作用的参数的,是通过原子的偏电荷来描述的。比如苯环的C一般带有部分的负电荷,苯环的H一般带有部分的正电荷,因此当苯环处在T-shape时,正电荷的H会处在负电荷的C环的中心,从而降低库仑势;苯环处在错位平行时,两个苯环的正电荷的H位于负电荷的C环的中心,也能降低库仑势。苯环处在面对面平行时则略有不同,库仑势其实是互斥的,此时的整体力场能量降低是通过范德华势主导的。
氢键项
早在AMBER94/96时代,AMBER力场中包含了一个氢键项。早期的AMBER力场使用类似用12-10的类Lennard-Jones势能函数进行描述:
vhbonds=(rijAij)12−(rijCij)10(1.8)
实际上由于氢键本质主要就是静电作用,使用H原子和氢键受体原子的电荷带来的库仑作用表现就能够描述得比较理想,因此目前主流力场大多没有氢键项,12-10函数目前已经不再流行。
成键项

图1.4 成键项中的键长,键角和二面角的相应运动模式
键长-键伸缩能
键伸缩能描述两个成键原子之间的关系。形成化学键的原子之间会在平衡长度附近振荡,靠近时原子间产生强大的斥力,远离时引力下降能量上升直到原子间不再有相互作用,即键的断裂。这一能量曲线可以以Morse曲线进行描述。但在分子动力学模拟中,原子之间不会发生键的断裂(如果需要考虑键的断裂,可以使用QM/MM模拟),因此我们只需要考虑成键距离附近的振荡,即通过简单的简谐项对成键项进行描述:
v(l)=2kli(li−li,0)2(1.9)
平衡位置时键伸缩项能量最低。
单一简谐项足够描述大部分成键项,如果想要更精确描述成键项,我们也可以增加二阶、三阶、甚至更高阶的简谐项。比如:
v(l)=2kli(li−li,0)2[1−k′(l−l0)−k′′(l−l0)2−k′′′(l−l0)3...](1.10)
高阶简谐项虽然提高精度,但带来了巨大的计算量提升,因此我们实际使用的AMBER力场只使用了一阶简谐项。
简谐项中存在两个参数:kli,键的平衡常数,单位为kcal/(mol⋅A˚2)或kJ/(mol⋅nm2);键的平衡距离l0,单位为A˚或nm。比如GAFF中乙烷的C-C键的平衡常数为303.1kcal/(mol⋅A˚2),平衡距离为为1.535A˚
键角-键弯曲能
键弯曲描述键角的张合,是成键的三个原子之间的关系。与键伸缩运动类似,键角的弯曲也发生在平衡角附近振荡,因此AMBER力场使用了简谐项对键角进行描述:
v(θ)=2kθi(θi−θi,0)2(1.11)
平衡位置时键弯曲项能量最低。
同样,也可以使用高阶项提高准确度,但更高的计算量使这一选项没有实际价值,因此AMBER力场中也只使用一阶简谐项。
v(θ)=2kθi(θi−θi,0)2[1−k′(θ−θ0)−k′′(θ−θ0)2−k′′′(θ−θ0)3...](1.12)
其中kθi为键角的平衡常数,单位为kcal/(mol⋅Degree2)或kJ/(mol⋅Degree2);键的平衡距离θ0,单位为Degree。比如GAFF中,TIP3P水分子的H-O-H的平衡常数为43.276kcal/(mol⋅Degree2),平衡角度104.52°,夹角小于109°,符合孤对电子对H-O-H键角挤压的化学经验。甲烷的H-C-H的平衡常数为38.802kcal/(mol⋅Degree2),平衡角度108.46°,即标准的109°正四面体结构时的键角。
二面角-键扭转能
键扭转的能量描述四个成键原子间的关系,即四个原子间构成的二面角与能量的函数曲线。这里我们不能再以简谐项描述二面角的扭转,除少量的阻转二面角或双键、芳香键的二面角几乎处在平衡位置,可以使用简谐项外,大部分二面角是可以360°旋转的。比如乙烷的二面角进行能量扫描后的势能曲线,在0°,120°,240°时为重叠式,能量最高;60°,180°,300°时为交错式,能量最低。

图1.5 不同参数下二面角的键扭转能和乙烷的C-C键扭转能
描述此类周期性变化的函数一般选择傅里叶级数,即多个三角函数的组合。不同力场使用的函数形式不同,但仍然可以按照周期大致分类为周期函数类型,简谐势类型和表格势类型。周期函数类型的二面角函数为最主要的二面角,比如AMBER,CHARM,OPLS中都以此类函数为主;简谐函数的二面角函数,也叫二次幂二面角(Quadratic Dihedral),使用力场较少;表格势(Tabular Dihedral)则通常用于描述氨基酸残基的Rotamer,如AMBER和CHARMM力场中的CMAP函数。
周期函数类型:
v(ω)=n=0∑NCncos(ω)nv(ω)=n=0∑N2Vn[1+cos(nω−γ)](1.13)
简谐函数类型:
v(ω)=Kd(ω−ω0)2(1.14)
表格势类型
index |
angle |
energy |
derivative |
i1 |
a1 |
e1 |
de1 |
------- |
------- |
------- |
-------- |
iN |
aN |
eN |
deN |
AMBER力场中使用的是周期函数类型:
v(ω)=n=0∑N2Vn[1+cos(nω−γ)](1.15)
其中N代表的是该二面角由几个周期函数组合而成,对于GAFF力场,大部分二面角的N=1,如乙烷的二面角,又如双氮甲烷Azomethane的两个SP2杂化的N之间的键的二面角则用两个函数组合,N=2。
AMBER力场的二面角函数形势中有3个参数,Vn为势垒能(单位为kcal或kJ),n为周期,γ为相位(单位为Degree)。
甲烷的H-C-C-H二面角:
v(ω)=0.15×[1+cos(3×ω−0.0)](1.16)
可以基本上定量准确地描述乙烷的旋转,在0°,120°,240°时为重叠式,能量最高;60°,180°,300°时为交错式,能量最低。由于乙烷有9个H-C-C-H二面角,因此实际上的能垒还要乘以9,所以能垒最高为2.70 kcal/mol。但是相比量化扫描的势能面,仍然低1.27 kcal/mol,原因将在后文揭晓。

图1.6 量化和力场计算的乙烷的C-C键扭转能和双氮甲烷N=N键扭转能
双氮甲烷Azomethane的C-N=N-C二面角:
v(ω)=3.0×[1+cos(2×ω−180.0)]+2.8×[1+cos(1×ω−0.0)](1.17)
可以定性地描述双氮甲烷的二面角,即不可旋转,顺势能量高于反式能量,但能垒准确度仍与量化扫描势能面存在差距。
异二面角
对于苯环上的氢或碳,环丁酮的氧,如果我们只使用常规的二面角模型描述所有的旋转键项,这些原子是无法维持结构的平面性的,因此力场中定义了异二面角(Improper Dihedral)参数。

图1.7 异二面参数维持平面或平面外原子的平面性
异二面角完全可以通过简谐势描述,即:
v(θ)=2kθ2(1.18)
v(θ)=2kh2(1.19)
一种是以原子偏离平面的角度作为变量,另一种是以原子偏离平面的高度作为变量。
v(ω)=n=0∑N2Vn[1+cos(nω−γ)](1.20)
另一种方式则仍然使用二面角函数,将二面角定义为环上的三个原子和另一个环外的原子之间的关系,相位为180°,即平面时能量最低。AMBER使用的就是这种形势。使用这种函数形势的好处是不要再新增一个计算四原子关系的简谐势函数,借用常规二面角函数形势就可以,减少了计算量。
因为维持平面所需的能量并不高,因此大部分情况下如GAFF使用1.1 kcal/mol的能垒就可以维持苯环的取代基团的平面性,只有极少(2个)特例会使用10.5 kcal/mol维持平面性。
1,4-相互作用
在二面角一节中,我们发现乙烷的C-C键在旋转时的能垒比量化扫描的势能曲线低,这是因为缺少了力场中的1,4-相互作用。
除去成键项外,还有并不直接相连成键原子之间的非键相互作用,比如键弯曲的第1,3号原子间的相互作用,键旋转的1,4号原子间的相互作用。如果两个原子是成键原子,那么他们之间的库仑力和范德华力都会非常大,这是不合理的,所以没有1,2之间的非键项。同理,1,3原子间的非键项也不需要考虑。从另一角度也可以解释,键伸缩的力场数一般在百kcal/mol左右,键弯曲的力场数在几十kcal/mol左,因此非键项中的范德华和库仑力相比成键项基本可忽略不计。
但是对1,4原子则不同,1,4原子之间是存在非键相互左右的,二面角函数是无法完全描述两个原子之间的相互作用,1,4原子之间的非键项是不完全的,AMBER力场中会对1,4原子之间的范德华项和库仑项分别乘以一个缩放系数,即0.5倍的范德华项和0.8333的库仑项。AMBER力场中只考虑了1,4相互作用的能量缩放,对于1,5相互作用或更远的分子内原子关系都采用完全的、非缩放的范德华项和库仑项进行描述。

图1.8 1,4相互作用能减小二面角的误差
如果我们在乙烷的C-C键旋转势能加上缩放的非键项,就可以看到乙烷的二面角的势能曲线更接近量化扫描的势能曲线,误差从1.27 kcal/mol缩小到0.5 kcal/mol。这也说明了完整的二面角参数是由二面角函数和1,4作用能加和构成的。在GAFF这类通用小分子力场中,这样做的好处是即便二面角函数的参数一致,通过1,4作用能也可以区分大部分变化微小的二面角。
协同项
各种成键项之间的协同项,形式复杂,拟合困难,虽然精度或许有提升,但对于动力学模拟来说十分鸡肋。比如键伸缩和键弯曲的协同项,或键弯曲和键旋转的协同项。在MM系列小分子力场,以及MMFF94小分子力场中有此类参数,但AMBER和GAFF中则没有此类参数项。

图1.9 力场中的协同项
如图1.9所示,力场中的成键项之间都可以构造协同项函数,比如MMFF94中的键长-键角协同项:
VBA=2.51210(kba,ijkΔrij+kba,kjiΔrkj)ΔΘijk(1.21)
其中kba,ijk和kba,ijk是键长-键角协同项的两个力常数,Δrij,Δrkj,ΔΘijk为两个键长和所夹键角的力常数。
因此类参数导致MMFF94的完整力场形势稍显复杂,所以大多数主流的分子模拟软件Gromacs,Amber,OpenMM,Desmond无法支持MMFF94力场的分子动力学模拟,只有Tinker支持。值得一提的是Tinker也支持复杂的可极化力场AMOEBA/AMOEMA+。
小结
本文以AMBER力场形势为主介绍了分子力场的函数形势和参数意义,读者应该在读完文章后能够熟练写出力场函数形势和重要参数的单位和意义,后续文章中将以GAFF力场文件为参考讲述具体的力场参数和力场参数的来源,为后续优化具体小分子的力场提供指导。