GROMACS专题

GROMACS 膜孔道建模与水占据数

从DPPC膜开孔、加水、平衡到生产,完整输入与八组真实粗粒化轨迹。

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

本例学习怎样在膜上建立一个初始缺口,加入不重叠的水珠,再观察缺口周围的水和脂质怎样变化。采用 Martini3 粗粒化 DPPC 膜,不是蛋白质通道,也不把初始缺口当成稳定孔道。

下载完整输入、真实轨迹与绘图脚本。资料包约103 MiB,含8组生产轨迹及平衡阶段数据。解压进入资料包目录,先画已有数据:

bash view.sh

在 analysis/figures 得到4张高清图,各条件的时间序列在 analysis/条件名/pore-time-series.csv。画图只读取附件数据,不提交计算。

1 完整流程先后顺序#

  1. Insane 建立 DPPC 双层膜,按网格移除孔口附近脂质。
  2. gmx insert-molecules 尝试向孔口附近加入水珠,只保留实际放入且不重叠的珠子,更新拓扑中的分子数量与顺序。
  3. 能量最小化,再做20 ps NVT、100 ps半各向异性NPT。
  4. 采用平衡后盒子做1 ns固定盒子NVT,每5 ps保存一帧。
  5. 用 gmx select 统计固定观察圆柱内的水珠,结合膜结构图、密度与尾链取向判断变化。

本例两种开孔参数1.6、2.4 nm,各用13579、24680两个建模/速度种子,分别在P100与V100 16G计算,共8组。两个平台重复同两个种子,不当成四个独立初始种子。

2 新建算例并提交#

python3 prepare.py
cd cases/p100-pore-r2p4-s13579
cat config.json
sbatch job.slurm
squeue -u "$USER"

V100 16G示例改为进入 cases/v100-pore-r2p4-s13579。每个任务使用1张对应GPU和1个CPU核心,模板为核时分区;套餐用户按自己的账户规则选择分区。已有结果目录不要覆盖,重新解压到新目录再准备。

GROMACS2026.4 thread-MPI,GNU13.3、CUDA12.8、FFTW3.3.10。短程非键计算使用GPU,键相互作用与坐标更新使用CPU。后处理环境含MDAnalysis2.9.0、NumPy和Matplotlib。

3 建模时哪些参数需要看懂#

build_membrane.py 调用附件内固定版本的 Insane,主要参数是:

-x 8 -y 8 -z 10 -sol W -hole 2.4 -l DPPC:1

单位为nm,初始盒子8×8×10 nm。-hole 在建模网格上选取要移除的脂质,不是最终孔径的测量值。本例网格孔中心在xy盒长的0.55、0.55处,不能直接假设它在0.5、0.5处。

小孔条件有198个DPPC,每侧99个;大孔条件182个,每侧91个。两种模型均保持电中性。本例没有离子、跨膜电压或膜蛋白。

Martini标准W珠代表四个水分子;图和表里的“W珠数”不直接写成原子级水分子数。使用Martini3基础参数与v2磷脂参数,不能混入Martini2拓扑。力场及Insane来源、许可证随附件提供。

Insane默认溶剂布置不会完整填充膜中间的缺口,所以脚本还执行:

gmx insert-molecules -f membrane-dry.gro -ci one-W.gro   -ip pore-water-positions.dat -nmol 40 -try 1 -dr 0 0 0   -rot none -seed 13579 -scale 1 -radius .235 -o membrane.gro

pore-water-positions.dat 给出40个候选点;实际加入多少,以 BUILD.json 和 topol.top 为准。小孔各加6个、大孔各加30个W珠。局部 vdwradii.dat 明确指定0.235 nm几何排斥半径,用于加水时检查重叠,不修改分子动力学力场参数。

cat BUILD.json
tail -n 12 topol.top

4 输入文件怎么写#

以下是附件中完整的各阶段MDP。脚本把速度种子替换后传给 grompp,处理后的实际输入也保留在每个结果目录中。

能量最小化:em.mdp#

cutoff-scheme = Verlet
nstlist = 20
coulombtype = Reaction-Field
rcoulomb = 1.1
epsilon-r = 15
epsilon-rf = 0
vdwtype = Cut-off
vdw-modifier = Potential-shift
rvdw = 1.1
rlist = 1.1
pbc = xyz
constraints = none
integrator = steep
emtol = 100
emstep = .01
nsteps = 5000
nstenergy = 100
nstlog = 100

20 ps NVT:nvt.mdp#

cutoff-scheme = Verlet
nstlist = 20
coulombtype = Reaction-Field
rcoulomb = 1.1
epsilon-r = 15
epsilon-rf = 0
vdwtype = Cut-off
vdw-modifier = Potential-shift
rvdw = 1.1
rlist = 1.1
pbc = xyz
constraints = none
integrator = md
nstenergy = 100
nstcalcenergy = 100
nstlog = 1000
nstxout-compressed = 100
compressed-x-precision = 1000
tcoupl = v-rescale
tc-grps = Bilayer Solvent
tau-t = 1 1
ref-t = 323 323
comm-mode = Linear
nstcomm = 100
constraint-algorithm = lincs
lincs-order = 4
lincs-iter = 1
dt = .005
nsteps = 4000
pcoupl = no
continuation = no
gen-vel = yes
gen-temp = 323
gen-seed = GENERATION_SEED

100 ps NPT:npt.mdp#

