Gromacs的各个工具都很有个性,如果互相结合,可以做很多事情。
g_energy求系统轨迹各个能量的,一般跑完MD之后,使用g_energy处理ener.edr只能得到系统的各个能量项。但是如果想求系统中两个不同部分在模拟过程中的相互作用能量,那就要使用一些小窍门。
以下是实现的一个方法:
第一,根据原来的tpr文件建立一个新的tpr,在这个新的tpr中,明确定义感兴趣的组。这要用索引文件,见上文。
第二,用mdrun的" -rerun "参数指定原来的轨迹文件再跑一次模拟,这个过程很快。如果还想更快,可以使用trjconv把水分子去掉。这一个重复的模拟也产生轨迹文件,重要的是,还产生一个新的ener.edr文件,这个文件中包含了tpr文件中定义的各个组能量及相互作用能量(库伦相互作用能,范德华相互作用能等)。
第三,再使用g_energy把各个能量项提出来,想要什么提什么。
嗯,结果非常好。不信你试试。
由 sen 发表于 December 15, 2007 04:18 PM对我们非常有帮助的信息!!
由 wendao 发表于 December 21, 2007 01:47 PM我首先是定义了蛋白质和小分子残基编号在index.ndx
然后tpbconv -s md.tpr -n index.ndx -f md.trr -e md.edr -o remd.tpr -time 0 ,之后会跳出一个选择
Using frame of step 0 time 0
Opened all.edr as single precision energy file
Reading frame 0 time 0.000
READ 3 BOX VELOCITIES FROM all.edr
1000000 steps (2000 ps) remaining from first run.
Group 0 ( System) has 71029 elements
Group 1 ( Protein) has 5570 elements
.
.
.
Group 17 ( r_1-576) has 5758 elements
Group 18 ( r_577) has 41 elements
17,18是蛋白质和药物,那老大这步我应该怎么选择呢?
我选择了0,然后mdrun -s remd.tpr -rerun md.trr -o remd.trr -e remd.edr -g remd.log -v
可是这样结束后g_energy -f remd.edr -o ener1.xvg所列出的选择项中并没有出现相互作用能量,和原来正常md后的能量项一样阿。
我哪里错了呢?