GROMACS

最終更新日: May 14, 2018

GROMACS 概要

gromacs logo

GROMACS (GROningen MAchine for Chemical Simulations) は、ニュートンの運動方程式に基づく数百万の粒子を持つシステムの分子動力学をシミュレートするために使用される一般的なソフトウェアパッケージです。タンパク質、脂質、および様々な複雑な結合相互作用を有する核酸などの生化学分子に主に使用されます。非結合相互作用などの一般的なコンピューティングシミュレーションの効率を向上させるため、多くの研究者が非生物学的システム(ポリマーなど)の研究に使用しています。

現代の分子動力学で使用されるすべての一般的なアルゴリズムをサポートしており、そのコードは世界中の開発者によって維持されています。詳細については以下ををご覧ください。 公式ウェブサイト

前提事項

次の例では、クラスタ作成中に GROMACS ソフトウェアパッケージをインストールする必要があります。

SW-setup-GROMACS

Note: gromacs-gpu の例を実行するには、クラスタ作成中にコンピューティングノードの GPU シリーズインスタンスを選択する必要があります。でなければ、gromacs-gpu を実行することはできません。

また、ソフトウェアが依存する MPI ライブラリを選択する必要があります。

setup_mpi

GROMACS 例の実行

Note: GROMACS の例を実行する前に、まず前提条件を完了する必要があります。以下を参照してください。 ジョブの送信

GROMACS 例 1: 水中のリゾチーム

この例では、蛋白質(リゾチーム) とイオンを含む水槽内のシミュレーションシステムを設定するプロセスについて説明します。以下をご覧ください。 公式チュートリアル

アドレスダウンロード

クリックしてダウンロードしてください。 here

プロシージャ

  • Serial version$ ./serial_run.sh

  • Parallel version$ ./parallel_run.sh

GROMACS 例 2: 水分子の動き

この例では、一定の温度で一定の空間内の多数の水分子の動きをシミュレートします。GPU インスタンスが必要です。

プロシージャ

  • 環境変数を設定し、モジュール avail を実行して GROMACS ソフトウェアがインストールされているかどうかを確認します。
  1. $ export MODULEPATH=/opt/ehpcmodulefiles/ # モジュールコマンドで必要な環境変数
  2. $ module avail
  3. ------------------------------ /opt/ehpcmodulefiles -------------------------------------
  4. gromacs-gpu/2016.3 openmpi/1.10.7
  • モジュールロードを実行して GROMACS と OpenMPI をロードします。
  1. $ module load openmpi
  2. $ module load gromacs-gpu
  3. $ which gmx_mpi
  4. /opt/gromacs-gpu/2016.3/bin/gmx_mpi
  • 水の例をダウンロードします。

現在のディレクトリが現在のユーザーの $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 ジョブを提出して水の例を実行します。

    • 高コンフィグレーションコンピューティングノードの PBS ジョブスクリプト(> 32 CPU コア、デュアル GPU カード)

      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