当前位置:首页 » 网页前端 » 分子动力学处理脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

分子动力学处理脚本

发布时间: 2022-05-30 05:06:09

㈠ 什么是从头计算分子动力学模拟

入门阶段,首先你要知道你想做什么,最好是找个看起来不太难的文章照着把里面的模拟自己重复一遍。因为全原子模拟大都是用一些来进行的,因此你首先需要的是学会一些的使用,常用的生物分子模拟包括:Gromacs、Amber 和 NAMD 等等,材料有关的模拟还有 Lammps 等。学这些东西的时候首先主要是要知道模拟的基本流程以及实现的方法,包括怎样搭建模拟的体系、各种文件格式的转换、系综与盒子的选择、水及离子、能量极小化等等,等到模拟的轨迹出来怎样对数据进行处理,等到之后还可以学习里面的一些插件,例如一些加速采样的方法等等。

自己学一种语言的话,在初期,做 MD 比较重要的是脚本语言,包括 Shell 脚本或者其它你自己喜欢的脚本。因为最终你还是不太可能完全在自己的电脑上跑程序的,所以要有一个你自己用得比较熟的、能对大规模的数据进行处理的语言,我觉得 Python 是很适合的,而且里面的 Prody,Matplotlib 等等各种包都非常好用。

入门之后,如果希望自己通过一些量子化学的计算结果去调整和修改现有的力场,那么需要能看懂其他人的代码,这种时候很可能会需要能读懂 Fortran 的代码。如果自己喜欢做一些简化模型自己弄着玩,用 Python 之类的写起来是简单,但是效率太低,还是需要会一点点 C 或者 C++,当然语言只是一方面,更重要的是自己要结合实际的体系做一些最简单的优化。

相比起书籍来,还可以关注一些做模拟的学术们聚集的论坛和社区,例如:小木虫、分子模拟论坛、ResearchGate 等等。

参考书的话,其实有很多,不过还是要看你自己需要哪方面的内容:
分子模拟方面的经典书籍:Understanding molecular simulation: From algorithms to applications 和 Molecular Modelling - Principles and Applications ,两本书的侧重点有些不同。

中文书籍:《分子模拟的理论与实践》《计算化学——从理论化学到分子模拟》中的部分章节;

偏统计和计算物理方面:Statistical Mechanics: Algorithms and Computations。

㈡ 请问谁能提供一下分子动力学程序 ourmd 或者类似的源码

从20世纪90年代以后,随着计算机技术的发展以及药物化学、分子生物学和计算化学的发展,计算机辅助药物分子设计(CADD)已经发展成为一门完善和新兴的研究领域。同时,CADD的发展和应用,也大大促进了药物设计和新药开发的效率。CADD已经成为合理药物设计中不可或缺的一环,在药物设计中起着越来越重要的作用,因此,CADD方法的理论和应用研究具有非常重要的意义。国内关于这方面的专着还很少,作者结合自己课题组的工作,并在参考大量文献以及大量研究实例的基础上,对CADD方法进行了系统而详尽的阐述。本书对CADD的传统方法以及一些新的方法都进行了介绍,而且结合大量实例对药物设计的基本和具体操作进行了详尽的论述,是一本理论与实践相结合的论着。本书对于从事药物研究的研究人员和教学工作者,是一本非常有益的参考书;本书所涉及的理论计算方法,对从事计算机化学、计算生物学、化学信息学以及生物信息学的研究工作者也具有重

http://data.thermo.xjtu.e.cn/bbs/viewtopic.php?t=25&sid=

㈢ 分子动力学的基本步骤

