- 2017-09-14 22:02:05 原始文档
本篇底稿为GROMACS处理非标准残基的官方文档, 翻译扩充作为非标准残基处理的基础知识.
修改力场
在GROMACS 4.5及更高版本中, 修改力场的最好方法是先将已有力场的目录完全复制一份到你的工作目录下, 例如:
cp -r $GMXLIB/residuetypes.dat $GMXLIB/amber99sb.ff .
然后再修改工作目录下的文件. pdb2gmx
运行时会查找系统自带的原始和修改后的版本, 你可以从给出的列表中选择修改后的版本, 或使用pdb2gmx -ff
选项来替换系统自带的版本.
添加新的残基
非标准残基做起来很繁琐, 目前我能想到的处理方法主要有三种:
- 对于简单的非标准残基, 如甲基化, 自己手动组合拓扑, 修改原子编号就可以了
- 复杂点的, 可以借助于AMBER, 然后acpype直接得拓扑. AMBER处理非标准残基的教程可参考 Calculation using non-standard residue(s)
- 最通用的方法是修改力场中涉及残基的库文件, 如
rtp
,hdb
文件. 这样做了以后就可以借助于pdb2gmx
进行处理了.
无论哪种方法, 前提都是得到非标准残基的拓扑文件, 且保证其正确, 而步骤则取决于你所用的力场. 有些参数你可能必须参考原始文献或自己拟合才能得到. rtp文件的格式及参数请参考GROMACS手册第5章 5.6 pdb2gmx输入文件, 注意其中的原子名称必须是唯一的, 同一残基内不能重复, 其必须指定成键.
如果想在已有的力场中引入新的残基以便可以使用pdb2gmx
进行处理, 或者想对已有的残基进行修饰, 那么就需要修改对应力场中的几个文件. 你必须仔细查看GROMACS手册中对这些文件格式的说明, 并遵循下面的步骤:
- 首先将残基名称添加到
/GMX安装路径/share/gromacs/top/residuetypes.dat
文件, 并指定其类型, 如Protein
,DNA
,RNA
,WATER
,Ion
等, 而且可能还需要同时添加不同端基类型的名称, 如蛋白的N端和C端, DNA/RNA的3端和5端等. 如果残基名称没有添加到这个文件中,pdb2gmx
在判断端基时会出错, 从而导致失败. 也可以使用pdb2gmx
的-ter
选项手动指定端基, 但不建议那么做. - 根据选择的力场, 创建残基的rtp文件. 创建方法很多. 对简单的残基, 你可以手动书写; 对于简单修饰的残基, 你可以复制已有残基的rtp, 重命名并做适当修改; 对于更复杂的情况, 你或许需要先使用外部的拓扑生成工具生成拓扑, 再将其结果整理为rtp格式.
- 将残基的rtp文件添加到对应分子类型的rtp文件中. 或者, 你也可以新建一个rtp文件, 使用与默认不同的文件名, 以避免直接修改力场自带的rtp文件.
- 如果你需要使用
pdb2gmx -ignh
来自动添加氢原子, 那就要在相关分子类型的hdb文件中创建新的条目, 指定添加氢原子的个数个方式. 或者, 你也可以新建一个hdb文件, 使用与默认不同的文件名, 以避免直接修改力场自带的hdb文件. - 如果引入的残基使用了新的原子类型, 那就需要将这些新的原子类型及其非键参数分别添加到
atomtypes.atp
和ffnonbonded.itp
文件 - 如果引入的残基中包含了新的成键相互作用, 那需要将这些新的成键相互作用及其参数添加到
ffbonded.itp
文件 - 如果引入的残基涉及到其他残基的特殊连接, 还需要更新
specbond.dat
文件
注意, 如果你只是为了模拟水中的一些特殊配体, 或者模拟一些特殊配体与正常蛋白的作用, 最好是生成一个独立的itp文件(例如, 可由一些程序或参数服务器生成的拓扑文件修改得到), 其中包含[ moleculetype ]
的定义, 然后将其使用#include
插入到未包含的配体的拓扑文件中. 而上面非标准残基的处理方式繁琐且不易实现.