计算化学公社

标题: grompp出错Invalid order for directive moleculetype [打印本页]

作者
Author:
kjxwl3    时间: 2017-9-24 23:37
标题: grompp出错Invalid order for directive moleculetype
2024-5-25管理员注:此问题属于非常老生常谈的问题,遂专门写了个帖子:“老生常谈的grompp提示Invalid order for directive atomtypes报错专帖”
http://bbs.keinsci.com/thread-45783-1-1.html



各位gromacs大神,
     我在用gromacs的时候,遇到了一个问题:
     我分别创建了两个分子的itp,然后再top文件中include他们,结果在grompp的时候一致报错:
Fatal error:
Syntax error - File CHE_GMX.itp, line 14
Last line read:
'[ default ]'
Invalid order for directive moleculetype
    查了一下说这是顺序的问题。但是这个itp里面directive的顺序就是我根据手册来的。不知道这个错误是由于什么原因造成的?
    附件两个itp为分子的力场,top是我的top文件。
    谢谢大家!


作者
Author:
sobereva    时间: 2017-9-25 07:48
[ defaults ]放到top的最开头
作者
Author:
kjxwl3    时间: 2017-9-25 09:02
sobereva 发表于 2017-9-25 07:48
[ defaults ]放到top的最开头

谢谢sob老师,我这样写了之后还是报错。您看看我的附件。报错是:
Fatal error:
Syntax error - File OWS_GMX.itp, line 1
Last line read:
'[ atomtypes ]'
Invalid order for directive atomtypes


作者
Author:
wbn    时间: 2017-9-25 10:42
kjxwl3 发表于 2017-9-25 09:02
谢谢sob老师,我这样写了之后还是报错。您看看我的附件。报错是:
Fatal error:
Syntax error - File O ...

[ atomtypes ]  [ system ] [ molecules ] 这几项只能出现一次。我的习惯是所有东西都写top文件里,不用itp文件。但也可以把两个itp 里面[ atomtypes ] 合并到一起写进一个新itp 文件里,然后include到两个molecule之前。把itp 文件里[ system ] [ molecules ] 部分去掉,留在top文件里。

另:做之前建议多读读Manual,不要瞎做。gromacs的manual我认为通读一遍还是很有意义的,也不花很多时间。
作者
Author:
wbn    时间: 2017-9-25 10:46
另:itp文件欠检查。水分子键角参数都没有
作者
Author:
kjxwl3    时间: 2017-9-25 12:25
wbn 发表于 2017-9-25 10:46
另:itp文件欠检查。水分子键角参数都没有

O-H1和O-H2两边是对称的,可以不需要键角信息。
作者
Author:
kjxwl3    时间: 2017-9-25 12:30
wbn 发表于 2017-9-25 10:42
[ atomtypes ]  [ system ] [ molecules ] 这几项只能出现一次。我的习惯是所有东西都写top文件里,不用i ...

谢谢,我按你的这个来做了,可还是不work。

作者
Author:
kjxwl3    时间: 2017-9-25 12:30
kjxwl3 发表于 2017-9-25 12:25
O-H1和O-H2两边是对称的,可以不需要键角信息。

报错是:
Fatal error:
Syntax error - File atomtype.itp, line 1
Last line read:
'[ atomtypes ]'
Invalid order for directive atomtypes

作者
Author:
sobereva    时间: 2017-9-25 21:15
kjxwl3 发表于 2017-9-25 12:30
报错是:
Fatal error:
Syntax error - File atomtype.itp, line 1

atomtypes必须先于任何一个moleculetypes出现,你的两个.itp里都#include "atomtype.itp",第二次引入这个文件时候导致atomtypes出现在了第一个moleculetypes之后,违背了gmx的要求
作者
Author:
kjxwl3    时间: 2017-9-25 21:34
sobereva 发表于 2017-9-25 21:15
atomtypes必须先于任何一个moleculetypes出现,你的两个.itp里都#include "atomtype.itp",第二次引入这 ...

这个有很好的解决方案么,我现在主要是想采用这种分开的方式。
作者
Author:
sobereva    时间: 2017-9-25 21:38
kjxwl3 发表于 2017-9-25 21:34
这个有很好的解决方案么,我现在主要是想采用这种分开的方式。

你把第二个itp里引入的atomtypes给去掉就完了
作者
Author:
wbn    时间: 2017-9-25 22:53
kjxwl3 发表于 2017-9-25 12:25
O-H1和O-H2两边是对称的,可以不需要键角信息。

对不对称和有没有键角有什么关系
作者
Author:
kjxwl3    时间: 2017-9-25 23:02
wbn 发表于 2017-9-25 22:53
对不对称和有没有键角有什么关系

我这个是全部用amber中的tip3p的水转的,采用的是acpype.py的脚本。在amber自己的力场库里面也是这样写的,O和HW1以及O和HW2的键长部分。没有键角部分,这个没有影响。
作者
Author:
wbn    时间: 2017-9-25 23:23
kjxwl3 发表于 2017-9-25 23:02
我这个是全部用amber中的tip3p的水转的,采用的是acpype.py的脚本。在amber自己的力场库里面也是这样写的 ...

你确定TIP3P里是像你一样只定义了O-H之间的距离,而没有定义H-H之间的距离
作者
Author:
柒月小鱼    时间: 2018-7-24 11:30
哈喽 楼主这个问题解决了么

作者
Author:
林原    时间: 2020-7-11 16:11
亲测,sob老师的方法可行,只留一个atomtypes且在最先。
作者
Author:
jiangyan    时间: 2024-5-24 19:58
请问这个问题最后怎么解决的呀,我也遇到了同样的问题
作者
Author:
sobereva    时间: 2024-5-25 09:37
jiangyan 发表于 2024-5-24 19:58
请问这个问题最后怎么解决的呀,我也遇到了同样的问题

老生常谈的grompp提示Invalid order for directive atomtypes报错专帖
http://bbs.keinsci.com/thread-45783-1-1.html




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3