科研笔记1:Gromacs安装
以前跑MD都是用NAMD软件包,今天开始正式使用Gromacs软件包。在安装过程中看了网上很多的安装方法,其实大部分都已经过时,这里专述一文,帮助大家入门。
第一步:下载最新版本的Gromacs软件包,比如2014.4.3最新正式版本是gromacs-4.6.。注意:由于4.6.x及其以上版本和4.5.x及其以下版本使用的安装方式完全不同,4.6.x使用CMake(Cross Platform Make)编译,方便很多。
空调怎么用省电
参考网站:/Downloads
第二步:进行安装按照以下指令:
tarxfz gromacs-4.6.
cd gromacs-4.6.5
mkdir build
cd build
cmake .. -DGMX _BUILD_OWN_FFTW=ON
make
sudo make install
参考资料:/Documentation/Installation_Instructions
第三步:添加环境变量
塔山狙击战
在我的文件夹里,比如说home/chenqu(举个例子)
终端控制台输入:
cd ~
ls -a (列举当前目录下所有文件)
就能看到文件.bashrc了。
vi .bashrc
在最后一行添上:
export PATH=/usr/local/gromacs/bin:$PATH
保存退出wq
运行:source .bashrc让PATH路径生效。
科研笔记2:如何添加自己的力场参数1
GROMACS实例分析1:CO2+H2O体系
大部分GROMACS在线指南都是生物体系,但是对于简单的小体系提到的并不多。尽管原理一样,我们还是希望能了解如何自己写简单气体的力场。这里我做一个CO2是真名士自风流和H2O混合体系的例子来说明二元混合体系的构建方法,做一个入门指南。
目标:计算CO2在水中的扩散系数。
第一步:使用Avogadro软件构建一个CO2.pdb。如下所示。如果不会使用Avogadro软件
的,可以研究教程/wiki/Category:Tutorials,这里不再赘述。创建完之后如图1所示。
图1:CO2.pdb的脚本
注意:不要随意去修改pdb的格式,他的格式每列都是有特殊含义的。文本.pdb的坐标单位是angstrom,而文本.gro的坐标默认单位是nm,千万牢记!
第二步:创建CO2的力场。其实这部分是初学者最需要学习的。我喜欢建立一个CO2.itp,这样的好处是:清爽简洁。我选择OPLS-AA力场作为主要力场。由于我们最终的设计办公空间.top文件里面需要#include “forcefield.itp”,而forcefield.itp里面又有#include "ffnonbonded.itp", #inc
lude "ffbonded.itp"以及#include "gbsa.itp",那么在这些力场中,都需要注明自己创建的CO2的各种参数(这些文件都在gromacs-4.6.5/share/top/oplsaa.ff带饭)。
首先把ffnonbonded.itp拷贝到自己的文件夹(原gromacs文件夹不要随便改变),然后在最后添加上[ atomtypes ],我把CO2的碳定义为CO,而把氧定义为OC。貌似ffbonded.itp和gbsa.itp是不需要修改的,只要写在CO2.itp中就行。修改完如图2所示。
图2:ffnonbonded.itp的部分脚本
其次开始撰写CO2.itp。建议使用GROMACS教程4.5.4版本p.131的模板进行写作。CO2的参数需要根据不同的目的而不同。本例子是为了做扩散系数,参考文献如下:
Harris, Jonathan G., and Kwong H. Yung."Carbon dioxide's liquid-vapor coexistence curve and critical properties as predicted by a simple molecular model." The Journal of Physical Chemistry 99.31 (1995): 12021-12024. 写完之后的文件请见图3。
注意:由于CO2的力场中bonds是固定的,不需要键伸缩力常数。所以我不采用[ bonds ],而采用[ constraints ]。把CO2.itp、forcefield.itp、ffnonbonded.itp、ffbonded.itp、gbsa.itp和CO2.pdb放在一个新文件夹里面。
图图书排行3:CO2.itp的全部脚本
第三步:建立程序的拓扑文件。把所有力场都#include到一个拓扑文件.top里面即可。如下所示,建议大家最好了解下每一个itp的文本到底是什么。有什么含义,这些都是模拟中最重要的东西。
图4:p的脚本
第四步:添加水盒子。先通过CO2的溶解度,计算一个CO2该溶解在多少个水分子中。其次计算水盒子大小,使得密度尽量控制在0.9-1.1 g/ml。操作指令为:
genbox - - -box 3.83 3.83 4.04 -p p -maxsol 1879
残疾人体育
其中最后一项控制最多添加水分子的数量,可以根据实际情况添加。添加完别忘记修改里面的原子类型名字和残基类型名字,和自己的拓扑力场参数匹配。
图5:部分脚本
第五步:进行能量最小化(Energy Minimization)。在网上搜索,下载一个em.mdp文件,见图5所示。这里从Justin Lemkul的个人教程中下载。下载地址为:
www.bevanlab.biochem.vt.edu/Pages/Personal/justin/gmx-tutorials/lysozyme/Files/ions.这时候em.mdp(参数文件)、(坐标文件)以及p(拓扑文件)三个结合生成一个二进制文件em.tpr。粗浅来看,这是我认为Gromacs比NAMD厉害的地方。运算由于读取二进制文件,所以速度极快。然后就开始运算了!指令是:
grompp -f em.mdp -p p - -o em.tpr(合成一个二进制文件)
mdrun -v -deffnmem(开始运算)
这时你能发现,程序开始运行了。
em.edr是二进制能量文件;em.gro能量最小化后的构型;em.trr二进制轨迹文件;em.log 整个最小化的进程日志。
图6:em.mdp的全部脚本
第六步:计算势能变化曲线。能量的信息是通过二进制码存储在em.edr文件中的。可以通过g_energy来计算出势能变化。指令是:
花生猪蹄汤的做法
g_energy -f em.edr -o potential.xvg
根据屏幕提示然后选择,可以画出势能曲线。
图7:能量最小化势能曲线
第七步:进行NPT平衡模拟(Equilibration)。和第五步一样,我们同时也需要npt.mdp(参数文件)、em.gro(坐标文件)以及p(拓扑文件)。最后两个已经有了,我们还是需要从网上下载一个npt.mdp。根据你需要的条件参数进行修改。文件下载
地址: