gromacs学习及使用(2)

命令解释参考GROMACS基本教程
整个流程参考分子动力学模拟Gromacs一般使用步骤(空蛋白)
从gromacs 5.0版本开始,所有的工具都是“gmx”的子模块。可以通过下面的命令获得任何一个模块的帮助信息:

gmx help (module) 或者 gmx (module) -h
#!/bin/bash
module load gromacs/gromacs-2021.5-gcc-9.2.0-cuda11.1
for i in *.pdb;dopdbid=${i:0:7}echo $pdbidprintf "8"|gmx pdb2gmx -f $i -o ${pdbid}_processed.gro -water spc -ignhgmx editconf -f ${pdbid}_processed.gro -o ${pdbid}_newbox.gro -bt dodecahedron -d 1.0gmx solvate -cp ${pdbid}_newbox.gro -cs spc216.gro -p topol.top -o ${pdbid}_solvate.grogmx grompp -f em.mdp -c ${pdbid}_solvate.gro -p topol.top -o next.tpr -maxwarn 1printf "13" | gmx genion -s next.tpr -o ${pdbid}_solv_ions.gro -p topol.top -pname NA -nname CL -neutralgmx grompp -f em.mdp -c ${pdbid}_solv_ions.gro -p topol.top -o em.tprgmx mdrun -v -deffnm emgmx editconf -f em.gro -o em.pdbdone

1.用pdb2gmx 处理 pdb 文件

gmx pdb2gmx -f $i -o ${pdbid}_processed.gro -water spc -ignh

(1)pdb2gmx此命令将pdb文件转换成gromacs文件并产生拓扑文件。
(2)-ignh因为本pdb文件是由 NMR产生的,含有氢原子,因此用-ignh选项忽略文件中的氢原子。
(2)注意-ignh选项, 它表明程序会首先移除初始文件中的氢原子, 然后再根据相应力场的说明进行重建。???
(3)-f读入pdb文件
(4)-ff可指定力场(G43a1是Gromos96力场,一个通用原子力场)(没用过)
(5)-o指定一个新产生的pdb文件(也可以是其它多种类型文件)的文件名
(6)-p指定新产生的拓扑文件名。拓扑文件包含了所有力场参数(基于一开始选择的力场),因此非常重要(也没用过)
(7)-water来指定水模型研究表明SPC/E 水模型在水盒子模拟中表现最好。用SPC/E 水模型研究长程静电相互作用较好。
(8)注:对于下面将要用到的任何命令,都可以使用“-h”查看该命令的使用方法,比如,对于命令pdb2gmx 可以使用: pdb2gmx –h

补充: pdb2gmx的目的是生成以下三个文件:
(1)分子的拓扑文件;(2)位置限定文件;(3)预处理的结构文件。
(4)拓扑文件(默认为topol.top)包含了模拟中定义一个分子的所有必须信息,包括非键相互作用(nonbonded,原子类型和电荷)和成键参数(bonded, 键、角、二面角)。后面生成相应文件后再详细查看。
(5)-ter:对N-端和C-端的电荷进行交互分配
(5)使用-ter选项后GROMACS会提示分子的末端变化, 合适的选择应该能够正确地表示体系。???
(6)-inter:对Glu、Asp、Lys、Arg和His的电荷进行交互分配;选择那(哪)些Cys参与二硫键
(7)xxx_processsed.gro是GROMACS格式的结构文件,包含了力场文件中包含的所有原子(蛋白中氨基酸的H原子已经补全)。
(8)topol.top文件是系统拓扑文件(接下来会详细介绍)。
(9)posre.itp包含了限制重原子位置的信息(后面会详细介绍)蛋白的位置限制文件posre.itp
(10)最后要注意一点:很多用户认为.gro文件是必须的。其实不然。GROMACS可以处理很多格式的文件,只不过.gro是默认的坐标文件格式。.gro文件非常紧凑,但精度不够高。如果你想用PDB等其他格式的文件,只需要指定.pdb后缀的输出文件名即可。pdb2gmx的目的是生成符合力场的拓扑文件;输出结构在很大程度上是此目的的副产品,目的是为了方便用户。具体格式几乎可以是任何你喜欢的格式(不同的格式可以在GROMACS手册中查看)。

