首页/文章/ 详情

一条通往开源GROMACS分子动力学模拟仿真捷径(附视频教程)

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
1年前浏览6789

导读:大家好,我是六十三613,仿真秀认证讲师,模拟之家公 众号主编。具有10多年的物理、化学、生物等学科的计算机模拟经验。精通常见的分子动力学模拟软件:GROMACS, LAMMPS等,量子化学计算软件:Gaussian;熟练使用第一性原理模拟软件:VASP等,及其余常见软件:Material Studio,VMD等;熟悉Linux环境编程,熟练使用Python,Shell等编程语言;丰富的模拟知识授课经验;具备扎实的分子动力学等理论知识。具有几十次的分子动力学模拟模拟理论、专业技术讲授经验,已为全国相关领域的诸多研究生、老师授课,使其熟练掌握了分子模拟知识和技术。
近日,我在仿真秀平台发布笔者原创的所有Gromacs热门视频课程,并为用户提供分子动力学、第一性原理计算一对一指导、答疑和定制化培训等。努力修建一条通往开源Gromacs分子动力学模拟仿真捷径。诚邀广大的分子动力学研习者关注我仿真专栏,点击文尾阅读原文可关注。
、认识Gromacs分子动力学模拟
GROMACS软件最初由瑞典乌普萨拉大学(Uppsala University)的Peter Tieleman教授的研究小组开发。该项目起初于2001年由Berendsen、van der Spoel和Dr. Lindahl建立,后来由Lindahl教授继续开发和维护。GROMACS的发展一直受到来自科学界的广泛支持和贡献,它在分子动力学模拟领域得到了广泛的应用。虽然最初是在瑞典开发的,但GROMACS已成为全球范围内研究人员使用的重要工具,用于模拟和研究分子系统的行为。
应用领域:GROMACS广泛应用于生物物理、生物化学、药物设计、生物分子建模、纳米科学以及材料科学等领域。它可以用于研究蛋白质折叠、脂质双分子层、聚合物结构、离子溶液等多种系统。
分子动力学模拟:GROMACS主要用于执行分子动力学模拟,该模拟可以模拟原子和分子在时间上的运动,以研究它们的相互作用和结构变化。这有助于理解分子行为和物质性质。
性能优化:GROMACS以其出色的性能而闻名,能够在高性能计算机上运行大规模分子动力学模拟。它利用了现代CPU和GPU架构以提高模拟速度。
可扩展性:GROMACS设计得非常灵活,用户可以根据研究需要定制和扩展模拟设置。它支持多种力场和算法,以适应不同类型的分子系统。
命令行工具:GROMACS主要通过命令行界面操作,用户需要编写输入文件以配置模拟参数。它还提供了一套强大的命令行工具,用于分析模拟结果。
可视化工具:尽管GROMACS的主要界面是命令行,但也有许多可视化工具和软件集成,用于分析和可视化模拟结果,以便更容易理解模拟数据。
开源和免费:GROMACS是开源软件,根据GNU通用公共许可证(GPL)发布,因此免费可用,并具有强大的用户和开发社区支持。
总之,GROMACS是一种强大的工具,用于进行分子动力学模拟,使研究人员能够深入研究原子和分子之间的相互作用,从而更好地理解化学和生物系统的性质和行为。
2023年,GROMACS推出了2023版本,其相较于以前的版本有了较大的更新,以及修复了很多bug。主要亮点如下:
1、全局通信频率不再依赖于nstlist,因此GPU加速提升。
2、PME分解已经可以支持到CUDA后端,即可以设置-npme和环境变量GMX GPU_PME DECOMPOSITION,实验性质谨慎使用
3、CUDA Graphs能够降低GPU的启动时间,较少CPU和GPU之间的调度开销。设置环境变量GMX CUDA GRAPH可开启该功能
4、gmx do_dssp不需要外部dssp程序了,GMX已经内置的该程序
5、gmxapi的一些改进。
最重要的一点为分析蛋白二级结构的功能gmx do_dssp不需要外部dssp程序了。接下来,笔者简述水结冰模拟及TIP4PICE水模型使用全过程,希望能够对分子动力模拟学习者有所帮助。
二、水结冰模拟及TIP4PICE水模型使用

本教程内容适用于Gromacs,包括:

1. TIP4P/ICE水模型导入方法;
2. 冰水建模;转换TIP3P(SPC/E)水模型坐标文件为TIP4P的方法;

3. 两相共存状态下水结冰过程的模拟;

