GROMACS是用于研究
生物分子体系的
分子动力学程序包,产品具有计算功能更强大的优点。
外文讲解
It is primarily designed for biochemical molecules like proteins and lipids that have a lot of complicated bonded interactions, but since GROMACS is extremely fast at calculating the nonbonded interactions (that usually dominate simulations) many groups are also using it for research on non-biological systems, e.g. polymers.
GROMACS supports all the usual algorithms you expect from a modern molecular dynamics implementation, (check the online reference or manual for details), but there are also quite a few features that make it stand out from the competition:
GROMACS provides extremely high performance compared to all other programs. A lot of algorithmic optimizations have been introduced in the code; we have for instance extracted the calculation of the virial from the innermost loops over pairwise interactions, and we use our own software routines to calculate the inverse square root. The innermost loops are generated automatically in either C or Fortran at compile time, with optimizations adopted to your architecture. Assembly loops using SSE and 3DNow! multimedia instructions are provided for
x86 processors, resulting in exceptional performance on
inexpensive PC workstations. For Pentium IV processors there are even
SSE2 double precision assembly loops, and on Power PC G4 and later processors we provide Altivec loops both for Linux and
Mac OS X. Gromacs is normally 3-10 timesfaster than any other program; check the article in Journal of Molecular Modeling (reference can be found under resources) for a comparison benchmark.
GROMACS is user-friendly, with topologies and parameter files written in clear text format. There is a lot of consistency checking, and clear error messages are issued when something is wrong. Since the C preprocessor is used, you can have conditional parts in your topologies and include other files. You can even compress most files and GROMACS will automatically pipe them through gzip upon reading.
There is no scripting language - all programs use a simple interface with command line options for input and output files. You can always get help on the options by using the -h option, or use the extensive manuals provided free of charge in electronic or paper format. There is also an integrated graphical user interface available for all programs.
As the simulation is proceeding, GROMACS will continuously tell you how far it has come, and what time and date it expects to be finished.
Both run input files and trajectories are independent of hardware endian and can thus be read by any version GROMACS, even if it was compiled using a different floating-point precision. All files from GROMACS 2.0 can further be used in the new version 3!
GROMACS can write coordinates using lossy compression, which provides a very compact way of storing trajectory data. The accuracy can be selected by the user.
GROMACS comes with a large selection of flexible tools for trajectory analysis - you won't have to write any code to perform routine analyses. The output is further provided in the form of finished Xmgr/Grace graphs, with axis labels, legends, etc. already in place!
A basic trajectory viewer that only requires standard X libraries is
included, and several external visualization tools can read the GROMACS file formats.
GROMACS can be run in parallel, using standard MPI communication.
GROMACS contains several state-of-the-art algorithms that make it possible to extend the time steps is simulations significantly, and thereby further enhance performance without sacrificing accuracy or detail.
The package includes a fully automated topology builder for proteins, even multimeric structures. Building blocks are available for the 20 standard aminoacid residues
as well as some modified ones, the 4 nucleotide and 4 deoxinucleotide resides, several sugars and lipids, and some special groups like hemes and several small molecules.
There is ongoing development to extend GROMACS with interfaces both to Quantum Chemistry and Bioinformatics/databases.
GROMACS is Free Software, available under the GNU General Public License.
定义介绍
它可以用
分子动力学、随机动力学或者
路径积分方法模拟溶液或
晶体中的任意分子,进行分子能量的最小化,分析
构象等。它的模拟
程序包包含GROMACS
力场(
蛋白质、
核苷酸、糖等),研究的范围可以包括玻璃和液晶、到聚合物、晶体和
生物分子溶液。GROMACS是一个功能强大的
分子动力学的模拟软件,其在模拟大量分子系统的牛顿运动方面具有极大的优势。
GROMACS支持几乎所有当前流行的
分子模拟软件的算法,而且与同类软件相比,它还具有一些特有的优势:
(1) GROMACS进行了大量的算法的优化,使其计算功能更强大。例如:在计算矩阵的逆时,算法的
内循环会根据自身系统的特点
自动选择由C语言或Fortran来编译。GROMACS中对Altivec loops的计算,无论是在
Linux还是MacOSX.系统上,它都要比其它软件快3-10倍,而且GROMACS提高计算速度的同时也保证了计算精度。
(2) GROMACS具有友好的
用户界面,拓扑文件和参数文件都以文档的形式给出。在程序运行过程中,并不用输入脚本注释语言。所有GROMACS的操作都是通过简单的
命令行操作进行的。而且运行的过程是分步的,随时可以检查模拟的正确性和可行性,可以减少时间上的浪费。
(3) GRMACS操作简单,功能丰富,而且对于初学者来说易于上手。而且可以通过详细的免费使用手册,用户可以得到更多的信息。
(4) 在模拟运行的过程中,GROMACS会不断报告
用户程序的
运算速度和进程。
(5) GROMACS具有良好的
兼容性。
输入文件和输出的轨迹文件的格式都是独立于硬件的。
(6) GROMACS能通过
二进制文件来写入坐标,这样就提供了一个
压缩性很强的轨迹
数据存储方法,压缩方式的精度可以由用户来选择。
(7) GROMACS还为轨迹分析提供了大量的
辅助工具,用户不必再为
常规分析编写任何程序。GROMACS还提供了轨迹的可视程序,而且许多
可视化工具都可以显示。
(8) GROMACS允许并行运算,使用标准的
MPI通讯。
(9) GROMACS程序包中包括各种常见的
蛋白质和核酸的拓扑结构。包括20种标准的
氨基酸以及其变异体,4种
核苷和4种
脱氧核苷,以及糖类和
脂类。
GROMACS的运行过程,主要由一系列的文件和命令组成。GROMACS一般的模拟过程可以分成以下三个阶段:
(1) 前
处理过程:生成
模拟对象的坐标文件、拓扑结构文件以及平衡参数及其
外力作用参数等文件。
(2) 模拟过程:首先要对系统进行能量最小化,避免结构的不合理而在模拟中出现错误;然后是对系统升温过程,先给系统的各个原子以Boltzmen分布
初速度,再模拟较短的时间以达到初步的平衡;最后进行真正的
分子动力学模拟,即
平衡过程。此过程一般
时间步长为1fs,
运行时间在ns量级,以保证
模拟系统尽可能找到势能的最低点。当然,对于其他的操作,如施加外力(模拟
AFM加力)需要在平衡之后进行。在MD模拟的过程中,用户可以运用配套的可视化软件,如
VMD等随时观测模拟的过程及系统的状态。
(3) 后处理过程:MD模拟结束后,GROMACS会产生一系列文件,如.pdo文件(
受力分析文件)、.trr文件(模拟过程结果文件)、.edr文件(能量文件)等。同时,GROMACS本身还提供了多种
分析程序,可以对这些文件进行分析,可以得到分子体系的各种信息。
安装流程
(1) 解压缩fftw,lam-mpi,gromacs源码
tar -zxvf fftw-3.1.2.tar.gz
tar –zxvf gromacs-3.3.1.tar.gz
tar -zxvf lam-7.1.3.
tar.gz(2) 编译lam-mpi
cd lam-7.1.3 ./
configuresshmake
make install
注:--without-fc是不编译mpif77,可以去掉
(3) 添加mpi环境变量
export PATH=:/home/lam-7.1.3/bin ( append to
.bashrc)
cd fftw-3.1.2
./configure --
enable-float --enable-mpi --prefix=/home/fftw-3.1.2
make
make install
make distclean
./configure --
disable-float --enable-mpi --prefix=/home/fftw-3.1.2
(3) 设置fftw环境变量
export CPPFLAGS=-I/home/fftw-3.1.2/include
export LDFLAGS=-L/home/fftw-3.1.2/lib
(4) 编译gromacs
cd gromacs-3.3.1 ./configure --prefix=/home/gromacs-3.3.1 --enable-mpi
make
make install
make distclean
./configure --prefix=/home/gromacs-3.3.1 --program-suffix=_d --enable-mpi --disable-float
export PATH=:/home/gromacs-3.3.1/bin ( append to .bashrc)
(6) 编译gromacs源包里的其它文件(可选)
make contrib 注:这步可以省去
update: gromacs-4.0,fftw-3.2.1,lam7.1.4与上面的方法完全相同,只需更换目录即可。
模拟步骤
Below is presented a generalised procedure for performing a simulation. The exact steps and processes involved will vary depending on exactly what is being attempted. Use as a general guide only!
1. Clearly identify the property / phenomena of interest to be studied by performing the simulation.
2.Select the appropriate tools to be able to perform the simulation and observe the property/phenomena of interest. It is important to read and
familiarise yourself with publications by other researchers on similar systems. Tools include: - software to perform the simulation with, consideration of force field may influence this decision.- force field which describes how the atoms / particles within the system interact with each other. Select one that is appropriate for the system being studied and the property/phenomena of interest. Very important and non-trivial step!
3.Obtain/generate the initial coordinate file for each molecule to be placed within the system.
4.Generate the raw starting structure for the system by placing the molecules within the coordinate file as appropriate. Molecules may be specifically placed or arranged randomly.
5.Obtain/generate the topology file for the system,
using (for example) pdb2gmx, PRODRG or your favourite text editor in concert with chapter 5 of the GROMACS Manual.
6.Describe a simulation box (e.g. using editconf) whose size is appropriate for the eventual density you would like, fill it with solvent (e.g. using genbox), and add any counter-ions needed to neutralize the system (e.g. using grompp and genion). In these steps you may need to edit your topology file to stay current with your coordinate file.
7.Run an energy minimisation simulation on the system (using grompp and mdrun). This is required to sort out any bad starting structures caused during generation of the system, which may cause the production simulation to crash.
8.Select the appropriate simulation parameters for the equilibration simulation (defined in .mdp file). You need to be consistent with how force field was derived. You may need to simulate at NVT with position restraints on your solvent and/or solute to get the T almost right, then relax to NPT to fix the density, then move further (if needed) to reach your production simulation ensemble (e.g. NVT, NVE).
9.Run the equilibration simulation for sufficient time
so that the system relaxes sufficiently to allow the production run to be commenced (using grompp and mdrun, then g_energy and trajectory visualisation tools).
10.Select the appropriate simulation parameters for the production simulation (defined in .mdp file), in particular be careful not to re-generate the velocities. You still need to be consistent with how the force field was derived and how to measure the property / phenomena of interest.
11.Run the production simulation for sufficient time so that property / pheno-mena of interest can be observed in required detail (using grompp/tpbconv and mdrun).
12.Analyse / visualise the resulting trajectory and data files to obtain information on the property / phenomena of interest.