NAMD入门教程(一) - 图文

用环境温度值310,只需要用$temperature 代替。这和c语言中的预处理命令#define有些类似。

? set outputname ubq_ws_eq:新建一个变量outputname,并赋值ubq_ws_eq。作

用同上。

? firsttimestep:设定动力学模拟时起始timestep的数值。在重新开始进行一个

被中断的动力学模拟时,这一设定是非常有用的。如果前一次动力学模拟结束时的timestep是533,那么这一次的起始值显然应该是534。

4、Simulation Parameters 这一部分包括许多参数,可以分成以下几部分: ? Input

- paraTypeCharmm: 说明参数文件是否是CHARMM力场格式的。设置为on。 - parameters: 从给出的力场参数文件中调用参数(此例中,力场参数文件为../common/par_all27_prot_lipid.inp)

- temperature: 设定环境的起始温度(K)。如上所述,在这里$temperature 相当于310。设定这一数值后,NAMD会根据Maxwell分子速率分布给体系中的分子分配运动速率。

? Force-Field Parameters

- exclude: 说明哪一种原子-原子相互作用可以忽略。这里的设定值是 scaled1-4。成键相邻原子的编号方式见图。scaled1-4就是说如图中的原子1-2,1-3,2-3之间的相互作用被完全忽略,而原子1-4的相互作用被弱化。

- 1-4scaling: 刚刚提到了原子1-4之间的相互作用会被弱化。这个参数就是为了说明弱化的程度。取值在0~1之间,0表示完全忽略,1表示不进行弱化。 - cutoff:设定范德华力和静电力的截止点。如果不设定此值,NAMD会计算整个体系中任意两个原子的范德华力和静电力相互作用,这显然是没有必要的。注意:如果Particle Mesh Ewald Sum 设定为on,cutoff的定义就会改变,在此不

详细叙述。

- switching:设定是否使用过渡函数(switching function),使得在截止点处范德华力和静电力不会突然降低至0,而是平滑的过渡至0。

- switchdist:设定在哪一点静电力和范德华力函数开始使用过渡函数修正(switch function)以使这两个函数可以平滑过渡,在cutoff处降低为0。 - pairlistdist: 这一设定是为了使得计算更快进行。如果不设定这个值,对于体系中的某个原子,NAMD需要遍历搜索整个体系以找出和该原子有相互作用的所有其他原子。设定之后,在计算某个原子的受力时,NAMD将只搜索设定范围之内的原子。设定值的单位是A。注意这个值必须要大于cutoff值。

图是以上概念的图示说明。 ? Integrator Parameters

- timestep:说明所使用的步长数值。分子动力学模拟的基本原理还是求解牛顿力学方程,但是并不能做到连续求解,而只能每隔一段间隔求解一次,最后生成原子的运动轨迹。步长值就是求解的时间间隔。以一个飞秒(fs,femtoseconds)为单位。2.0即为2fs。

- rigidBonds:设定与氢原子相连的哪一种键是刚性的(不会来回振动)。这里设定值是all,说明所有和氢原子相连的键都被认为是不振动的。

知识链接:Rigid Bonds 为什么要设定RigidBonds?这是因为我们设定的步长是2飞秒。在分子动力学模拟时,键的转动,振动,原子的位移等等速度并不相同。而步长数值显然应该由最快的那一种运动的时间尺度决定。在各种运动形式中,键长的伸缩和键角的扭曲是最快的。键长振动一般是每10-100飞秒一次。其中,最快的当然是与氢原子相连的键长的振动,一般是10飞秒一次,而我们的步长是2飞秒,几乎在一个数量级上。因此无法精确描述这样的键长振动。所以需要先设定认为这些键不振动。其实也相当于取键长伸缩振动的平均值作为固定键长。 大分子的功能和行为一般与较慢的分子构象变化和分子运动关系密切,但和快速的原子振动关系较小。所以认定键长振动不存在也是可以接受的,只是对于精确的分子动力学模拟而言应当尽量避免。对于任何的分子动力学模拟,步长应该是体系中最快运动周期的1/10以下。

