Gromacs中小分子力场拓扑文件的创建
李继存老师在其博客上对小分子及非标准氨基酸等力场的构建、转换做了详细的描述,故将其内容搬运整理至此,以作备忘。
理论基础
手动创建分子的拓扑文件, 需要画出分子结构, 对照所选力场的原子类型表, 确定分子中每个原子(或原子基团)的原子类型, 然后根据原子类型及其相互作用参数写出拓扑文件. 当然, 在这过程中分子中的某些原子可能无法在所选力场中找到对应的原子类型, 那么就只能退而求其次, 选择一个(你认为或源于参考文献上)最接近的, 就可以了.
目前, 有一些程序或脚本能够自动处理这个的问题, 但采用的方法是一样的, 就是先根据分子结构找到匹配的原子类型, 然后将相应的相互作用参数写为拓扑文件. 由于是使用程序自动处理, 所以不可能像自己手动处理那样准确, 所以在得到这些程序给出的拓扑文件后, 自己一定要核查一下, 看是否存在错误. 另外有些程序无法给出原子类型对应的电荷, 这也需要单独处理.
上面的方法也适用于周期性体系或是聚合物体系, 但由于这些体系是由一些基本单元重复而成的, 如果扩展到大的体系后, 还使用上面的方法就显得麻烦了, 况且还有周期性的问题, 很多程序无法处理. 为此, GROMACS提供了x2top模块, 它可以根据提供的构型文件, 设定的键长条件, 计算所有可能的键, 键角, 二面角, 并输出一个初步的拓扑文件, 将它加以修改, 加入自己需要的参数就能做成一个可以使用的拓扑文件了. 因此, x2top只用于创建初步的拓扑文件, 所用的力场和参数需要你自己处理, 不要直接使用它给出的拓扑文件去做模拟.
这些辅助工具可以根据输入构型自动判断原子类型以及成键方式, 虽然很不错, 但却不能保证一定能找到最匹配的原子类型, 况且还有许多原子类型之间的键合参数缺失, 这时就需要我们自己根据情况来补充了.
实际上, 各种创建拓扑文件的网站或是程序都只是起着辅助作用, 得到拓扑文件后, 在做模拟之前一定要检查一下.
下面是创建分子拓扑文件时要考虑的几点: - 对同一模拟体系中的不同分子, 尽量使用同一力场, 这样自洽性好. 比如, 如果对蛋白质, 核酸等生物大分子使用AMBER力场, 那么相应的配体小分子, 建议使用与此对应的GAFF力场. 这也是AMBER程序鼓励的作法. - 对一般有机分子溶液体系的模拟, 建议使用全原子的OPLS-AA力场, 这是专门针对有机溶液体系优化的力场, 原子类型最多, 实用性很强. 如果你想使用联合原子力场, 那么你可以试试GROMOS力场.
各种工具
力场 | 工具 | 说明 |
---|---|---|
AMBER GAFF | AmberTools+ACPYPE | 推荐的标准做法 |
AMBER GAFF | MKTOP | 简单脚本, 需要提供电荷 |
AMBER GAFF | amb2gmx | 已废弃, 功能完全由acpype取代 |
CHARMM | SwissParam | 待考 |
CHARMM | CGenFF | 用于CHARMM的通用力场, 待考 |
GROMOS | PRODRG | 自动生成拓扑的网络服务器, 经典工具, 输出文件需要检查 |
GROMOS | ATB | 自动生成拓扑的网络服务器, 可能更好, 输出文件仍需检查 |
OPLS-AA | TPPMKTOP | 目前最好 |
OPLS-AA | MKTOP | 简单脚本, 需要提供电荷 |
OPLS-AA | Topolbuild | 将Tripos.mol2文件转换为拓扑, 功能简陋, 不建议使用 |
OPLS-AA | TopolGen | 将全原子的pdb文件转换为拓扑, 功能简陋, 不建议使用 |
UFF | OBGMX | 近似UFF力场, 可作参考 |
生物分子力场 | pdb2gmx | GROMACS通用工具, 只用于蛋白质, DNA, RNA的生物分子 |
所有力场 | x2top | GROMACS通用工具, 一般用于周期性体系, 聚合物等, 只给出初步拓扑文件 |
实例教程
- GAFF力场 使用AmberTools+ACPYPE+Gaussian创建小分子GAFF力场的拓扑文件
- OPLS-AA力场 TPPMKTOP:OPLS-AA全原子力场的GROMACS拓扑文件生成器
- GROMOS力场 对小分子不建议使用GROMOS力场, 因为其计算电荷的过程不清楚. 但由于PRODRG网站很方便, 这里还是提供一个说明, 并结合Justin的论文说明如何修改.
- 使用PRODRG或ATB创建
- 使用x2top并结合已知参数创建具有周期性体系的力场拓扑文件 创建周期性体系的拓扑文件: 以石墨烯为例
- GROMACS使用CHARMM力场参数
ref: - GROMACS力场拓扑文件的创建 - 几种生成有机分子Gromacs拓扑文件的工具 - gromacs决定力场参数的方式 - 将prodrg得到的itp转化为rtp的程序itp2rtp V1.0