那么就像深度学习中的损失函数,或者目标函数,这里分子力学的主要目标函数就是势能(也有动能项,但动能项更多的来源于分子动力学模拟的过程,而不是实验中的参数)。 而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技术的日益增进,我们不仅可以借助深度学习框架来加速分子动力学模拟,以及降低分子模拟开发的门槛。
技术背景 在传统的分子动力学模拟软件中,对于分子体系的控制,例如控制体系的相对位置亦或是绝对位置,通常都是通过施加一些约束算法来实现的。 coordinate, pbc_box) # 输出格式要keepdim return res[..., [self.index]] 自己实现的方法很简单,我们只需要继承质心的计算模块 ,然后加一个Index索引,分别去索引xyz三个轴的坐标值就可以了: ... # 指定编号为[22, 23, 24]的原子计算质心,质量分别为[16., 1.01, 1.01] cv_x = IndexedCenter 其他控制 在统计力学中,恒温恒压可以对应于不同的统计系综,对应于分子动力学模拟中的温度控制模块和压强控制模块。 总结概要 本文是一个比较泛的分子体系控制器实现方案,因为MindSponge分子动力学模拟框架基于Python编程语言和MindSpore框架开发,因此在高度定制化的控制器实现上有先天的优势。
技术背景 在上一篇文章中,我们讨论了在分子动力学里面使用LINCS约束算法及其在具备自动微分能力的Jax框架下的代码实现。约束算法,在分子动力学模拟的过程中时常会使用到,用于固定一些既定的成键关系。 例如LINCS算法一般用于固定分子体系中的键长关系,而本文将要提到的SETTLE算法,常用于固定一个构成三角形的体系,最常见的就是水分子体系。 纯粹从计算量来考虑的话,RATTLE约束算法需要迭代计算,LINCS算法需要求矩阵逆(虽然已经给出了截断优化的算法),而SETTLE只涉及到坐标变换,显然SETTLE在约束大规模的水盒子时,性能会更加优秀 right) \end{align} image.png image.png 我们发现这里其实不仅仅是包含有坐标轴的旋转,还包含了坐标系原点的偏移,不过这个漂移倒是比较好处理,可以在后续的计算过程中点出即可 总结概要 继上一篇文章介绍了分子动力学模拟中常用的LINCS约束算法之后,本文再介绍一种SETTLE约束算法,及其基于Jax的实现方案。
但如果我们这里的所有计算都通过MindSpore的内置算子来实现的话,就可以使用MindSpore的自动微分来计算这个力。 在具备了体系Molecule()、优化器Optimizer()和力场WithForceCell()之后,我们就可以开始基本的动力学模拟计算,此时就需要用到主程序Sponge()来对整个流程进行管理。 之所以我们可以使用AI框架来实现一个分子动力学模拟的框架,正是得益于分子动力学模拟与AI训练/推理之中的共性。 在分子系统较大时,就不能考虑全连接的相互作用,只能考虑局部相互作用。而分子模拟的过程中,近邻表实际上每一步都在变化,因此需要一个单独用于计算近邻关系的Cell。 potential:势能函数。 因此基于AI的框架和模型,对比AI训练与分子模拟之间的共性,可以实现一个面向AI时代的分子模拟框架。本文主要介绍基于MindSpore框架实现的,MindSponge分子动力学模拟框架的软件架构。
技术背景 在前面的几篇博客中,我们已经介绍了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来对输出内容进行追踪。 有了最基础的分子系统之后,后面就可以开始定义一些能量项和迭代器,开始分子动力学模拟。
技术背景 在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 -
技术背景 在前面的几篇博客中,我们介绍了MindSponge分子动力学模拟框架的基本安装和使用和MindSponge执行分子动力学模拟任务的方法。 本文将会介绍,如何在基于深度学习框架MindSpore的分子动力学模拟软件MindSponge中,去定义一个CV。 力和速度等参数保留到一个hdf5文件中,文件后缀为h5md cb_h5md = WriteH5MD(system, 'test.h5md', save_freq=10, write_image=False) # 开始执行分子动力学模拟 此时我们会发现,在代码中定义的metrics中几个CV物理量,也会被同步保存到h5md轨迹文件中: 总结概要 随着分子动力学模拟技术的应用推广、AI软件的发展和硬件算力水平的提升,我们可以更快的在分子层面去观察和研究分子体系内的相互作用 本文主要介绍分子动力学模拟软件MindSponge在这一领域的应用和代码实现。
今天继续分子动力学知识积累明确配体与靶蛋白的精确结合机制,是基于结构的药物设计实现先导化合物理性优化及新药发现的核心环节。 分子对接与分子动力学模拟可在原子层面预测结合亲和力,解析配体-蛋白相互作用模式。 研究采用常规分子对接与分子动力学模拟方法,系统解析上述六种代表性拮抗剂与5-HT₁AR的结合机制:首先通过分子对接探索六种拮抗剂的潜在结合构象,并对其药效团进行精细解析;继而开展多轮分子动力学模拟,监测不同拮抗剂结合状态下 5-HT₁AR的构象动力学变化,揭示六种拮抗剂的差异化结合机制。 同时,各体系在最后100 ns的RMSD值未出现剧烈波动,证明所有分子动力学模拟均达到平衡状态。
技术背景 周期性边界是分子动力学模拟中常用的一种技术手段,不仅可以完整的概述完整的分子体系的特性,在一部分场景下还可以提升计算的效率,从作用上来看更像是一类的近似模型(假设有一个原子逃出这个周期性边界封装的盒子 无符号整数和带符号的整数都是周期性的锯齿形函数,但是无符号整数取得的空间都在正数上,所以在分子动力学模拟中更倾向于取无符号整数来处理周期性边界问题。 值得一提的是,如果采用格式转换的形式来做计算,而免去if的使用,在循环操作下也是有相当的编译优化空间的。 总结概要 本文从分子动力学模拟中的周期性边界处理角度出发,介绍了无符号整数和带符号整数的一些应用的技巧,使用这些格式转换的技术有可能在程序的性能优化中带来一定的效果。 同时为了更加直观的展示分子模拟的效果,我们用animation展示了一个简单的动态图绘制的案例,其中还包含了多个子图的绘图技术。
在这项研究中,作者针对分子性质预测问题,引入了分子动力学驱动的理念,设计了双层多重图来对分子建模,同时捕捉分子的局部和全局信息。通过信息传递模块,模型的表达能力和计算复杂度得到了很好的平衡。 这些模型通过在分子中加入辅助信息来提高它们的表达能力,同时不可避免地增加了它们的计算复杂度。在这项工作中,作者的目标是设计一个对分子结构既强大又高效的 GNN。 为了实现这一目标,作者提出了一种分子动力学驱动的方法,首先将每个分子表示为一个两层多重图,其中一层仅包含主要捕获共价相互作用的局部连接,另一层包含可以模拟的全局连接非共价相互作用。 然后对于每一层,提出相应的消息传递模块来平衡表达能力和计算复杂度。基于这两个模块,作者构建了多重分子图神经网络 (MXMNet)。 2.模型框架 作者首先对分子动力学方法从几何的角度进行分析,发现对于传统局部和非局部关系模型,可以对应转化为对局部和非局部几何信息,其中局部几何信息包含局部角度和近邻距离,而非局部几何信息包含近邻距离和远邻距离
分子动力学模拟揭示了底物结合过程中的蛋白质动态行为,为定向进化指明关键残基。轴手性是一类因σ键旋转受限而产生的立体异构现象,可形成构象锁定的分子结构。 值得注意的是,分子动力学模拟为蛋白质工程提供了关键指导:通过揭示影响酶构象动态与底物结合的关键位点,显著加速了进化进程。 结果1、分子动力学模拟指导的蛋白质工程第一轮定向进化中,对八个活性中心残基(C26、F28、I69、D73、Q102、A104、K109和Y264)进行了定点饱和突变(SSM)与筛选。 为降低筛选负担,采用了分子动力学模拟指导的蛋白质工程策略。基于AlphaFold2预测的ADes-1单体结构,将模型底物1a的两种对映体分别对接至酶活性中心。 对每种构象进行了三组100纳秒的分子动力学模拟。计算建模显示构象II存在显著的蛋白质构象变化:环II向外打开,环I向内闭合以稳定1a的结合,整体均方根偏差达7.96Å。
技术背景 在分子动力学模拟过程中会遇到一些拓扑结构非常复杂的分子模型,所谓的复杂不仅仅是包含众多的原子,还有各种原子之间的成键关系与成键类型等。 另一个窗口用于显示输入分子模型的3D结构,如果没有输入任何分子模型数据的情况下,这个界面会展示一个一直旋转的VMD字样的模型: ? 但是这里我们仅仅为了可视化静态的3D分子模型,所以只介绍一些基本用法。首先我们需要在本地构建一个分子模型的文件,一般以.xyz结尾。 文件的格式为:开头的分子数,第二行的标记,这里使用的是mol这种标记,后面的所有行数是标定每一个分子的具体三维坐标,也就是空间位置。 总结概要 本文重点介绍了VMD分子动力学模拟可视化软件的安装与基本使用方法,VMD是一款非常小而精致的可视化工具,在业界也备受推崇。