分子动力学模拟中使用的力场,包含两个重要的部分:
1)模拟粒子之间相互作用的方程(即经典力学的相互作用力方程如库仑定律,范德华作用方程等)。
2)方程的参数(即各个不同粒子,原子本身的参数,如带点量等等)。
可以想想,模计算机模拟好多成键或者不成键的粒子的运动,总要让它们互相推推拉拉吧,于是力场就是定义它们推推拉拉的方式(按照物理定律)。
力场类型,一般分类为三种:
i)全原子力场:精确定义每一个原子的参数。
ii)联合原子力场:省略非极性氢原子,同时把其参数整合到与他们成键的相邻原子上(比如甲基,只由一个碳原子表示)。
iii)粗颗粒力场:进一步精简分子结构的力场参数,种类比较多,比如有讲蛋白侧链看作一个颗粒的力场,或者甚至将整个氨基酸残基看成一个颗粒的力场等等。
一般来说力场的方程和参数是自成一个系统的,所以一般不能在一个系统中使用两个力场的参数。同一个原子在力场一中的带电量与起在第二个力场中是不一样的,化学键也一样。一般来讲,也不能特定修改力场中模一个原子的参数,因为原子之间是互相交叠依赖(比如未来保证整个氨基酸残基电量为0,各个原子电量加和必须为0)。但是,这并不是说一定不行,相反的,为了模拟一些不常见的分子,经常需要根据已有的参数(力场里面的,其他论文等)来构建新的分子参数。具体方法可以参考Mr. Google等著名老师。
目前比较流行的力场有:
AMBER:包含好几个版本的力场,为全原子力场;
CHARMM:全原子力场,是软件CHARMM的一部分;
GROMOS:GROMOS软件使用的力场,版本较多,为联合原子力场;OPLS:包含全原子和联合原子力场两个版本;
粗颗粒力场:种类较多,没有固定版本或者种类,一般根据研究需要开发。