2.建立盒子

gmx editconf -f ${pdbid}_processed.gro -o ${pdbid}_newbox.gro -bt dodecahedron -d 1.0

(1)-d决定了盒子的尺寸,即盒子边缘距离分子边缘 1.0nm (1.0Å)。理论上在绝大多数系统中,-d 都不能小于0.85nm。
(2)注:editconf 也可以用来进行gromacs文件(.gro)和pdb 文件(.pdb)的相互转化。
例如:gmx editconf –f file.gro –o file.pdb 则将file.gro 转换为 file.pdb
(3)现在就可以用产生的文件进行真空模拟了。真空模拟就是先能量最小化,然后进行动态模拟。
没用过下面图片中的命令
(4)-c会将蛋白质放在盒子的中心,而且蛋白质离盒子边缘至少1.0 nm(-d 1.0)。盒子的类型定义为立方型(-bt cubic)。距离盒子边缘的距离是一个非常重用的参数。由于需要使用周期性边界条件,我们必须满足最低镜像约定(minimum image convention)。也就是说,蛋白质不能与它的周期性镜像相遇,否则此时计算得到的力是不正确的。定义溶质-盒子的距离为1.0 nm就意味着蛋白质的两个周期性镜像之间至少有2.0 nm。这个距离可以满足模拟中几乎所有的截断方法(cutoff scheme)。
(5)看看editconf的输出, 注意体积的变化. 另外, 也看看protein-PBC.gro文件的最后一行(提示: 可使用命令tail -n 1 protein-PBC.gro). 在GROMACS格式(.gro)中, 最后一行指定单位晶胞的形状, 并总是使用三斜矩阵的表示方法, 其中前面的三个数字指定对角元素(xx, yy, zz), 后面的六个数字指定非对角元素(xy, xz, yx, yz, zx, zy).

gmx solvate -cp ${pdbid}_newbox.gro -cs spc216.gro -p topol.top -o ${pdbid}_solvate.gro

(1)通过solvate模块填充水分子(之间的版本是genbox)
(2)“我强烈建议使用十二面体(rhombic dodecahedron),因为它的体积大概是立方盒子的71%。因此,在溶剂蛋白质时可以减少大量水分子。”
(3)使用spc216.gro,这是一个通用的平衡过的3粒子溶剂模型
(4)spc216.gro可以适用于SPC、SPC/E或者TIP3P水模型,因为他们都是3粒子溶剂模型
(5)solvate模块可以追踪添加了多少水分子,然后写入到拓扑文件中以反映做出的改变。注意,如果使用的是其他非水溶剂,solvate不能自动更改拓扑文件!它与更新水分子的兼容性在代码中是固定写死的。
在这里插入图片描述
4.设置能量最小化
em.mdp文件:Gromacs用*.mdp 文件指定所有计算的参数。

title–标题随便取(最长64个字,简单点好)
cpp–指定预处理器的位置define–传递给预处理器的一些定义。
–DFLEXIBLE告诉grompp将spc水模型而非刚性SPC包含进拓扑文件,
以便用最陡下降法进一步最小化能量。constraints–设置模型约束
integrator– steep,告诉gompp使用最速下降法进行能量最小化。
cg则代表使用共轭梯度法。dt–能量最小化用不用。只在动力学模拟中用(如md)。
nsteps–在能量最小化中,指定最大运行步数。
nstlist–更新邻居列表的频率。
nstlist = 10表示每10步更新一次。
rlist–短程邻居列表的阈值。
coulombtype–告诉gromacs如何计算静电。
PME为particle mesh ewald法(参见Gromacs用户手册)
rcoulomb–指定库仑力阈值vdwtype–告诉Gromacs如何计算范德华作用(cut-off, Shift等)
rvdw–指定LJ或Buckingham势能距离阈值 EM Stuff
emtol–最大的力如果小于此值则能量最小化收敛(结束)(单位kJ mol–1 nm–1)
emstep–初始步长(nm)

5.用grompp程序进行文件处理

gmx grompp -f em.mdp -c ${pdbid}_solvate.gro -p topol.top -o next.tpr -maxwarn 1

