计算化学公社

 找回密码 Forget password
 注册 Register
Views: 2506|回复 Reply: 4
打印 Print 上一主题 Last thread 下一主题 Next thread

[程序/脚本开发] gaff力场gmx itp文件转到moltemplate lt文件的小脚本

[复制链接 Copy URL]

60

帖子

3

威望

1812

eV
积分
1932

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 Puying 于 2023-2-3 14:41 编辑

lammps的功能比gromacs丰富些,偶尔遇到一些情况需要用lammps跑。
这里写了一个基于sobtop生成的gaff力场itp文件生成moltemplate的lt文件的小脚本,仅供参考。

需要修改其中的itp文件的名字,以及盒子大小设置,体系里面分子的个数等。如果体系里面有两种及以上分子,可以基于此脚本进行修改。
最后运行 moltemplate.sh -atomstyle full -pdb file.pdb system.lt, file.pdb文件是体系的pdb文件

itp2lt.sh

1.47 KB, 下载次数 Times of downloads: 101

评分 Rate

参与人数
Participants 1
eV +7 收起 理由
Reason
sobereva + 7

查看全部评分 View all ratings

172

帖子

0

威望

3441

eV
积分
3613

Level 5 (御坂)

2#
发表于 Post on 2023-2-1 18:44:30 | 只看该作者 Only view this author
必须是基于gaff力场才可以运行吗,gmx自带的tip4p.itp测试了脚本,发现有如下报错
  1. ./itp2lt.sh: line 8: 3
  2. 9 + 2 : syntax error in expression (error token is "9 + 2 ")
  3. 19 23 24
复制代码

60

帖子

3

威望

1812

eV
积分
1932

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2023-2-3 13:58:39 | 只看该作者 Only view this author
本帖最后由 Puying 于 2023-2-3 14:26 编辑
neocc 发表于 2023-2-1 18:44
必须是基于gaff力场才可以运行吗,gmx自带的tip4p.itp测试了脚本,发现有如下报错

别的力场可行,前提是得确保itp里面的原子类型和moltemplate支持的原子类型是一致的。比如oplsaa力场,gmx和moltemplate里面的原子类型编号完全不一样,就没法搞。所以需要自己确认

关于报错部分,实际上是关于取行号部分。line1-4 参数分别是atom字段的开头结尾行,bond字段的开头结尾行。
甚至如果在itp指定位置加一个回车,这个脚本就不好使了。很容易报错。

行号完全可以自己手设。

172

帖子

0

威望

3441

eV
积分
3613

Level 5 (御坂)

4#
发表于 Post on 2023-2-6 22:48:30 | 只看该作者 Only view this author
通过sobtop生成的itp,即使原子类型一致,但是键角,二面角,improper,好像不能直接对应lammps相应coeffs(style是harmonic)
gmx力场参数说明
https://manual.gromacs.org/curre ... y-file-formats.html
lammps参数说明
https://docs.lammps.org/angle_coeff.html
https://docs.lammps.org/dihedral_coeff.html
比如有的二面角是3型6个参数或者9型有2个参数,lammps的data里面Dihedral coeffs好像就只有4个

60

帖子

3

威望

1812

eV
积分
1932

Level 5 (御坂)

5#
 楼主 Author| 发表于 Post on 2023-2-7 15:10:31 | 只看该作者 Only view this author
本帖最后由 Puying 于 2023-2-7 15:15 编辑
neocc 发表于 2023-2-6 22:48
通过sobtop生成的itp,即使原子类型一致,但是键角,二面角,improper,好像不能直接对应lammps相应coeffs ...

Gromacs里对于gaff的定义用到了二面角函数4和9。而在lammps是通过dihedral_style fourier来定义的,别说加4个了,加20个参数都行。
https://docs.lammps.org/dihedral_fourier.html
对于同一个函数两者给的定义的方式不同,所以参数个数也不同。

对于gaff力场,moltemplate自带了lt文件,里面定义了所有的键长键角二面角非键参数。如果出错的话,大概率是moltemplate的lt文件里面错了。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-19 04:55 , Processed in 0.303196 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list