菜鸟科技网

GROMACS命令如何快速上手?

GROMACS 命令核心特点

  1. 命名规范:所有 GROMACS 命令都以 gmx 开头,后跟具体的操作指令,gmx mdrun
  2. 交互式提示:许多 GROMACS 命令(尤其是设置和分析命令)是交互式的,当你运行命令时,它会通过命令行提示你选择选项或输入参数,这些提示通常包含默认值(用方括号 [] 标出),直接按回车键即可使用默认值。
  3. 索引文件 (.ndx):在进行选择性分析(如计算特定残基的距离、RMSF 等)时,通常需要先创建一个索引文件来定义原子组。

GROMACS 模拟完整流程及对应命令

一个标准的 MD 模拟流程通常包括以下几个步骤:

GROMACS命令如何快速上手?-图1
(图片来源网络,侵删)

准备阶段

这一步的目标是准备好模拟所需的拓扑结构和坐标文件。

  • pdb2gmx: 将 PDB 文件转换为 GROMACS 格式的拓扑和坐标文件。
    • 功能:根据力场选择,为分子(通常是蛋白质)添加原子名称、电荷和键角等拓扑信息,并生成 .gro (坐标) 和 .top (拓扑) 文件。
    • 交互式选择:它会提示你选择力场、水模型等。
    • 示例
      gmx pdb2gmx -f protein.pdb -o processed.gro -water spc

定义模拟盒子

这一步将单个分子放入一个充满溶剂的盒子中。

  • editconf: 编辑坐标文件,如调整盒子大小、形状等。
    • 功能:可以设置盒子类型(立方体、截角八面体、正交)、盒子边长、将分子置于盒子中心等。
    • 示例
      gmx editconf -f processed.gro -o boxed.gro -c -d 1.0 -bt cubic
      • -c: 将分子置于盒子中心。
      • -d 1.0: 分子与盒子边界的最小距离为 1.0 纳米。
      • -bt cubic: 定义盒子为立方体。

溶剂化与添加离子

  • solvate: 在盒子中添加溶剂分子(通常是水)。

    • 功能:根据盒子大小自动添加水分子,生成 solvated.gro
    • 示例
      gmx solvate -cp boxed.gro -cs spc216.gro -o solvated.gro -p topol.top
      • -cp: 溶质坐标文件。
      • -cs: 溶剂模型文件(如 spc216.gro 是预先生成的 SPC/E 水盒子)。
      • -p: 更新拓扑文件,加入溶剂分子的拓扑信息。
  • genion: 添加离子以中和系统电荷并达到所需的离子强度。

    GROMACS命令如何快速上手?-图2
    (图片来源网络,侵删)
    • 功能:替换水分子中的氢原子,添加 Na+ 或 Cl- 离子。
    • 示例
      gmx genion -s solvated.tpr -o ionized.gro -p topol.top -pname NA+ -nname CL- -neutral
      • -s: 输入 tpr 文件(由 gmx grompp 生成,见下一步)。
      • -pname NA+: 正离子名称为 NA+。
      • -nname CL-: 负离子名称为 CL-。
      • -neutral: 系统总电荷设为 0。

能量最小化

  • grompp (GROMACS Preprocessor): 编译 .top.gro 文件,生成 .tpr (Portable XDR Run Input) 二进制文件。

    • 功能:这是运行任何模拟前的必要步骤,用于检查输入文件的完整性和正确性。
    • 示例
      gmx grompp -f em.mdp -c ionized.gro -p topol.top -o em.tpr
      • -f: MD 参数文件 (.mdp)。
      • -c: 初始坐标文件。
      • -p: 拓扑文件。
      • -o: 输出的 tpr 文件。
  • mdrun: 运行模拟。

    • 功能:这是执行 MD 模拟的核心命令。
    • 示例(能量最小化)
      gmx mdrun -v -deffnm em
      • -v: 详细输出,显示进度。
      • -deffnm em: 使用 em 作为输入/输出文件的前缀(即读取 em.tpr,输出 em.trr, em.log, em.edr 等)。

平衡阶段

包括 NVT 系综(恒定粒子数、体积、温度)和 NPT 系综(恒定粒子数、压力、温度)的平衡。

  • gmx grompp: 同上,使用不同的 .mdp 参数文件(如 nvt.mdp, npt.mdp)编译 tpr 文件。

    GROMACS命令如何快速上手?-图3
    (图片来源网络,侵删)
  • gmx mdrun: 运行平衡模拟。

    • 示例

      # NVT 平衡
      gmx grompp -f nvt.mdp -c em.gro -p topol.top -o nvt.tpr
      gmx mdrun -deffnm nvt
      # NPT 平衡
      gmx grompp -f npt.mdp -c nvt.gro -p topol.top -o npt.tpr
      gmx mdrun -deffnm npt

生产阶段

  • gmx grompp: 使用生产模拟的 .mdp 文件(如 md.mdp)编译 tpr 文件。
  • gmx mdrun: 运行生产模拟,产生轨迹文件(.xtc.trr)和能量文件(.edr)。
    • 示例
      gmx grompp -f md.mdp -c npt.gro -p topol.top -o md.tpr
      gmx mdrun -deffnm md -v

GROMACS 分析核心命令

模拟完成后,使用 gmx 命令套件对轨迹进行分析。绝大多数分析命令都需要先使用 gmx make_ndx 创建索引文件。

创建索引文件

  • make_ndx: 创建或编辑索引文件 (.ndx)。
    • 功能:让你选择原子,给它们命名,并定义原子组,这些组名可以在后续分析中使用。
    • 交互式操作
      1. 输入 q 退出。
      2. 输入 a + 残基号 + 原子名 来选择原子,a 1 3 选择残基1的原子3。
      3. 输入 r + 残基号 选择整个残基,r 1 选择残基1。
      4. 输入 name + 组名 来给当前选中的原子组命名,name 1 Protein
      5. 重复步骤 2-4 定义其他组(如 SOL, LIG)。
    • 示例
      gmx make_ndx -f md.tpr -o index.ndx

常用分析命令

  • energy: 提取能量信息。

    • 功能:从 .edr 文件中读取并绘制能量随时间的变化,如动能、势能、温度、压力等。
    • 示例
      gmx energy -f md.edr -o energy.xvg
      • 交互式提示:它会列出所有可用的能量项,让你选择要绘制的项(通常使用 0 选择全部)。
  • rmsd: 计算均方根偏差。

    • 功能:计算原子或骨架相对于参考结构的位移。
    • 示例
      gmx rmsd -s md.tpr -f md.xtc -o rmsd.xvg -tu ns
      • -tu ns: 将 x 轴单位设置为纳秒。
      • 交互式提示:它会让你选择一个参考结构(通常选第一个),然后选择要计算的原子组(如 Backbone)。
  • rmsf: 计算均方根涨落。

    • 功能:计算每个残基(或原子)的平均位移,用于评估柔性区域。
    • 示例
      gmx rmsf -s md.tpr -f md.xtc -o rmsf.xvg -res
      • -res: 按残基输出结果。
  • gyrate: 计算回转半径。

    • 功能:衡量分子的紧凑程度。
    • 示例
      gmx gyrate -s md.tpr -f md.xtc -o gyrate.xvg
  • hbond: 分析氢键。

    • 功能:计算氢键的数量、存在时间等。
    • 示例
      gmx hbond -s md.tpr -f md.xtc -num hbond.xvg
  • mindist: 计算最小距离。

    • 功能:计算两个原子组之间的最小距离。
    • 示例
      gmx mindist -s md.tpr -f md.xtc -n index.ndx -o mindist.xvg
      • 交互式提示:它会让你选择第一个原子组(如 Protein),然后选择第二个原子组(如 LIG)。
  • sasa: 计算溶剂可及表面积。

    • 功能:衡量分子暴露在溶剂中的表面积。
    • 示例
      gmx sasa -s md.tpr -f md.xtc -o sasa.xvg -n index.ndx

      交互式提示:让你选择要计算的原子组。

  • density: 计算密度。

    • 功能:计算沿 Z 轴的密度分布。
    • 示例
      gmx density -s md.tpr -f md.xtc -o density.xvg -d Z -sl 30
      • -d Z: 沿 Z 轴计算。
      • -sl 30: 将 Z 轴分成30个薄片。
  • angle / dihedral: 计算键角或二面角。

    • 功能:分析特定键角或二面角的变化。
    • 示例
      gmx angle -s md.tpr -f md.xtc -n index.ndx -o angle.xvg

      交互式提示:让你选择要分析的键角。

  • trjconv: 轨迹文件转换和编辑。

    • 功能:非常强大的工具,用于转换轨迹格式(.xtc -> .pdb)、裁剪轨迹、旋转/平移分子、仅输出特定帧等。
    • 示例(将最后一帧保存为 PDB 文件)
      gmx trjconv -s md.tpr -f md.xtc -o last_frame.pdb -dump 0
      • -dump 0: 输出第0帧(即最后一帧)。-dump 100 则输出第100帧。

完整工作流示例

# 1. 准备拓扑和坐标
gmx pdb2gmx -f 1AKI.pdb -o processed.gro -water spce
# 2. 定义盒子
gmx editconf -f processed.gro -o boxed.gro -c -d 1.0 -bt cubic
# 3. 溶剂化
gmx solvate -cp boxed.gro -cs spc216.gro -o solvated.gro -p topol.top
# 4. 添加离子 (需要先生成一个 tpr 文件)
gmx grompp -f ions.mdp -c solvated.gro -p topol.top -o ions.tpr
gmx genion -s ions.tpr -o ionized.gro -p topol.top -pname NA+ -nname CL- -neutral
# 5. 能量最小化
gmx grompp -f em.mdp -c ionized.gro -p topol.top -o em.tpr
gmx mdrun -deffnm em
# 6. NVT 平衡
gmx grompp -f nvt.mdp -c em.gro -p topol.top -o nvt.tpr
gmx mdrun -deffnm nvt
# 7. NPT 平衡
gmx grompp -f npt.mdp -c nvt.gro -p topol.top -o npt.tpr
gmx mdrun -deffnm npt
# 8. 生产模拟
gmx grompp -f md.mdp -c npt.gro -p topol.top -o md.tpr
gmx mdrun -deffnm md -v
# 9. 分析
# 9.1 创建索引文件
gmx make_ndx -f md.tpr -o index.ndx
# (在交互模式下选择蛋白质残基,输入 'name 1 Protein',选择配体残基,输入 'name 2 LIG',输入 'q' 退出)
# 9.2 计算蛋白质骨架的 RMSD
gmx rmsd -s md.tpr -f md.xtc -o rmsd.xvg -tu ns -n index.ndx
# (交互式提示:选择 'Backbone' 或 'Protein')
# 9.3 计算蛋白质和配体之间的最小距离
gmx mindist -s md.tpr -f md.xtc -n index.ndx -o mindist.xvg
# (交互式提示:先选择 'Protein',再选择 'LIG')
# 9.4 提取能量
gmx energy -f md.edr -o energy.xvg
# (交互式提示:选择 'Bonded', 'Nonbonded', 'Coulomb', 'LJ', 'Temperature', 'Pressure' 等)

GROMACS 的命令行操作虽然初看复杂,但一旦掌握了其流程和核心命令,就会变得非常高效和强大,关键在于:

  1. 理解流程:从准备到分析,每一步的目的和输入输出是什么。
  2. 善用 .mdp 文件.mdp 文件是模拟的“灵魂”,决定了模拟的物理参数。
  3. 掌握 make_ndx:这是进行选择性分析的“钥匙”。
  4. 查阅官方文档:GROMACS 官方文档 (https://manual.gromacs.org/current/) 是最权威、最详细的参考资料,每个命令都有详尽的说明和示例。

希望这份详细的梳理对您有帮助!

分享:
扫描分享到社交APP
上一篇
下一篇