Gromacs/模拟基本流程
可以使用以下步骤进行Gromacs的初步模拟:
产生模拟必须的 .gro文件 .itp文件 和 .top文件(比如从蛋白数据库下了一个pro.pdb蛋白质结构文件)
输入为:pro.pdb
输出为:pro.gro topol.top posre.itp
命令为:pdb2gmx -f pro.pdb -water tip4p (-o pro.gro) -ter -ignh
括号中的可以不要,那么程序自动默认问conf.gro。-ter 是设定肽链末端的情况 -ignh 忽略氢原子,以免命名的问题引起的混乱。
为模拟的分子建立一个盒子,说盒子的话不够形象,我感觉说空间更可以突出意义,就是为分子周围的建立一个有限制的空间,因为我们下一步就要在分子周围添加水分子和金属离子以模拟实际的细胞环境,没有空间限制是无法想象的。
输入为:pro.gro
输出为:box.gro & some info about the box
命令为:editconf -f pro.gro -bt cubic -d 0.5 -c -o box.gro
-bt 指定了空间(box)的形状 cubic是正方体 -d指定空间大小,蛋白到空间界限的距离(distance)
为分子定位和调节分子在建立的空间里的取向。目的是使得分子和与之配合的空间更协调,这样需要的空间就可以小一些,可以降低运算量(这是很自然的道理,你问什么收拾房间?)但是在调整分子分子前,必须先建立一个索引文件。这个可是GROMACS的一打特色。
输入为:box.gro
输出为:index.ndx box.gro (和输入的那个box.gro就不一样了 )
命令为: make_ndx -f box.gro -o index.ndx
editconf -f box.gro -d 0.5 -c -o box.gro -rotate @ @ @
注意,GROMACS有人性化设计,每次同名文件产生后,将覆盖原来文件,不过不用担心,原来的文件以harh mark(# #),还在原文件中。-rotate命令后面添了三个角度,分别表示绕X Y Z旋转的度数。这需要将上一步生成的gro文件转换为pdb文件,在VMD/PyMOL中观察。有难度,需要有一点经验的。我做的时候SENBO直接告诉旋多少,呵呵所以省了观察。其实这一步不是必须的,只是来优化模拟,觉得有难度可以暂时不管。但是不会用索引文件的话,可是一大损失。
好,有了装分子的空间,就可以灌水了!呵呵,不是说回复可以灌水的!!在处理的结尾,终端会显示加进了多少水分子,记下这个值,后面有用!!!
输入为:box.gro topol.top
输出为:sol.gro
命令为: genbox -cp box.gro -cs tip4p -p topol.top -o sol.gro
这一步后,linux系统提示back up,因为这一步加了水,第一步建立的拓扑文件.top将要改变。不过不用管,GROMACS有人性设计!呵呵
再接着,加离子。但是必须先得用grompp命令将 .gro文件 .mdp文件 .top文件集合起来建立一个二进制文件.tpr。因为加离子的命令需要.tpr的输入。下面是加入离子的个数,一般我们要求NaCl是0.1m/l,就是说600个水分子加Na+ Cl-各一个。好,上面记录的水分子个数有用了,计算一下需要多少,如果有困难,可以问小学生
输入为:em.mdp topol.top
输出为:sol_ion.gro
命令为:grompp -f em.mdp -p topol.top -c sol.gro -o em.tpr
genion -s em.tpr -p topol.top -o sol_ion.gro -pname NA+ -np 9 -nname CL- -nn 9 -random
这里强调一点,em.mdp文件是进行模拟的参数文件,在模拟前就必须存在。参数文件也是分子模拟的一个重要文件,到哪找些参考了。呵呵,你可能有经验了,SENSENBOBO的博客。这个家伙真是太烦人了!!-np表示正离子的个数(可能是number of positive)-nn就不说了。结果也会提示back up.因为我们加入离子改变了拓扑文件。不想写了,同上
好,现在准备工作已经就绪。我们开始最重要的三步模拟。第一步,能量最优化模拟。首先,得用grompp命令将 .gro文件 .mdp文件 .top文件集合起来建立一个二进制文件.tpr。可以了,就用mdrun命令开始模拟!
输入为:em.mdp topol.top sol_ion.gro
输出为:em.gro ………很多文件,都看看,以后分析有用
命令为:grompp -f em.mdp -p topol.top -c sol_ion.gro -o em.tpr
mdrun -deffnm em -v
你可能发现这一步生成的em.tpr和上一步的不一样,是的,输入的.gro文件就不一样嘛!mdrun命令不懂的话就硬着头皮做,放心以后会懂的!结果还会有很多其他的文件,像 .trr .xtc .edr .log .mdp,唉,自己看吧!
我们开始进行第二步模拟,水平衡模拟。建立文件的方式同第6步,不过采用了不同的参数文件,可以理解吧!
输入为:pr.mdp topol.top em.gro
输出为:pr.gro………..blablablabla
命令为:grompp -f pr.mdp -p topol.top -c em.gro -o pr.tpr
mdrun -deffnm pr -v
最后,终于到Production simulation了,一般这一步就会花十个小时以上,视具体分子大小和设定空间而定。跑吧!!哥们,终点不远了。
输入为:md.mdp topol.top pr .gro
输出为:md.gro………..blablablabla
命令为:grompp -f pr.mdp -p topol.top -c em.gro -o pr.tpr
mdrun -deffnm md -v
最后从文件中找出md.gro,用editconf转换为.pdb文件,就可以用VMD或PyMOL看了

CPT文件:该文件为模拟断点文件(check point,.cpt)。该文件为模拟过程固定时间间隔产生,保存模拟系统所有信息。该文件一部分可以在能量文件(.edr)找到,一部分可以在双精度轨迹文件(.trr)中找到。如果模拟因为外界条件中断,可以使用该文件重新在断点处开始模拟,以节省模拟时间。同时也可以依靠该断点文件开始,并延长模拟计算(见tpbconv)。
EDR文件:系统能量文件(energy,.edr)。该文件记录模拟输入文件中定义的能量组的各种相互作用能量等。
EPS文件:封装文件格式(.eps),并不是GROMACS自身文件格式,可以当图片打开。LINUX系统下一般已经有默认打开程序,WINDOWS要安装其他打开程序。GROMACS的DSSP等通过xpm2ps处理后都是这个文件格式。
G87文件:分子坐标文件(.g87)。该文件记录并只记录原子坐标和速度,不含原子序号。并只记录常压强模拟系统的盒子信息。
G96文件:分子坐标文件(.g96)。GROMOS96程序的分子坐标文件,模拟程序以C语言格式写入,精度较高,但是会比较大。包含有文件头,时间步,原子坐标,原子速度,以及盒子信息等。
GRO文件:分子坐标文件(.gro)。GROMACS的最主要分子坐标文件。该文件类型的各个文本列字数固定,C语言的写入格式为:"%5d%5s%5s%5d%8.3f%8.3f%8.3f%8.4f%8.4f%8.4f"。具体固定文本列有:残基序号,5位数;残基名称,5字母;原子名称,5字母;原子序号,5为数;原子坐标三列,X,Y,Z坐标各8位数,含3个小数位;速度同坐标,速度单位为nm/ps(km/s)。
ITP文件:分子拓扑文件(.itp)。被主拓扑文件(.top)包含的分拓扑文件,一般包含某个特定分子的类型。与主拓扑文件区别是它不引用其他力场文件,同时不包含[system],[molecule]等拓扑字节。
M2P文件:xpm2ps程序配置文件,定义输出eps文件中颜色,字体种类及大小等。
MDP文件:GROMACS的模拟配置文件(.mdp)。该文件所含定义较多,各关键字的含义可以查阅GROMACS手册。
N2T文件:原子名称及类型对照文件(.n2t)。x2top程序可以按照原子名称得到该原子的原子类型力场参数,N2T就是x2top程序扫描的数据库,文件很小。文件中文本行有原子名称,原子类型,原子电量,原子质量,该原子与其他原子成键距离等。
NDX文件:原子索引文件(.ndx)。该文件含原子的序号,当使用make_ndx程序生成索引文件时,可以定义不同的原子组,每组名下即是该组所含各个原子的序号。
PDB文件:分子坐标文件(.pdb)。
RTP文件:残基力场参数文件(.rtp)。该文件包含常见残基的力场信息,包括残基所含原子,成键种类等。使用pdb2gmx处理PDB文件时,程序按照PDB文件信息,在RTP文件中寻找对应的残基力场信息。
TOP文件:模拟系统的拓扑文件(.top)。该文件就是所谓十分及其著名的系统拓扑文件,其包含各个关键字都十分易懂;一般其还包含引用其他力场文件(#include)。TOP文件一般由pdb2gmx产生,grompp程序生成模拟TPR文件时使用。
TPR文件:模拟打包文件(.tpr)。该文件打包模拟需要各种信息,包括模拟系统,模拟控制等。
TRJ文件:全精度轨迹文件(.trj)。该文件包含模拟系统模拟各个时间下的原子坐标,速度和受力等。所含帧数频率由MDP文件控制,文件较大。
XPM文件:数据矩阵文件(.xpm)。该文件矩阵中每个值即是矩阵点所表示的物理量大小(也可以是布尔值)。该文件其实就是二维图,可以使用xpm2ps转换为图片。
XTC文件:模拟轨迹单精度文件(.xtc)。单精度轨迹文件,文件较TRR和TRJ小,为常用分析文件。包含模拟系统中原子坐标,模拟时间,和模拟盒子信息。
XVG文件:二维图标文件(.xvg)。二维画图工具xmgrace的默认文件,可以使用xmgrace打开。
aminoacids.dat
该文件保存GMX默认的蛋白质和核算的默认残基名称。如果计算过程要建立一个新的蛋白质或者核算残基,可以将新的残基名称加到该文件中,并增加文件第一个的整数即可。有时候可以将该文件拷贝到当前工作文件夹进行编辑,以不影响其他计算的命名(GMX的文件搜索总是从当前目录开始的)。
FF.dat
GMX默认力场列表,即pdb2gmx处理PDB文件时可以选择的立场列表。增加新的力场,可以编辑该文件,并修改文件第一行的整数,使其与力场种类数目一致。
specbond.dat
GMX处理特殊化学键的文件,特殊化学键包括二硫键,血红素铁原子于其他原子成键等。该文件第一行指明特殊键对的数目,第二行开始即为各个特殊键对的信息,其中第一列为键对第一个残基的名称,第二列为该残基成键原子的名称,第三列为该原子可以成键的数目,第四到第六列为成键另一个残基的信息,第七列为该化学键的平衡长度,此后两列为成键后残基的新名称。
vdwradii.dat
原子范德华半径数据库。使用genbox为系统添加水分子,或者使用genion为系统添加离子时,各个原子间的距离要大于两个原子范德华半径之和,否则为原子重叠。