全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网

GROMACS

更新时间:2017-08-31 03:47:41

GROMACS 简介

gromacs logo

GROMACS(GROningen MAchine for Chemical Simulations)是一款通用软件包,用于对具有数百万颗粒子的系统进行基于牛顿运动方程的分子动力学模拟。GROMACS主要用于生物化学分子,如蛋白质,脂质等具有多种复杂键合相互作用的核酸。由于GROMACS在计算典型的主流模拟应用如非键合相互作用非常高效,许多研究人员将其用于非生物系统如聚合物的研究。

GROMACS支持从现代分子动力学实现中预期的所有常见算法,其代码由世界各地的开发人员维护。详情可参见官网www.gromacs.org 。

准备工作

运行以下示例需要在创建集群时选择安装GROMACS相关软件包。

SW-setup-GROMACS

:若需运行gromacs-gpu算例,在创建集群时必须使用GPU系列机型作为计算节点,否则集群创建或gromacs-gpu无法按照以下指引运行。

同时还需选择所依赖的相关MPI库

setup_mpi

运行算例

注意:运行算例前务必做好提交作业中准备工作部分的操作。

GROMACS 算例1:水中的溶菌酶(Lysozyme in Water)

lysozyme

本样例为用户设置一个蛋白质(lysozyme)加上离子在水盒子里的模拟过程。

官方教程链接:http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin/gmx-tutorials/lysozyme/index.html

非官方中文翻译链接:http://jerkwin.github.io/GMX/GMXtut-1/

下载地址

http://public-ehs.oss-cn-hangzhou.aliyuncs.com/packages/Lysozyme.tar.gz

运行步骤

a. 串行版本$ ./serial_run.sh

b. 并行版本$ ./parallel_run.sh

GROMACS算例2:水分子运动

本算例为模拟大量水分子在给定空间、温度内的运动过程,以下运行实例为GPU加速版。

运行步骤

  • 设置环境变量,运行module avail 查看是否安装GROMACS 软件。
  1. $ export MODULEPATH=/opt/ehpcmodulefiles/ # module命令依赖的环境变量
  2. $ module avail
  3. ------------------------------ /opt/ehpcmodulefiles -------------------------------------
  4. gromacs-gpu/2016.3 openmpi/1.10.7
  • 运行 module load 加载 GROMACS,OpenMPI。
  1. $ module load openmpi
  2. $ module load gromacs-gpu
  3. $ which gmx_mpi
  4. /opt/gromacs-gpu/2016.3/bin/gmx_mpi
  • 下载water算例

假设当前目录在当前用户的$HOME下面

  1. $ pwd
  2. /home/<current_user_name>
  3. $ wget http://public-ehs.oss-cn-hangzhou.aliyuncs.com/packages/water_GMX50_bare.tar.gz
  4. $ tar xzvf water_GMX50_bare.tar.gz
  • 提交PBS作业运行water算例。

    • 高配置计算节点(>32 CPU核,双GPU卡)的PBS作业脚本
  1. $ cat > gromacs_single_node.pbs
  2. #!/bin/sh
  3. #PBS -l ncpus=32,mem=4gb
  4. #PBS -l walltime=00:20:00
  5. #PBS -o gromacs_gpu_pbs.log
  6. #PBS -j oe
  7. cd /home/water-cut1.0_GMX50_bare/1536
  8. /opt/gromacs-gpu/2016.3/bin/gmx_mpi grompp -f pme.mdp -c conf.gro -p topol.top -o topol_pme.tpr
  9. /opt/openmpi/1.10.7/bin/mpirun -np 4 /opt/gromacs-gpu/2016.3/bin/gmx_mpi mdrun -ntomp 8 -resethway -noconfout -nsteps 8000 -v -pin on -nb gpu -gpu_id 0011 -s topol_pme.tpr
  • 较低配置节点的PBS作业脚本
  1. $ cat > gromacs_single_node.pbs
  2. #!/bin/sh
  3. #PBS -l ncpus=4,mem=4gb
  4. #PBS -l walltime=00:20:00
  5. #PBS -o gromacs_gpu_pbs.log
  6. #PBS -j oe
  7. cd /home/water-cut1.0_GMX50_bare/1536
  8. /opt/gromacs-gpu/2016.3/bin/gmx_mpi grompp -f pme.mdp -c conf.gro -p topol.top -o topol_pme.tpr
  9. /opt/openmpi/1.10.7/bin/mpirun -np 1 /opt/gromacs-gpu/2016.3/bin/gmx_mpi mdrun -ntomp 4 -resethway -noconfout -nsteps 8000 -v -pin on -nb gpu -s topol_pme.tpr
  • 通过PBS作业脚本提交作业
  1. $ qsub gromacs_single_node.pbs
  2. 1.iZ2zedptfv8e8dc9c2zt0tZ
  3. $ qstat
  4. Req'd Req'd Elap
  5. Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time
  6. --------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
  7. 1.iZ2zedptfv8e8 mingying workq gromacs_si 20775 1 4 4gb 00:20 R 00:03
本文导读目录