- nonbondedFreq: 设定每隔多少步长计算一次非成键相互作用(nonbonded interactions)。适当调整这个值可以节约计算时间。

- fullElectFrequency: 设定每个多少步长计算一次总体静电相互作用(full electrostatic interactions)。

- stepspercycle: 前面提到过,每个原子都有一个pair list,即和它有相互作用的所有原子的列表。这个列表显然是动态变化的。列表更新的周期叫做一个循环(cycle)。这个值设定的是每多少步长更新一次列表,完成一次循环。 ? Constant Temperature Control

- langevin: 设定动力学模拟时是否使用Langevin 动力学。这里设定为on。 - langevinTemp: 设定一个温度值,使用Langevin 动力学将原子保持在恒定的该

温度。

- langvinHydrogen: 设定是否对于氢原子也应用langevin动力学。 ? Output

- outputName:每进行一次动力学模拟,NAMD会输出多个文件。这个参数设定这些文件的前缀名(如ubq.pdb,ubq就是前缀名)都为ubq_ws_eq。NAMD输出的文件包括:一个后缀名为“.coor”的文件,储存经过动力学模拟后的所有原子的坐标;一个后缀名为“.vel”的文件,储存系统动力学模拟结束时所有原子的瞬时速度。所以运行结束后我们可以得到两个文件:ubq_ws_eq.coor 和 ubq_ws_eq.vel。 - restartfreq: 在进行分子动力学模拟时,NAMD还会创建恢复文件(restart file),类似于Word的自动保存,使得用户在动力学模拟意外停止的时候可以用恢复文件继续进行模拟。这个参数就是设定每过多长个步长自动保存一次,生成一个恢复文件。恢复文件的后缀名是 “.restart”,表示刚刚生成的恢复文件;以及“.restart.old”,是前一次保存的恢复文件。

- dcdfreq:dcd文件记录的就是每一个原子的运动轨迹。记录方法是,NAMD每隔一定时间间隔就将所有原子的坐标写入一次dcd文件。而这个参数就是设定写入的时间间隔。当然,dcd文件会随着模拟的进行而越来越大,如果写入很频繁或者模拟进行的时间很长,就会得到一个很大的dcd文件。另外,如果不需要得到模拟后的轨迹也可以不设定这一参数,这样NAMD将不会生成dcd文件。

除了以上叙述的这些输出文件,namd还会产生一个日志文件,后缀名是“.log”。这一文件的内容将在以后的内容讲到。

- outputEnergies: 设定每隔多少步在日志文件中输出系统的各种能量(每种立场如范德华力,静电力分别对应一种能量)。这里我们的设定是每隔100步输出一次。 - outputPressure: 同样地,这个值是为了设定每多少步在日志文件中输出一次系统压力。

5、附加参数(Extra Parameters) ? Spherical Boundary Conditions

- sphericalBC: 设定是否要设置球形边界条件。

- sphericalBCcenter: 设定球形体系的中心。输入你记下的球状水体中心的坐标。在这里我们已经给出了所需要的坐标值。

为了使球形边界条件可以维持,需要设定一个边界势能,使得球状水体得以保持形状而不会扩散到真空中去。以下三行参数就是设定了边界势能。

- sphericalBCr1: 设定第一个边界势能起作用的起始半径。以A为单位。 - sphericalBCk1: 设定边界势能的force constant。单位是 kcal/mol·A。 - sphericalBCexp1: 设定边界势能函数方程的指数值。必须是正偶数。 6、执行脚本(Execution Script):最后一个部分,包含三个参数设定:

? Minimization: 在本次模拟时,一开始NAMD将不断改变各个原子的位置,搜索

整个体系势能的最低点(此时个原子的动能均为0),以作为动力学开始的初态。这就是能量最小化(minimization)

- minimize:。这一参数设定的是能量最小化时反复改变原子位置的次数。 - reinitvels: 能量最小化时,各个原子的速度还是0。这个参数设定的是能量最小化完成之后体系升温所至的温度。在这个例子中是$temperature,即为310K。 ? run:设置分子动力学模拟进行的时间。以步长为单位,这里设定为2500步,即

联系客服:779662525#qq.com(#替换为@)