先讲原理:

前三项是标准的键能项(MM,包括键,角,和二面角的变化引起的能量变化、库伦势、范德瓦尔斯相互作用),Gpol和Gnp是溶剂化自由能的极性和非极性贡献。Gpol通常通过求解PB方程或使用广义Born(GB)模型获得,而非极性项通过与溶剂可及表面积(SASA)的线性关系进行估计。最后一项是绝对温度T乘以熵S,通过振动频率的正常模式分析进行估计。

Gpol

周围的水,电解质会对盒子内的蛋白质原子电荷做出反应,涉及到的就是溶剂的极性部分贡献。

泊松-玻尔兹曼方程 (英语:Poisson- Boltzmann Equation)是用来计算电解质溶液中离子浓度和电荷密度分布的一个微分方程。PB方程长这样,求解方程可以得到溶剂对蛋白质分子的自由能贡献的极性部分。

是一个非线性偏微分方程,很难解,一般采用数值解法,APBS就是可以解这个方程的软件。

近似解法是在稀溶液中,进行下面展开近似,

得到德拜-休克尔方程

是线性方程,更容易解。所以在稀溶液中,德拜-休克尔方程对于泊松-玻尔兹曼方程而言是很好的近似。

个人理解影响这一部分主要的参数为带电量、蛋白质形成的表面,表面原子的大小。

这部分的结果会有很大的不准确性。

 Gnpol

Nonpolar solvation energy,非极性溶剂化能,包括了溶剂和溶质之间的排斥力和引力。

SASA-Only Nonpolar Model 是使用最广泛的非极性模型之一,溶剂可达表面积(SASA)模型基于SASA线性依赖于非极性项的假设,因此可以进行如下计算:

Gnpol = γA+b

其中A为SASA,b,γ为参数。

影响这一部分的主要是蛋白质的表面积。

MM

可以查看上篇。键能主要是原子的距离,库伦势主要是原子的距离和电荷量、介电常数。

计算过程中,多次短时间的模拟会带来更好的收敛效果(单个长期模拟会低估结果的不确定性)

对于抗生物素蛋白,需要20-50次模拟才能给出七种生物素类似物1 kJ/mol的标准误差(每个配体总共模拟6-15 ns)。

PB结果强烈依赖于所采用的半径。

熵:

-TΔS

影响结果的因素:力场、电解质常数、选取的轨迹时间。

gmx_mmpbsa 脚本使用:

针对linux系统,模拟完计算结合自由能

1.下载地址:gmxtool (jerkwin.github.io)

下载gmx_mmpbsa.bsh

2.APBS软件安装

Releases · Electrostatics/apbs · GitHub

2.1这个网站下载APBS二进制包,推荐下载1.4或者1.5的,最新版本可能使用会有问题。

2.2下载后移到linux文件目录下,可以放到软件安装位置。

2.3解压安装包

tar -xvf APBS-1.5-linux64

cd APBS-1.5-linux64

pwd (获取安装位置,后面添加环境变量)

2.4 添加环境变量

vim ~/.bashrc

export LD_LIBRARY_PATH=`pwd`/lib:${LD_LIBRARY_PATH}
export PATH=`pwd`/bin:${PATH}

添加最下面这两行中间是刚才的安装位置,后面的lib和bin不要忘了。

然后保存。

3.脚本使用

3.1.先改apbs位置,找到下图位置,改为刚才安装apbs的位置(path)/bin/apbs

忘了的话也可以使用命令whereis apbs也会出来路径。

把不用的行注释掉。

3.2.使用的时候把这个文件放到模拟完的含有md.xtc  md.tpr index.ndx(或者md.gro)的文件夹下

修改输入参数,可以两种方法,直接在脚本里改,或者运行脚本的时候在后面传参。

将后面的改为自己的文件名和组名。

或者 按文件开头写的进行运行

bash gmx_mmpbsa -f   traj.xtc  -s   topol.tpr  -n   index.ndx  -com Complex   -pro Protein    -lig Ligand  -ts  ie

