首页/文章/ 详情

刘建川・GROMACS 实战 | 冻结、限制类参数

1月前浏览483

大家好,我是刘建川,14 年深耕 GROMACS 分子模拟领域,始终专注分子模拟实战。在开展分子动力学模拟时,我们常常需要固定原子、基团或分子的空间位置,也需要约束分子内部的键长、键角、二面角等结构参数。本文将全面讲解 GROMACS 中冻结、成键项限制、位置限制等常用参数的配置方法、使用规则与实操注意事项。

一、冻结参数

冻结功能用于将指定原子组完全固定,无法产生位移,相关参数直接在mdp文件中配置。freezegrps用于指定冻结基团,freezedim用于设置 x、y、z 三个维度的冻结状态,Y代表冻结该方向,N代表放开该方向。

  1. 冻结单一基团,以蛋白质全方向冻结为例
freezegrps = proteinfreezedim = Y Y Y
  1. 仅在 x、y 方向冻结,放开 z 方向
freezegrps = proteinfreezedim = Y Y N
  1. 同时冻结多个基团(蛋白+水分子),多个基团依次填写,冻结维度一一对应
freezegrps = protein SOLfreezedim = Y Y Y Y Y Y

若需要冻结自定义原子组,可先通过 gmx make_ndx 命令创建索引文件,执行 gmx grompp 时添加 -n index.ndx 读取索引。假设自定义索引组名为 r_1,对应配置如下:

freezegrps = r_1freezedim = Y Y Y

注意事项:直接冻结基团容易造成体系能量过高,进而导致模拟崩溃。建议先完成能量最小化再执行冻结操作,若仍报错,可适当减小成键参数的力常数。

二、成键项限制

成键类限制需要写入对应分子的itp文件内,或紧跟该分子的include语句后方,主要分为距离限制、角度限制、二面角限制三类。

2.1 距离限制 [distance_restraints]

用于约束两个原子间的距离,格式及示例如下:

[ distance_restraints ]; ai aj type index type' low up1 up2 fac10 16 1 0 1 0.0 0.3 0.4 1.010 28 1 1 1 0.0 0.3 0.4 1.010 46 1 1 1 0.0 0.3 0.4 1.0

参数说明:aiaj为分子内原子编号,type固定填写1;lowup1up2对应限制势公式中的特征距离;fac为权重系数,最终力常数会与该数值相乘。多组同索引的距离限制需连续排布,中间不可插入其他限制项。 补充方案:也可在[ bonds ]区块中将原子对的type改为6,等效添加谐振子势,实现无化学键连接的原子距离约束。

图片

2.2 角度限制 [angle_restraints]

用于固定三个原子形成的夹角,示例配置如下:

[ angle_restraints ]; i   j    k    l    type   theta0     fc     multiplicity23  677   34  677    1      112.0     3000         1

该示例表示约束原子23-677-34形成的夹角稳定在112.0°,力常数为3000;type字段暂无实际作用,multiplicity为多重性,默认填写1即可。

2.3 二面角限制 [dihedral_restraints]

用于约束四个原子构成的二面角,itp文件配置示例:

[ dihedral_restraints ];   i    j     k    l    type  label  phi  dphi  kfac  power4    12    8    11     1      1  180     0     1      2

参数说明:type仅支持填写1;phi为目标参考二面角,dphi为偏离参考角的阈值;kfac为权重系数。

同时需要在mdp文件中配套设置二面角限制的全局参数:

dihre          =  simpledihre_fc       =  1000dihre_tau      =  0.0nstdihreout    =  100

参数释义:dihre_fc为二面角基础力常数,最终力常数由其与kfac相乘得到;dihre_tau为时间常数,设为0则关闭时间平均;nstdihreout为能量文件的数据输出步长。

三、位置限制

位置限制会将原子约束在初始位置附近小幅运动,一般单独生成posre.itp文件,通过[ position_restraints ]区块定义约束规则。

3.1 posre.itp 文件编写

[ position_restraints ]; ai funct fcx fcy fcz1 1 1000 1000 10002 1 1000 0 10002 1 1000 0 0

示例解读:第一行将1号原子在x/y/z三维全约束;第二行约束2号原子在x、z方向,放开y方向;第三行仅约束x方向,将原子限制在y-z平面。

3.2 拓扑文件引用规则

位置限制文件必须紧跟对应分子拓扑文件后引用,错误写法

#include "topol_A.itp"#include "topol_B.itp"#include "ligand.itp"#ifdef POSRES#include "posre_A.itp"#include "posre_B.itp"#include "ligand_posre.itp"#endif

正确写法(一一对应引用):

#include "topol_A.itp"#ifdef POSRES#include "posre_A.itp"#endif#include "topol_B.itp"#ifdef POSRES#include "posre_B.itp"#endif#include "ligand.itp"#ifdef POSRES#include "ligand_posre.itp"#endif

3.3 区分控制不同分子的位置限制

若需要单独约束某一类分子,可自定义宏名称。例如仅配体生效:

#ifdef POSRES_LIG#include "ligand_posre.itp"#endif

随后在mdp文件中启用对应宏,多个限制规则可叠加:

define = -DPOSRES_LIG -DPOSRES -DPOSRES_A

3.4 快速生成位置限制文件

使用gmx genrestr命令可基于gro/pdb文件一键生成posre.itp,执行前需保证结构文件与拓扑文件的原子数量、顺序完全一致:

gmx genrestr -f **.gro -o posre.itp -fc 1000 1000 1000

高版本GROMACS执行gmx grompp时,若启用位置限制,必须通过-r指定参考结构文件:

gmx grompp -f nvt.mdp -c em.gro -p top.top -o nvt.tpr -r em.gro

补充说明

冻结与位置限制存在本质区别:冻结会让原子完全无法运动;位置限制允许原子在初始位置附近小幅振动,若将位置限制的力常数设置极大,效果会近似于冻结。

掌握以上各类冻结与限制参数的搭配用法,就能根据能量最小化、平衡模拟、生产模拟等不同阶段的需求灵活约束体系结构,有效规避体系结构畸变、原子漂移等问题,保障模拟流程平稳推进。


来源:模拟之家
振动化学分子动力学控制GROMACS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-07-20
最近编辑:1月前
刘建川(刘十三)
博士 分子模拟实战、GROMACS
获赞 223粉丝 243文章 139课程 39
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