计算化学公社

标题: OpenMM模拟蛋白-配体体系 [打印本页]

作者
Author:
casea    时间: 2023-3-3 13:23
标题: OpenMM模拟蛋白-配体体系
本帖最后由 casea 于 2023-3-3 13:24 编辑

本文使用的脚本(.ipynb可以使用jupyter打开,更加方便操作):
(, 下载次数 Times of downloads: 25)
(, 下载次数 Times of downloads: 14)
(, 下载次数 Times of downloads: 13)
(, 下载次数 Times of downloads: 22)


之前学过一段时间的openmm,也翻译了openmm的手册OpenMM官方文档中文版。但是一直苦于如何模拟蛋白-配体体系。蛋白-配体体系的模拟难点在于配体的力场文件的构建。OpenMM自带了蛋白的力场参数信息,而像配体分子这样的非标准残基则需要自己手动构建。虽然可以使用openmmforcefield手动生成残基参数,但是不太优雅。
​笔者日常使用的模拟软件为gromacs,对于小分子力场参数的构建,之前一直使用acpype,后来使用的是卢天老师开发的Sobtop。它们均可以生成配体itp文件,因此就在想是否能够通过python脚本将itp文件转化为openmm支持的xml力场文件,并将此用于openmm 蛋白配体体系的模拟中。

环境:

文件:

​文中所用的python代码均可以在我的Github仓库中获取。

对于xml文件的生成,笔者没有过于深入的研究,因此xml文件可能会出现不合理之处。

笔者在个人案例测试中能够顺利通过

itp2xml
​说干就干,分析openmm xml文件可以发现,该力场文件的根标签为ForceField,其下又包含Info、AtomTypes、Residues、HarmonicBondForce、HarmonicAngleForce、PeriodicTorsionForce、NonbondedForce。
simulation
在生成openmm支持的配体力场文件之后,我们便可以使用openmm进行模拟。
​openmm运行时首先需要安装openmm(这是前提)。其次需要提供配体的gro、top、itp文件,蛋白的pdb文件,以及上一步生成的xml文件。
​需要注意的是,提供的配体pdb坐标文件为对接之后的,即配体处于蛋白的活性口袋内。
​模拟使用simulation.py文件,第一次运行时需要在文件开头修改使用的文件名以及模拟的参数。
      
  1.    python simulation.py
复制代码

​该脚本会对蛋白进行残基补全、去除非标准残基、重新加氢等预处理操作,之后将蛋白和配体结合,并对体系溶剂化和平衡电荷。
​这里有一个小tricks,对于配体来说,pdb文件需要有成键关系,否则读取时会报错。因此,先使用openmm对配体做了能量最小化,之后保存为pdb文件。
​体系准备好之后就可以进行能量最小化,预平衡和成品模拟。


作者
Author:
zhouoh    时间: 2023-3-3 14:18
我记得openmm好像可以直接读取Gromacs和Amber的拓扑文件(http://docs.openmm.org/latest/us ... using-gromacs-files),这种转换的方法有什么优点吗?
作者
Author:
casea    时间: 2023-3-3 15:19
zhouoh 发表于 2023-3-3 14:18
我记得openmm好像可以直接读取Gromacs和Amber的拓扑文件(http://docs.openmm.org/latest/userguide/applic ...

1. OpenMM可以使用已经搭建好的AMBER、GROMACS、CHARMM文件。
2. 这只是我突发奇想搞出来的东西,之前一直尝试自定义openmm的残基模板。目的就是想看看itp文件转换为xml文件的可行性
3. 如果非要说有什么优点的话,那应该是对接之后,不需要其他的操作,只需要提供acpype或者sobtop构建的itp、top、gro文件和蛋白pdb文件。运行simulation.py能够自动对蛋白处理,溶剂化以及添加抗衡离子。相较于gromacs、amber来说可以省去很多命令(虽然也可以写bash脚本实现)
作者
Author:
waitingseven    时间: 2023-3-4 09:31
在知乎上看到了你的贴子,多谢提供的脚本,后面有机会试试
作者
Author:
k64_cc    时间: 2023-3-7 11:00
走openmmforcefield并不需要用xml过渡,势函数搭完之后直接把System用xmlserializer存下来就行。
作者
Author:
casea    时间: 2023-3-7 16:57
k64_cc 发表于 2023-3-7 11:00
走openmmforcefield并不需要用xml过渡,势函数搭完之后直接把System用xmlserializer存下来就行。

感谢解答。请问一下您所说的流程是通过openmmforcefiled生成小分子配体的top吗?我之前试了 GAFFTemplateGenerator,但是无法指定小分子电荷,所以一直没成功。
作者
Author:
h840473807    时间: 2023-8-23 17:02
在输出的.xml里,sigma和epsilon似乎反了?
作者
Author:
c00jsw00    时间: 2023-8-24 21:00
openmm 有一個gui產生input ...
這裡有中文資訊:https://newsletter.x-mol.com/groups/cpu1604/events/14080
作者
Author:
c00jsw00    时间: 2023-8-24 21:00
openmm 有一個gui產生input ...
這裡有中文資訊:https://newsletter.x-mol.com/groups/cpu1604/events/14080
作者
Author:
OrdinaryMoss    时间: 2023-11-9 13:04
请问lammps中的输入文件(.pb或者其他)力场文件,是否可以把这些力场参数文件拿到openmm中使用呢?
作者
Author:
sweetbotsu    时间: 2023-11-9 15:18
c00jsw00 发表于 2023-8-24 21:00
openmm 有一個gui產生input ...
這裡有中文資訊:https://newsletter.x-mol.com/groups/cpu1604/events/140 ...

这个gui对自定义力场没有任何作用,clay力场就得自己写




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