GROMACS 是用于研究生物分子体系的分子动力学程序包。它可以用分子动力学、随机动力学或者路径积分方法模拟溶液或晶体中的任意分子,进行分子能量的最小化,分析构象等。它的模拟程序包包含 GROMACS 力场(蛋白质、核苷酸、糖等),研究的范围可以包括玻璃和液晶、到聚合物、晶体和生物分子溶液。 GROMACS 是一个功能强大的分子动力学的模拟软件,其在模拟大量分子系统的牛顿运动方面具有极大的优势。
需要的编译环境为:
串行编译器:Intel Compiler / GNU Compiler
MPI编译器:mpich / openmpi(如果是MPI版本)
cmake
fftw
CUDA(如果是GPU版本)
plumed(如果开启plumed)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | tar -zxvf gromacs-5.1.4.tar.gz # 以5.1.4版本为例 cd gromacs-5.1.4 mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.1.4 \ -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \ -DGMX_DOUBLE=off \ -DGMX_FFT_LIBRARY=fftw3 \ -DFFTWF_LIBRARY="$HOME/fftw/lib/libfftw3f.a" \ -DFFTWF_INCLUDE_DIR="$HOME/fftw/include/" \ -DGMX_MPI=on \ -DGMX_GPU=off \ 2>&1 | tee cm.log make -j12 2>&1 | tee m.log make install 2>&1 | tee mi.log |
参数说明如下:
参数 | 含义 |
---|---|
-DCMAKE_INSTALL_PREFIX | 安装目录 |
-DCMAKE_C_COMPILER=icc | 使用 icc 编译 c |
-DCMAKE_CXX_COMPILER=icpc | 使用 icpc 编译 cpp |
-DGMX_DOUBLE=off | 关闭double,编译单精度版本 |
-DGMX_FFT_LIBRARY=fftw3 | 使用 fftw3 |
-DFFTWF_LIBRARY=”$HOME/fftw/lib/libfftw3f.a” | fftw库,请改为自己的安装目录 |
-DFFTWF_INCLUDE_DIR=”$HOME/fftw/include” | fftw的头文件目录,请改为自己的安装目录 |
-DGMX_MPI=on | 开启 MPI 支持 |
-DGMX_GPU=off | 关闭 GPU 支持 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | tar -zxvf gromacs-5.1.4.tar.gz cd gromacs-5.1.4 mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.1.4 \ -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \ -DGMX_DOUBLE=on \ -DGMX_FFT_LIBRARY=fftw3 \ -DFFTW_LIBRARY="$HOME/fftw/lib/libfftw3.a" \ -DFFTW_INCLUDE_DIR="$HOME/fftw/include/" \ -DGMX_MPI=on \ -DGMX_GPU=off \ 2>&1 | tee cm.log make -j12 2>&1 | tee m.log make install 2>&1 | tee mi.log |
在执行cmake的时候,修改一下参数,增加一个参数即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | tar -zxvf gromacs-5.1.4.tar.gz cd gromacs-5.1.4 mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.1.4 \ -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \ -DGMX_DOUBLE=off \ -DGMX_FFT_LIBRARY=fftw3 \ -DFFTW_LIBRARY="$HOME/fftw/lib/libfftw3.a" \ -DFFTW_INCLUDE_DIR="$HOME/fftw/include/" \ -DGMX_MPI=on \ -DGMX_GPU=on \ -DCUDA_TOOLKIT_ROOT_DIR=$HOME/software/cuda \ 2>&1 | tee cm.log make -j12 2>&1 | tee m.log make install 2>&1 | tee mi.log |
PLUMED 是分子系统中自由能计算的开源库,与一些最流行的分子动力学引擎一起工作。可以使用诸如元动力学,伞形采样和基于 Jarzynski 方程的转向 MD 之类的现有技术来执行自由能计算作为许多次序参数的函数,特别关注生物学问题。
官网地址:传送门。
编译安装方法如下:
1 2 3 4 5 | # 设置编译c/c++的环境 source /opt/intel/composer_xe_2013.0.079/bin/iccvars.sh intel64 # 设置mpi编译环境 export PATH=/usr/local/mpi-intel2013/bin:$PATH export LD_LIBRARY_PATH=/usr/local/mpi-intel2013/lib:$LD_LIBRARY_PATH |
1 2 3 4 5 6 7 8 9 | tar -zxvf plumed2-2.3.0-tar.gz cd plumed2-2.3.0 time CC=icc FC=ifort ./configure \ --prefix=$HOME/software/plumed2/2.3.0-icc13-mpich3 \ 2>&1 | tee c.log # real 3m18.979s time make -j 12 2>&1 | tee m.log # real 17m9.607s time make install 2>&1| tee mi.log |
1 2 3 | export PLUMED2_HOME=$HOME/software/plumed2/2.3.0-icc13-mpich3 export PATH=$PLUMED2_HOME/bin:$PATH export LD_LIBRARY_PATH=$PLUMED2_HOME/lib:$LD_LIBRARY_PATH |
1 2 | tar -zxvf gromacs-5.1.4.tar.gz cd gromacs-5.1.4 |
输入:
1 | plumed patch -p |
然后依据gromacs的版本选择编号,gromacs-5.1.4选择5)即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | PLUMED patching tool 1) amber14 4) gromacs-5.0.77) namd-2.8 2) gromacs-2016.1 5) gromacs-5.1.48) namd-2.9 3) gromacs-4.5.7 6) lammps-6Apr139) qespresso-5.0.2 Choose the best matching code/version:5 MD engine: gromacs-5.1.4 PLUMED location: $HOME/software/plumed2/2.3.0-icc13-mpich3.0.4/lib/plumed ... patching file ./src/programs/mdrun/mdrun.cpp patching file ./src/programs/mdrun/repl_ex.cpp patching file ./src/programs/mdrun/repl_ex.h patching file ./src/programs/mdrun/runner.cpp PLUMED is compiled with MPI support so you can configure gromacs-5.1.4 with MPI |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.1.4-plumed2-2.3.0-icc13-mpich3.0.4 \ -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \ -DGMX_DOUBLE=off \ -DGMX_OPENMP=ON \ -DGMX_FFT_LIBRARY=fftw3 \ -DFFTWF_LIBRARY="$HOME/fftw/lib/libfftw3f.a" \ -DFFTWF_INCLUDE_DIR="$HOME/fftw/include/" \ -DGMX_MPI=on \ -DGMX_GPU=off \ 2>&1 | tee cm.log make -j12 2>&1 | tee m.log make install 2>&1 | tee mi.log |
参数 | 含义 |
---|---|
-DCMAKE_INSTALL_PREFIX | 安装目录 |
-DCMAKE_C_COMPILER=icc | 使用 icc 编译 c |
-DCMAKE_CXX_COMPILER=icpc | 使用 icpc 编译 cpp |
-DGMX_DOUBLE=off | 关闭double,编译单精度版本 |
-DGMX_OPENMP=ON | 开启openmp的支持 |
-DGMX_FFT_LIBRARY=fftw3 | 使用 fftw3 |
-DFFTWF_LIBRARY=”$HOME/fftw/lib/libfftw3f.a” | fftw库,请改为自己的 |
-DFFTWF_INCLUDE_DIR=”$HOME/fftw334/include/“ | fftw的头文件目录,请改为自己的 |
-DGMX_MPI=on | 开启 MPI 支持 |
-DGMX_GPU=off | 关闭 GPU 支持 |
1 | source$HOME/software/gromacs-5.1.4/bin/GMXRC |
执行这个脚本,就可以配置好环境了。
下载一个官方算例
ftp://ftp.gromacs.org/pub/benchmarks/ADH_bench_systems.tar.gz
1 2 3 4 5 | tar xvf ADH_bench_systems.tar.gz # 解压缩 cd adh_cubic # 选择一个算例 grompp_mpi -f rf_verlet.mdp # 预处理 yhrun -n24 -pdebug mdrun_mpi # 并行执行mpi版 yhrun -n1 -pdebug mdrun_mpi # 执行gpu版 |