(建议将Protein改为其他名字,因为gromacs自带分组就有Protein,容易冲突。例如我习惯pro=Chain_A

lig=Chain_B

com=Complex

trj=md.xtc

tpr=md.tpr

ndx=index.ndx

如果要修改使用轨迹的时间 可以直接修改脚本第81行(图中最下面一行,dt是间隔时间,缩小的话可以增加帧数,-b 开始时间 -e 结束时间)

3.3.分组

gmx make_ndx -f md.gro

使用gromacs命令进行分组这里注意 r 和 ri 的区别

运行以上命令后 输入 l 会列出所有残基,前面的序号就可以用 ri 进行选择 r 选择的是gro文件里有的序号,如果有重复的残基序号的话容易选错。推荐使用 ri

4 运行计算

./gmx_mmpbsa

就行。或者输入要修改的参数

5.结果分析

自由能数据文件在 _pid~MMPBSA.dat 里,

文件上面的是每一帧的分解项,有原理部分提到的各种分解项,with DH 是德拜-休克尔修正项,当体系带有较大的电荷时,需要使用括号里修正后的数据,体系电荷不大的话两者数据相差不会太大。

_pid~res_MMPBSA.dat

能量的残基分解数据,可以做残基能量分解图。

残基能量分解写入pdb文件,可以直接用pymol或者VDM打开。

着色方式选择β-factor可以看到残基的能量分布。

个人经验(可能不对。欢迎交流):

1. 使用挺简单的,但最后的结果可重复性比较差,进行重复的模拟后重复的计算,两次之间可能会差很多。文献的建议是多次短时间模拟取平均值(例如20次1ns模拟),不同力场的效果也差距很大,对于基于较短MD模拟(1ns)的MM/PBSA计算,ff03力场也是一个不错的选择。

2. 计算出来的自由能数据可能会很离谱,确保分组和其他操作没问题的话还是需要反复调参数和查文献搞定。

3. 取的帧数对结果影响很大,文献里有1ns时长取了10000帧的。。。emm多看看文献看看相似的体系怎么取的。

4. 大部分的文献反映出这个方法计算的自由能数据和实验差距可能会很大,甚至可能次序完全不对。所以还是要根据体系进行原理调整。(不是指这个脚本,指的是MMPBSA这个方法)

参考文献:

The MM/PBSA and MM/GBSA methods to estimate ligand-binding affinities,2015

gmxtool (jerkwin.github.io)

Assessing the Performance of MM/PBSA and MM/GBSA Methods. 3. The Impact of Force Fields and Ligand Charge Models,2013

分子动力学模拟自由能计算gmx_mmpbsa脚本原理和使用相关推荐

  1. Amber进行分子动力学模拟以及计算mmpbsa

    使用amber计算mmpbsa记录 1.文件处理 2.蛋白与分子处理 (1) 前处理 (2) 生成crd与prm文件 3.分子动力学模拟 (1)能量最小化 (2)体系加热 (3)均匀密度 (4)全局平 ...

  2. 深度学习DL蒙特卡洛法平衡态分子动力学模拟并计算苯酚键值

    接上文<用反向传导进行分子动力学模拟并比较NN二甲基苯胺,N甲基苯胺,苯胺,硝基苯的定位效应>继续用神经网络模拟分子,这次计算苯酚 苯酚的网络结构 算出来的数值画成图 . 对比前面算出来的 ...

  3. Monte Carlo概率模型进行分子动力学模拟并计算苯甲醚键值

    本文继续通过用神经网络给分子建模并比较数值,这次计算苯甲醚,这是一种强邻对位基团,分子模型如下 计算得到的数据 与前面的数据比较 * NN二甲基苯胺 N甲基苯胺 苯胺 苯酚 苯甲醚 硝基苯 左邻位 8 ...

  4. 分子动力学模拟Amber/Gromacs结合自由能计算 药效团模型构建RMSD、RMSF

    文章来源:公众号"科研讨论圈" 以下是使用AMBER.GROMAVCS的教程,希望对开始学习分子动力学的同学有帮助. 分子动力学入门理/论 分子力学简介 分子力学的基本假设 分子力 ...

  5. vasp 模拟退火_【转】vasp的分子动力学模拟 - 第一原理 - 小木虫 - 学术 科研 互动社区...

    vasp做分子动力学的好处,由于vasp是近些年开发的比较成熟的软件,在做电子scf速度方面有较好的优势. 缺点:可选系综太少. 尽管如此,对于大多数有关分子动力学的任务还是可以胜任的. 主要使用的系 ...

  6. MMPBSA结合自由能计算原理

    MMPBSA结合自由能计算原理 计算结合自由能的方法有很多,例如,热力学积分(Thermodynamic Integration,TI).自由能微扰(Free Energy Perturbation, ...

  7. AMBER分子动力学模拟之结果分析(突变型的能量计算,丙氨酸扫描)-- HIV蛋白酶-抑制剂复合物(5)

    AMBER分子动力学模拟之结果分析(突变型的能量计算,丙氨酸扫描)-- HIV蛋白酶-抑制剂复合物(5) 丙氨酸扫描 在带电残基上引入一个或几个丙氨酸,观察这些改变对蛋白功能的影响.置换成丙氨酸,去除 ...

  8. html打折代码,HTML打折计算价格实现原理与脚本代码

    原标题:HTML打折计算价格实现原理与脚本代码 打折后价格计算 function calculator(){ var prices=document.getElementById("pric ...

  9. HTML修改价格文字,HTML打折计算价格实现原理与脚本代码

    原标题:HTML打折计算价格实现原理与脚本代码 打折后价格计算 function calculator(){ var prices=document.getElementById("pric ...

  10. Vasp进行分子动力学模拟关键词解析及计算示例1

    针对周期性体系的分子动力学模拟(包含计算所需输入文件) 通过vasp进行分子动力学的计算需要进行以下具体步骤: 1 选择一个足够大的晶胞制作成POSCAR,原子数越多越好(100个以上),一般k点较小 ...

最新文章

  1. CVPR2020最新论文扫描盘点(上)
  2. 干货|NLP 的四张技术路线图,带你系统设计学习路径
  3. js form中的onsubmit和action
  4. C#中小数点后保留两位小数,四舍五入的函数及使用方法
  5. srv.sys蓝屏解决补丁_Win10 补丁 KB4556799 导致部分用户蓝屏死机和网络问题
  6. Android网络编程Socket【实例解析】
  7. Spring Cloud微服务系列-Eureka Client源码解析(二)
  8. python笔记1-准确掌握列表和元组
  9. 2021-06-21结构伪类选择器
  10. 发那科机器人点位编辑_分步详解 | 发那科机器人如何进行零点标定
  11. Excel练习线性回归
  12. 231个web前端的javascript特效分享
  13. 计算机word降序排列怎么做,WORD表格怎么按照数字降序排列
  14. 中国抗生素产业运行状况与需求前景规模预测报告2022版
  15. 用socket搭建web服务器(TCP协议)
  16. ajax的readystate为3,为什么在做ajax时无法获得readyState 3(why can't get readyState 3 when doing a ajax)...
  17. MacOS下解决宿主机和docker容器之间网络互通
  18. html+css实现必要等商城页面
  19. redis--客户端
  20. python开发框架——Django基础知识(七)

热门文章

  1. 读《费曼学习法》有感
  2. DC游戏《斑鸠》原创赏析[转载]
  3. 下楼放风,树上掉下一只斑鸠小鸟
  4. 微信,微博,qq账号合并的大工程啊
  5. 利用公式给 Excel 单元格设置条件格式 - 以日期中的月份为例
  6. 软文写作技巧与营销的相互作用
  7. WKWebView OC与JS交互
  8. 【数据结构】串(定长顺序串、堆串、块链串)的存储结构及基本运算(C语言)
  9. node项目部署到云服务器
  10. c# timer 销毁_.NET中Timer 如何正确地被Dispose