TIP4P是一种四点水模型,亦即除了一个O和2个H原子外还加入了一个虚原子(在氧附近),虚原子仅具有负电荷,改善了水分子周围的静电分布

其中,TIP4P/ICE是专门用来描述冰的一系列性质的水模型,对水的相图有较好的还原(1bar下冰-Ih熔点为272.2K)。而Gromacs的力场中没有自带该水模型,需要到gromacs官网获取(内容如下)。











































;; Note the strange order of atoms to make it faster in gromacs.;[ moleculetype ]; molnamenrexclSOL2 [ atoms ]; idat typeres nr residu nameat namecg nrcharge1       O        1       SOL      O     1       0.002       H        1       SOL      H     1       0.58973       H        1       SOL      H     1       0.58974       M        1       SOL      M     1      -1.1794 [constraints];i j funct doh  dhh1       2       1       0.095721       3       1       0.095722       3       1       0.15139 [ exclusions ]1234213431244123 ; The position of the virtual site is computed as follows:;;O;        ;    D;  ;HH;; const = distance (OD) / [ cos (angle(DOH)) * distance (OH) ];  0.01577 nm/ [ cos (52.26 deg)* 0.09572 nm] ; Vsite pos x4 = x1 + a*(x2-x1) + b*(x3-x1) [ virtual_sites3 ]; Vsite fromfunctab412310.13458335      0.13458335
复 制以上内容另存为tip4p-ice.itp,保存到力场文件夹中(以OPLS-AA为例,gromacs根目录/share/gromacs/top/oplsaa.ff),然后就可以在拓扑文件中加入


#include "oplsaa.ff/forcefield.itp"#include "oplsaa.ff/tip4p-ice.itp"

来使用新的水模型。

注意你需要根据使用的力场来修改以上文件中的at type,如对于OPLS-AA,原子类型修改为







[ atoms ]; idat typeres nr residu nameat namecg nrcharge1       opls_113        1       SOL      O     1       0.002       opls_114        1       SOL      H     1       0.58973       opls_114        1       SOL      H     1       0.58974       opls_115        1       SOL      M     1      -1.1794

总之就是要修改为这个力场中有定义且定义正确的原子类型。你可以参照力场文件夹中其它水模型使用的原子类型来修改。

当然,你也可以直接简单粗暴地将以上水的拓扑文件直接放在当前模拟的拓扑文件中。没有适当模板的结晶模拟是非常困难的,因此在本模拟中使用冰-Ih/水两相体系。使用packmol建模,输入代码如下。上下填充两层冰,中间充满水



















tolerance 2.0output icebox.pdbfiletype pdb structure ice.pdb number 1 inside box 0. 0. 0. 28. 24. 23.end structure structure ice.pdb number 1 inside box 0. 0. 46. 28. 23. 69.end structure structure water.pdb number 600 inside box 0. 0. 23. 28. 23. 46.end structure

得到的icebox.pdb若要直接用于模拟,还需要编辑模拟盒子信息,在最后一行REMARK后加入以下信息


CRYST1   28   23   69  90.00  90.00  90.00 P 1           1

该信息记载了模拟盒子的晶胞参数(三边长,角度等),可被gromacs读取。

至此我们得到了三点水模型的坐标文件,先在spc/e模型下进行能量最小化



gmx grompp -f em.mdp -c icebox.pdb -p icebox.top -o em.tpr -maxwarn 2gmx mdrun -v -deffnm em

这样就得到了经过能量最小化的em.gro。接着,我们要在不改变原坐标的情况下,给所有水引入虚原子,转化为四点水模型的坐标文件。运行


cat em.gro |awk '{print $0;if($2=="OW"){a=$1;b=$3;c=$4;d=$5;e=$6;}if($2=="HW2")printf("%8s     MW %4d%8.3f%8.3f%8.3f\n",a,b,c,d,e)}' > newicebox.gro

这段代码意思是逐行读取em.gro文件,读到氧原子一行时,将氧原子的编号和坐标写入临时变量abcde,然后读到每个水分子的第二个氢原子时在下一行插入虚原子,编号和坐标与第一个氧原子相同。亦即在每个水的氧原子位置添加一个虚原子。

然后在修改过的使用tip4p/ice水模型的拓扑文件下重新进行能量最小化(由于新引入了虚原子,你需要手动修改gro文件的原子数量)



gmx grompp -f em.mdp -c newicebox.gro -p icebox4.top -o em.tpr -maxwarn 2gmx mdrun -v -deffnm em