(1)-f标签指定输入参数文件(.mdp)
(2)-c输入结构文件(pdb文件,
.pdb)
(3)-p输入拓扑文件
(4)-o输出mdrun的输入文件(*.tpr)
(5)topol.top拓扑文件内容:参考GROMACS教程1:Lysozyme

nr:原子序号type:残基序号
residue:残基名称(注意PDB文件中残基名称是“LYS”;.rtp文件中的“LYSH”表明残基被质子化)
atom:原子名称
cgnr:电荷分组序号(charge group定义了整数电荷的单元,对加速计算有利)
charge:原子电荷(“qtot”是分子上电荷的总和)
mass:原子质量typeB、chargeB、massB:用于计算自由能微扰
; Include forcefield parameters
#include "charmm27.ff/forcefield.itp"[ moleculetype ]
; Name            nrexcl
Protein_chain_A     3[ atoms ]
;   nr       type  resnr residue  atom   cgnr     charge       mass  typeB    chargeB      massB
; residue   1 GLY rtp GLY  q +1.01        NH3      1    GLY      N      1       -0.3     14.0072         HC      1    GLY     H1      2       0.33      1.0083         HC      1    GLY     H2      3       0.33      1.0084         HC      1    GLY     H3      4       0.33      1.0085        CT2      1    GLY     CA      5       0.13     12.0116         HB      1    GLY    HA1      6       0.09      1.0087         HB      1    GLY    HA2      7       0.09      1.0088          C      1    GLY      C      8       0.51     12.0119          O      1    GLY      O      9      -0.51     15.999   ; qtot (6)grompp的作用是运行坐标文件和拓扑文件,生成原子级别的输入文件(.tpr)。.tpr文件包含了体系中所有原子的参数。
(7)为了通过grompp生成.tpr文件,这里需要一个额外的.mdp输入文件(molecular dynamics parameter,检查mdp);grompp会收集.mdp文件中的坐标和拓扑信息来生成.tpr文件。

6.使用genion和tpr文件添加离子

gmx genion -s next.tpr -o ${pdbid}_solv_ions.gro -p topol.top -pname NA -nname CL -neutral

(1)对生成的tpr文件加入补偿离子以中和系统中的净电荷。
(2)-nname指定阴离子名称(在Gromos G43a1力场中,用CL-表示氯离子。参见ions.itp查看wrt力场中离子详细信息)
(3)-nn是指定加入的阴离子数目
(4)-g输出genion的log文件
(5)运行这个命令时,提示提供一个连续的溶剂组,应该是组12(SOL)。输入12,回车。程序会告知你有两个溶剂分子被氯离子代替
(6)添加离子的工具是genion模块。该模块会通读拓扑文件并以用户指定的离子代替水分子。
(7)输入文件即所谓的运行文件(run input file),文件后缀为.tpr;这个文件是通过grompp模块生成的,在后面运行第一次模拟的时候还会用到这个模块。
(8)在genion命令中,需要提供结构/状态文件(-s)作为输入文件,生成输出文件.gro (-o),处理拓扑文件(-p)反映替换掉的水分子和添加的离子,定义正负离子的名字(-pname和-nname),然后告诉genion添加中和体系电荷的正/负离子以及离子个数
(9)可以通过指定-neutral和-conc让genion添加固定浓度的离子而不是单单中和体系。可以参考genion的主页查看相关信息。-conc 0.15 浓度为0.15 M
(10)在之前的GROMACS版本中通过-pname和-nname指定的离子是力场规定的,但在4.5版本中则进行了标准化。规定的离子名称通常是大写的元素符号,并在[ molecules ]中命名然后写到拓扑文件中。根据不同的力场,残基名或者原子名可能带有+/-号,也可能不带。在genion命令中不要用原子或者残基名,否则在接下来的步骤中会遇到很多错误。

