分子动力学的基本概念
本文将从最简单最基本的原理出发,提纲挈领地介绍分子动力学模拟的最基本概念,让读者初步了解动力学模拟这件事是在做什么,用什么方法做,以及每一步怎么做背后的原理。
与实践案例不同,概念的讲解更偏向理解核心逻辑,而不是参数调试,只有真正掌握了背后的逻辑,才能更好的应用于实际研究中,而不是“调参”、“照抄”,同时根据所学到的理论知识也能更好地解决实际模拟中遇到的各种问题。
动力学模拟的本质就是用数学公式描述粒子间相互作用参数,并在给定步长下逐步迭代,从初始状态出发逐步求出每个时刻的状态。他与量化计算不同的是,忽略了原子电子的作用,把原子抽象简化成“球”(也就是理想质点),通过牛顿运动定理来计算的方法。
应用实例
分子动力学可以做什么?
- 模拟物态相变过程,例如水结冰的模拟
- 模拟大分子蛋白质、DNA等在体系中的状态变化
- 模拟蛋白和药物配体的相互作用
- 预测和优化化学反应过程
- 模拟物质在环境中的扩散、迁移、反应和降解过程
模拟程序的一般计算流程
无论用什么计算软件或方法,大致都遵循以下步骤:
- 输入体系,构建程序可识别的文件,并选择合适的立场
- 体系能量最小化(几何优化),消除不合理的构型和位置,达到几何最优
- 体系平衡,为体系分配初速度,并不断调整参数,使体系达到符合目标条件的稳定状态
- 开始模拟
步骤1~3是准备阶段,步骤4是实际推演阶段,在模拟程序中,各种模拟程序都依赖以下基本公式演算:
受力:分子动力学中,原子的受力来自粒子间的相互作用,力是能量对原子位置的负梯度
加速度:根据牛顿第二定律,加速度可以用受力和质量求出
状态更新:在模拟过程中,设定步长为
- 分配初速度
和位置 ,计算初始体系势能 - 计算体系势能的梯度(即受力)
- 反求加速度后计算下一状态的速度
- 根据速度计算位移变化量,得到体系下一状态
- 迭代计算,直到达到设定的,模拟时间。
结构、立场、拓扑
动力学模拟程序有三个重要文件,分别是:
结构文件:
- 原子的空间位置坐标坐标信息、原子名称标识等;
- 体系组成信息、模拟盒子大小、以及辅助备注信息等;
拓扑文件:
- 原子与力场原子类型的对应关系(如 “蛋白质的 α- 碳对应力场中的 CA 类型”);
- 原子间的键、角、二面角列表(如 “原子 1 - 原子 2 是共价键,对应力场中的 bond_CA_C 类型”);
- 非键作用的计算规则(如 “范德华作用用
势,静电作用用库仑势”)。
力场文件:
- 具体的参数值(如 CA 原子的范德华参数;bond_CA_C键的平衡键长、力常数);
- 势能函数的数学表达式(如键长伸缩能的公式
)。
在构建分子拓扑,也就是给分子“加力场”的过程中,模拟程序会读取输入文件(PDB或mol2等),同时根据用户选择的力场文件定义区分每类化学环境的原子,为所有的键/角/二面角定义参数,最后明确体系的非键相互作用,得到拓扑文件。
也就是说,力场是一个预先定义好的参数库,它可以从实验或精细量化计算中得到,当中规定了各种原子信息、化学键信息等;结构文件只保存了原子空间位置和连接信息;而拓扑文件更加精细地明确了作用参数等。
总结
分子动力学简而言之就是根据实验或精细计算得出的数值对微观体系参数化,用数学公式描述微观物体行为。
本文对模拟过程中涉及到的一些基本概念做最简化的论述,让读者对动力学模拟这件事有最快速的认识,通过学习这些抽象流程,要对程序运行逻辑有了解,明白每一步操作的意义和作用。
由浅入深,后续的章节中将会分别对各个步骤的具体算法展开详细讲解。