用抽样所得体系的各个状态计算当时体系的势能,进而计算构型积分。作用势与动力学计算
作用势的选择与动力学计算的关系极为密切,选择不同的作用势,体系的势能面会有不同的形状,动力学计算所得的分子运动 和 分子内部运动的轨迹也会不同,进而影响到抽样的结果和抽样结果的势能计算,在计算宏观体积和微观成分关系的时候主要采用刚球模型的二体势,计算系统能量,熵等关系时早期多采用Lennard-Jones、morse势等双体势模型,对于金属计算,主要采用morse势,但是由于通过实验拟合的对势容易导致柯西关系,与实验不符,因此在后来的模拟中有人提出采用EAM等多体势模型,或者采用第一性原理计算结果通过一定的物理方法来拟合二体势函数。但是相对于二体势模型,多体势往往缺乏明确的表达式,参量很多,模拟收敛速度很慢,给应用带来很大的困难,因此在一般应用中,通过第一性原理计算结果拟合势函数的L-J,morse等势模型的应用仍然非常广泛。 以下是做模拟的一般性步骤,具体的步骤和过程依赖于确定的系统或者是软件,但这不影响我们把它当成一个入门指南:
1)首先我们需要对我们所要模拟的系统做一个简单的评估, 三个问题是我们必须要明确的:
做什么(what to do)为什么做(why to do)怎么做(how to do)
2)选择合适的模拟工具,大前提是它能够实现你所感兴趣的目标,这需要你非常谨慎的查阅文献,看看别人用这个工具都做了些什么,有没有和你相关的,千万不要做到一半才发现原来这个工具根本就不能实现你所感兴趣的idea,切记!
考虑1:软件的选择,这通常和软件主流使用的力场有关,而软件本身就具体一定的偏向性,比如说,做蛋白体系,Gromacs,Amber,Namd均可;做DNA, RNA体系,首选肯定是Amber;做界面体系,Dl_POLY比较强大,另外做材料体系,Lammps会是一个不错的选择
考虑2:力场的选择。力场是来描述体系中最小单元间的相互作用的,是用量化等方法计算拟合后生成的经验式,有人会嫌它粗糙,但是它确确实实给我们模拟大系统提供了可能,只能说关注的切入点不同罢了。常见的有三类力场:全原子力场,联合力场,粗粒化力场;当然还有所谓第一代,第二代,第三代力场的说法,这里就不一一列举了。
再次提醒注意:必须选择适合于我们所关注体系和我们所感兴趣的性质及现象的力场。
3)通过实验数据或者是某些工具得到体系内的每一个分子的初始结构坐标文件,之后,我们需要按我们的想法把这些分子按照一定的规则或是随机的排列在一起,从而得到整个系统的初始结构,这也是我们模拟的输入文件。
4)结构输入文件得到了,我们还需要力场参数输入文件,也就是针对我们系统的力场文件,这通常由所选用的力场决定,比如键参数和非键参数等势能函数的输入参数。
5)体系的大小通常由你所选用的box大小决定,我们必须对可行性与合理性做出评估,从而确定体系的大小,这依赖于具体的体系,这里不细说了。6)由于初始构象可能会存在两个原子挨的太近的情况(称之为bad contact),所以需要在正式模拟开始的第一步进行体系能量最小化,比较常用的能量最小化有两种,最速下降法和共轭梯度法,最速下降法是快速移除体系内应力的好方法,但是接近能量极小点时收敛比较慢,而共轭梯度法在能量极小点附近收敛相对效率高一些,所有我们一般做能量最小化都是在最速下降法优化完之后再用共轭梯度法优化,这样做能有效的保证后续模拟的进行。
7)以平衡态模拟为例,你需要设置适当的模拟参数,并且保证这些参数设置和力场的产生相一致,举个简单的例子,gromos力场是用的范德华势双截断来定范德华参数的,若你也用gromos力场的话也应该用双截断来处理范德华相互作用。常见的模拟思路是,先在NVT下约束住你的溶质(剂)做限制性模拟,这是一个升温的过程,当温度达到你的设定后, 接着做NPT模拟,此过程将调整体系的压强进而使体系密度收敛。
经过一段时间的平衡模拟,在确定系统弛豫已经完全消除之后,就可以开始取数据了。如何判断体系达到平衡,这个问题是比较技术性的问题,简单的讲可以通过以下几种方式,一,看能量(势能,动能和总能)是否收敛;二,看系统的压强,密度等等是否收敛;三看系统的RMSD是否达到你能接受的范围,等等。
8)运行足够长时间的模拟以确定我们所感兴趣的现象或是性质能够被观测到,并且务必确保此现象出现的可重复性。
9)数据拿到手后,很容易通过一些可视化软件得到轨迹动画,但这并不能拿来发文章。真正的工作才刚刚开始——分析数据,你所感兴趣的现象或性质只是表面,隐含在它们之中的机理才是文章中的主题。

㈣ 纵轴为RMSD值,横轴为时间的图是利用什么软件做出来的如下图(与分子动力学模拟有关)

按照教程来,先跑完动力学,然后用脚本获得RMSD值,然后根据你模拟的时间计算出每一帧的对应的时间步长,然后将数据拿到origin里面作图

㈤ discovery studio 分子动力学怎么样

