GROMACS专题

GROMACS AWH 距离采样与结果提取

以两个水氧的距离为坐标,准备pull和AWH输入、运行真实短MD并提取不同时刻的偏置与PMF。

更新于 2026-10-28约 4 分钟阅读按任务与环境选择适用配置
阅读本篇目录

下载输入、真实结果与绘图资料包,解压进入资料包目录。inputs 可修改,reference 是集群已计算的参考结果;脚本每次在 work 下建立独立目录。计算在分配好的资源内执行,可用 sbatch run.sbatch 跑整组,结果路径写入 LAST-RUN.txt。

从输入到图的顺序#

先确认距离坐标和原子编号,再设置 AWH 网格,运行 MD,最后从 EDR 提取 AWH 状态。下面是 884 个 TIP3P 水分子、20 ps 的教学流程,坐标是两颗水氧间的距离。

bash run.sh md

该入口同时运行资料包的五个短 MD 条件。只做本篇可手动复制输入:

module purge
module load gromacs/2026.4-p100-threadmpi
mkdir my-awh
cp inputs/awh/* my-awh/
cd my-awh

1. 定义两个距离端点#

index.ndx 中 oxygen1 为原子 1,oxygen2 为原子 4;这两个原子在本例都是 OW。文件另保留完整 System 组供温度耦合使用。

[ oxygen1 ]
1
[ oxygen2 ]
4

如果自己手写完整索引,每行放若干编号,避免一行塞进几千个数字。原子编号来自当前结构,不是水分子编号。初始结构继承此前已运行的距离准备状态,初始距离约 0.274 nm,位于本网格内;自己的体系先检查起点,避免突然施加很大恢复力。

2. 查看完整 AWH 输入#

cutoff-scheme = Verlet
nstlist = 20
coulombtype = PME
rcoulomb = 1.0
rvdw = 1.0
pbc = xyz
constraints = h-bonds
integrator = md
dt = 0.002
nsteps = 10000
nstenergy = 50
nstcalcenergy = 50
nstlog = 1000
nstxout-compressed = 50
tcoupl = v-rescale
tc-grps = System
tau-t = 0.5
ref-t = 300
pcoupl = no
gen-vel = no
gen-temp = 300
gen-seed = 76262
continuation = yes
pcoupltype = isotropic
tau-p = 5
ref-p = 1
compressibility = 4.5e-05
nstxout = 0
nstvout = 0
nstfout = 0
pull = yes
pull-ngroups = 2
pull-ncoords = 1
pull-group1-name = oxygen1
pull-group2-name = oxygen2
pull-coord1-geometry = distance
pull-coord1-groups = 1 2
pull-coord1-dim = Y Y Y
pull-nstxout = 50
pull-nstfout = 50
pull-coord1-type = external-potential
pull-coord1-potential-provider = AWH
awh = yes
awh-nbias = 1
awh-nstout = 100
awh-nstsample = 10
awh-nsamples-update = 10
awh1-ndim = 1
awh1-dim1-coord-index = 1
awh1-dim1-start = 0.25
awh1-dim1-end = 0.8
awh1-dim1-force-constant = 1000
awh1-dim1-diffusion = 0.01
awh1-error-init = 10
awh1-user-data = no

awh-seed = 20261028

ld-seed = 1610480637

关键是 pull-coord1-type=external-potential、potential-provider=AWH,让该坐标由 AWH 提供偏置;不要同时沿用另一个伞形势。awh1-dim1-coord-index=1 对应第一个 pull 坐标。

start=0.25、end=0.8 的单位是 nm,定义偏置网格范围,不是不允许越过的硬墙。实际瞬时距离可能在网格外,需检查越界程度和实际采样。awh-seed 与 ld-seed 已按本次计算固定,便于复现。

3. 运行并从 EDR 提取#

gmx grompp -f awh.mdp -c start.gro -p topol.top -n index.ndx -o awh.tpr
gmx mdrun -deffnm awh -ntmpi 1 -ntomp 2 -nb cpu -bonded cpu -update cpu
gmx awh -s awh.tpr -f awh.edr -o awh-pmf.xvg -more -b 10 -skip 49

本例 2 fs×10000 步为 20 ps。提取命令得到 awh-pmf_t10.xvg 和 awh-pmf_t19.8.xvg,后者有 13 个网格点、7 列数据。看 XVG 的 legend 区分 PMF、偏置和分布,不要按列号盲猜含义。

head -35 awh-pmf_t19.8.xvg
head -30 awh_pullx.xvg

实际AWH网格输出与距离轨迹

左图分别将各时刻 PMF 最小值平移到零,便于比较形状;右图是实际距离轨迹。20 ps 的曲线变化仍明显,不作为收敛 PMF 或水分子结合自由能。正式研究需更充分的往返采样、独立重复、误差和网格/扩散参数检查,不能仅因程序生成了 PMF 文件就报告可靠自由能。

参数见 GROMACS AWH 选项、gmx awh。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