GROMACS 索引组、原子选择与距离角度
索引组、原子选择与距离角度,包含终端操作、输入文件、实际数据和适用范围。
阅读本篇目录
本文以鸢算科技集群 GROMACS 2026.4 实际结果为例。下载输入、参考轨迹、分析与绘图资料包,资料包约 529 MB,包含参考轨迹。解压后进入 gromacs-examples。参考输出在 cases;新计算由 new-case.py 建立独立目录。
本篇任务与操作要点#
传统工具在菜单中选组,新版工具支持带引号的选择表达式。name OW 选水氧,group Protein 选蛋白,resid 1 and name CA 选第 1 号残基的 Cα。残基编号和原子编号不是一回事;atomnr 从 1 开始。
gmx select 可以输出静态索引 NDX,也可以逐帧统计动态选择。图中统计的是距离蛋白 0.35 nm 内的水原子数,不是完整水分子数;如果要水分子数量,可只选择水氧,或先按 residue 扩展再去重。
distance 的例子量两个原子的距离,gangle 的 2、1、3 是第一分子 H–O–H 角。genrestr 生成位置约束 ITP 后仍需正确包含在拓扑中,并通过 MDP 宏启用;生成文件不代表约束已生效。
1 准备与提交#
先用参考轨迹练习;下列命令只复制分析所需的轨迹与输入,不复制已有分析结果。
python new-analysis.py water-300
cd work-analysis/water-300/analysis
sbatch run.sh
若已有自己刚跑完的同名模型,把附件 cases/对应目录/analysis/analyze.sh 和 run.sh 放到新结果目录的 analysis 子目录,并保证上一级包含所需的 TPR、XTC、TRR、EDR 与 GRO。电势分析另需复制 System 索引或自行生成。
| 算例目录 | 本次内容 |
|---|---|
water-300 |
完整输入、前置文件与真实计算输出 |
ubiquitin |
完整输入、前置文件与真实计算输出 |
2 实际终端命令#
以下是在对应算例目录中实际执行并生成结果的命令。分析命令在该算例的 analysis 子目录执行;交互回答已用 printf 写入,组名需随自己的体系核对。
water-300/analysis
gmx select -s ../md.tpr -select 'name OW' -on oxygen.ndx
printf %s 'a OW
q
' | gmx make_ndx -f ../md.gro -o index.ndx
gmx distance -s ../md.tpr -f ../md.xtc -select 'atomnr 1 plus atomnr 4' -oall distance.xvg
gmx gangle -s ../md.tpr -f ../md.xtc -g1 angle -group1 'atomnr 2 1 3' -oall angle.xvg
gmx trajectory -s ../md.tpr -f ../md.xtc -select 'atomnr 1' -ox oxygen-position.xvg
ubiquitin/analysis
printf %s 'Protein
' | gmx genrestr -f ../md.gro -o restraints.itp
gmx select -s ../md.tpr -f center.xtc -select 'resname SOL and within 0.35 of group Protein' -os hydration.xvg -dt 1
gmx pairdist -s ../md.tpr -f center.xtc -ref 'resid 1 and name CA' -sel 'resid 76 and name CA' -o terminal-distance.xvg
3 输入文件与关键设置#
本篇读取计算产生的 TPR/轨迹/能量文件;完整来源随资料包提供。先核对 gmx check -f md.xtc 的时间和帧数,选择表达式中的原子名称可从 md.gro 查看。
4 实际结果与画图#

下表为本次 100 ps 生产轨迹后半段的简单均值,不是收敛物性或误差分析。
| 实例 | 原子数 | 温度 K | 密度 kg/m³ |
|---|---|---|---|
| water-300 | 2652 | 299.83 | 969.57 |
| ubiquitin | 26742 | 299.40 | 994.22 |
用附件中的 Python 脚本重画所有参考图:
# 回到 gromacs-examples 根目录
module load ase/3.29.0
python plot.py --root .
plot.py 使用 NumPy 和 Matplotlib,直接读取 XVG/COLVAR/坐标数值,图片保存在 figures。对单项新结果,可照着脚本对应段替换文件路径;不要把不同模型或单位的数据直接拼在一起。
参数查阅#
以本集群 gmx 命令名 -h 为准;GROMACS 2026.4 命令手册和MDP 参数手册可查完整选项。