martini-实例-脂质双分子层
Posted 谢小顿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了martini-实例-脂质双分子层相关的知识,希望对你有一定的参考价值。
Martini粗粒化模型一开始就是为脂质开发的.(http://jerkwin.github.io/2016/11/03/Martini%E5%AE%9E%E4%BE%8B%E6%95%99%E7%A8%8BLip/
Martini方法的主要思想是, 根据简单的分子构建模块构建可扩展的粗粒化模型, 使用少量的参数和标准的相互作用势达到实用性与可移植性的最大化. Martini大致把全原子(重原子)按照4:1的比例转化为粗粒化珠子, 在2.0版本中, 定义了18种珠子类型来表征其化学特性. 粗粒化珠子具有固定的大小, 相互之间通过相互作用映射进行作用, 映射具有10种不同的作用强度. 由于Martini的模块化, 人们对大量不同的脂质类型进行了参数化, 详情可见官网上的脂质部分。
接下来我们讲建立磷脂双分子层的Martini粗粒化模型, 并研究其性质. 首先, 我们将尝试自发组装形成DSPC双分子层并查看表征磷脂层的各种不同的性质, 比如每个脂分子的面积, 双分子层的厚度, 序参量和扩散. 然后, 我们将改变脂质头基和尾端的特性, 并了解它们如何影响上述性质. 最后, 我们会继续前进, 建立更复杂的多组分双分子层.
- 双层膜的自组装
我们将由模拟盒子中随机分布的脂质分子和水开始, 得到自组装的二硬脂酰-磷脂酰胆碱双分子层(DSPC). 进入spontaneous-assembly
子目录. 首先, 根据单个DSPC分子的构型, 构建128个DSPC分子随机分布的构型:
gmx 4.0:genbox -ci dspc_single.gro -nmol 128 -box 7.5 7.5 7.5 -try 500 -o 128_noW.gro
gmx 5.0: gmx insert-molecules -ci DPPC-em.gro -box 7.5 7.5 7.5 -nmol 128 -radius 0.21 -try 500 -o 128_noW.gro
解释:-ci:(insert.gro) (Input)输入分子的结构文件 -nmol:额外插入的分子数量 -box:盒子的尺寸(nm)
-try:Try inserting -nmol times -try times 在500次以内将128个分子插入 -o:指定输出文件名称 -radius:指定范德华截断距离,初始为0.105
noW代表no water
将128_noW.gro打开 如下
接着对体系进行能量最小化,这里注意,教程里提供的文件没有dppc.itp,同时会多包含一个martini2.0的粒子定义,而我们要用的是2.1的,因此正确的做法是注释掉2.1的粒子定义那一行,然后加上一行#include "dppc.itp"。(在这里被卡住好久。。。。)
grompp -f minimization.mdp -c 128_noW.gro -p dspc.top -maxwarn 10 -o dspc-min-init.tpr
mdrun -deffnm dspc-min-init -v -c 128_minimised.gro
此处不涉及4.0与5.0的区别 注意mdrun中的-v为:Be loud and noisy,在这里可以使用,但是在最终MD中一般不要使用。
NOTE:
Replacing old mdp entry \'nstxtcout\' by \'nstxout-compressed\'
Replacing old mdp entry \'xtc_precision\' by \'compressed-x-precision\'
每个脂质分子添加6个粗粒度水分子(共24个全原子水)
gmx 4.0: genbox -cp 128_minimised.gro -cs water.gro -o waterbox.gro -maxsol 768 -vdwd 0.21
gmx 5.0:gmx solvate -cp 128_minimised.gro -cs water.gro -o waterbox.gro -maxsol 768 -radius 0.21
-cp:(protein.gro) (Input, Optional) 输入结构文件 -cs:(spc216.gro) (Input, Library) 输入水结构文件 -o:输出文件
-maxsol:如果水分子适合该盒子,最多填入的水分子数 -radius:默认的范德华(截断)距离
然后再次进行能量最小化(保证dspc.top
里面的水珠子与增加到体系里面的相匹配):这里会出现一个Fatal error,waterbox.gro 2304 atoms not match dppc.top 1536 atoms
这是因为刚刚加入的水分子,在dppc.top中是被注释掉的
[ molecules ]
DPPC 128
;W 768
删掉那个分号后,1536+768刚好等于2304,程序就可以正常运行了。(又是一个大坑。。。)
grompp -f minimization.mdp -c waterbox.gro -p dspc.top -maxwarn 10 -o dspc-min-solvent.tpr
mdrun -deffnm dspc-min-solvent -v -c minimised.gro
这样一来,就确保了dspc.top
里面的水珠子与增加到体系里面的相匹配
现在,可以准备做自组装MD模拟了,时间为0.03ps*1000000=30ns,跑起来还是很快的,我用的是nohup,后台运行而不是-v:
gmx grompp -f martini_md.mdp -c minimized.gro -p dppc.top -o dppc-md.tpr
gmx mdrun -deffnm dppc-md -v
这样我们就得到了自组装的双层脂质膜:如下图,前两张是waterbox.gro的,也就是脂质加水之后;后两张是MD模拟之后的,也就是自组装结束的图。
以上是关于martini-实例-脂质双分子层的主要内容,如果未能解决你的问题,请参考以下文章
golang martini 源码阅读笔记之martini核心