GROMACS 加入盐离子和电中性处理
加入盐离子和电中性处理,包含终端操作、输入文件、实际数据和适用范围。
阅读本篇目录
本文以鸢算科技集群 GROMACS 2026.4 实际结果为例。下载输入、参考轨迹、分析与绘图资料包,资料包约 529 MB,包含参考轨迹。解压后进入 gromacs-examples。参考输出在 cases;新计算由 new-case.py 建立独立目录。
本篇任务与操作要点#
先把含水体系预处理成 ions.tpr,再用 genion 将选中的 SOL 水分子替换为 Na⁺、Cl⁻。命令中的 -conc 0.15 或 1.0 单位是 mol/L,-neutral 额外补偿体系净电荷,-p topol.top 同时更新拓扑的分子数。
交互提示选择 SOL,不能选 System 或 Protein。同一体系内离子名称必须和力场 ions.itp 一致。小盒子的离子数只能取整数,因此实际浓度不一定恰好等于输入浓度;带电蛋白的中和离子也会改变离子强度。应结合盒体积和离子数检查。
盐浓度改变后重新最小化和平衡,再比较结构。这里的 RDF 是水氧—水氧分布,不能当作 Na—Cl 配对 RDF;若需离子水合层,改用 -ref 'resname NA' -sel 'name OW'。
1 准备与提交#
python new-case.py salt-015
cd work/salt-015
sbatch run.sh
run.sh 申请资源后执行 workflow.sh。不要在登录节点直接执行完整模拟。下列每个算例可单独新建副本并提交。
| 算例目录 | 本次内容 |
|---|---|
salt-015 |
完整输入、前置文件与真实计算输出 |
salt-100 |
完整输入、前置文件与真实计算输出 |
2 实际终端命令#
以下是在对应算例目录中实际执行并生成结果的命令。分析命令在该算例的 analysis 子目录执行;交互回答已用 printf 写入,组名需随自己的体系核对。
salt-015
gmx solvate -cs spc216.gro -box 3 3 3 -o solv.gro -p topol.top
gmx grompp -f em.mdp -c solv.gro -r solv.gro -p topol.top -o ions.tpr
printf %s 'SOL
' | gmx genion -s ions.tpr -o ions.gro -p topol.top -pname NA -nname CL -neutral -conc 0.15 -seed 76264
gmx grompp -f em.mdp -c ions.gro -r ions.gro -p topol.top -o em.tpr -po em-processed.mdp
gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -o nvt.tpr -po nvt-processed.mdp
gmx grompp -f npt.mdp -c nvt.gro -r nvt.gro -p topol.top -o npt.tpr -po npt-processed.mdp -t nvt.cpt
gmx grompp -f md.mdp -c npt.gro -r npt.gro -p topol.top -o md.tpr -po md-processed.mdp -t npt.cpt
salt-100
printf %s 'SOL
' | gmx genion -s ions.tpr -o ions.gro -p topol.top -pname NA -nname CL -neutral -conc 1 -seed 76265
3 输入文件与关键设置#
salt-015/em.mdp 完整输入(点击展开)
cutoff-scheme = Verlet
nstlist = 20
coulombtype = PME
rcoulomb = 1.0
rvdw = 1.0
pbc = xyz
constraints = none
integrator = steep
nsteps = 10000
emtol = 500
emstep = 0.01
define = -DFLEXIBLE
salt-100/em.mdp 完整输入(点击展开)
cutoff-scheme = Verlet
nstlist = 20
coulombtype = PME
rcoulomb = 1.0
rvdw = 1.0
pbc = xyz
constraints = none
integrator = steep
nsteps = 10000
emtol = 500
emstep = 0.01
define = -DFLEXIBLE
4 实际结果与画图#


下表为本次 100 ps 生产轨迹后半段的简单均值,不是收敛物性或误差分析。
| 实例 | 原子数 | 温度 K | 密度 kg/m³ |
|---|---|---|---|
| salt-015 | 2644 | 299.12 | 977.03 |
| salt-100 | 2588 | 299.97 | 1008.67 |
用附件中的 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 参数手册可查完整选项。