SCLS計算機システム講習会

GROMACS実習

独立行政法人理化学研究所
HPCI計算生命科学推進プログラム
チーム員

波内 良樹

yoshiki.namiuchi@riken.jp

実習内容について

この実習は、下記のGROMACS チュートリアルを元に構成しています。
GROMACS Tutorial

Lysozyme in Water
Justin Lemkul
Department of Biochemistry, Virginia Tech

http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin/gmx-tutorials/lysozyme/

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

2

SCLS計算機システムのGROMACSSCLS計算機システムにインストールされているGROMACSGROMACS 4.5.6
• 倍精度
• MPI

GROMACS 4.6.2
• 倍精度
• MPI
• OpenMP※ GROMACSのコマンド名に、サフィックス「_mpi_d」が付きます。
※ すべてのコマンドで並列処理が可能な訳ではありません。
(pdb2gmxは逐次、mdrunはMPI並列、etc...)GROMACSを使用するためにジョブスクリプトに以下の記述を追加 (環境変数の設定)【GROMACS 4.5.6】
module load Gromacs/4.5.6【GROMACS 4.6.2】
module load Gromacs/4.6.2

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

3

実習のながれ
PDB(Protein Data Bank)で公開されているニワトリ卵白リゾチーム(1AKI)を使用
1AKI

エネルギー極小化

トポロジーの生成

Production MD
シミュレーション
ボックスの定義

平衡化(NVTアンサンブル)
解析

系の電荷中和平衡化(NPTアンサンブル)

PDB(Protein Data Bank) … http://www.rcsb.org/
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

4

GROMACSコマンドの実行のながれ
1AKI_noHOH.pdb
トポロジーの生成

pdb2gmx
processed.gro

topol.top

solv_ion.gro

topol.top

gromppem.tpreditconf

mdrun

MPI

newbox.gro

em.grotopol.top

シミュレーション
ボックスの定義

genboxsolv.gro

topol.top

gromppions.tpr

topol.top

genion系の電荷中和topol.top

平衡化(NVTアンサンブル)

mdrun

MPI

nvt.grotopol.top

md.trr

md.tprProduction MD

mdrun

MPI

md.edrVMD

npt.tpr

平衡化(NPTアンサンブル)
MPI

g_xxx
g_energy
g_rms
g_gyrate:

gromppmdrun

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

gromppgromppnvt.tprtopol.top

npt.groエネルギー極小化※ 主なファイルのみ記載※ SCLS計算機システムのGROMACSのコマンド名には、 サフィックス「_mpi_d」が付きます。

5

実習の準備 (1)
実習で使用するGROMACSGROMACS 4.6.2

実習環境の準備[user1@scls ~]$ cp -r ~namiuchi/lec/lec_gromacs .
[user1@scls ~]$ cd lec_gromacs[user1@scls lec_gromacs]$ ls -lF

実習用ファイルを格納したディレクトリlec_gromacsをカレントディレクトリにコピー

カレントディレクトリを、コピーしたlec_gromacsディレクトリに変更
カレントディレクトリの内容を表示

total 4drwxrwxr-x 2 user1 group1

62 Aug

1 15:55 full/

事前に用意した結果を格納しているディレクトリ

drwxrwxr-x 2 user1 group1

122 Aug

1 15:48 mdp/

MDパラメータファイルを格納しているディレクトリ

drwxrwxr-x 2 user1 group1

27 Jul 25 16:38 pdb/

drwxrwxr-x 2 user1 group1 4096 Aug

1 16:16 script/

PDBファイルを格納しているディレクトリ
ジョブスクリプトを格納しているディレクトリ

[user1@scls lec_gromacs]$

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

6

実習の準備 (2)
実習で使用するジョブタイプ
処理

ジョブタイプ処理

ジョブタイプトポロジーファイルの生成

会話型ジョブ

平衡化(NVTアンサンブル)

バッチジョブ

シミュレーション
ボックスの定義

会話型ジョブ

平衡化(NPTアンサンブル)

バッチジョブ系の電荷中和会話型ジョブ

Production MD

バッチジョブ

エネルギー極小化

バッチジョブ

解析 (g_energy等)

会話型ジョブ

注意点※ GROMACSコマンド実行時に、以下のメッセージが表示されます。
jwe1050i-w The hardware barrier couldn't be used and continues processing using the software barrier.
FX10に実装されているハードウェアバリア機能が利用できない場合に表示されます。(FLIB_FASTOMPをFALSEに設定しているため)動作に問題はありません。

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

