作者,Evil Genius这一篇我们继续分子动力学。以前高中不知道学的那些东西有什么用,现在多多少少知道一些了,生物这个学科,必须交叉,生物物理、生物化学、计算生物学、生物信息学等,才是正确的出路。 在生物的动力学反应中,因为Δ(PV)可以忽略不计,所以两者是相同的。计算结合自由能的意义反映结合亲和力,用于评价结合强度。结合自由能越负值,表明结合亲和力越强。 顾名思义,该方法将结合自由能拆分成分子力学项和溶剂化能分别计算。基本原理计算两个溶剂化分子在结合(bound)和游离(unbound)状态的结合自由能之差或者比较同一个分子不同的溶剂化构象的自由能。 将溶剂中的总结合自由能分拆成分子力学项(真空中的结合自由能)和溶剂化能两部分分别计算.分子力学项溶剂化能最后进行合并PB VS GB静电力学项计算不同:PBSA通过Poisson-Boltzmann方程 PBSA计算耗时,但考虑溶剂化和离子效应;GBSA计算快,但近似处理溶剂化。PBSA更适合处理生物分子间相互作用;GBSA也可用于小分子和药物分子。
那么就像深度学习中的损失函数,或者目标函数,这里分子力学的主要目标函数就是势能(也有动能项,但动能项更多的来源于分子动力学模拟的过程,而不是实验中的参数)。 而WithEnergyCell则可以根据system和forcefield两者提供的信息,直接计算能量。关于WithEnergyCell类的输入,我们重点关注下这几个参数: 分子系统。 这一项虽然看起来只是一个参数,但其实最能够体现使用AI框架来做分子动力学模拟的优势,后面会专门写一篇文章来介绍。其主要作用是添加一些偏置势能项,用于约束分子系统,向期望的方向演化。 以上,就是ForceField和WithEnergyCell的基本介绍,有了这两个工具,我们就可以导入一些已有的力场,来完成单点能的计算。 计算单点能 给定一个初始的分子构象,求这个构象的分子势能。 一般情况,这个问题可能需要通过计算化学的方式来进行求解,比如CCSD(T)之类的方法。但是我们做分子模拟,需要快速的演化和迭代,如果使用计算化学的方法,速度是无法满足计算的需求的。
有计算需求的,请联系客服微信号wbf3ng或邮箱wbf3ng@gmail.com
分子对接只是找到最佳构象,而整个化学反应过程就需要分子动力学模拟,而分子动力学模拟就离不开GROMACS,研究生阶段拿到的分子动力学结果都是公司给的。 力场家族主要特点典型代表适用体系AMBER生物分子力场的黄金标准之一。参数化非常依赖于量子计算和实验数据的拟合。 OPLS-AA/OPLS3有机小分子、蛋白质。在药物设计领域应用广泛。GROMOS联合原子力场。将脂肪族的CH、CH₂、CH₃基团视为一个“联合”原子,计算速度快。 它就像是分子的“设计蓝图”,告诉模拟软件如何计算分子内部和分子之间的作用力。 要使用 grompp 生成 .tpr 文件,还需要一个额外的输入文件,其扩展名为 .mdp(分子动力学参数文件)。
技术背景 分子动力学模拟在新材料和医药行业有非常重要的应用,这得益于分子动力学模拟本身的直观表述,用宏观的牛顿力学,结合部分微观的量子力学效应,就能够得到很好的符合统计力学推断的结果。 可以说,分子动力学模拟从理论上跨越了物理化学生物等多个学科,而从实践上又包含了计算机科学、人工智能的大量辅助和优化,综合性非常强。越是综合性强的研究方向,就越有必要梳理清楚其主干脉络和工作流程。 除了上述的三种方法之外,结合这几年非常火的量子计算,又出现了新的基于量子计算机的分子动力学模拟框架,比如参考链接3和参考链接4。 ,就可以用于分子动力学的模拟了。 简单点评一下这两个基于VQE的分子动力学模拟的工作的话,就是只适用于当下量子芯片的Demo使用,距离真在在分子动力学模拟场景下的应用还非常的遥远。
今天我们继续分子动力学,其实在单细胞空间基因组培训上说过突变对蛋白的影响,当时想达到的目的是通过计算的方法计算出某个点突变对蛋白结构、酶活的影响,当时由于知识面比较少,以为没有,后来有个做分子动力学模拟的同学告诉我是可以的 今天我们来分享蛋白配体结合的分子动力学模拟(教程)。当然了,我们先学会用,深层次的内容需要一步一步扩展了。 接下来可以移除位置约束并开始正式的数据采集分子动力学模拟。该流程与之前操作类似——将利用包含压力耦合信息的检查点文件作为grompp的输入,并运行10纳秒的MD模拟(相关脚本可在此处获取)。 蛋白质-配体相互作用与配体动力学分析计算轨迹过程中的距离变化gmx distance -s md_0_10.tpr -f md_0_10_center.xtc -select 'resname "JZ4 通过.mdp文件中的energygrps关键词计算相互作用能(注意:此计算不应作为常规模拟部分。能量分解不支持GPU运行且会拖慢计算速度)。
相对于上一个版本,2025R1版本含有许多新的功能与增强,能够更好地支持各种类型的工程仿真CAE分析,尤其是增加分子动力学分析计算功能。 新增支持开源求解器LAMMPS新版本增加了LAMMPS求解器的前后处理模块,用户可以快速的生成LAMMPS计算所需的输入文件,也可以直接通过WELSIM调用LAMMPS进行求解。 在前处理功能上,增加了分子动力学项目,和各种条件,如粒子关系条件,粒子速度,粒子加速度,初始位移,边界墙,力场定义等等。这些前处理节点和属性,直观且易于使用。 求解功能和有限元计算方式一致,计算时,会在弹出窗口中现实求解器的输出信息,便于用户了解计算状态。在后处理方面,WELSIM也已经支持了部分分子动力学相关的功能。 可以读取LAMMPS计算生成的log文件log.lammps,以及计算结果文件dump.lmps。并显示计算结果。新增的粒子显示模块,可以高效率的渲染粒子的轨迹变化与颜色。
技术背景 在前面的MindSponge教程系列博客中,我们已经介绍过MindSponge分子动力学模拟框架的基础功能使用方法,例如MindSponge的安装与使用、定义分子系统、计算单点能和迭代器等等。 使用逻辑 在MindSponge分子动力学模拟框架中,原生的支持了多batch的计算模式,这个场景跟深度学习中处理Dataset时用到的batchwise是非常类似的。 : import mindspore as ms from mindspore import numpy as msnp # 设置MindSpore后台计算使用GPU静态图模式,速度会更快 ms.set_context parameters=['amber.ff14sb', 'spce'], use_pme=False) with_energy = WithEnergyCell(mol, potential) # 计算单点能 总结概要 随着硬件算力的发展,以及AI技术的日益增进,我们不仅可以借助深度学习框架来加速分子动力学模拟,以及降低分子模拟开发的门槛。
技术背景 在上一篇文章中,我们讨论了在分子动力学里面使用LINCS约束算法及其在具备自动微分能力的Jax框架下的代码实现。约束算法,在分子动力学模拟的过程中时常会使用到,用于固定一些既定的成键关系。 例如LINCS算法一般用于固定分子体系中的键长关系,而本文将要提到的SETTLE算法,常用于固定一个构成三角形的体系,最常见的就是水分子体系。 纯粹从计算量来考虑的话,RATTLE约束算法需要迭代计算,LINCS算法需要求矩阵逆(虽然已经给出了截断优化的算法),而SETTLE只涉及到坐标变换,显然SETTLE在约束大规模的水盒子时,性能会更加优秀 right) \end{align} image.png image.png 我们发现这里其实不仅仅是包含有坐标轴的旋转,还包含了坐标系原点的偏移,不过这个漂移倒是比较好处理,可以在后续的计算过程中点出即可 总结概要 继上一篇文章介绍了分子动力学模拟中常用的LINCS约束算法之后,本文再介绍一种SETTLE约束算法,及其基于Jax的实现方案。
技术背景 在传统的分子动力学模拟软件中,对于分子体系的控制,例如控制体系的相对位置亦或是绝对位置,通常都是通过施加一些约束算法来实现的。 coordinate, pbc_box) # 输出格式要keepdim return res[..., [self.index]] 自己实现的方法很简单,我们只需要继承质心的计算模块 ,然后加一个Index索引,分别去索引xyz三个轴的坐标值就可以了: ... # 指定编号为[22, 23, 24]的原子计算质心,质量分别为[16., 1.01, 1.01] cv_x = IndexedCenter 其他控制 在统计力学中,恒温恒压可以对应于不同的统计系综,对应于分子动力学模拟中的温度控制模块和压强控制模块。 总结概要 本文是一个比较泛的分子体系控制器实现方案,因为MindSponge分子动力学模拟框架基于Python编程语言和MindSpore框架开发,因此在高度定制化的控制器实现上有先天的优势。
作者,Evil Genius这一篇我们来详细解读分子动力学最后的分析结果。首先第一个:RMSD--用于量化分子结构的变化程度或差异大小。 第二个:Rg(回转半径)是分子动力学模拟中衡量分子结构紧凑程度或空间扩展程度的重要几何参数。Rg:回转半径定义为分子中所有原子到其质心的距离的均方根值:其中 ri是原子 i 到分子质心的向量。 时间 + 误差条(分块平均)评估平衡时 SASA 的收敛性(需多个独立模拟)第四点:RMSF(均方根波动)是分子动力学模拟中衡量分子每个残基/原子在模拟过程中的柔性或运动幅度的核心指标。 分子间氢键(蛋白-配体):高且持续 → 强结合;波动大 → 弱、非特异性结合。蛋白-水氢键:反映水合层结构与动力学。 第七点:配体的径向分布函数(Radial Distribution Function, RDF) 是分子动力学模拟中研究配体分子与目标蛋白之间空间分布和结合模式的关键工具。
技术背景 在前面的几篇博客中,我们已经介绍了MindSponge的基本使用方法,比如定义一个分子系统、计算分子的单点能以及迭代器的使用等。 一个不包含约束的MindSponge分子动力学模拟代码如下: from mindspore import nn, context from sponge import ForceField, Sponge 这里我们先介绍第一种约束条件,对水分子施加一个SETTLE约束,简单来说,就是固定住水分子的三个原子所形成的三角形。 但是需要注意的是,一个水分子只有两根共价键,因此Lincs算法虽然可以约束水分子的两个氢键的键长,但是无法约束其键角参数,也因此不能与TIP4P模型配合使用。 Lincs约束算法更多的被应用在蛋白质体系,主要限制的是每一个共价键的键长,特点是适用体系比较灵活,但总体计算量较大,且不可并行化。
技术背景 在前面两篇文章中,我们分别介绍了分子动力学模拟软件MindSponge的软件架构和安装与使用教程。 在构建Molecule的时候需要传入键连信息bond,否则不带键连关系的Molecule计算出来的力场能量是错误的。 构象信息。 主要是原子坐标coordinate和周期性边界条件pbc_box,作为近邻表计算和力场能量计算的输入,但不作为拓扑连接信息的输入。 模块化信息。 在深度学习或者MindSponge分子动力学模拟的过程中,我们会使用到回调函数CallBack来对输出内容进行追踪。 有了最基础的分子系统之后,后面就可以开始定义一些能量项和迭代器,开始分子动力学模拟。
但如果我们这里的所有计算都通过MindSpore的内置算子来实现的话,就可以使用MindSpore的自动微分来计算这个力。 在具备了体系Molecule()、优化器Optimizer()和力场WithForceCell()之后,我们就可以开始基本的动力学模拟计算,此时就需要用到主程序Sponge()来对整个流程进行管理。 之所以我们可以使用AI框架来实现一个分子动力学模拟的框架,正是得益于分子动力学模拟与AI训练/推理之中的共性。 在分子系统较大时,就不能考虑全连接的相互作用,只能考虑局部相互作用。而分子模拟的过程中,近邻表实际上每一步都在变化,因此需要一个单独用于计算近邻关系的Cell。 potential:势能函数。 因此基于AI的框架和模型,对比AI训练与分子模拟之间的共性,可以实现一个面向AI时代的分子模拟框架。本文主要介绍基于MindSpore框架实现的,MindSponge分子动力学模拟框架的软件架构。
技术背景 在MindSponge教程合集中我们已经介绍了很多使用MindSponge进行分子动力学模拟的方法,这里主要介绍在MindSponge中自定义一个力场。 在传统的MD软件中,如果你希望去开发一个自己的力场,或者是添加一些分子动力学模拟方法如增强采样等,会面临不少编程上的困难。 根据定义的迭代器的不同,既可以完成能量优化的功能,也可以实现分子动力学模拟的过程,在框架上实现了统一。 总结概要 基于力场的分子动力学模拟,其实可以看做是一个最简单的机器学习模型,具有计算成本低的特点,在药物研发、生物化学和计算物理学等研究领域存在广泛的应用。 本文通过一个简单的示例,介绍了如何在MindSponge分子动力学模拟框架内构建一个自定义的分子力场,可以正常的执行分子动力学模拟迭代过程并保存相应的结果和输出。
GROMACS是常用的分子动力学模拟软件之一,利用GPU加速可较快地运行模拟。 在作者进行的不严谨的速度测试中,模拟的包含水分子在内的约6万个原子的蛋白质体系,24核CPU上速度约20 ns/day,利用-pme gpu -nb gpu -bonded gpu -update gpu GROMACS的安装: GROMACS是免费开源的分子动力学软件,目前最新版本是2022.1。 1. nohup gmx mdrun -deffnm md & GROMACS会自动分配任务在GPU或者CPU上计算,也可用gmx mdrun -nt 4 -pin on -pme gpu -nb gpu -
作者,Evil Genius前面一直分析,想要采用Gaussian一步计算完优化 + 频率 + 生成gesp文件,事实证明不可取,必须拆分两步。 opt几何优化寻找分子的稳定构型(能量极小点)freq频率分析计算振动频率,用于验证优化点是否为真正的极小点(无虚频),同时可获得热力学量(熵、焓、自由能)SCRF自洽反应场使用连续溶剂模型,将溶剂效应纳入计算 还有就是电荷模式,我们这里采用的是Pop=MK,除了这个,还有其他,总结如下电荷模型Gaussian 关键词采样/计算方法特点适用场景与备注Merz-KollmanPop=MK在多层Connolly分子表面上选取采样点 对分子构象的依赖性相对较小。遇到的 l602.exe 报错与此方法的高计算需求有关。CHELPGPop=CHELPG在围绕分子的规则立方体网格上选取采样点。 分子动力学模拟(尤其是Amber力场)的黄金标准。通过约束确保了化学等价原子电荷的一致性,对柔性分子尤其重要。CHelpPop=CHelp一种较老的拟合方案,采样点也基于分子表面。
技术背景 在前面的几篇博客中,我们介绍了MindSponge分子动力学模拟框架的基本安装和使用和MindSponge执行分子动力学模拟任务的方法。 本文将会介绍,如何在基于深度学习框架MindSpore的分子动力学模拟软件MindSponge中,去定义一个CV。 力和速度等参数保留到一个hdf5文件中,文件后缀为h5md cb_h5md = WriteH5MD(system, 'test.h5md', save_freq=10, write_image=False) # 开始执行分子动力学模拟 此时我们会发现,在代码中定义的metrics中几个CV物理量,也会被同步保存到h5md轨迹文件中: 总结概要 随着分子动力学模拟技术的应用推广、AI软件的发展和硬件算力水平的提升,我们可以更快的在分子层面去观察和研究分子体系内的相互作用 本文主要介绍分子动力学模拟软件MindSponge在这一领域的应用和代码实现。
Sobtop 是一款非常强大且易用的工具,专门用于生成 GROMACS 分子动力学模拟所需的拓扑文件,特别是处理配体小分子时,可以完美解决 pdb2gmx 无法识别非标准残基的问题Sobtop 的核心输入文件是 我们先用openbable生成mol2文件obabel ligand.pdb -O ligand.mol2但是大家要注意,快捷方式带来的就是准确度不够高,最正确的做法仍然是采用Gaussian16处理配体分子计算静电势 这里以一个配体分子为例,转化后的mol2文件然后采用sobtop生成分子动力学模拟需要的gro文件启动sobtop,输入处理好的mol2文件程序会提示 Enter the path of the input 生成我们需要的chg电荷信息* 为了获得最好的模拟效果,强烈建议使用量子化学计算得到的 RESP 电荷。 生成分子的gro文件和rtp文件采用GAFF立场完成分析其实最佳做法还是Gaussian 计算得到的 .gesp 文件,通过 antechamber 生成带有 RESP 电荷 的新 .mol2 文件,然后生成
问题3、分子对接的时候我们已经添加了电荷,为什么分子动力学需要重新分配电荷?分子对接时添加的电荷,确实不能直接用于Gaussian计算。 适用场景 分子对接,常规分子动力学模拟。高精度结构优化,频率分析,计算各种电子性质(ESP, 轨道, 能量等)。为什么对接用的“电荷”不能用?➡️ 目的不同:精准模型 vs. 通常,在获得Gaussian的高精度计算结果后,会采用RESP(约束静电势拟合) 方法或CHELPG等方式,拟合出一套能与HF/6-31G*等高水平理论计算相匹配的原子电荷,用于后续更精确的分子动力学模拟 因此,直接用在对接中算好的部分电荷,是无法作为Gaussian的输入文件进行计算的。问题4、那么如何对分子对接的结果进行分子动力学模拟? 在文章分子动力学--非标残基的处理一(配体)演示了在win系统下的Gaussian计算,那么接下来来到我们的重点,用linux系统计算,首先我们需要了解一下昨天设置的参数首先第一点:在GaussView