GROMACS 专题

GROMACS键角、取向与空间分析实操

以真实水轨迹补充angle、rotacf、densmap、clustsize、rmsdist、gyrate-legacy、sigeps及pme_error操作。

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

先下载本批输入、参考数据与绘图脚本,解压进入 full-function-wave1。参考数据在 cases、tools,自己的新计算在 work,避免覆盖或向旧输出追加数据。

unzip full-function-wave1-*.zip
cd full-function-wave1
python start.py

1 用已有轨迹准备索引#

本篇使用GROMACS 2026.4分析程序和此前SPC/E水的100 ps真实轨迹。模块、编译器及GPU分支见环境指南;以下分析命令在CPU上执行,不要求分配GPU。先在自己的工作目录准备输入:

mkdir analysis-work
cd analysis-work
cp ../shared/gromacs/md.xtc .
cp ../shared/gromacs/md.tpr .
cp ../tools/gromacs-angle/angles.ndx .
cp ../tools/gromacs-rotacf/pairs.ndx .
cp ../tools/gromacs-densmap/index.ndx .
module load gromacs/2026.4-p100-threadmpi

angles.ndx 每三个编号是一组H–O–H,中心原子必须是O;pairs.ndx 每两个编号是一根O–H方向矢量。index.ndx 的第0组为884个水氧,第1组为前100个水氧。换体系时重新生成编号,不能照抄本例的原子顺序。

2 键角分布和取向相关#

printf '0
' | gmx angle -f md.xtc -n angles.ndx \
  -type angle -od angle-distribution.xvg -ov angle-time.xvg
printf '0
' | gmx rotacf -f md.xtc -s md.tpr \
  -n pairs.ndx -d -P 2 -o rotacf.xvg

本例平均H–O–H角为 104.518°,与SPC/E的刚性角104.52°相符。压缩轨迹坐标精度会使测得的角度出现小幅分布,不能把它解释成模型中真实的键角振动。rotacf 的 -d 使用成对原子,-P 2 求二阶Legendre相关;它描述取向记忆,与平移MSD不同。

3 二维数密度、距离偏离与回转半径#

printf '0
' | gmx densmap -f md.xtc -s md.tpr \
  -n index.ndx -bin 0.1 -od density.dat -o density.xpm
printf '1
' | gmx rmsdist -f md.xtc -s md.tpr \
  -n index.ndx -dt 1 -o rmsdist.xvg
printf '1
' | gmx gyrate-legacy -f md.xtc -s md.tpr \
  -n index.ndx -o gyrate.xvg

密度图平均掉z方向,横纵坐标为nm,默认归一化是数密度。这里选氧原子,每个水分子贡献一个中心;不要把它当作包含所有原子的质量密度。rmsdist 比较原子对距离的变化,不做普通RMSD的刚体拟合。前100个水氧构成的是演示用子集,回转半径不代表水分子的尺寸;分析蛋白或聚合物时,应换成完整的对应分子组。

4 距离连通簇与势函数检查#

printf '0
' | gmx clustsize -f md.xtc -s md.tpr \
  -n index.ndx -cut 0.28 -dt 5 \
  -nc count.xvg -mc largest.xvg -ac average.xvg -o clusters.xpm
gmx sigeps -sig 0.316557 -eps 0.650194 -o lj.xvg

前者按0.28 nm氧—氧距离建立连通关系,输出簇数量和最大簇;它不同于按角度与距离共同定义的氢键网络。后者使用SPC/E氧的LJ参数绘制两体势,σ单位nm,ε单位kJ/mol;不包含整套水模型的静电贡献。

键角、取向相关和氧氧LJ势的实算输出

5 单独估计PME误差#

gmx pme_error 要求用于估计的输入满足特定邻居表条件。附件保留了可复现设置;生成单独的估计输入,不修改此前已经完成的模拟文件。

cp ../shared/gromacs/md.mdp pme-check.mdp
cat >> pme-check.mdp <<'EOF'
verlet-buffer-tolerance = -1
rlist = 1.0
EOF
gmx grompp -f pme-check.mdp -c ../shared/gromacs/md.gro \
  -t ../shared/gromacs/md.cpt -p ../shared/gromacs/topol.top -o pme-check.tpr
gmx pme_error -s pme-check.tpr -o pme-error.out -self 0.1 -seed 27131

本例实空间估计为0.05533 kJ/(mol·nm),倒空间估计为1.854 kJ/(mol·nm)。这是特定网格、插值阶数及抽样条件下的工具估计,不是材料的误差条;正式计算应结合网格、截断和实际力的对照检查。

可查看GROMACS命令手册。附件包含上述全部数值文件,用 python plot.py 重画。

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

查看配图

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

100%查看原图 ↗