由于之前已经在三点水下进行过能量最小化,所以这一步能量最小化只需要调整虚原子位置即可,一步优化就完成了。

这样就得到了基于TIP4P的冰/水坐标文件。

模拟照常在能量最小化之后再进行NVT、NPT预平衡,然后进行产生相模拟。这里贴出产生相模拟所使用的mdp文件,其它mdp文件可在开头链接中的附件获取。



















































; Run parametersintegrator  = md        ; leap-frog integratornsteps      = 100000000  ; 1 * 100000000 = 10000 ps (10 ns)dt          = 0.001     ; 1 fs; Output controlnstxout     = 4000       ; save coordinates every 0.4 psnstvout     = 4000       ; save velocities every 0.4 psnstenergy   = 4000       ; save energies every 0.4 psnstlog      = 4000       ; update log file every 0.4 psnstxtcout   = 40000      ; xtc compressed trajectory output every 40 ps; Bond parameterscontinuation            = yes       ; Restarting after NVTconstraint_algorithm    = lincs     ; holonomic constraintsconstraints             = h-bonds   ; only h-bonds constrainedlincs_iter              = 1         ; accuracy of LINCSlincs_order             = 4         ; also related to accuracy; Neighborsearchingns_type     = grid      ; search neighboring grid celsnstlist     = 5         ; 5 fsrlist       = 1.0       ; short-range neighborlist cutoff (in nm)rcoulomb    = 1.0       ; short-range electrostatic cutoff (in nm)rvdw        = 1.0       ; short-range van der Waals cutoff (in nm); Electrostaticscoulombtype     = PME       ; Particle Mesh Ewald for long-range electrostaticspme_order       = 4         ; cubic interpolationfourierspacing  = 0.16      ; grid spacing for FFT; Temperature coupling is ontcoupl      = v-rescale                       ; More accurate thermostattc-grps     = ICE        SOL      ; two coupling groups - more accuratetau_t       = 0.5           0.5                 ; time constant, in psref_t       = 260           260                 ; reference temperature, one for each group, in K; Pressure coupling is onpcoupl      = Parrinello-Rahman     ; Pressure coupling on in NPTpcoupltype  = semiisotropic         ; uniform scaling of x-y box vectors, independent ztau_p       = 5.0                   ; time constant, in psref_p       = 450.0   450.0         ; reference pressure, x-y, z (in bar)compressibility = 4.5e-5    4.5e-5  ; isothermal compressibility, bar^-1; Periodic boundary conditionspbc         = xyz       ; 3-D PBC; Dispersion correctionDispCorr    = EnerPres  ; account for cut-off vdW scheme; Velocity generationgen_vel     = no        ; Velocity generation is off; COM motion removal; These options remove motion of the ice relative to the solvent/ionsnstcomm         = 1comm-mode       = Linearcomm-grps       = ICE SOL; Scale COM of reference coordinatesrefcoord_scaling = com

在这里,步长dt=1fs, 使用V-rescale控温,参考温度260K, Parrinello-Rahman 控压, 参考压力为 450bar 。

使用了半各向异性控压,并将冰和水分开来控温——不过这也许并不必要。

以上条件显然不算最优的,还需要按照自己需求进行调整参数。我实际模拟了300ns,能够观察到结冰过程。

除了直观地观察冰晶的形成情况之外,还可以通过统计氢键平均寿命来衡量结晶的程度。

三、我的GROMACS热门教程

总之,GROMACS是用于研究生物、化学、物理等学科中分子微观机理的分子动力学程序包。它可以用分子动力学、随机动力学或者路径积分方法模拟溶液或晶体中的任意分子,进行分子能量的最小化,分析构象等。

它的模拟程序包含GROMACS力场、AMBER力场等诸多力场,研究的范围可以包括玻璃和液晶、聚合物、晶体、界面体系和生物分子溶液(蛋白质、核苷酸、糖等)。GROMACS是一个功能强大的分子动力学的模拟软件,其在模拟大量分子系统的牛顿运动方面具有极大的优势。

为此,笔者录制了Gromacs系列视频课程,开通一条通往开源Gromacs分子动力学模拟仿真捷径,现成为网上Gromacs热门课程,受到了数千人的好评

1、零基础入门进阶教程

GROMACS分子动力学模拟仿真22讲:自学冰热融化、离子溶液、界面模型、纳米管和蛋白建模仿真分析


课程可随时回放,可开具发票
讲师提供vip群知识圈答疑和模型下载

 扫码立即试看

  • 该课程拟在为从事上诉科研领域人员提供GROMACS软件专业培训,提高相关人员的技术水平。

  • 无论您前期是否接触过此软件,均可通过此次培训更加熟练的运用本领域的计算仿真。

  • 该课程通过由易到难的知识讲解,让您对GROMACS软件使用有一个全面系统的学习,更好的补充您在自学中忽略的知识内容。

2、GROMACS专题进阶课程

以下是笔者原创GROMACS专题进阶课程,为订阅用户提供相关学习资料、订阅用户交流群和答疑服务等,欢迎大家扫码试看,并提供宝贵意见,作者会根据订阅用户需求,酌情加餐内容、组织直播,开设新的专题课程。

扫码领取优惠券

专题一、 GROMACS生物膜/膜蛋白的构建和模拟

本专题视频课程内容包括:

(1)生物膜的简介
(2)双层膜的构建和模拟:DPPC为例
(3)混合膜的构建和模拟:PC和胆固醇为例

(4)膜蛋白的构建和模拟:膜蛋白和DPPC为例

专题二:GROMACS含有金属配件的蛋白建模与模拟

本专题视频课程内容包括:

(1)处理金属离子的模拟参数,生成蛋白-金属离子的仿真盒子

(2)金属离子和蛋白没有任何成键作用,不用考虑模拟过程离子是否偏离结合位点的模拟

(3)金属离子和蛋白最近的氨基酸有键连关系的模拟

(4)离子和蛋白没有任何成键作用,但是要使金属离子位点一直在结合位点的模拟

专题三、GROMACS质心牵引(伞形采样)模拟仿真计算

本专题视频教程课程目录:

(1)对目标结构进行预处理

(2)进行质心牵引模拟

(3)伞形采样计算PMF,得出结合自由能

专题四、GROMACS非标准残基力场构建和高分子itp构建

本专题视频教程课程目录:

(1)残基数据库的文件介绍
(2)蛋白中的非标准残基处理

(3)如何生成高分子的ITP/TOP文件

专题五、GROMACS粗粒化力场建立和模拟仿真

本专题视频教程课程目录:

(1)溶液中的蛋白粗粒化模拟

(2)小分子粗粒化构建

(3)磷脂膜、混合膜粗粒化的构建和模拟

(4)膜蛋白粗粒化的构建和模拟

(5)DNA、RNA粗粒化的构建和模拟

(6)VMD显示粗粒化结果

专题六、GROMAC TOP-ITP文件使用和注意事项

本专题视频教程课程目录:
(1)TOP-ITP文件

专题七、GROMACS虚拟墙(基底)的实现

本专题视频教程内容:
(1)为用户讲解GROMACS中虚拟墙的搭建。虚拟墙可用于设置基底,模拟体系在某个基底上的排列等。
(2)还可以用于界面、流动体系,使其不会穿过周期边界,达到预设目的。也可以隔绝两个组分,使其不在某个界面不发生接触等。

专题八、GROMACS二氧化硅-石墨烯-氧化石墨烯等周期性体系的构建方法

本专题视频教程内容:

(1)石墨烯-碳纳米管-氧化石墨烯建模

(2)二氧化硅-修饰二氧化硅建模

专题九、GROMACS多糖-纤维素结构建立

本次专题讲解如何搭建多糖、纤维素等结构文件以及如何生成GROMACS所需的ITP文件。

(1)多糖结构、力场文件的生成——glycam力场为例

(2)多糖结构、力场文件的生成——Amber力场、OPLS力场为例

(3)纤维素结构生成——charmm力场、glycam力场为例

专题十、GROMACS胶原纤维构建

本视频课程主要讲解:如何搭建胶原纤维结构文件以及如何生成GROMACS所需的ITP文件

专题十一、GROMACS不同PH下蛋白和小分子模拟仿真

本视频课程主要讲解:GROMACS不同PH下蛋白和小分子的模拟仿真。为付费用户提供VIP交流群和知识圈答疑,欢迎订阅用户联系仿真秀官方客服加入VIP群。讲师会根据用户交流和需要酌情加餐录制视频教程和直播等。

(完)


来源:仿真秀App
STEPS化学通用UGpython通信UM理论材料分子动力学VASP
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-11-17
最近编辑:1年前
仿真圈
技术圈粉 知识付费 学习强国
获赞 10104粉丝 21586文章 3546课程 219
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