MD分子动力学计算模拟,入门门槛看着不高——网上教程一搜一大把,几行命令就能让水分子在盒子里跑起来。但真要做到结果可重复、和性质对得上,中间埋的坑比大多数人预想的多得多。力场选错一个原子类型,后面几百纳秒的模拟时间全是白跑。

很多人做有机-无机界面,直接上CHARMM36m,觉得这是最新的蛋白力场,应该万能。实际上CHARMM36m对金属离子的描述相当粗糙,二价阳离子(Mg²⁺、Ca²⁺)的配位数能偏差30%以上。
力场选择的核心原则是匹配你关心的物理量:
| 体系类型 | 推荐力场 | 不适合的物理量 |
|---|---|---|
| 蛋白质/核酸 | CHARMM36m、AMBER ff19SB | 金属配位几何 |
| 有机分子/药物小分子 | GAFF2、OPLS-AA | 电荷转移效应 |
| 金属氧化物表面 | ReaxFF、UFF | 长程静电(UFF不行) |
| 离子液体 | CL&P、OPTFF | 气相团簇结构 |
| 水分子 | TIP3P(快)、SPC/E(准)、TIP4P/2005(最准) | 相图高温区(TIP3P偏软) |
一个实际经验:做药物-蛋白对接后的MD精修,先用GAFF2跑小分子的MD,再用parmed或acpype转成GROMCAS格式,力场参数不匹配会导致小分子在结合口袋里”震碎”——这种事见过不止一次。
LJ势的截断半径r_c,一般设1.0-1.4 nm。但很多人不知道:长程静电的PME(Particle Mesh Ewald)精度和r_c是耦合的。
如果r_c设得太小(<0.9 nm),PME的实空间部分(α参数)需要对应调大,否则长程库仑的互补误差会失控。GROMACS里这个关系是自动算的,但LAMMPS用户需要手动设kspace_style pppm 1.0e-4,公差设太松(>1e-3)会导致能量漂移>1 kcal/mol/ns。
对于带电荷多的体系(比如DNA双链、粘弹性流体),r_c建议设到1.2 nm以上,同时PME的傅里叶网格间距(fourierspacing)保持≤0.12 nm。
大多数MD新手判断体系是否平衡,就看温度曲线和总能量曲线”看起来平了”。但实际上,真正的平衡需要四个量同时收敛:
最容易被忽略的是压强涨落。如果压强一直在振荡但没收敛到目标值,说明barostat的耦合时间(tau_p in GROMACS)设得太短,体系被过度压缩或膨胀,后面的RDF(径向分布函数)会系统性偏差。
无约束的ALL-atom MD,dt=1 fs一般是上限。但大多数生物分子模拟会用SETTLE(对水)或LINCS(对共价键)约束算法,把dt推到2 fs甚至4 fs(hydrogen mass repartitioning)。
关键细节:用4 fs的dt,tau_t(温度耦合时间)也要相应调大,否则热浴会和积分器打架,导致能量漂移。实际项目中,我一般用:
constraints = all-bondsMD分子动力学计算模拟不是”跑起来就行”。力场和体系的匹配度、截断半径与长程静电的协调、平衡判据的多维度验证——这三关把住了,后面的轨迹分析才有物理意义。
GROMACS自由能计算方法对比:FEP自由能微扰与TI热力学积分的实战选择
GROMACS膜蛋白模拟全流程:脂双层构建、嵌入平衡与跨膜通道分析
GROMACS SMD拉伸动力学模拟指南:弹簧常数、拉速与力谱分析
GROMACS溶剂化自由能计算:水合能与logP预测的完整实战流程
GROMACS计算全流程:从体系构建到成品轨迹的实操经验
MS做分子动力学模拟:Materials Studio的Forcite模块参数设置与结果分析
动力学模拟计算:从Ab Initio MD到经典MD的方法选择与误差控制
MD分子动力学计算模拟:从力场选择到平衡判据的完整工作流
蛋白相互作用模拟:从对接到动力学,方法选择与实战边界
多肽的分子动力学模拟:力场选择、溶剂模型与构象采样的实战经验
高分子材料分子动力学模拟:链段运动与玻璃化转变的模拟思路
LAMMPS计算热导率:两种方法的实操经验与对比
LAMMPS计算吸附能:我的完整实操流程与关键参数