计算化学公社

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

[其它程序] OpenMM模拟蛋白-配体体系

[复制链接 Copy URL]

67

帖子

3

威望

1545

eV
积分
1672

Level 5 (御坂)

本帖最后由 casea 于 2023-3-3 13:24 编辑

本文使用的脚本(.ipynb可以使用jupyter打开,更加方便操作):
itp2xml.py (8.72 KB, 下载次数 Times of downloads: 24)
itp2xml_v1.1.ipynb (12.85 KB, 下载次数 Times of downloads: 12)
simulation.ipynb (16.41 KB, 下载次数 Times of downloads: 11)
simulation.py (4.18 KB, 下载次数 Times of downloads: 17)


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

环境:

  • openmm
  • python

文件:

  • 蛋白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仓库获取。
    使用方法:
    1. 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文件,第一次运行时需要在文件开头修改使用的文件名以及模拟的参数。
      
  1.    python simulation.py
复制代码

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

评分 Rate

参与人数
Participants 3
eV +9 收起 理由
Reason
wangxc + 3 好物!
秋心 + 3 好物!
maruizeniubi + 3 赞!

查看全部评分 View all ratings

35

帖子

0

威望

3683

eV
积分
3718

Level 5 (御坂)

2#
发表于 Post on 2023-3-3 14:18:32 | 只看该作者 Only view this author
我记得openmm好像可以直接读取Gromacs和Amber的拓扑文件(http://docs.openmm.org/latest/us ... using-gromacs-files),这种转换的方法有什么优点吗?

67

帖子

3

威望

1545

eV
积分
1672

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2023-3-3 15:19:01 | 只看该作者 Only view this author
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脚本实现)

80

帖子

0

威望

3706

eV
积分
3786

Level 5 (御坂)

4#
发表于 Post on 2023-3-4 09:31:11 | 只看该作者 Only view this author
在知乎上看到了你的贴子,多谢提供的脚本,后面有机会试试

553

帖子

0

威望

3324

eV
积分
3877

Level 5 (御坂)

5#
发表于 Post on 2023-3-7 11:00:05 | 只看该作者 Only view this author
走openmmforcefield并不需要用xml过渡,势函数搭完之后直接把System用xmlserializer存下来就行。

67

帖子

3

威望

1545

eV
积分
1672

Level 5 (御坂)

6#
 楼主 Author| 发表于 Post on 2023-3-7 16:57:03 | 只看该作者 Only view this author
k64_cc 发表于 2023-3-7 11:00
走openmmforcefield并不需要用xml过渡,势函数搭完之后直接把System用xmlserializer存下来就行。

感谢解答。请问一下您所说的流程是通过openmmforcefiled生成小分子配体的top吗?我之前试了 GAFFTemplateGenerator,但是无法指定小分子电荷,所以一直没成功。

124

帖子

0

威望

2482

eV
积分
2606

Level 5 (御坂)

7#
发表于 Post on 2023-8-23 17:02:20 | 只看该作者 Only view this author
在输出的.xml里,sigma和epsilon似乎反了?

85

帖子

0

威望

2250

eV
积分
2335

Level 5 (御坂)

8#
发表于 Post on 2023-8-24 21:00:12 | 只看该作者 Only view this author
openmm 有一個gui產生input ...
這裡有中文資訊:https://newsletter.x-mol.com/groups/cpu1604/events/14080

85

帖子

0

威望

2250

eV
积分
2335

Level 5 (御坂)

9#
发表于 Post on 2023-8-24 21:00:19 | 只看该作者 Only view this author
openmm 有一個gui產生input ...
這裡有中文資訊:https://newsletter.x-mol.com/groups/cpu1604/events/14080

1

帖子

0

威望

13

eV
积分
14

Level 1 能力者

10#
发表于 Post on 2023-11-9 13:04:14 | 只看该作者 Only view this author
请问lammps中的输入文件(.pb或者其他)力场文件,是否可以把这些力场参数文件拿到openmm中使用呢?

19

帖子

0

威望

197

eV
积分
216

Level 3 能力者

11#
发表于 Post on 2023-11-9 15:18:50 | 只看该作者 Only view this author
c00jsw00 发表于 2023-8-24 21:00
openmm 有一個gui產生input ...
這裡有中文資訊:https://newsletter.x-mol.com/groups/cpu1604/events/140 ...

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

本版积分规则 Credits rule

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

GMT+8, 2025-8-18 05:22 , Processed in 0.550949 second(s), 30 queries , Gzip On.

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