在使用gromacs的mdrun进行模拟计算过程中,很多因素可以是模拟计算终止。比如突然断电,断网或者磁盘空间满,或者windows死机(^_^)等等。重启gromacs模拟计算是一件十分方便的事情,因为gromacs众多的程序里面就有一个专门(或者吧)用来修改tpr文件的,就是tpbconv。
gromacs把模拟需要的所以文件都打包成一个tpr二进制文件,里面包含了分子坐标,各个原子在给定温度下速度和能量的分布。当模拟突然终止时,只要将终止时候系统的状态,即各个原子的位置、速度、坐标等装入tpr文件即可。tpbconv的参数也不少,可以使用"tpbconv -h "查看,但是制作一个重启tpr文件的参数和格式一般如下:
tpbconv -s topol.tpr -f traj.trr -e ener.edr -o newtopol.tpr
其中topol.tpr为原来的tpr文件,traj.trr为双精度坐标文件(不要用xtc文件,因为精度不够),ener.edr为系统能量输出文件,newtopol.tpr是重启模拟文件。以上的命令得到的是在计算突然终止前一个系统构象的信息。也可以在命令中加上一个"-time "参数来指定从那一个时间重新开始,如一下指定从一纳秒处重新开始模拟:
tpbconv -s topol.tpr -f traj.trr -e ener.edr -time 1000 -o newtopol.tpr
同时,如果模拟正常结束,而模拟时间让人觉得不够长时,可以使用tpbconv写一个延长模拟的tpr文件,一般格式如下:
tpbconv -s topol.tpr -f traj.trr -e ener.edr -extend 1000 -o newtopol.tpr
其中"-extend 1000"表示延长1000ps的模拟时间。呵呵,非常好用。
这样断了又开始,就会产生很多轨迹文件,分析的时候非常不方便,gromacs有其他常用的命令把坐标文件,能量文件连接成一个文件,其中比较常用的如trjcat和eneconv,格式分别如下:
trjcat -f traj1.trr traj2.trr.... -o traj_all.trr
eneconv -f ener1.edr ener2.edr... -o ener_all.edr
即使用"-f "读入所有轨迹或者能量文件,使用"-o "输出完整的轨迹和能量文件。
最后说说一个tpbconv的弱点。tpbconv不能更改你原来tpr文件中并行计算的节点数,比如你原来的tpr文件是8个节点的,那么使用tpbconv得到的重启tpr文件也是8个节点的。如果想更改使用节点数,那只能用grompp重新做一个了。但是使用grompp做重启模拟文件时,就算你指定了原来的轨迹文件和能量文件,它还是会根据麦克斯韦分布重新给各个原子指定速度,真气人。
嗯,如果你觉得这是一个大问题,那就伸长脖子等gromcas新版本出来吧。
由 sen 发表于 October 23, 2007 11:44 AM博主:你好
在你的博客上见到过你介绍NAMD分子动力学模拟软件。
请教你个问题,我想用NAMD软件来模拟:大块水中的笼型气体水合物(比如天然气水合物)的动力学性质,分解条件或者相变性质,用这个软件可以吗?可行性大不大?我都应该你做哪些准备,有什么需要注意的地方?还请您多多指点一下!
期待着你的答复!谢谢!
07.10.21
由 boboy 发表于 October 22, 2007 10:21 AM应该可以做。主要的准备就是好好学namd啦,呵呵。
应为你要模拟的是天然气水合物,不是蛋白,所以你要自己做天然气水合物的拓扑文件。基本上比较麻烦,但是不是特别难。可以参开namd网站上tutorial文件中建立拓扑文件的教程。
我不太清楚你说的分解条件和相变性质具体指什么。但是你可以模拟在不同温度下天然气水合物的性质与其变化。也可以使用SMD方法模拟在受力情况下天然气水合物的反应。
模拟方法大家基本都差不多,分析方法就大有不同了,等你对namd熟了之后,就会知道了。
Good Luck!!