实验2-1:Gromacs与分子动力学模拟
操作系统平台:Redhat fedora8.0,以root账号进行操作,作业则以NFS用户提交。
1. Gromacs安装
1.1 安装fftw3.1.2
# ./configure --help
# ./configure --enable-mpi --enable-float –-prefix=/home/fftw # make
# make install
1.2 串行编译
# export CPPFLAGS=-I/home/fftw/include
# export LDFLAGS=-L/home/fftw/lib
# ./configure --enable-float --with-fft=fftw
–-prefix=/cluster/chem/gromacs
# make
# make install
# make distclean
1.3 设置环境变量
# vi /etc/bashrc
最后一行加入
export PATH=/home/chem/gromacs/bin:$PATH
1.4 并行编译和安装
# ./configure –-prefix=/home/chem/gromacs –-program-suffix=_d –enable-mpi –disable-float –-with-fft=fftw
# make contrib.
2. OpenPBS教程
机资源的申请是通过作业调度系统OpenPBS来实现的,用户使用作业提交脚本来运行串、并行程序,首先要编写作业调度提交脚本,该脚本包含信息由用户要申请的节点数量,使用资源时长,程序运行命令等,各类的并行程序、串行程序的脚本提交方法略有不同。
流程图转换为ns图1) 在head节点和compute节点上都启动pbs服务:
# service pbs start
2) 写一个并行作业提交脚本serial.sh:
# !/bin/sh –f
### Job name
#PBS –N test
### Declare job non-rerunable
#PBS –r n
### Output files
#PBS –
#PBS –o test.log
### Queue name
#PBS –q workq
### Number of nodes
#PBS –l nodes=4:ppn=1
INFILE=xx.mdp
p
TPRFILE=xx.tpr
# Enter this job's working directory
cd $PBS_O_WORKDIR
# Define number of processors
NPROCS=`wc –l<$PBS_NODEFILE`
echo This job has allocated $NPROCS nodes
export GROMACS_MPI="1"
/cluster/gromacs/bin/grompp -f $INFILE -c $GROFILE -p $TOPFILE -np $NPROCS -o $TPRFILE
mpirun -machinefile $PBS_NODEFILE -nolocal -np $NPROCS
/cluster/gromacs/bin/mdrun_d -s $TPRFILE
然后用命令 qsub serial.sh提交作业。
注:
$PBS_O_WORKDIR 当前工作目录
$PBS_NODEFILE 申请到的计算节点列表文件
$NPROCS 申请到的CPU数量
3) 查看作业运行状况
应用命令qstat可以检查作业运行状况:
#qstat –a或 #qstat [jobid]
该命令可以查看你的作业的作业ID、作业用户明、作业队列、作业名、运行状态(其中的“S”列,Q代表资源被占用作业在等待,R代表作业正在运行),作业运行时间等信息。
4) 作业运行完毕,计算资源回收
作业运行完毕,或者申请的计算资源使用时间,系统将自动收回计算资源。也可以应用#qdel jobID即可以删除作业。
3 分子动力学模拟
以下为gromacs对水中蛋白质分子动力学模拟过程的流程图:
eiwit.pdb
Generate a
pdb2gmx
GROMACS
topology
< p
Enlarge
the box editconf
<
Solvate
protein genbox
< p
grompp.mdp
Generate
grompp
mdrun
input file
Continuation
topol.tpr
Run the
mdrun
simulation
(EM or MD)
< ener.edr
Analysis g_...
ngmx g_energy
接着我们针对上面的流程来谈谈gromacs相关的文件类型(pdb文件我们这里就不多提了,如果你连pdb还不知道是什么,我倒)
1) 分子拓扑文件molecular topology files (*.top)
我们现在暂时称之为分子拓扑文件,top file是pdb2gmx自动将PDB 格式文件转化生成的。
2) 分子结构文件molecular structure files (*.pdb, *.gro)
这种结构文件包括pdb gro两种,pdb2gmx将pdb文件转化为top文件的同时也将pdb转化为了gro。gro和pdb都是结构文件,它们的不同在于格式,gro file还保存了velocities当然,如果你用不到v时,也可
直接使用pdb格式的结构文件。
另外,genbox程序用于生成研究对象周围box中的溶剂分子,首先需要定义合适的盒子的box大小。genbox的output file是gro。genbox同时还将原有的top文件修改为假如溶剂分子后的top文件。
3) 分子动力学参数文件molecular dynamics parameter files
(*.mdp)
mdp files其实是一个参数文件,包括了要做分子动力学模拟所需的例如time-step number of steps tempratures pressure等等的参速
4) 索引文件 index files (*.ndx)
有时候你还需要一个索引文件来指定对于多组原子的action(如温度耦合,加速和固定等),一般情况下采用默认设置就可以了。
5) 运行程序输入文件 run input file (*.tpr)
将上面提到的四种文件组合生成tpr文件,也就是
top + gro + mdp + ndx = tpr
tpr file包括了要run分子动力学模拟所需要的所有信息,grompp程序处理所有的input文件生成.tpr。当.tpr文件准备好以后,我们就可以开始进行模拟了,用于模拟的程序为mdrun,mdrun唯一需要的输入文件就
是.tpr文件。
6) 轨迹文件 trajectory files (*.trr)
这里姑且称为轨迹文件,也就是mdrun模拟的输出文件(如果没有XDR,则为.trj文件,mdrun同时还输出日志文件.log)。gromacs中有一种自带程序 ngmx可以读取trr文件,该程序读取trr文件时需要在x windows环境下。
今天我们将就Lysozyme(PDB: 1AKI)进行分子动力学模拟的实验。1.关于Lysozyme
2. PDB文件的转换
PDB文件可以直接作为Gromacs分子动力学模拟的输入文件,但首先转化为gromacs文件类型(*.gro)更加合适。PDB文件中的信息通常是不完整
的,比如碳原子周围的氢原子通常被省略了。转化程序pdb2gmx可以检查结构文件中每个残基,并加氢。在这转换的过程中,还生成另外一个文件,*.top,描述了所有列出的原子之间的连接。
pdb2gmx可以将结构文件1AKI.pdb进行转化,主要的参数包括-f, -p, -o, 分别表示结构输入文件,输出的拓扑文件和输出的结构文件:# pdb2gmx –f 1AKI.pdb –p –
程序这时候会提示需要选择一种力场:
Select the Force Field:
0: Gromacs Forcefield (see manual)
1: Gromacs Forcefield with all hydrogens (proteins only)
2: GROMOS96 43a1 Forcefield (official distribution)
3: GROMOS96 43b1 Vacuum Forcefield (official distribution)
4: GROMOS96 43a2 Forcefield (development) (improved alkane dihedrals)我们这里选择2。
当程序运行结束后,列出目录中的文件数量。用more查看.gro文件,.gro文件与原始的.pdb文件非常类
似,那么,根据你的观察,两者有什么样的不同呢?
再看看.top文件,你知道其中包含了哪些信息么?
3.能量最小化EM (Energy Minimization)
202.120.45.17/course/final/soft/minim.mdp 我们现在有了完整的结构数据信息,拓扑文件也产生了。因为加入了氢原子,其中势必产生一些不合适的范德华相互作用,造成某些粒子过于接近。因此我们必须对结构进行能量最小化以去除strain.程序mdrun可以完成这个目标。mdrun用单个.tpr文件(+minim.mdp)作为输入。要产生.tpr文件,必须通过grompp程序。
# grompp –f minim.mdp – –p –o input.tpr
ok, 现在运行输入文件input.tpr已经产生,需要mdrun来完成能量最小化的过程,该程序以input.tpr作为输入文件,产生一个轨迹文件,能量最小的结构文件和一个描述每步所有能量文件:
# mdrun –nice 0 –v –s input.tpr – – –e mini.edr
这里的-nice 0指定了进程的优先级为最高,-v就是verbose之意,我们在前面的实验中也经常接触到,就不跟大家多说了。能量最小化的过程需要一点时间,你可以停下来喝点茶,当然了,这取决于你所
用的cpu和计算机的负载。这里产生的轨迹文件并不重要,但是产生的则作为下一步分子动力学模拟的输入文件。
在这个能量最小化的过程中,势能呈下降的趋势,我们可以用程序g_energy来绘制出能量随时间变化趋势的图:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论