计算化学公社
标题: 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 蛋白配体体系的模拟中。 环境:
文件:
- 蛋白pdb文件
- 配体gro文件
- 配体itp和top文件(acpype或sobtop生成)
- itp2xml.py (文末和github提供)
- simulation.py
- 以上文件必须放在同一文件夹下
文中所用的python代码均可以在我的Github仓库中获取。 对于xml文件的生成,笔者没有过于深入的研究,因此xml文件可能会出现不合理之处。
笔者在个人案例测试中能够顺利通过
itp2xml
说干就干,分析openmm xml文件可以发现,该力场文件的根标签为ForceField,其下又包含Info、AtomTypes、Residues、HarmonicBondForce、HarmonicAngleForce、PeriodicTorsionForce、NonbondedForce。
Info:记录了常见力场的信息
AtomTypes:记录了原子的类型、质量、命名
Residues:记录残基中原子的电荷、名称、类型,以及成键原子
HarmonicBondForce:记录键约束信息
HarmonicAngleForce:记录角约束信息
PeriodicTorsionForce:记录二面角约束信息
NonbondedForce:记录原子非键参数信息
有了上述信息,就可以使用python脚本从itp文件中提取信息,并生成xml文件。
该脚本名为itp2xml.py,可以在文末或者github仓库获取。
使用方法:
- python itp2xml.py xxx.itp xxx.xml
复制代码
其中xxx.itp为gromacs力场文件,xxx.xml为指定的生成xml文件名。
simulation
在生成openmm支持的配体力场文件之后,我们便可以使用openmm进行模拟。
openmm运行时首先需要安装openmm(这是前提)。其次需要提供配体的gro、top、itp文件,蛋白的pdb文件,以及上一步生成的xml文件。
需要注意的是,提供的配体pdb坐标文件为对接之后的,即配体处于蛋白的活性口袋内。
模拟使用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
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
感谢解答。请问一下您所说的流程是通过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
这个gui对自定义力场没有任何作用,clay力场就得自己写
| 欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |