更新时间:2023-01-17 18:17
分子模拟的基础,是准确计算原子之间的相互作用,包括组成同一分子的原子之间的成键相互作用,和不同分子间的范德华相互作用,有的分子间还有氢键相互作用。描述原子间的这些相互作用,有两种方式,一个是通过量子化学计算,另外一种方式就是采用分子力场计算。
分子力场根据量子力学的波恩-奥本海默近似,一个分子的能量可以近似看作构成分子的各个原子的空间坐标的函数,简单地讲就是分子的能量随分子构型的变化而变化,而描述这种分子能量和分子结构之间关系的就是分子力场函数。分子力场函数为来自实验结果的经验公式,可以讲对分子能量的模拟比较粗糙,但是相比于精确的量子力学从头计算方法,分子力场方法的计算量要小数十倍,而且在适当的范围内,分子力场方法的计算精度与量子化学计算相差无几,因此对大分子复杂体系而言,分子力场方法是一套行之有效的方法。以分子力场为基础的分子力学计算方法在分子动力学、蒙特卡罗方法、分子对接等分子模拟方法中有着广泛的应用。
我们知道,量子化学计算分子结构和原子、分子间相互作用比较准确,但是很慢;而采用分子力场计算就会很快,因为分子力场并不计算电子相互作用,它是对分子结构的一种简化模型,所以计算很快。在这个模型中,它把组成分子的原子看成是由弹簧连接起来的球,然后用简单的数学函数来描述球与球之间的相互作用。比如,氢分子,看做有弹簧链接的两个球的话,可以用胡克定律描述两个氢原子间的能量:E=k*(b-b0)^2。其中,b表示两氢原子间距离,b0表示平衡时原子间距,k为键能系数,b0和K称为力场参数。更复杂一点可以用四次方表达:E=K1*(b-b0)^2+K2*(b-b0)^3+K3*(b-b0)^4,更多的参数可以获得对成键分子的更精确的描述。这是描述成键作用,不成键的原子间的相互作用则采用Legendre-Jones函数,或者Bukingham函数描述。
从上面可以看出来,力场用简单的数学函数描述原子间作用,称为分子力场,又叫分子力学力场。采用分子力场的分子模拟称为经典分子模拟。这是相对于采用量子力学计算的分子模拟来说的。那么,分子力学对分子结构和原子间相互作用描述的是否准确呢?这依赖于你所用的参数。而这些参数通常拟合自实验数据,或者量子化学结果。它属于经验描述,显然品质要低一些,但是由于计算速度快,适合于描述上千个乃至百万个原子的模拟,在这些情况下,我们无法采用量子力学计算,因此,只能采用经典模拟。
一般而言,分子力场函数由以下几个部分构成:
构成一套力场函数体系需要有一套联系分子能量和构型的函数,还需要给出各种不同原子在不同成键状况下的物理参数,比如正常的键长、键角、二面角等,这些力场参数多来自实验或者量子化学计算。
分子力场有很多,比如生物模拟常用的AMBER, CHARMM, OPLS, GROMOS,材料领域常用的CFF, MMFF, COMPASS等等。他们的区别在哪里呢?一个力场通常包括三个部分:原子类型,势函数,和力场参数。也就是说不同的力场,他们的函数形式可能不一样,或者函数形式一样而力场参数不一样。其中,最关键的差别取决于分子力学模型,比如有的力场考虑氢键,有氢键函数;有的考虑极化,有极化函数。其次,分子力场参数都是拟合特定分子的数据而生成的,比如,面向生物模拟的力场选择生物领域的分子模拟得到参数,而材料的,则侧重选择材料方面的分子。这些被拟合的分子成为训练基(training set)。
由于力场参数是拟合训练基分子得到的,那么这些参数用于计算其它分子准确吗?这叫分子力场的迁移性问题。迁移性问题还包括状态迁移性问题,就是说所拟合的实验数据是常温常压下测量的,然后你模拟的可能是高温高压下的,那么分子力学的准确性也会降低。这些都属于分子力场的局限性。
分子力场有时被称为势函数。以下是一般分子力场势函数包括的几个部分:
描述分子内成键作用的项
键伸缩能:构成分子的各个化学键在键轴方向上的伸缩运动所引起的能量变化
键角弯曲能:键角变化引起的分子能量变化
二面角扭曲能:单键旋转引起分子骨架扭曲所产生的能量变化
交叉能量项:上述作用之间耦合引起的能量变化
描述分子间作用的项
非键相互作用:包括范德华力、静电相互作用等与能量有关的非键相互作用 。
不同的分子力场会选取不同的函数形式来描述上述能量与体系构型之间的关系。不同的科研团队设计了很多适用于不同体系的力场函数,根据他们选择的函数和力场参数,可以分为以下几类
第二代力场第二代的势能函数形式比传统力场要更加复杂,涉及的力场参数更多,计算量也更大,当然也相应地更加准确。