标题：GROMACS
简介
GROMACS是用于研究生物分子体系的分子动力学程序包。它可以用分子动力学、随机动力学或者路径积分方法模拟溶液或晶体中的任意分子，进行分子能量的最小化，分析构象等。它的模拟程序包包含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本身还提供了多种分析程序，可以对这些文件进行分析，可以得到分子体系的各种信息。 [2]
GROMACS安装流程
(1) 解压缩fftw，lam-mpi，gromacs源码[3]
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 ./configure --prefix=/home/lam-7.1.3 --without-fc --with-rsh="ssh-x"   
make 
make install 
注：--without-fc是不编译mpif77，可以去掉
(3) 添加mpi环境变量
export PATH=$PATH:/home/lam-7.1.3/bin ( append to .bashrc) 
(4) 编译fftw单双精度版
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 
(5) 设置gromacs环境变量
export PATH=$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.  [4]