|
|
问题终于解决了,困扰了我大半年,这回五一在家有空又重新梳理了一下,发现了自己之前工作的两个疏漏,修正后终于把这个跑NVT崩溃的问题解决了,现在已经跑完NVT和NPT,开始跑Production MD了。等着第1个纳秒MD结果的档口,上来把解决的过程记录一下,如果也有人遇到相同问题可供参考。
主要的两点:
1、之前把GROMOS 56A6_CARBO力场和GROMOS 56A6_CARBO_R这两个东西混淆起来了,GROMOS 56A6_CARBO是发表再JCC2011年杂志上的,而GROMOS 56A6_CARBO_R是对它的一个修改,发表在JCC2016年杂志上(详细见帖子末尾参考文献)。GROMOS 56A6_CARBO力场文件下载地址是http://www.gromacs.org/@api/deki/files/200/=56a_CARBO4GROMACS.rar
2、GROMOS 56A6_CARBO力场的文件下载后里边有一个python写的程序CONVERT.py这个程序需要放在和topol.top相同目录下运行,程序会给gmx pdb2gmx所产生的拓扑文件打补丁,生成新的一个拓扑文件top_new.top,用这个新的拓扑文件跑就不会NVT崩溃的问题了(Sob老师判断的拓扑文件有问题真准!)
这里要补充说明的问题是力场所带的这个拓扑补丁程序是用python2写的,python3下面运行会出错,之前因为不熟悉python语言,也没有注意到这个问题,直接用pdb2gmx产生的有问题的拓扑文件去跑控温,所以崩溃了。
这个CONVERT.py程序要用python3运行的话要改两个地方:
112行:if语句第一个条件nvW6.has_key(atom1_name+atom2_name)改为atom1_name+atom2_name in nvW6.keys()
117行:nvW6.has_key(atom2_name+atom1_name)改为atom2_name+atom1_name in nvW6.keys()
就可以了,主要原因是python3里边dict类没有了has_key()方法
另外补充一点,这个程序用到了numpy,所以需要安装numpy,不知道怎么安装numpy的直接在命令行运行下面指令(前提你的Linux已经安装了python3)
$pip3 install numpy
[1] Halvor, S, Hansen, et al. A reoptimized GROMOS force field for hexopyranose-based carbohydrates accounting for the relative free energies of ring conformers, anomers, epimers, hydroxymethyl rotamers, and glycosidic linkage conformers[J]. Journal of Computational Chemistry, 2011.
[2] Huenenberger, Philippe, H, et al. Revision of the GROMOS 56A6(CARBO) force field: Improving the description of ring-conformational equilibria in hexopyranose-based carbohydrates chains[J]. Journal of Computational Chemistry: Organic, Inorganic, Physical, Biological, 2016.
|
评分 Rate
-
查看全部评分 View all ratings
|