分子动力学模拟中断及续跑问题
分为两种情况:
1.前面的模拟已完整跑完,生成了最终的gro文件,通过查看RMSD需要续跑。
首先将md.mdp文件中两个地方进行修改,一是nsteps改为你最终需要跑的总步数(比如如图之前你设置的是3000000步也就是6ns,现在你要延长至10ns,就改为5000000步,这样实际后面会接着你已经跑了的6ns再跑2000000步)

二是将模式改为可续跑 yes

然后运行下面命令重新生成模拟的输入文件
gmx grompp -f md.mdp -c md_10ns.gro -t md_10ns.cpt -p topol.top -o md_10ns.tpr -v -n index.ndx -maxwarn 3
之后进行续跑,其中md_10ns.cpt为上次生成的检查点文件,-append是续跑模式,-ntmpi和-ntomp 设置时你CPU的核心数来定,乘起来不能超过CPU的核心数。
nohup gmx mdrun -s md_10ns.tpr -cpi md_10ns.cpt -append -deffnm md_10ns -pme gpu -bonded gpu -dlb yes -pmefft gpu -ntmpi 1 -ntomp 64 -gpu_id 0 &
2.因为磁盘空间等原因导致模拟中断没有生成最后的gro文件的
(首先为了避免下次又出现这种情况,用以下命令将以前用#注释掉的文件进行删除,腾出空间)
find . -type f -name '*#*' -exec rm -f {} +
先检查你md.log文件看下最后跑了多少步断的,比如3000000步,按照上图的步长的话就是跑了6ns也就是6000ps
用最后一帧生成gro文件
gmx trjconv -f md_10ns.xtc -s md_10ns.tpr -o last_frame.gro -dump 6000
重新生成模拟的输入文件tpr(这一步如果要改md.mdp的话按第一种情况修改)
gmx grompp -f md.mdp -c last_frame.gro -t md_10ns.cpt -p topol.top -o md_10ns.tpr -v -n index.ndx -maxwarn 3
续跑
nohup gmx mdrun -s md_10ns.tpr -cpi md_10ns.cpt -append -deffnm md_10ns -pme gpu -bonded gpu -dlb yes -pmefft gpu -ntmpi 1 -ntomp 64 -gpu_id 0 &
1万+

被折叠的 条评论
为什么被折叠?