1,先加溶剂分子,记住要加抗衡离子。Cell shape选择加水子最少的也许好点,记住最好把Minimum Distance From Boundary设置大一点,如12。不过计算会变慢。
2,然后把多肽进行Steepest Descent,即最陡下降法进行minimization,先限制多肽,用tools中的simulation中的constraints中的 create fix atom constraints处理,其中把模建最好的结果用CHARMm,作为input typed molecular的分子,max steps选择6000,electrostatics选择particle mesh ewald,algorithm为Steepest Descent,number of processors选择2,使RMS Gradient为0.1,用最陡下降法优化水分子6000步。
3,把结果用Conjugate Gradient即共轭梯度法优化6000步,限制为fix,rms gradient设为0.001,electrostatics选择particle mesh ewald,number of processors选择2,其它参数默认。
4,把fix删除。即在hierarchy中用delete删除。
5,进行Steepest Descent,即最陡下降法进行minimization, max steps选择6000,electrostatics选择particle mesh ewald,number of processors选择2,使RMS Gradient为0.1,用最陡下降法优化6000步。做完之后,用tools中的protein modeling中的protein health中的check structure处理,看看结构变好没有。有时候结果会很坏,那么就希望在以后的优化中,结果会越来越好。主要是把时间设置长一点。
6,用共轭梯度法优化6000步,rms gradient设为0.001(看实验而定),electrostatics选择particle mesh ewald,number of processors选择2,其它参数默认。做完之后,用protein model中的check structure处理,看看结构变好没有。有时候结果会很坏,那么就希望在以后的优化中,结果会越来越好。
7,进行dynamics(heating or cooling),其中input typed molecular为上步conjugate gradient法得到的outputfile(包含水分子和离子),steps设置为100000,save results frequency为1000,electrostatics为particle mesh ewald,heating save restart file为true,number of processors选择2,没有限制常数,其它参数默认。温度当然要看你的试验情况了。做完之后,用protein
model中的check structure处理最后一个构象(需要把最后构象复制到新窗口,即选中最后一列数字,然后在hierarchy中点击右键选择,然后选择file-new-3d windows,然后paste),看看结构变好没有。
8,进行dynamics(equilibration),其中input typed molecular为上步dynamics(heating or cooling) 中的output中结果(要包括水分子和离子,不用复制最后构象到新窗口,只要打开含有全部构象的文件就行),记住把最后一个构象变为active(即选中最后一列数字),温度当然要看你的试验情况了,steps设置为500000,save results frequency为1000,constant pressure为true(根据实验而定),electrostatics为particle mesh ewald,equilibration save restart file为true,其中equilibration restart file为上步得到的output中的rst文件,number of processors选择2,其它参数默认。
9,进行dynamics(proction),其中的input type molecular为上步dynamics(equilibration)中output中的结果(要包括水分子和离子,不用复制最后构象到新窗口,只要打开含有全部构象的文件就行),记住要把最后一个构象选中(即选中最后一列数字),使其变为active,温度当然要看你的试验情况了,steps设置为 1000000,save results frequency为1000,proction type为NPT(根据你实验情况而定),electrostatics为particle mesh ewald,proction restartfile为上步得到的output中的rst文件,proction save restart file为true,number of processors选择2,其它参数默认。用proteinmodel中的check structure处理最后一个构象(需要把最后构象复制到新窗口),看看结构变好没有。时间可以设置更长,现在好象要求越来越长了。不过,我一般开始先跑500ps,然后才1ns。主要怕出错。

㈥ 用Fortran编程实现分子动力学模拟方法,研究微流体流动特性

subroutineinit

sumv=0
sumv2=0

doi=1,npart
x(i)=lattice-pos(i)
v(i)=(ranf()-0.5)
sumv=sumv+v(i)
sumv2=sumv2+v(i)**2
enddo

sum=sumv/npart
fs=sqrt(3*temp/sumv2)!速度矫正因子
doi=1,npart
v(i)=(v(i)-sumv)*fs!速度矫正
x(i)=x(i)-v(i)*dt
enddo

return
end

从上面的代码看,公式还是很简单的,你可以对照书上的公式一一对照。

㈦ lammps分子动力学模拟菜鸟入门求助

其实我在别的地方已经写过这些了,再次摘抄过来。

个人感觉Lammps入门不那么简单,最好能有学长带你。

还是首先看你题目做那个方向,做传热相关还是力学相关? 那种材料?我只知道一点做晶体声子传热仿真的,要看些固态物理,晶格动力学和统计力学的书籍或相关材料。或者有师兄师姐带的话可以直接上手先做起来,叫他们给个例子,自己先跑通,然后学习例子里面包含的知识点。同时可以看看你要做的项目别人发过的文章,用到什么理论知识,然后自己去找相关资料。说的比较笼统。反正建议先着手做结果,再慢慢完善理论,不要先找全了书一页页看,往往很多东西用不上,时间长了自己也没信心。另外做力学的话,现在很火的是做位错(dislocation),还有边界(grain boundary)抵挡断裂或者变形的影响,这块我不清楚,不过建议还是多看看别人文章。软件要从官网下最新的版本,然后要自己编译。