7

会話型ジョブの開始と終了[user1@scls lec_gromacs]$ pjsub --interact –L “node=1” --mpi "proc=1"
会話型ジョブの投入[INFO] PJM 0000 pjsub Job 6282 submitted.
[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 6282 started.
[user1@a01-008 lec_gromacs]$ module load Gromacs/4.6.2
GROMACS環境変数の設定[user1@a01-008 lec_gromacs]$ export FLIB_FASTOMP=FALSE…
GROMACSコマンドの実行…
[user1@a01-008 lec_gromacs]$ exit
[INFO] PJM 0083 pjsub Interactive job 6282 completed.
[user1@scls lec_gromacs]$

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

会話型ジョブの終了

8

トポロジーの生成
topol.top(トポロジーファイル)

1AKI_noHOH.pdb

processed.gro

pdb2gmx(Protein Data Bankファイル)(構造ファイル)

posre.itp(位置拘束情報ファイル)$ pdb2gmx_mpi_d –f pdb/1AKI_noHOH.pdb –o processed.gro:-) G R O M A C S (-:…
Select the Force Field:
From '/usr/local/gromacs-4.6.2/share/gromacs/top':
15: OPLS-AA/L all-atom force field (2001 aminoacid dihedrals)
15

力場の指定

…
Select the Water Model:
5: SPC/E extended simple point charge
5

水モデルの指定…
Total charge 8.000 e
Writing topology

系の電荷

…

$

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

9

トポロジーの生成 [実行結果の確認]
トポロジーファイル$ less topol.top…
; Include forcefield parameters#include "oplsaa.ff/forcefield.itp"[ moleculetype ]; NameProtein_chain_A

nrexcl3[ atoms ]…
構造ファイル$ less processed.gro
LYSOZYME
1960
1LYS
N
1
1LYS
H1
2

3.537
3.612

2.234
2.288

-1.198-1.236…
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

10

トポロジーの生成 [実行結果の確認]

図1. processed.groをVMDで表示

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム11

シミュレーションボックスの定義
topol.top

topol.top(トポロジーファイル)

processed.gro(構造ファイル)(トポロジーファイル)

newbox.gro

editconf

genbox(構造ファイル)

solv.gro(構造ファイル)$ editconf_mpi_d -f processed.gro –c -bt cubic -d 1.0 -o newbox.gro:-) G R O M A C S (-:…

ボックスの形状 = 立方体
ボックスと溶質の最短距離 = 1.0nm

new center: 3.505
new box vectors : 7.010
new box angles : 90.00
new box volume : 344.48

genbox

3.505
7.010
90.00

3.505 (nm)7.010 (nm)90.00 (degrees)(nm^3)$ genbox_mpi_d -cp newbox.gro -cs spc216.gro -p topol.top -o solv.gro:-) G R O M A C S (-:溶媒 = 水 (spc216.gro)…
Grid: 16 x 16 x 16 cells
Adding line for 10832 solvent molecules to topology file (topol.top)$

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム12

シミュレーションボックスの定義 [実行結果の確認]
トポロジーファイル$ diff ¥#topol.top.1# topol.top
18402c18402< LYSOZYME--> LYSOZYME in water
18406a18407
> SOL
10832
溶媒(水)を追加$ less topol.top:18402G

構造ファイル$ ls –l processed.gro newbox.gro solv.gro-rw-rw-r-- 1 user1 group1
88246 Jul 11 17:22 newbox.gro-rw-rw-r-- 1 user1 group1
88246 Jul 11 17:00 processed.gro-rw-rw-r-- 1 user1 group1 1550566 Jul 11 17:23 solv.gro$【editconf】
processed.gro → newbox.gro … ボックスの中心になるように座標を更新【genbox】
newbox.gro → solv.gro … 水を追加
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

13

シミュレーションボックスの定義 [実行結果の確認]

図2. solv.groをVMDで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム14

系の電荷中和
topol.top

topol.top(トポロジーファイル)(トポロジーファイル)

ions.tpr

solv.gro(構造ファイル)

gromppions.mdp(MDパラメータファイル)(実行入力ファイル)

genionmdout.mdp

solv_ions.gro(構造ファイル)

genion.log(MDパラメータファイル)(ログファイル)$ grompp_mpi_d -f mdp/ions.mdp -c solv.gro -p topol.top -o ions.tpr:-) G R O M A C S (-:…
Calculating fourier grid dimensions for X Y Z
Using a fourier grid of 60x60x60, spacing 0.117 0.117 0.117
This run will generate roughly 3 Mb of data
$ mpiexec –stdin script/genion_in.txt genion_mpi_d -s ions.tpr -p topol.top-nname CL -nn 8 -o solv_ions.gro:-) G R O M A C S (-:…
Select a continuous group of solvent molecules
Group
13 (
SOL) has 32496 elements
Select a group: 13

イオンと入れ替える対象として、溶媒(水)を指定(script/genion_in.txtで13を指定)

ジョブ実行のエラーメッセージが表示されるが、処理は完了$

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム15

系の電荷中和 [実行結果の確認]
トポロジーファイル$ diff ¥#topol.top.2# topol.top
18407c18407,18408
< SOL
10832
--> SOL10824
水分子を8個削除して、CLを8個追加> CL
8$ less topol.top:18407G

構造ファイル$ less solv_ions.gro:G…
10953SOL
10954CL
10955CL
10956CL
10957CL
10958CL10959CL10960CL10961CL

HW234432
CL34433
CL34434
CL34435
CL34436
CL34437
CL34438
CL34439
CL34440

5.585
0.980
0.865
2.476
2.674
5.182
6.302
6.356
6.452

6.577
2.978
4.072
1.984
5.310
0.735
0.565
3.192
4.178

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

5.918
0.295
3.919
1.979
0.687
0.728
1.708
2.163
0.642

水分子を8個削除して、CLを8個追加

16系の電荷中和 [実行結果の確認]

図3. solv_ions.groをVMDで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム17

エネルギー極小化 [grompp]
em.edrtopol.top(エネルギーファイル)(トポロジーファイル)

em.grosolv_ions.gro(構造ファイル)(構造ファイル)

em.tprgrompp(実行入力ファイル)minim.mdp

mdout.mdp(MDパラメータファイル)(MDパラメータファイル)

mdrun

em.log(ログファイル)

em.trr(トラジェクトリファイル)

MDパラメータファイル[user1@scls lec_gromacs]$ less mdp/minim.mdp

integrator = steep

最急降下法 (Steepest descent)emtol = 1000.0

Maximum forceが1000 KJ/mol/nmを下回ったら終了

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム18

エネルギー極小化 [grompp]
ジョブスクリプト (逐次ジョブ)[user1@scls lec_gromacs]$ cat script/grompp_minim.sh#!/bin/sh#------ pjsub options ------##PJM -L "rscgrp=small"
リソースグループ「small」#PJM -L "node=1"
使用ノード数「1」
最大経過時間「10分」#PJM -L "elapse=10:00"
標準エラー出力を標準出力に向ける#PJM -j#------ Program Execution --------#
module load Gromacs/4.6.2
GROMACS環境変数の設定

export FLIB_FASTOMP=FALSE
grompp_mpi_d -f mdp/minim.mdp -c solv_ions.gro -p topol.top -o em.tpr

gromppの実行

ジョブの投入と状態確認[user1@scls lec_gromacs]$ pjsub script/grompp_minim.sh[INFO] PJM 0000 pjsub Job 6293 submitted.
[user1@scls lec_gromacs]$ pjstat

ジョブ実行結果[user1@scls lec_gromacs]$ less grompp_minim.sh.oXXXX

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

19

エネルギー極小化 [mdrun]em.edrtopol.top(エネルギーファイル)(トポロジーファイル)

em.grosolv_ions.gro(構造ファイル)(構造ファイル)

gromppem.tpr(実行入力ファイル)minim.mdp(MDパラメータファイル)

mdout.mdp(MDパラメータファイル)

mdrun

em.log(ログファイル)

em.trr(トラジェクトリファイル)

ジョブスクリプト (MPI並列ジョブ)[user1@scls lec_gromacs]$ cat script/mdrun_minim.sh#!/bin/sh#------ pjsub options ------##PJM -L "rscgrp=small"
リソースグループ「small」#PJM -L "node=1"
使用ノード数「1」プロセス数「16」#PJM --mpi "proc=16"
最大経過時間「10分」#PJM -L "elapse=10:00"
標準エラー出力を標準出力に向ける#PJM -j#------ Program Execution --------#
module load Gromacs/4.6.2
GROMACS環境変数の設定

export FLIB_FASTOMP=FALSE
mpiexec mdrun_mpi_d -v -deffnm em

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

mdrunの実行

20

エネルギー極小化 [mdrun]
ジョブの投入と状態確認[user1@scls grolec]$ pjsub script/mdrun_minim.sh[INFO] PJM 0000 pjsub Job 6293 submitted.
[user1@scls grolec]$ pjstat
ACCEPT QUEUED
0
0
s
0
0
JOB_ID
6293

STGIN
0
0

READY RUNING RUNOUT STGOUT
0
1
0
0
0
1
0
0

JOB_NAME
MD ST USER
mdrun_mini NM RUN user1

START_DATE
07/26 17:37:18

HOLD
0
0

ERROR
0
0

TOTAL
1
1

ELAPSE_LIM NODE_REQUIRE
0000:10:00 1

ジョブ実行結果[user1@scls lec_gromacs]$ less em.log…
Steepest Descents converged to Fmax < 1000 in 884 steps
Potential Energy = -6.03680902877939e+05
Maximum force= 9.66569539375539e+02 on atom 736
Norm of force= 2.11987691589411e+01

極小化の結果…
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

21

エネルギー極小化 [実行結果の解析]

em.edr(エネルギーファイル)g_energy

potential.xvg(抽出データファイル)[user1@scls lec_gromacs]$ pjsub --interact[INFO] PJM 0000 pjsub Job 6282 submitted.
[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 6282 started.
[user1@a01-008 lec_gromacs]$ module load Gromacs/4.6.2[user1@a01-008 lec_gromacs]$ g_energy_mpi_d –f em.edr –o potential.xvg:-) G R O M A C S (-:------------------------------------------------------------------1 Bond
2 Angle3 Proper-Dih.
4 Ryckaert-Bell.
5 LJ-14
6 Coulomb-14
7 LJ-(SR)
8 Coulomb-(SR)9 Coul.-recip.
10 Potential
11 Pressure
12 Vir-XX
13 Vir-XY
14 Vir-XZ
15 Vir-YX
16 Vir-YY
17 Vir-YZ
18 Vir-ZX
19 Vir-ZY
20 Vir-ZZ
21 Pres-XX
22 Pres-XY
23 Pres-XZ
24 Pres-YX
25 Pres-YY
26 Pres-YZ
27 Pres-ZX
28 Pres-ZY
29 Pres-ZZ
30 #Surf*SurfTen
31 Mu-X
32 Mu-Y
33 Mu-Z
34 T-rest
10 0
10番のPotentialを選択、0は入力終了[user1@a01-008 lec_gromacs]$ exit

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

22

エネルギー極小化 [実行結果の解析]

グラフ1. potential.xvgをgnuplotで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム23

平衡化 - NVTアンサンブル [grompp]
nvt.edr(エネルギーファイル)

topol.top

nvt.gro(トポロジーファイル)(構造ファイル)

em.gro(構造ファイル)

nvt.tprgrompp(実行入力ファイル)

nvt.mdp

mdrun

mdout.mdp(MDパラメータファイル)(MDパラメータファイル)

nvt.log(ログファイル)

nvt.trr(トラジェクトリファイル)

nvt.cpt(チェックポイントファイル)

MDパラメータファイル[user1@scls lec_gromacs]$ less mdp/nvt.mdp

tcoupl = V-rescale

速度スケーリング法

pcoupl = no

Pressure couplingはなし

gen_vel = yes

初期速度を生成nsteps = 5000

実行時間は10ps (2fs x 5000)※実習のために短く設定しています

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム24

平衡化 - NVTアンサンブル [grompp]
ジョブスクリプト (逐次ジョブ)[user1@scls lec_gromacs]$ cat script/grompp_nvt.sh#!/bin/sh#------ pjsub option --------#
リソースグループ「small」#PJM -L "rscgrp=small"
使用ノード数「1」#PJM -L "node=1"
最大経過時間「10分」#PJM -L "elapse=10:00"
標準エラー出力を標準出力に向ける#PJM -j#------ Program execution --------#
module load Gromacs/4.6.2
GROMACS環境変数の設定

export FLIB_FASTOMP=FALSE
grompp_mpi_d -f mdp/nvt.mdp -c em.gro -p topol.top -o nvt.tpr

gromppの実行

ジョブ投入[user1@scls grolec]$ pjsub script/grompp_nvt.sh[INFO] PJM 0000 pjsub Job 6293 submitted.
[user1@scls grolec]$ pjstat

ジョブ実行結果[user1@scls lec_gromacs]$ less grompp_nvt.sh.oXXXX

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム25

平衡化 - NVTアンサンブル [mdrun]
nvt.edr(エネルギーファイル)

topol.top

nvt.gro(トポロジーファイル)(構造ファイル)

em.gro(構造ファイル)

gromppnvt.tpr(実行入力ファイル)

nvt.mdp(MDパラメータファイル)

mdrun

mdout.mdp(MDパラメータファイル)

nvt.log(ログファイル)

nvt.trr(トラジェクトリファイル)

nvt.cpt(チェックポイントファイル)

ジョブスクリプト (MPI並列ジョブ)[user1@scls lec_gromacs]$ cat script/mdrun_nvt.sh#!/bin/sh#------ pjsub options ------##PJM -L "rscgrp=small"
リソースグループ「small」#PJM -L "node=2"
使用ノード数「2」プロセス数「32」#PJM --mpi "proc=32"
各ノードへのプロセスの割り振りの指定#PJM --mpi "rank-map-bychip"
最大経過時間「10分」#PJM -L "elapse=10:00"
標準エラー出力を標準出力に向ける#PJM -j#------ Program Execution ------#
module load Gromacs/4.6.2
GROMACS環境変数の設定

export FLIB_FASTOMP=FALSE
mpiexec mdrun_mpi_d -v -deffnm nvt
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

mdrunの実行

26

平衡化 - NVTアンサンブル [mdrun]
ジョブの投入と状態確認[user1@scls lec_gromacs]$ pjsub script/mdrun_nvt.sh[INFO] PJM 0000 pjsub Job 6293 submitted.
[user1@scls lec_gromacs]$ pjstat
ACCEPT QUEUED
0
0
s
0
0
JOB_ID
6293

STGIN
0
0

READY RUNING RUNOUT STGOUT
0
1
0
0
0
1
0
0

JOB_NAME
MD ST USER
mdrun_nvt. NM RUN user1

START_DATE
07/26 17:37:18

HOLD
0
0

ERROR
0
0

TOTAL
1
1

ELAPSE_LIM NODE_REQUIRE
0000:10:00 2

ジョブ実行結果[user1@scls lec_gromacs]$ less nvt.log…
Core t (s)Wall t (s)(%)
13805.400
575.7132398.0(ns/day)(hour/ns)
Performance:
15.008
1.599
Finished mdrun on node 0 Fri Jul 26 17:47:17 2013
Time:

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム27

平衡化 - NVTアンサンブル [実行結果の解析]

nvt.edr(エネルギーファイル)g_energy

temperature.xvg(抽出データファイル)[user1@scls lec_gromacs]$ pjsub --interact[INFO] PJM 0000 pjsub Job 6282 submitted.
[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 6282 started.
[user1@a01-008 lec_gromacs]$ module load Gromacs/4.6.2[user1@a01-008 lec_gromacs]$ g_energy_mpi_d –f nvt.edr –o temperature.xvg:-) G R O M A C S (-:------------------------------------------------------------------1 Angle
2 Proper-Dih.
3 Ryckaert-Bell.
4 LJ-14
5 Coulomb-14
6 LJ-(SR)7 Disper.-corr.
8 Coulomb-(SR)9 Coul.-recip.
10 Position-Rest. 11 Potential
12 Kinetic-En.
13 Total-Energy
14 Conserved-En.
15 Temperature
16 Pres.-DC
17 Pressure
18 Constr.-rmsd
19 Vir-XX
20 Vir-XY…
41 Lamb-non-Protein
15 0
15番のTemperatureを選択、0は入力終了[user1@a01-008 lec_gromacs]$ exit

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム28

平衡化 - NVTアンサンブル [実行結果の解析]

グラフ2. temperature.xvgをgnuplotで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム29

平衡化 - NPTアンサンブル [grompp]
npt.edr
topol.top(エネルギーファイル)(トポロジーファイル)

npt.gronvt.gro(構造ファイル)(構造ファイル)

nvt.cpt

gromppnpt.tpr(実行入力ファイル)(チェックポイントファイル)

mdout.mdp

npt.mdp(MDパラメータファイル)

mdrun

npt.log(ログファイル)

npt.trr(トラジェクトリファイル)

npt.cpt(MDパラメータファイル)(チェックポイントファイル)

MDパラメータファイル[user1@scls lec_gromacs]$ less mdp/npt.mdp

tcoupl = V-rescale

速度スケーリング法

pcoupl = Parrinello-Rahman

パリネロ・ラーマン法

continuation = yes

NVT平衡化から継続

gen_vel = no

速度は生成しない

nsteps = 3000

実行時間は6ps (2fs x 3000)※実習のために短く設定しています

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム30

平衡化 - NPTアンサンブル [grompp]
ジョブスクリプト (逐次ジョブ)[user1@scls lec_gromacs]$ cat script/grompp_npt.sh#!/bin/sh#------ pjsub options ------#
リソースグループ「small」#PJM -L "rscgrp=small"
使用ノード数「1」#PJM -L "node=1"
最大経過時間「10分」#PJM -L "elapse=10:00"
標準エラー出力を標準出力に向ける#PJM -j#------ Program Execution ------#
module load Gromacs/4.6.2
GROMACS環境変数の設定

export FLIB_FASTOMP=FALSE

gromppの実行※ nvt.gro, nvt.cptは、事前に用意したNVTの結果を使用します。

grompp_mpi_d -f mdp/npt.mdp -c full/nvt.gro -t full/nvt.cpt -p topol.top -o npt.tpr

ジョブ投入[user1@scls lec_gromacs]$ pjsub script/grompp_npt.sh[INFO] PJM 0000 pjsub Job 6293 submitted.
[user1@scls lec_gromacs]$ pjstat

ジョブ実行結果[user1@scls lec_gromacs]$ less grompp_npt.sh.oXXXX

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム31

平衡化 - NPTアンサンブル [mdrun]
npt.edr
topol.top(エネルギーファイル)(トポロジーファイル)

npt.gronvt.gro(構造ファイル)(構造ファイル)

nvt.cpt

gromppnpt.tpr(実行入力ファイル)(チェックポイントファイル)

mdout.mdp

npt.mdp(MDパラメータファイル)

mdrun

npt.log(ログファイル)

npt.trr(トラジェクトリファイル)

npt.cpt(MDパラメータファイル)(チェックポイントファイル)

ジョブスクリプト (MPI並列ジョブ)[user1@scls lec_gromacs]$ cat script/mdrun_npt.sh#!/bin/sh#------ pjsub options ------##PJM -L "rscgrp=small"
リソースグループ「small」#PJM -L "node=2"
使用ノード数「2」#PJM --mpi "proc=32"
プロセス数「32」各ノードへのプロセスの割り振りの指定#PJM --mpi "rank-map-bychip"
最大経過時間「10分」#PJM -L "elapse=10:00"
標準エラー出力を標準出力に向ける#PJM -j#------ Program Execution ------#
module load Gromacs/4.6.2
GROMACS環境変数の設定

export FLIB_FASTOMP=FALSE
mpiexec mdrun_mpi_d -v -deffnm npt
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

mdrunの実行

32

平衡化 - NPTアンサンブル [mdrun]
ジョブの投入と状態確認[user1@scls lec_gromacs]$ pjsub script/mdrun_npt.sh[INFO] PJM 0000 pjsub Job 6293 submitted.
[user1@scls lec_gromacs]$ pjstat
ACCEPT QUEUED
0
0
s
0
0
JOB_ID
6293

STGIN
0
0

READY RUNING RUNOUT STGOUT
0
1
0
0
0
1
0
0

JOB_NAME
MD ST USER
mdrun_npt. NM RUN user1

START_DATE
07/26 17:37:18

HOLD
0
0

ERROR
0
0

TOTAL
1
1

ELAPSE_LIM NODE_REQUIRE
0000:10:00 2

ジョブ実行結果[user1@scls lec_gromacs]$ less npt.log…
Core t (s)Wall t (s)(%)
32316.400
224.516
14393.8(ns/day)(hour/ns)
Performance:
38.484
0.624
Finished mdrun on node 0 Fri Jul 26 18:35:19 2013
Time:

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム33

平衡化 - NPTアンサンブル [実行結果の解析]

npt.edr(エネルギーファイル)g_energy

pressure.xvg(抽出データファイル)[user1@scls grolec]$ pjsub --interact[INFO] PJM 0000 pjsub Job 6282 submitted.
[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 6282 started.
[user1@a01-008 grorec]$ module load Gromacs/4.6.2[user1@a01-008 grorec]$ g_energy_mpi_d –f npt.edr –o pressure.xvg:-) G R O M A C S (-:------------------------------------------------------------------1 Angle
2 Proper-Dih.
3 Ryckaert-Bell.
4 LJ-14
5 Coulomb-14
6 LJ-(SR)7 Disper.-corr.
8 Coulomb-(SR)9 Coul.-recip.
10 Position-Rest. 11 Potential
12 Kinetic-En.
13 Total-Energy
14 Temperature
15 Pres.-DC
16 Pressure
17 Constr.-rmsd
18 Box-X
19 Box-Y
20 Box-Z…
45 Box-Vel-YY
46 Box-Vel-ZZ
49 Lamb-Protein
16 0
16番のPressureを選択、0は入力終了

47
50

T-Protein48
Lamb-non-Protein

T-non-Protein[user1@a01-008 grorec]$ exit

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム34

平衡化 - NPTアンサンブル [実行結果の解析]

グラフ3. pressure.xvgをgnuplotで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム35

平衡化 - NPTアンサンブル [実行結果の解析]

npt.edr(エネルギーファイル)g_energy

density.xvg(抽出データファイル)[user1@scls grolec]$ pjsub --interact[INFO] PJM 0000 pjsub Job 6282 submitted.
[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 6282 started.
[user1@a01-008 grorec]$ module load Gromacs/4.6.2[user1@a01-008 grorec]$ g_energy_mpi_d –f npt.edr –o density.xvg:-) G R O M A C S (-:------------------------------------------------------------------1 Angle
2 Proper-Dih.
3 Ryckaert-Bell.
4 LJ-14
5 Coulomb-14
6 LJ-(SR)7 Disper.-corr.
8 Coulomb-(SR)9 Coul.-recip.
10 Position-Rest. 11 Potential
12 Kinetic-En.
13 Total-Energy
14 Temperature
15 Pres.-DC
16 Pressure
17 Constr.-rmsd
18 Box-X
19 Box-Y
20 Box-Z
21 Volume
22 Density
23 pV
24 Enthalpy
25 Vir-XX
26 Vir-XY
27 Vir-XZ
28 Vir-YX…
49 Lamb-Protein
22 0
22番のDensityを選択、0は入力終了

50

Lamb-non-Protein[user1@a01-008 grorec]$ exit

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム36

平衡化 - NPTアンサンブル [実行結果の確認]

グラフ4. density.xvgをgnuplotで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム37

Production MD [grompp]
md.edrtopol.top(エネルギーファイル)(トポロジーファイル)

md.gronpt.gro(構造ファイル)(構造ファイル)

npt.cpt

gromppmd.tpr(実行入力ファイル)(チェックポイントファイル)

mdout.mdp

md.mdp(MDパラメータファイル)mdrun

md.log(ログファイル)

md.trr, md.xtc(トラジェクトリファイル)

md.cpt, md_prev.cpt(MDパラメータファイル)(チェックポイントファイル)

MDパラメータファイル[user1@scls lec_gromacs]$ less mdp/md.mdp

tcoupl = V-rescale

速度スケーリング法

pcoupl = Parrinello-Rahman

パリネロ・ラーマン法

continuation = yes

NPT平衡化から継続

gen_vel = no

速度は生成しない

nsteps = 5000

実行時間は10ps (2fs x 5000)※実習のために短く設定しています

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム38

Production MD [grompp]
ジョブスクリプト (逐次ジョブ)[user1@scls lec_gromacs]$ cat script/grompp_md.sh#!/bin/sh#------ pjsub options ------#
リソースグループ「small」#PJM -L "rscgrp=small"
使用ノード数「1」#PJM -L "node=1"
最大経過時間「10分」#PJM -L "elapse=10:00"
標準エラー出力を標準出力に向ける#PJM -j#------ Program Execution ------#
module load Gromacs/4.6.2
GROMACS環境変数の設定

export FLIB_FASTOMP=FALSE

gromppの実行※ npt.gro, npt.cptは、事前に用意したNPTの結果を使用します。

grompp_mpi_d -f mdp/md.mdp -c full/npt.gro -t full/npt.cpt -p topol.top -o md.tpr

ジョブ投入[user1@scls lec_gromacs]$ pjsub script/grompp_md.sh[INFO] PJM 0000 pjsub Job 6293 submitted.
[user1@scls lec_gromacs]$ pjstat

ジョブ実行結果[user1@scls lec_gromacs]$ less grompp_md.sh.oXXXX

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム39

Production MD [mdrun]
md.edrtopol.top(エネルギーファイル)(トポロジーファイル)

md.gronpt.gro(構造ファイル)(構造ファイル)

npt.cpt

md.tprgrompp(実行入力ファイル)(チェックポイントファイル)

mdout.mdp

md.mdp(MDパラメータファイル)mdrun

md.log(ログファイル)

md.trr, md.xtc(トラジェクトリファイル)

md.cpt, md_prev.cpt(MDパラメータファイル)(チェックポイントファイル)

ジョブスクリプト (MPI並列ジョブ)[user1@scls lec_gromacs]$ cat script/mdrun_md.sh#!/bin/sh#------ pjsub options ------##PJM -L "rscgrp=small"
リソースグループ「small」#PJM -L "node=2"
使用ノード数「2」プロセス数「32」#PJM --mpi "proc=32"
各ノードへのプロセスの割り振りの指定#PJM --mpi "rank-map-bychip"
最大経過時間「10分」#PJM -L "elapse=10:00"
標準エラー出力を標準出力に向ける#PJM -j#------ Program Execution ------#
module load Gromacs/4.6.2
GROMACS環境変数の設定

export FLIB_FASTOMP=FALSE
mpiexec mdrun_mpi_d -v -deffnm md
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

mdrunの実行

40

Production MD [mdrun]
ジョブの投入と状態確認[user1@scls lec_gromacs]$ pjsub script/mdrun_md.sh[INFO] PJM 0000 pjsub Job 6293 submitted.
[user1@scls lec_gromacs]$ pjstat
ACCEPT QUEUED
0
0
s
0
0
JOB_ID
6293

STGIN
0
0

READY RUNING RUNOUT STGOUT
0
1
0
0
0
1
0
0

JOB_NAME
MD ST USER
mdrun_md.s NM RUN user1

START_DATE
07/26 17:37:18

HOLD
0
0

ERROR
0
0

TOTAL
1
1

ELAPSE_LIM NODE_REQUIRE
0000:10:00 2

ジョブ実行結果[user1@scls lec_gromacs]$ less md.log…
Core t (s)Wall t (s)(%)
258551.600
1795.520
14399.8(ns/day)(hour/ns)
Performance:
48.1200.499
Finished mdrun on node 0 Fri Jul 26 19:20:06 2013
Time:

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

41

Production MD [実行結果の解析]
md.tpr(実行入力ファイル)

trjconv

md_noPBC.xtc(トラジェクトリファイル)

g_rms

md.xtcrmsd.xvg(抽出データファイル)(トラジェクトリファイル)[user1@scls grolec]$ pjsub --interact[INFO] PJM 0000 pjsub Job 6282 submitted.
[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 6282 started.
[user1@a01-008 grorec]$ module load Gromacs/4.6.2[user1@a01-008 grorec]$ trjconv_mpi_d -s md.tpr -f md.xtc -o md_noPBC.xtc -pbc mol -ur compact:-) G R O M A C S (-:Select group for output
Group
0 (
System) has 34440 elements
Select a group: 0[user1@a01-008 grorec]$ g_rms_mpi_d -s md.tpr -f md_noPBC.xtc -o rmsd.xvg -tu ns:-) G R O M A C S (-:Select group for least squares fit
Group
4 (
Backbone) has
Select a group: 4387 elements

Select group for RMSD calculation
Group
4 (
Backbone) has
Select a group: 4387 elements[user1@scls grolec]$ exit

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム42

Production MD [実行結果の解析]

グラフ5. rmsd.xvgをgnuplotで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム43

Production MD [実行結果の確認]

グラフ6. rmsd_xtal.xvgをgnuplotで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム44

Production MD [実行結果の解析]
md.tpr(実行入力ファイル)g_gyrate

gyrate.xvg(抽出データファイル)

md_noPBC.xtc(トラジェクトリファイル)[user1@scls grolec]$ pjsub --interact[INFO] PJM 0000 pjsub Job 6282 submitted.
[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 6282 started.
[user1@a01-008 grorec]$ module load Gromacs/4.6.2[user1@a01-008 grorec]$ g_gyrate_mpi_d -s md.tpr -f md_noPBC.xtc -o gyrate.xvg:-) G R O M A C S (-:

…
Group
4 (
Select a group: 4

Backbone) has

387 elements…
[user1@scls grolec]$ exit

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム45

Production MD [実行結果の解析]

グラフ7. gyrate.xvgをgnuplotで表示
独立行政法人理化学研究所 HPCI計算生命科学推進プログラム

46

GROMACSについて

GROMACSに関する情報、マニュアル、ソースコード入手など

http://www.gromacs.org/

独立行政法人理化学研究所 HPCI計算生命科学推進プログラム47

2013年8月6日 (第2版)
独立行政法人理化学研究所
HPCI計算生命科学推進プログラム