PLUMED:副本矩与加权平均
实际比较平均平方、平方平均、中心矩和正偏置重加权,解释单位、正负号和样本边界。
阅读本篇目录
本篇继续使用双副本算例,重点说明 MOMENT、CENTRAL、POWER 和 REWEIGHT。这些量在每一对同步帧的两个副本之间计算,不能当作长时间轨迹的统计误差。
1. 读取和画图#
下载双副本输入、实际输出、CSV 与绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd plumed-replica-NMR
module load ase/3.29.0
bash read.sh
bash plot.sh
默认读取参考结果。需要重算时运行 bash submit.sh,等待 Slurm 作业结束,再运行 bash read.sh work-new analysis-read 与 bash plot.sh。CPU 模板按整节点共申请 56 核,实际启动 2 个单线程 MPI 进程,每个进程负责一个副本。
本例使用 PLUMED 2.10.1,来自 CP2K 2026.2 的独立依赖;编译环境为 Intel oneAPI 2024.2、Intel MPI、MKL 和 GSL 2.8。driver 处理的是 32 对构造的四粒子几何帧,不是 MD、真实蛋白或实验 NMR;帧序号不表示真实采样时间。

2. 三个容易混淆的二阶量#
mom: ENSEMBLE ARG=d MOMENT=2
central: ENSEMBLE ARG=d MOMENT=2 CENTRAL
power: ENSEMBLE ARG=d POWER=2
| 输出 | 含义 | 距离为nm时的单位 |
|---|---|---|
mom.d |
平均距离 | nm |
mom.d_m |
距离平方的平均 〈d²〉 |
nm² |
central.d_m |
围绕副本平均的二阶中心矩 〈(d−〈d〉)²〉 |
nm² |
power.d |
平均距离的平方 〈d〉² |
nm² |
本例第一帧分别得到 〈d²〉=0.057239 nm²、〈d〉²=0.0571095 nm²,二者之差 0.0001295 nm² 正好是中心二阶矩。这里按副本数归一化,不是把分母换成 N−1 的无偏样本方差。
head -8 analysis-read/PLUMED-replica-means-moments.csv
POWER=2 作用于平均量,不等于把 MOMENT=2 改个名字。更高阶矩还需要足够采样支持,不能仅由两个构造副本推断分布性质。
3. REWEIGHT的最后一个参数#
本例实际运行的加权输入:
w: CUSTOM ARG=d FUNC=30*(x-0.25)^2 PERIODIC=NO
rw: ENSEMBLE ARG=d,w REWEIGHT TEMP=300 MOMENT=2
rc: ENSEMBLE ARG=d,w REWEIGHT TEMP=300 MOMENT=2 CENTRAL
REWEIGHT 把最后一个参数 w 当作偏置能量输入,不会把它也作为普通待平均的量。这里 w=30(d−0.25)² 以 kJ/mol 解释,是专门构造的权重输入,不是从真实带偏采样得到的历史偏置。CUSTOM 在本例只提供这个数值,不额外对坐标施力。
这类输入使用归一化权重:
wi ∝ exp(+偏置能量i / kBT)
注意是正号。它用于撤销已施加偏置的相应权重,不能直接替换成一般势能的 exp(−E/kBT)。本例 driver 不从 MD 引擎获取温度,因此显式写 TEMP=300。官方 ENSEMBLE 说明列出了这些选项。
4. 实际读到的权重与结果#
head -8 analysis-read/PLUMED-replica-means-moments.csv
表中有 weight_bias_kJmol、positive_bias_weight、weighted_distance_nm 和 weighted_variance_nm2。本例所有权重约在 0.496084–0.503916 之间,两个副本每帧之和为 1。
第一帧,普通平均距离约 0.238976 nm,带权平均约 0.238942 nm;差别较小,与本例较弱的权重输入一致。带权中心矩应围绕带权平均求,不能仍使用普通平均值。
5. 换成自己的数据前#
真实重加权需要有依据的偏置能量、温度和采样分布;某些时变偏置还需要相应归一化处理,不能仅把任意一列命名为能量就认为得到无偏分布。两个副本也不保证覆盖真实构象空间。
本包对所有实际平均、矩、幂和权重作逐帧独立计算;偏置力示例只施加在普通平均 FRET 上,没有把带权中心矩接入约束。需要理解多副本调用和力传递,请回到前篇。