十足的菜鸟一只,刚接触gromacs没几天,只会了一点皮毛的东西,但是从完全不会到会了皮毛,也足够使某只菜鸟乐颠颠了~~!
学的时候,参照了分子模拟论坛里很多内容,但发现大多都建立在懂linux的基础上(说错了咩?我真滴是这样理解滴。。。),虽然看了,可我还是不知道从何入手,就像一个完全不懂电脑的人,你让他用word写篇文,首先得告诉他怎样开电脑,怎样找到word,怎样打开word,又怎样切换到中文输入法才可以吧?于是,决定写篇入门小总结,留个纪念。
一、分子模拟一般步骤:
1、选软件:根据目标、所需力场决定。
“目标”:查阅相关文献,看文献中用这个软件干了什么,得出了什么样的结果,而这些作用和结果对于自己是否适用。简单地说,即为寻找相似度。
2、具体模拟时:
(1)输入文件。文件中包含初始坐标、条件等。
参数文件。描述力场等。
体系大小。由选用的box大小决定,box的大小依据具体题目要求设置。
(2)能量最小化。去除接触应力。
(3)平衡模拟。要在平衡条件下。
(4)完全模拟。运行足够长时间,保证数据的可重复性。
(5)数据分析。
二、gromacs入门
1、linux环境下安装并运行。首先熟悉linux环境和基本语言命令。下面列出目前自己用到的一些命令。
ls:列出当前目录中的文件与目录
ls -l:常列表格式。列出当前目录中的所有文件,包括当前目录(.)和父目录(.),包括长度、拥有者和权限。
cd:打开某个子目录。
cd..:上移一层目录。
其实我觉得ls、cd两个命令就够用了。
另外,linux命令行MS是区分大小写的,所以书写的时候要多加注意。
2、linux不同于windows系统,它是一种开发环境,所有操作都可以甚至必须在命令行中完成,这样在方便用户使用的同时,也给初学者带来了一定的难度。
windows下,一般软件的下载安装都很简单,只用点开setup.exe文件,然后一直“下一步”就可以了。而linux不同,安装gromacs着实让我很费神!怨念啊啊啊……由于不了解linux语言系统,且gromacs下载包里并没找见setup.exe文件,只有一些没见过的符号后缀名,根本无从下手。于是,劳烦大牛师兄帮忙安装。一顿折腾后,终于安装完成。颠颠儿收拾完就回去了~第二天打开电脑,进入linux系统下,竟无从着手,不知怎样开始。后来师兄说,gromacs里有个例子,可以先照着这个例子熟悉流程。于是,我开例子!!
例子在gromacs/tutor/gmxdemo文件下,名为demo。什么都不用做,只用不停Enter就可以了。每一步都有说明,大致看一下有个印象就好,初学者仔细看也看不出什么深入的东西的。我在运行例子的时候也遇到了困难,只要碰到需要新跳出窗口的时候,窗口是蹦出来了,可是窗口里却写着:command not
found...怒啊。。不懂,估计是因为linux环境设置的问题,于是去找师兄,师兄说是因为路径的什么问题,当时听得MS有点懂,后来便忘了,其实我还是不明白啊啊。师兄帮忙修改了一下linux后,例子便能正常运行了。其实,关于linux环境设置的问题,gromacs文件包里也有说,在gromacs/share/gromacs/html/online文件夹下,getting_started.html文件。还有一个自带的资料,在gromacs/share/gromacs/html文件夹下的online.html文件,其中有讲到使用gromacs的流程图。开始的时候结合着例子看,能加深理解。最好自己也能根据自己的理解顺手画画,开始的时候未必全面,随着自己运行例子,不断修改完善。
例子的运行,主要是告诉我们gromacs模拟的具体流程怎样。接下来,我们要学会自己编写简单的流程命令。利用gromacs自带的例子中的文件,自己编写。
这里,可以参照论坛里maplem的帖子《
[原创]从零开始学GMX》,写得很详细也很实用:http://www.mdbbs.org/thread-9940-1-1.html
另外,再给一个一步一步教会我的资源,windows
live的博客:http://armadillocommander.spaces.live.com/blog/cns!44C70E557429F5BA!5135.entry
结合着看就可以了,学着自己完成这个例子不成问题。
根据windows
live博客里的内容,稍微结合我自己的理解,整理了下完成这个例子所需的命令,具体的命令代表的意义可以翻阅手册:
首先打开至gromacs/share/gromacs/tutor/speptide目录下,“文件”—“在终端中打开”,(原因:所需pdb文件在这个子目录下,这牵扯到什么绝对路径的问题,不懂)
然后:
(1)由pdb文件生成.gro(结构文件)和.top(拓扑文件):
$ pdb2gmx -f speptide.pdb -p speptide.top -o speptide.gro
(2)装入盒子:
$ editconf -bt cubic -f speptide.gro -o out.gro -c -d 0.5
$ genbox -cp out.gro -cs -p speptide.top -o b4em.gro
(3)能量最小化:
$ grompp -v -f em.mdp -c b4em.gro -p speptide.top -o em.tpr
$ mdrun -v -s em.tpr -o after_em.trr -c after_em.gro
(4)束缚的分子动力学优化:
$ grompp -f pr.mdp -c after_em.gro -r after_em.gro -p speptide.top
-o pr.tpr
$ mdrun -v -s pr -e pr.tpr -o after_pr.trr -c after_pr.gro
>& pr.job &
注:>& pr.job &
个人理解,这个命令代表新建一个 pr.job 的文件,并将步骤记入这个文件中。
可以通过输入 $ tail -f pr.job 查看进度。
(5)无束缚条件下的完全动力学模拟:
$ grompp -v -f full.mdp -o full.tpr -c after_pr.gro -p
speptide.top
$ mdrun -v -s full.tpr -e full.edr -c after_full.gro -o full.trr
>& full.job &
(6)查看结果:
$ ngmx -s pr.tpr -f full.trr
over~~!cheep up~and go on!
加载中,请稍候......