200ns-cMD练习记录(来源于第三期分享)

teakki技能分享教程:

分子动力学操作(GROMACS)

教程来源:
原始文档来自  John E. Kerrigan(jkerriga@rutgers.edu, kerrigje@umdnj.edu) 

一些关于分子动力学的知识

  • mkdir –p your_dir_name
  • cd your_dir_name
  • cp -r /home/dddc/zzy/share/gromacs_example/2024-3-14-file  ./
  • cd 2024-3-14-file
  • source /home/dddc/zzy/share/gromacs_example/gmx-2022.sh
  • which gmx_mpi

操作流程

为了适应gmx2022,以下命令经过了一些调整。
经测试,正确安装gmx2022后可以使用GPU完成全流程。
注:蓝色标出的文件均已打包在 gmx_file_2024_0312.rar 中,可解压后直接获取

检查GMX版本

  • which gmx_mpi
  • # 若显示安装路径,则正确
  • # 例:/home/dddc/zzy/software/gmx/gromacs-2022.5/install/bin/gmx_mpi

1. 生成拓扑文件

  • gmx_mpi pdb2gmx -ignh -ff amber99sb-ildn -f fws.pdb -o fws.gro -p fws.top -water tip3p
  • # 我们得到了三个输出文件: 结构文件fws.gro, 拓扑文件fws.top, 位置限制文件posre.itp.

-ignh: 忽略输入pdb文件中的所有氢原子.  统一使用GROMOS力场的氢原子命名规则, 以免出现氢原子名称不一致的情况.
-ff: 指定使用的力场. 使用Amber99SB-ILDN力场。如果不在命令中使用-ff指定力场, 运行命令后会给出一个列表, 让你选择力场, 直接键入你要使用的力场编号再回车即可.
-f: 指定需要进行处理的蛋白质结构文件
-o: 指定一个新生成的GROMACS文件名(也可以是其它的文件类型, 如pdb)
-p: 指定新生成的拓扑文件名, 包含所有原子及原子间的相互作用参数
-water: 指定水模型. 我们使用TIP3P水模型

2. 模拟体系构建(添加模拟盒子并溶剂化)

  • ## 添加模拟盒子
  • gmx_mpi editconf -f fws.gro -o fws-PBC.gro -bt dodecahedron -d 1.2

  • # 真空中能量最小化
  • gmx_mpi grompp -f em-vac-pme.mdp -c fws-PBC.gro -p fws.top -o em-vac.tpr -maxwarn 1
  • gmx_mpi mdrun -v -deffnm em-vac
-f: 输入蛋白结构
-o: 输出带模拟盒子信息的结构文件
-bt: 默认使用长方盒子, 可以使用-bt选项改变盒子类型, 如八面体, 十二面体等
-d: 蛋白与模拟盒子在X, Y, Z方向上的最小距离
我们使用-bt选项创建了一个菱形十二面体盒子, 因为这种盒子是接近球形, 计算效率最高. -d选项设定分子到盒子边缘的最小距离, 以nm为单位, 它决定了盒子的尺寸. 理论上在绝大多数系统中, -d都不能小于0.9 nm[6], 我们使用了1.2 nm.
  • # 向盒子中填充溶剂
  • gmx_mpi solvate -cp em-vac.gro -cs spc216.gro -p fws.top -o fws-b4ion.gro

  • # 能量最小化
  • gmx_mpi grompp -f em-sol-pme.mdp -c fws-b4ion.gro -p fws.top -o ion.tpr -maxwarn 1
-cp指定需要填充水分子的体系, 带模拟蛋白盒子, -cs指定使用SPC水模型进行填充, spc216是GROMACS统一的三位点水分子结构, -p修改体系的拓扑文件, 加入相应水分子的物理参数 -o指定填充水分子后的输出文件.
  • # 添加离子,平衡至中性
  • gmx_mpi genion -s ion.tpr -o fws-b4em.gro -neutral -conc 0.15 -p fws.top
  • # 选择溶剂组
  • > 13

  • # 能量最小化
  • gmx_mpi grompp -f em-sol-pme.mdp -c fws-b4em.gro -p fws.top -o em-sol.tpr
  • gmx_mpi mdrun -v -deffnm em-sol
genion默认使用的盐为NaCl.-neutral选项保证体系总的净电荷为零, 体系呈电中性, -conc选项设定需要的离子浓度(这里为0.15 M)
能量最小化参数文件em-sol-pme.mdp

3. 位置限制性预平衡模拟

  • # 由于GPU不支持多能量组,这里提供的mdp文件与教程里略有不同
  • # 我们现在需要对整个体系进行位置限制性模拟, 也就是对溶剂和离子进行弛豫同时保持蛋白质原子的位置不变. 在位置限制性模拟中会限制(或部分冻结)大分子中的原子位置, 而允许溶剂分子运动, 这样做像是将大分子浸入水中, 可以使体系进一步平衡。
  • # 100 ps的NVT系综平衡
  • gmx_mpi grompp -f nvt-pr-md.mdp -c em-sol.gro -r em-sol.gro -p fws.top -o nvt-pr.tpr
  • gmx_mpi mdrun -deffnm nvt-pr

  • # 100 ps的NPT系综平衡
  • gmx_mpi grompp -f npt-pr-md.mdp -c nvt-pr.gro -r em-sol.gro -p fws.top -o npt-pr.tpr
  • gmx_mpi mdrun -deffnm npt-pr
现在需要对整个体系进行位置限制性模拟, 也就是对溶剂和离子进行弛豫同时保持蛋白质原子的位置不变. 在位置限制性模拟中会限制(或部分冻结)大分子中的原子位置, 而允许溶剂分子运动, 这样做像是将大分子浸入水中, 可以使体系进一步平衡.
水分子的弛豫时间约为10 ps, 大体系(大的蛋白质或脂)可能需要更长的平衡时间, 因此我们要进行超过10ps的位置限制性模拟(至少要长一个数量级). 我们将进行两个阶段的位置限制性模拟: 100 ps的NVT系综平衡和100 ps的NPT系综平衡. 模拟时我们使用的温度为300 K, 它接近于大多数实验条件的室温. 
有些人会在310 K下进行模拟, 因为这个温度更接近于体温或生理温度.

4. 成品模拟

  • # 0.1ns
  • gmx_mpi grompp -f npt-nopr-md.mdp -c npt-pr.gro -p fws.top -o npt-nopr.tpr
  • gmx_mpi mdrun -deffnm npt-nopr
  • # 200ns 将参数文件中步数改了,注意换算。还有上面两个图,前面的是教程上的npt-nopr-md.mdp文件,下面的图,是师姐兆寅的md.mdp文件
  • gmx_mpi grompp -f npt-nopr-md.mdp -c npt-pr.gro -p fws.top -o npt-nopr.tpr
  • nohup gmx_mpi mdrun -deffnm npt-nopr &

#  nohup  &   后台运行
  • top
看cpu使用率/内存/进程
  • nvidia-smi
看gpu使用