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核心
继上一篇关于inject注入的笔记,理解了martini的关键核心之一:依赖注入.注入回调函数,由运行时进行主动调用执行.这一篇主要是注解martini的骨架martini.go的实现,下面先从一个简 ...
- 『Golang』Martini框架入门
本文介绍golang中的优秀web开发框架martini! 序 Martini框架是使用Go语言作为开发语言的一个强力的快速构建模块化web应用与服务的开发框架.Martini是一个专门用来处理Web ...
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- go语言从零学起(四) -- 基于martini和gorilla实现的websocket聊天实例
如果只是想了解chat的实现方式,在gorilla和revel框架里面都有完整的chat实例可以提供参考.本篇讲解的是,如何基于martini实现websocket的聊天. 配置步骤: 1 已经安装了 ...
- golang martini 源码阅读笔记之inject
martini是go语言写的一个超级轻量的web开源框架,具体源码可在github搜索找到.13年那会开始接触go语言时有稍微看过这个框架,由于之后没有继续使用go就慢慢忽略了,最近由于手头项目可能会 ...
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- EntityFramework Core 1.1是如何创建DbContext实例的呢?
前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...
- redis集成到Springmvc中及使用实例
redis是现在主流的缓存工具了,因为使用简单.高效且对服务器要求较小,用于大数据量下的缓存 spring也提供了对redis的支持: org.springframework.data.redis.c ...
随机推荐
- 如何从0到1的构建一款Java数据生成器-第一章
前提 某天晚上老夫在神游时,想起白天公司同事说起的问题,这老表抱怨使用mysql生成大批的随机测试数据太过麻烦,问大家有没有好的工具推荐,老夫对这种事情当然不关心,毕竟我也不知道. 秉承着不懂就要问, ...
- ubuntu下vi不能正常使用的解决方法
现象 ubuntu中vi在编辑状态下方向键不能用,还有回格键不能删除等我们平时习惯的一些键都不能使用. 原因 ubuntu预装的是vim tiny版本,需要的是vim full版本. 方案 $sudo ...
- Mysql数据库分布式事务XA详解
XA事务简介 XA 事务的基础是两阶段提交协议.需要有一个事务协调者来保证所有的事务参与者都完成了准备工作(第一阶段).如果协调者收到所有参与者都准备好的消息,就会通知所有的事务都可以提交了(第二阶段 ...
- linux(centos8):安装java jdk 14 (java 14.0.2)
一,下载jdk14 官方网站: https://www.oracle.com/java/ 下载页面: https://www.oracle.com/cn/java/technologies/javas ...
- Centos定时备份 MySQL数据库
一.编写数据库备份脚本 backupmysql.sh #!/bin/bash # Name:bakmysql.sh # This is a ShellScript For Auto DB Backup ...
- selenium分布式启动(deepin)
1.deepin安装jdk: 下载地址:链接:https://pan.baidu.com/s/19-pU8G6RzMW92uBCxBH7sA 密码:1c7n 解压:tar -zxvf jdk-8u20 ...
- C# 微支付 JSAPI支付方式 V3.3.6版本
<script type="text/javascript">//结算 (订单号) function PayClearing(num) { $.ajax({ type: ...
- Linux的外部命令的执行
查看外部命令的路径 whereis 不但能显示出外部命令的路径还能显示出帮助文档 which -a |--skip-alias whereis
- git学习(五) git diff操作
git diff操作 git diff用于比较差异: git diff 不加任何参数 用于比较当前工作区跟暂存区的差异 git diff --cached 或者--staged 对比暂存区(git a ...
- 基于SSH框架的人力资源管理系统设计与实现
- - ->关注博主公众号[C you again],获取更多IT资源(IT技术文章,毕业设计.课程设计系统源码,经典游戏源码,HTML网页模板,PPT.简历模板,!!还可以投稿赚钱!!,点击查 ...