cutoff-scheme = Verlet
nstlist = 20
coulombtype = Reaction-Field
rcoulomb = 1.1
epsilon-r = 15
epsilon-rf = 0
vdwtype = Cut-off
vdw-modifier = Potential-shift
rvdw = 1.1
rlist = 1.1
pbc = xyz
constraints = none
integrator = md
nstenergy = 100
nstcalcenergy = 100
nstlog = 1000
nstxout-compressed = 100
compressed-x-precision = 1000
tcoupl = v-rescale
tc-grps = Bilayer Solvent
tau-t = 1 1
ref-t = 323 323
comm-mode = Linear
nstcomm = 100
constraint-algorithm = lincs
lincs-order = 4
lincs-iter = 1
pcoupl = C-rescale
pcoupltype = semiisotropic
tau-p = 12
ref-p = 1 1
compressibility = 3e-4 3e-4
dt = .01
nsteps = 10000
continuation = yes
gen-vel = no

1 ns固定盒子NVT:md.mdp#

cutoff-scheme = Verlet
nstlist = 20
coulombtype = Reaction-Field
rcoulomb = 1.1
epsilon-r = 15
epsilon-rf = 0
vdwtype = Cut-off
vdw-modifier = Potential-shift
rvdw = 1.1
rlist = 1.1
pbc = xyz
constraints = none
integrator = md
nstenergy = 250
nstcalcenergy = 250
nstlog = 1000
nstxout-compressed = 250
compressed-x-precision = 1000
tcoupl = v-rescale
tc-grps = Bilayer Solvent
tau-t = 1 1
ref-t = 323 323
comm-mode = Linear
nstcomm = 100
constraint-algorithm = lincs
lincs-order = 4
lincs-iter = 1
dt = .02
nsteps = 50000
continuation = yes
gen-vel = no
pcoupl = no

NPT的 pcoupltype = semiisotropic 让xy方向一起缩放,z方向独立缩放。生产阶段改为 pcoupl = no,让观察圆柱、二维网格和三维体素都对应同一个固定盒子。1 ns是本例的短操作演示,不表示孔道寿命或膜性质已经收敛。

在已分配的GPU资源内,脚本按以下顺序执行;登录节点使用 sbatch job.slurm 提交即可:

gmx grompp -f em.mdp -c membrane.gro -p topol.top -n index.ndx -o em.tpr
gmx mdrun -deffnm em -ntmpi 1 -ntomp 1 -nb gpu -bonded cpu -update cpu
gmx grompp -f nvt.mdp -c em.gro -p topol.top -n index.ndx -o nvt.tpr
gmx mdrun -deffnm nvt -ntmpi 1 -ntomp 1 -nb gpu -bonded cpu -update cpu
gmx grompp -f npt.mdp -c nvt.gro -t nvt.cpt -p topol.top -n index.ndx -o npt.tpr
gmx mdrun -deffnm npt -ntmpi 1 -ntomp 1 -nb gpu -bonded cpu -update cpu
gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -n index.ndx -o md.tpr
gmx mdrun -deffnm md -ntmpi 1 -ntomp 1 -nb gpu -bonded cpu -update cpu

5 计算完以后提取什么#

在新计算的条件目录执行轻量后处理:

module load gromacs/2026.4-p100-threadmpi
python3 ../../export_native.py
cat cylinder-definition.json

V100选择对应模块。程序从实际TPR读取完整精度盒长,观察圆柱半径0.5 nm、总高1 nm,位于建模孔轴与生产盒子中平面交点。圆柱固定不移动,统计的是这个空间区域的W珠数。它不等于整个孔中总水量,也不能凭此计算通透率。

回到资料包根目录,分析刚完成的条件:

cd ../..
/public/toolkit/miniconda3/envs/qvasp-2.26/bin/python analyze.py   --cases cases --case p100-pore-r2p4-s13579 --output analysis-new
cat analysis-new/p100-pore-r2p4-s13579/metrics.json

若使用自己的Python环境,需要MDAnalysis、NumPy、Matplotlib。不要将不同条件的轨迹或能量文件混在同一目录。

6 八组实际结果怎么看#

实际大孔模型在生产起止时刻的俯视图与侧面切片

灰色为脂质珠,蓝色为水珠,橙圈标出固定观察圆柱的xy投影。上排仅显示膜中平面薄层中的水珠,下排显示固定宽度侧面切片。绘图使用真实保存坐标。

实际小孔模型的起止结构

平台 开孔参数/nm 种子 平均温度/K 生产起点W珠 终点W珠 最后500 ps平均W珠
P100 1.6 13579 323.10 0 0 0.000
P100 1.6 24680 322.80 0 0 0.000
P100 2.4 13579 322.60 2 0 0.000
P100 2.4 24680 322.49 6 0 0.000
V100 1.6 13579 322.61 0 0 0.000
V100 1.6 24680 323.16 0 0 0.000
V100 2.4 13579 322.73 3 0 0.000
V100 2.4 24680 323.14 4 0 0.020

全部八组水占据数与粗粒化尾链取向时间序列

本例大孔生产起点圆柱内还有2–6个W珠,末帧均为0;最后500 ps多数条件持续为0,一组均值0.020。小孔在生产起点已干燥,变化可能发生在前面的平衡阶段,所以附件保留NVT/NPT轨迹供继续观察。这里展示的是无额外稳定约束的短时缺口弛豫,不能称为稳定开放通道,也不能把某一帧有水当成跨膜输运证据。

要判断真实材料中的稳定孔、膜蛋白通道或通透性,需要合适的全原子/粗粒化模型、充分平衡、独立重复、自由能与传输事件分析。改变体系后重新确定几何观察区域,不能直接照抄本例坐标。

继续查看二维密度与三维空间分布;普通完整膜的建模、面积和厚度见GROMACS粗粒化膜建模。

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

查看配图

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

100%查看原图 ↗