下面是我回答别人类似的一个问题,我再摘抄过来。
材料的势能场参数很关键,要确保能有好的势能参数,输到Lammps里头才能跑出好结果。
然后要先从例子开始。如果你有师兄师姐以前做过,那就好办了,先拿人家的input file(也就是给Lammps输入的命令序列)过来看,里面会已经有个能跑得框架就好,之后一些常用命令,比如怎么设置仿真盒子大小,读入原子坐标,设置压强温度控制,跑多少步什么的,直接抄过来(最好到网站上搜这些命令的用法,然后自己对照着自己想法改,或者有书也不错,查查用法。)命令的话不要去背,太多了。
至于建模比较麻烦,因为这款软件不像有限元集成了建模功能,你得自己编程,matlab,fortran,c语言都可以,想办法把你要仿真的一堆原子坐标都算出来,然后打出到纯文本文件(里面记录每个原子的序号,类别,坐标和速度),再和你的input file放到一起给Lammps算。之后跑完Lammps给的结果还需要些后处理,有可能还要编点小程序来处理。
另外你是要用自己电脑跑吗?还是有学校超级计算机让你用。反正最好是能先跑起来,哪怕把人家例子(或者网站上的例子)跑会了就成功一大半了。光看书资料自己没感觉的。
我看没人回答就随便写上几句,希望你能成功。

㈧ 怎么学分子动力学模拟与计算

入门阶段,首先你要知道你想做什么,最好是找个看起来不太难的文章照着把里面的模拟自己重复一遍。因为全原子模拟大都是用一些软件来进行的,因此你首先需要的是学会一些软件的使用,常用的生物分子模拟软件包括:Gromacs、Amber 和 NAMD 等等,材料有关的模拟还有 Lammps 等软件。学这些东西的时候首先主要是要知道模拟的基本流程以及实现的方法,包括怎样搭建模拟的体系、各种文件格式的转换、系综与盒子的选择、水及离子、能量极小化等等,等到模拟的轨迹出来怎样对数据进行处理,等到之后还可以学习软件里面的一些插件,例如一些加速采样的方法等等。

自己学一种语言的话,在初期,做 MD 比较重要的是脚本语言,包括 Shell 脚本或者其它你自己喜欢的脚本。因为最终你还是不太可能完全在自己的电脑上跑程序的,所以要有一个你自己用得比较熟的、能对大规模的数据进行处理的语言,我觉得 Python 是很适合的,而且里面的 Prody,Matplotlib 等等各种包都非常好用。

入门之后,如果希望自己通过一些量子化学的计算结果去调整和修改现有的力场,那么需要能看懂其他人的代码,这种时候很可能会需要能读懂 Fortran 的代码。如果自己喜欢做一些简化模型自己弄着玩,用 Python 之类的写起来是简单,但是效率太低,还是需要会一点点 C 或者 C++,当然语言只是一方面,更重要的是自己要结合实际的体系做一些最简单的优化。

相比起书籍来,还可以关注一些做模拟的学术们聚集的论坛和社区,例如:小木虫、分子模拟论坛、ResearchGate 等等。

参考书的话,其实有很多,不过还是要看你自己需要哪方面的内容:
分子模拟方面的经典书籍:Understanding molecular simulation: From algorithms to applications 和 Molecular Modelling - Principles and Applications ,两本书的侧重点有些不同。

中文书籍:《分子模拟的理论与实践》《计算化学——从理论化学到分子模拟》中的部分章节;

偏统计和计算物理方面:Statistical Mechanics: Algorithms and Computations。

㈨ 分子动力学方法适用于处理什么问题 其处理问题的基本过程是什么

分子动力学可以用于NPT,NVE,NVT等系综的计算,是一种基于牛顿力学确定论的热力学计算方法,可以广泛应用于物理,化学,生物,材料,医学等各个领域。
目前由于计算机性能的限制,其可计算的尺寸还很小,一般计算的粒子数会不会超过5位数,计算的尺寸一般只有几十纳米甚至更小
基本过程:
确定起始构型
进行分子动力学模拟的第一步是确定起始构型, 一个能量较低的起始构型是进行分子模拟的基础 ,一般分子的起始构型主要来自实验数据或量子化学计算。在确定起始构型之后要赋予构成分子的各个原子速度,这一速度是根据玻尔兹曼分布随机生成的,由于速度的分布符合玻尔兹曼统计,因此在这个阶段,体系的温度是恒定的。另外,在随机生成各个原子的运动速度之后须进行调整,使得体系总体在各个方向上的动量之和为零,即保证体系没有平动位移。

进入平衡相
由上一步确定的分子组建平衡相,在构建平衡相的时候会对构型、温度等参数加以监控。

进入生产相
进入生产相之后体系中的分子和分子中的原子开始根据初始速度运动,可以想象其间会发生吸引、排斥乃至碰撞,这时就根据牛顿力学和预先给定的粒子间相互作用势来对各个粒子的运动轨迹进行计算,在这个过程中,体系总能量不变,但分子内部势能和动能不断相互转化,从而体系的温度也不断变化,在整个过程中,体系会遍历势能面上的各个点(理论上,如果模拟时间无限)。计算分析所用样本正是从这个过程中抽取的。

计算结果用抽样所得体系的各个状态计算当时体系的势能,进而计算构型积分。