有计算需求的,请联系客服微信号wbf3ng或邮箱wbf3ng@gmail.com
分子对接只是找到最佳构象,而整个化学反应过程就需要分子动力学模拟,而分子动力学模拟就离不开GROMACS,研究生阶段拿到的分子动力学结果都是公司给的。 它就像是分子的“设计蓝图”,告诉模拟软件如何计算分子内部和分子之间的作用力。 要使用 grompp 生成 .tpr 文件,还需要一个额外的输入文件,其扩展名为 .mdp(分子动力学参数文件)。 要开始真正的动力学模拟,我们必须对蛋白质周围的溶剂和离子进行平衡(equilibrate)(NVT与NPT)。 npt.tprgmx mdrun -deffnm nptgmx energy -f npt.edr -o pressure.xvg密度gmx energy -f npt.edr -o density.xvg第六步、分子动力学模拟
技术背景 分子动力学模拟在新材料和医药行业有非常重要的应用,这得益于分子动力学模拟本身的直观表述,用宏观的牛顿力学,结合部分微观的量子力学效应,就能够得到很好的符合统计力学推断的结果。 简单点评一下这两个基于VQE的分子动力学模拟的工作的话,就是只适用于当下量子芯片的Demo使用,距离真在在分子动力学模拟场景下的应用还非常的遥远。 因此,我们在分子动力学模拟的演化过程中,还需要考虑这些控制和约束的方法。 一般情况下分子动力学没有特别明显的停止迭代的指标,更多的是设定一个时间阈值,达到阈值就停止迭代更新。 总结概要 分子动力学模拟是一个跨越众多学科领域的强大工具,从物理学的角度来看分子动力学模拟的话,其基于量子力学(量子化学)构建模型,通过牛顿力学进行演化迭代,最后能够在时间平均上等同于统计力学的系综平均
今天我们继续分子动力学,其实在单细胞空间基因组培训上说过突变对蛋白的影响,当时想达到的目的是通过计算的方法计算出某个点突变对蛋白结构、酶活的影响,当时由于知识面比较少,以为没有,后来有个做分子动力学模拟的同学告诉我是可以的 今天我们来分享蛋白配体结合的分子动力学模拟(教程)。当然了,我们先学会用,深层次的内容需要一步一步扩展了。 去除晶体水、PO4和BME分子。注意这种操作并非普遍适用(例如结合活性位点水分子的情况)。 位置限制文件的包含标志着"Protein"分子类型部门的结束。 接下来可以移除位置约束并开始正式的数据采集分子动力学模拟。该流程与之前操作类似——将利用包含压力耦合信息的检查点文件作为grompp的输入,并运行10纳秒的MD模拟(相关脚本可在此处获取)。
技术背景 在前面的MindSponge教程系列博客中,我们已经介绍过MindSponge分子动力学模拟框架的基础功能使用方法,例如MindSponge的安装与使用、定义分子系统、计算单点能和迭代器等等。 使用逻辑 在MindSponge分子动力学模拟框架中,原生的支持了多batch的计算模式,这个场景跟深度学习中处理Dataset时用到的batchwise是非常类似的。 在分子模拟中,我们可以给定同一个体系的多个初始位置,可以相同也可以不同,然后使用同一个力场和迭代器进行优化、更新,最终得到不同的轨迹和不同的构象。 总结概要 随着硬件算力的发展,以及AI技术的日益增进,我们不仅可以借助深度学习框架来加速分子动力学模拟,以及降低分子模拟开发的门槛。 还可以实现高通量模拟,使得用最小的开销并行的运行多个分子模拟成为可能。
技术背景 在上一篇文章中,我们讨论了在分子动力学里面使用LINCS约束算法及其在具备自动微分能力的Jax框架下的代码实现。约束算法,在分子动力学模拟的过程中时常会使用到,用于固定一些既定的成键关系。 例如LINCS算法一般用于固定分子体系中的键长关系,而本文将要提到的SETTLE算法,常用于固定一个构成三角形的体系,最常见的就是水分子体系。 对于一个水分子而言,O-H键的键长在模拟的过程中可以固定,H-H的长度,或者我们更常见的作为一个H-O-H的夹角出现的参量,也需要固定。 总结概要 继上一篇文章介绍了分子动力学模拟中常用的LINCS约束算法之后,本文再介绍一种SETTLE约束算法,及其基于Jax的实现方案。 SETTLE算法结合velocity-verlet算法,可以确保一个分子只进行整体的旋转运动,互相之间的距离又保持不变。
技术背景 在传统的分子动力学模拟软件中,对于分子体系的控制,例如控制体系的相对位置亦或是绝对位置,通常都是通过施加一些约束算法来实现的。 体系建模 首先我们要构建一个用于模拟的体系,这里只是为了演示,我们用一个简单的体系:丙氨酸二肽加上一个水分子。那么如果只有一个丙氨酸二肽的pdb文件,怎么加水分子呢? 其实可以思考一下朗之万动力学,其速度不仅受到加速度(也就是作用力)的影响,还受到一个与温度有关的随机作用力、以及跟速度相关的粘滞作用力的影响。 其他控制 在统计力学中,恒温恒压可以对应于不同的统计系综,对应于分子动力学模拟中的温度控制模块和压强控制模块。 总结概要 本文是一个比较泛的分子体系控制器实现方案,因为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算法来约束水分子中的氢键,那么可以在导入模板的时候,导入一个没有SETTLE参数的template,这样就可以实现用Lincs去约束水分子。 但是需要注意的是,一个水分子只有两根共价键,因此Lincs算法虽然可以约束水分子的两个氢键的键长,但是无法约束其键角参数,也因此不能与TIP4P模型配合使用。
技术背景 在前面两篇文章中,我们分别介绍了分子动力学模拟软件MindSponge的软件架构和安装与使用教程。 那么分子模拟的第一步,我们就需要在MindSponge中去定义一个分子系统Molecule()。 在深度学习或者MindSponge分子动力学模拟的过程中,我们会使用到回调函数CallBack来对输出内容进行追踪。 从文件定义一个分子 MindSponge也支持一些特定格式的分子导入,比如mol2格式的分子和pdb格式的蛋白质分子,这个章节介绍一下如何将文件导入为一个MindSponge的Molecule。 有了最基础的分子系统之后,后面就可以开始定义一些能量项和迭代器,开始分子动力学模拟。
如果我们在动力学模拟的过程中,需要定义一些约束算法,或者是控温控压算法,都可以将相关的Controller()传入到Updater()中。 在运行分子动力学模拟程序的过程中,我们可能会有记录一些能量、力、速度、轨迹的需求,这时候就需要调用回调函数,对相应的内容进行输出。目前比较常用的回调函数,是RunInfo和WriteH5MD。 之所以我们可以使用AI框架来实现一个分子动力学模拟的框架,正是得益于分子动力学模拟与AI训练/推理之中的共性。 在神经网络的训练中我们可以使用优化器来迭代损失函数,而在分子动力学模拟中就可以使用积分器(如Leap-Frog和Velocity-Verlet)来迭代势能函数。 partition:近邻表。 因此基于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.
技术背景 在前面的几篇博客中,我们介绍了MindSponge分子动力学模拟框架的基本安装和使用和MindSponge执行分子动力学模拟任务的方法。 本文将会介绍,如何在基于深度学习框架MindSpore的分子动力学模拟软件MindSponge中,去定义一个CV。 力和速度等参数保留到一个hdf5文件中,文件后缀为h5md cb_h5md = WriteH5MD(system, 'test.h5md', save_freq=10, write_image=False) # 开始执行分子动力学模拟 此时我们会发现,在代码中定义的metrics中几个CV物理量,也会被同步保存到h5md轨迹文件中: 总结概要 随着分子动力学模拟技术的应用推广、AI软件的发展和硬件算力水平的提升,我们可以更快的在分子层面去观察和研究分子体系内的相互作用 本文主要介绍分子动力学模拟软件MindSponge在这一领域的应用和代码实现。
作者,Evil Genius前面我们采用Gaussian16处理配体分子生成ligand.gesp,这个过程相当耗时间,而且对参数、服务器的配置要求都比较高,有没有一种更加快捷的方式进行配体处理生成gro Sobtop 是一款非常强大且易用的工具,专门用于生成 GROMACS 分子动力学模拟所需的拓扑文件,特别是处理配体小分子时,可以完美解决 pdb2gmx 无法识别非标准残基的问题Sobtop 的核心输入文件是 .mol2 格式,它包含了分子的原子、键信息和电荷。 我们先用openbable生成mol2文件obabel ligand.pdb -O ligand.mol2但是大家要注意,快捷方式带来的就是准确度不够高,最正确的做法仍然是采用Gaussian16处理配体分子计算静电势 这里以一个配体分子为例,转化后的mol2文件然后采用sobtop生成分子动力学模拟需要的gro文件启动sobtop,输入处理好的mol2文件程序会提示 Enter the path of the input
+ Lee-Yang-Parr 相关泛函,是目前有机化学中最流行的 DFT 方法之一6-31G(d)基组6-31G 加极化函数,对非氢原子添加 d 轨道,是 DFT 计算的标配基组opt几何优化寻找分子的稳定构型 还有就是电荷模式,我们这里采用的是Pop=MK,除了这个,还有其他,总结如下电荷模型Gaussian 关键词采样/计算方法特点适用场景与备注Merz-KollmanPop=MK在多层Connolly分子表面上选取采样点 对分子构象的依赖性相对较小。遇到的 l602.exe 报错与此方法的高计算需求有关。CHELPGPop=CHELPG在围绕分子的规则立方体网格上选取采样点。 对分子对称性的表现通常更好,电荷在不同构象下更稳定。一个重要的优点是,对于Gaussian没有内置范德华半径的原子(如溴 Br),它不容易崩溃。 分子动力学模拟(尤其是Amber力场)的黄金标准。通过约束确保了化学等价原子电荷的一致性,对柔性分子尤其重要。CHelpPop=CHelp一种较老的拟合方案,采样点也基于分子表面。
作者,Evil Genius这一篇我们继续分子动力学。以前高中不知道学的那些东西有什么用,现在多多少少知道一些了,生物这个学科,必须交叉,生物物理、生物化学、计算生物学、生物信息学等,才是正确的出路。 在生物的动力学反应中,因为Δ(PV)可以忽略不计,所以两者是相同的。计算结合自由能的意义反映结合亲和力,用于评价结合强度。结合自由能越负值,表明结合亲和力越强。 顾名思义,该方法将结合自由能拆分成分子力学项和溶剂化能分别计算。基本原理计算两个溶剂化分子在结合(bound)和游离(unbound)状态的结合自由能之差或者比较同一个分子不同的溶剂化构象的自由能。 PBSA更适合处理生物分子间相互作用;GBSA也可用于小分子和药物分子。PBSA可提供绝对结合自由能值;GBSA通常给相对结合自由能。PBSA可考虑多组分溶解环境;GBSA多应用于单溶剂水溶液。 两者互补应用可获得生物分子结合自由能信息。
作者,Evil Genius这一篇我们继续分子动力学,关于配体分子的处理,那么分析之前,我们需要了解很多的背景知识,每一个组学想要学通都需要花费大量的时间。 分子动力学模拟的输入:它需要一套能描绘整个分子物理运动的完整“说明书”(力场参数文件),涵盖了每个原子的电荷、质量,以及原子间的键、键角、二面角等所有信息。 问题3、分子对接的时候我们已经添加了电荷,为什么分子动力学需要重新分配电荷?分子对接时添加的电荷,确实不能直接用于Gaussian计算。 问题4、那么如何对分子对接的结果进行分子动力学模拟?要把 AutoDock 的结果“翻译”成 MD 软件能懂的语言,主要是两个步骤:1. 但只要能遵循“提取分子、生成拓扑、合并提交”这一核心准则,并把为配体创建准确的拓扑文件作为关键步骤来处理,你就可以顺利地将对接的优秀结果延续到更精确的分子动力学模拟中了。
第一步:输入mol2文件第二步:生成gro文件,选择1第三步:优先分配 GAFF 类型(做分子动力学(GROMACS/Amber)的标准流程,配合你的高斯 RESP 电荷)第四步:从 Hessian 矩阵精确推导力常数 加载小分子力场 (这是基本参数集)source leaprc.gaff# 2. 加载你的配体分子结构# 这里的 "LIG" 可以自定义,是你给这个分子起的名字# ligand_tripos.mol2 是你之前准备好的、原子类型正确的 Tripos 格式文件LIG = loadmol2 加载你的配体补充参数文件# 这个命令会读入你上一步生成的 ligand.frcmod 文件,# 用它来补全上一步加载的 LIG 分子所缺失的参数loadamberparams ligand.frcmod (强烈推荐) 检查分子是否有问题# 如果输出中有关于原子参数缺失的错误,需要回去检查 frcmod 文件check LIG# 5.
那么就像深度学习中的损失函数,或者目标函数,这里分子力学的主要目标函数就是势能(也有动能项,但动能项更多的来源于分子动力学模拟的过程,而不是实验中的参数)。 这一项虽然看起来只是一个参数,但其实最能够体现使用AI框架来做分子动力学模拟的优势,后面会专门写一篇文章来介绍。其主要作用是添加一些偏置势能项,用于约束分子系统,向期望的方向演化。 由于近邻表在分子模拟的过程中有可能直接决定了分子模拟的速度,或者是可模拟体系的大小,因为近邻表所产生的最大Tensor维度有可能为(B,A,N,D),是所有Tensor中最大的。 计算单点能 给定一个初始的分子构象,求这个构象的分子势能。一般情况,这个问题可能需要通过计算化学的方式来进行求解,比如CCSD(T)之类的方法。 需要注意的是,不同的分子模拟软件所使用的默认输出单位也是不一样的。