7.在进行动力学模拟之前,我们必须保证体系没有空间上的冲突或者不合理的构象。体系结构松弛是通过所谓的能量最小化(EM)实现的。
8.EM的过程与添加离子类似。我们再次利用grompp把体系结构、拓扑文件以及模拟参数集合到.tpr文件中,但是这次不是把.tpr文件传递给genion,而是通过mdrun运行能量最小化。
9.在运行genbox和genion时确保你已经更新了topol.top文件,否则会出现一大堆错误信息("number of coordinates in coordinate file does not match topology,“等)。
10.-v是给没有耐心等待的人设计的:它会让mdrun的输出变得冗长,每一步都会把过程输出到屏幕上。-deffnm用来定义输入和输出文件的名字。所以,如果你没有命名grompp输出文件"em.tpr”,你必须使用mdrun -s精确指定文件名。在本例中,我们会得到如下文件:
em.log:EM过程的ASCII码log文件
em.edr:二进制的能量文件
em.trr:二进制的全精度坐标文件
em.gro:能力最小化之后的结构
11.第一个是势能(potential energy,EM进程最后会输出)。Epot应该是负的,而且对于一个水中的简单的蛋白质体系来说处于105-106范围???,具体数值依赖于体系大小和水分子数目。第二个重要特征是最大作用力Fmax,收敛值是在minim.mdp中设置的——“emtol=1000.0”,意思是目标Fmax的值要低于1000KJ/(mol nm)。有时Fmax>emtol时Epot也可能处于合理范围,但是此时体系并没有完全稳定。此时应该评估为什么会出现这个现象,试着改变最小化参数(integrator、emstep等)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/187493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频剪辑合并:批量处理视频,高效快捷,添加背景音乐更添魅力

随着数字媒体的普及,视频已成为生活中不可或缺的一部分。无论是记录生活、分享经验,还是传递信息,视频都以其独特的魅力占据了重要的地位。而在这个快节奏的时代,如何高效地处理视频,以及如何通过添加背景音乐来提升视…

服务器安装JDK17 版本显示JDK8

服务器之前安装的是JDK8,后面升级JDK17后,发现执行 java -vsrsion 显示的是此时我的环境变量已经换成了JAVA17的路径 输入: vim /etc/profile 解决办法: 1.更新自己环境变量 bash export JAVA_HOME/usr/local/jdk-17.0.7 …

Anemone库的爬虫程序代码示例

以下是代码: ruby require anemone # 设置代理服务器 Anemone.proxies { http > "", https > "" } # 定义爬取的URL url # 使用Anemone进行爬取 Anemone.crawl(url) do |page| # 使用正则表达式找出所有的视频链接 video_…

windows 查看mysql的错误日志

查找错误日志文件存储路径 用到的软件:everything 官网 voidtools 下载路径 https://www.voidtools.com/Everything-1.4.1.1024.x64-Setup.exe 直接点击下载即可 运行效果如下 我们知道mysql有个配置文件是my.ini,里面配置了相关信息 我们需要先…

elasticsearch操作

目录 一、mapping映射属性二、索引库的CRUD2.1 创建索引库和映射2.2 查询索引库2.3 修改索引库2.4 删除索引库2.5 总结 三、文档操作3.1 新增文档3.2 查询文档3.3 删除文档3.4 修改文档3.5 总结 四、RestClient操作索引库4.1 初始化RestClient4.2 创建索引库4.3 删除索引库4.4 …

Vue3-数据交互请求工具设计

1.安装axios pnpm add axios 2.利用axios.create创建一个自定义的axios来使用 参考官网:axios中文文档|axios中文网 | axios 在src/utils文件夹下新建request.js,封装axios模块 import axios from axios const baseURL const instance axios.creat…

如何查看电脑内存?Windows 和 Mac 方法不同

Windows 系统查看内存方法 在 Windows 操作系统中我们查看电脑内存在哪里查呢?下面总结的 3 种查看电脑内存的方法都可以使用:使用任务管理器:任务管理器是 Windows 中一个强大的工具,可用于监视和管理计算机的性能和资源使用。使…

Adobe InCopy の Adobe InDesign 大联动

今天我们再来进行Adobe全家桶剩余几位的介绍~ Adobe InCopy是一款专业的文字编辑和校对软件,它是InDesign的附属软件,主要用于编辑、校对和协作文本内容。InCopy提供了一系列功能,使得编辑和校对文本变得更加简单和高效。在InCopy中&#xff…

2023 BUCT 计算方法实验报告

前言 Textlive版本:2023 textstudio版本:4.6.3 名字和日期在以下地方修改: 图片下载地址; figures.zip LiangCha_Xyy/Source - Gitee.com 如下图,.tex文件和figures文件夹放在同一路径下即可 .tex代码 \documentclass[UTF8]{ctexart} \usep…

Electron+Ts+Vue+Vite桌面应用系列:sqlite增删改查操作篇

文章目录 1️⃣ sqlite应用1.1 sqlite数据结构1.2 初始化数据库1.3 初始化实体类1.4 操作数据类1.5 页面调用 优质资源分享 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/134692751 ElectronTsVueVite桌面应用系列 &am…

C++学习专栏【基础知识2】C++数据类型

1、内置数据类型 基本内置类型 C为程序员提供了丰富的内置数据类型以及用户自定义数据类型。以下表格列出了七种基本的 C 数据类型 - 类型关键字布尔值bool字符char整数int浮点数float双精度浮点数double无值void宽字符wchar_t 基本类型中的几种可以使用一个或多个类型修饰符…

Kubernetes 安全最佳实践:保护您的秘密

Kubernetes 是一个可用于微服务的开源容器编排平台。当我们想要部署容器化应用程序、自动化管理和扩展应用程序时,Kubernetes 非常有用。 在容器中运行单个微服务而不是在同一虚拟机中运行多个进程几乎总是更安全。每当我们在 Kubernetes 中启动任何 pod 时&#x…

键盘敲入一个字母,操作系统发生了什么?

一、设备控制器 我们的电脑设备可以接非常多的输入输出设备,比如鼠标键盘网卡硬盘打印机等,每个设备的用法和功能都不相同,那操作系统是如何把这些输入输出设备统一管理的呢? 为了屏蔽设备之间的差异,每个设备都有一…

Zookeeper从零入门笔记

Zookeeper从零入门笔记 一、入门1. 概述2. 特点3. 数据结构4. 应用场景 二、本地1.安装2. 参数解读 三、集群操作3.1.1 集群安装3.2 选举机制1. 第一次启动2. 非第一次启动 3.3 ZK集群启动停止脚本3.4 客户端命令行操作3.2.1 命令行语法3.2.2 节点类型(持久/短暂/有…

六:Day01_Spring Boot01

一、Spring Boot简介 1. 概念简介 Spring Boot是Spring公司的一个顶级项目,和Spring Framework是一个级别的。 Spring Boot实际上是利用Spring Framework 4 自动配置特性完成。编写项目时不需要编写xml文件。 2. 启动器介绍 Spring Boot的启动器实际上就是一个依赖…

热部署怎么部署

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言操作流程:在这里插入图片描述 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a832d83c091742eda9d9325931a89df4.png) 这里的跟上面的…

WPF实战项目十九(客户端):修改RestSharp的引用

修改HttpRestClient,更新RestSharp到110.2.0,因为106版本和110版本的代码不一样,所以需要修改下代码 using Newtonsoft.Json; using RestSharp; using System; using System.Threading.Tasks; using WPFProjectShared;namespace WPFProject.S…

算法通关村第十八关青铜挑战——透析回溯的模板

大家好,我是怒码少年小码。 回溯是最重要的算法思想之一,主要解决一些暴力枚举也搞不定的问题(组合、子集、分割、排列、棋盘等等)。性能并不高,但是哪些暴力枚举都无法ko的问题能解出来就可以了🤣。 这一…

BUUCTF [GXYCTF2019]BabySQli 1 详解!(MD5与SQL之间的碰撞)

题目环境burp抓包 随便输入值 repeater放包 在注释那里发现某种编码 MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5 看着像是base编码格式 通过测试发现是套加密(二次加密) 首先使用base32对此编码…

项目11:豆瓣首页-页脚 完结撒花!

这次我们就来制作豆瓣首页的最后一部分页脚。 同样,页脚也在container中,页脚分为左区域和右区域,左区域里是多个p元素与a元素结合完成的,还要插入一些图片,右区域里里有几个横向菜单,以及一张图片。 左右…