【GROMACS】GROMACSを用いたMD simulation【in silico創薬】

【ACFIS2.0】ACFIS2.0を用いたfragment-based 創薬【in silico創薬】

この記事では、自分のパソコンで行えるMDシミュレーションに焦点を当てており、具体的にはGROMACSというソフトウェアを使用して水中のタンパク質の動きをシミュレーションします。MDシミュレーションを学ぶことで、タンパク質の動力学的な挙動や相互作用を理解することができます。 ぜひ、トライしてみてください!

本記事を進むにあたって、PyMOLのダウンロードをお願いします。

大阪大学の蛋白研究所からインストールの仕方が解説されています。

簡単にダウンロードできます。

動作検証済み環境

macOS Ventura(13.2.1), PyMOL 2.5.4., Homebrew 4.0.17, VMD 1.9.4a57 for MacOS X, 64-bit Apple M1 (ARM64)

MD シミュレーションとは?


MDシミュレーションは、分子の動きや相互作用を計算機上で再現する手法です。分子の構造と相互作用を記述する力場(potential function)を使用し、時間の経過とともに分子の運動を予測します。これにより、物質の性質や相互作用の理解、材料設計、生体分子の研究などに応用されます。

GROMACSは、MDシミュレーションを実行するためのソフトウェアの一つです。GROMACSは高性能な計算を行うための最適化が施されており、広く使われている信頼性の高いツールです。GROMACSを使うことで、分子のダイナミクスや相互作用をシミュレーションすることができます。

この記事では実際にGROMACSを使って、自分のパソコンでMD シミュレーションを行なっていきます。

GROMACSのインストール


GROMACSを使うにあたり、Homebrewをまずターミナルからインストールします。

Homebrewは、macOS向けのパッケージ管理システムです。パッケージ管理システムは、ソフトウェアのインストールやアップデートを簡単に行えるツールであり、開発者やユーザーにとって便利です。

Homebrewを使用すると、ターミナルを介してコマンドを実行することで、様々なソフトウェアパッケージをインストールできます。これにより、開発ツール、プログラミング言語、データベース、ライブラリなど、さまざまなソフトウェアを簡単に管理できます。

Homebrewを使用すると、Mac上でGROMACSをインストールすることができます。Homebrewを使ってGROMACSをインストールすると、依存関係の解決やバージョン管理などが自動的に行われます。

まずターミナルで

/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"

と打ち、Homebrewをインストールします。

続いて

brew install gromacs

と打ち、gromacsをインストールします。

gmx

と打ち、以下のような記述が返ってきます。

:-) GROMACS - gmx, 2023.1-Homebrew (-:

Executable:   /opt/homebrew/bin/../Cellar/gromacs/2023.1/bin/gmx
Data prefix:  /opt/homebrew/bin/../Cellar/gromacs/2023.1
Working dir:  /Users/kshinba
Command line:
  gmx

SYNOPSIS

gmx [-[no]h] [-[no]quiet] [-[no]version] [-[no]copyright] [-nice <int>]
    [-[no]backup]

OPTIONS

Other options:

 -[no]h                     (no)
           Print help and quit
 -[no]quiet                 (no)
           Do not print common startup info or quotes
 -[no]version               (no)
           Print extended version information and quit
 -[no]copyright             (no)
           Print copyright information on startup
 -nice   <int>              (19)
           Set the nicelevel (default depends on command)
 -[no]backup                (yes)
           Write backups if output files exist

Additional help is available on the following topics:
    commands    List of available commands
    selections  Selection syntax and usage
To access the help, use 'gmx help <topic>'.
For help on a command, use 'gmx help <command>'.

GROMACS reminds you: "Correctomundo" (Pulp Fiction)

これが出てくるときちんとHomebrewとGROMACSのインストールが完了しています。

参考動画

INSTALLING GROMACS ON MAC

MDシミュレーションは設定することが多いですが、以下の流れで進めていきます。

MD シミュレーションの流れ


  1. タンパク質の準備: Protein Data Bank(PDB)からリゾチームの構造データをダウンロードします。この時、結晶の水があるので、除きます。
  2. PDBからGROMACSトポロジーへの変換(pdb2gmx): pdb2gmxユーティリティを使用して、タンパク質のトポロジーファイルを作成します。このファイルは、分子の結合、角度、二面角等の情報を含むGROMACSのフォーマットになります。
  3. シミュレーションボックスの設定(editconf): editconfユーティリティを使用して、シミュレーションボックスの形とサイズを設定します。
  4. 溶媒の追加(solvate): solvateユーティリティを使用して、シミュレーションボックスに水分子を追加します。
  5. イオンの追加(gromppとgenion): システム全体の電荷を中和するためにイオンを追加します。
  6. エネルギー最小化(gromppとmdrun): 分子の初期配置が不適切な場合、不自然に高い力が生じる可能性があります。これを解決するためにエネルギー最小化(または最適化)ステップを実行します。
  7. 平衡前のシミュレーション(NVTとNPTエンサンブル): これらはシステムを平衡状態に持っていくためのステップです。NVTは一定の体積と温度で、NPTは一定の圧力と温度でシミュレーションを実行します。
  8. 生産MDシミュレーション: ここで、最終的な分子動力学シミュレーションを行います。このステップで生成されたデータは後で分析に使用します。

それでは順にやっていきましょう!

1. タンパク質の準備

今回用いるタンパク質はLysozyme(PDB:1AKI)です。Lysozymeは、細菌の細胞壁を分解する酵素であり、生物の防御機構や免疫応答に関与しています。これは鳥や哺乳類の体液中に存在し、細菌に対する抗菌性や抗ウイルス性を持っています。Lysozymeの構造や反応機構を研究することで、酵素工学や薬剤設計などの応用分野において重要な知見が得られます。

デスクトップにMD simulationファイルを作り、その中にLysozymeのPDBファイルを入れていきます。このPDBファイルは以下のようにダウンロードできます。

ダウンロードしたLysozymeは結晶中に取り込まれた水分子が含まれているので、まずはこれを取り除いたものを作成します。

ターミナルにて以下のコードをEnterで動かし、1aki.pdbがあるディレクトリに移動してください。

cd XXX(1aki.pdbがあるディレクトリ(ファイル))

続いて、以下のコードを実行します。

grep -v HOH 1aki.pdb > 1AKI_clean.pdb

このコードは、grepコマンドを使用して1aki.pdb(LysozymeのPDBファイル)ファイルから水分子(HOHとして表される)を取り除き、1AKI_clean.pdbという新しいファイルに保存するものです。

具体的には、grep -v HOH 1aki.pdbは、1aki.pdbファイルからHOHというキーワードを持つ行を除外するという意味です。-vオプションは、マッチしない行を選択するために使用されます。HOHキーワードにマッチする行(水分子の情報)は除外され、残りの行(タンパク質の情報)のみが出力されます。

>演算子は、結果を新しいファイル(ここでは1AKI_clean.pdb)にリダイレクトします。つまり、除外された水分子が含まれない新しいファイルが作成されます。

このコードを実行することで、1aki.pdbファイルから水分子が取り除かれ、水分子を除いたクリーンなバージョンの1AKI_clean.pdbファイルが生成されます。このファイルを後続の処理や解析に使用することができます。

これにてタンパク質の準備は終了です。

2. PDBからGROMACSトポロジーへの変換(pdb2gmx)

続いて、pdb2gmxユーティリティを使用して、タンパク質のトポロジーファイルを作成します。このファイルは、分子の結合、角度、二面角等の情報を含むGROMACSのフォーマットになります。

以下のコードをターミナルで実行してください。

gmx pdb2gmx -f 1AKI_clean.pdb -o 1AKI_processed.gro -water spce

このコードは、GROMACSのコマンドラインツールであるpdb2gmxを使用して、1AKI_clean.pdbというファイルから1AKI_processed.groというファイルを生成します。以下に、各オプションの詳細な説明を提供します:

  • gmx pdb2gmx: GROMACSのpdb2gmxコマンドを実行します。pdb2gmxは、PDBファイルからGROMACS用のトポロジーファイルを生成するために使用されます。
  • f 1AKI_clean.pdb: 入力となるPDBファイルの指定です。ここでは、1AKI_clean.pdbが使用されます。
  • o 1AKI_processed.gro: 出力ファイルの指定です。生成されたトポロジーファイルは1AKI_processed.groという名前で保存されます。
  • water spce: 水モデルの選択です。ここでは、SPC/Eという水モデルが使用されます。SPC/Eは一般的な水モデルであり、水分子の振る舞いをシミュレーションするために使用されます。

このコードを実行することで、pdb2gmxが1AKI_clean.pdbを処理し、指定されたフォーマットでトポロジーファイルが生成されます。トポロジーファイルには、タンパク質の原子の情報、結合パラメータ、非結合パラメータなどが含まれており、シミュレーションで使用される分子の特性を定義します。

以下のように出てくるかと思います

Select the Force Field:

From '/opt/homebrew/bin/../Cellar/gromacs/2023.1/share/gromacs/top':

 1: AMBER03 protein, nucleic AMBER94 (Duan et al., J. Comp. Chem. 24, 1999-2012, 2003)

 2: AMBER94 force field (Cornell et al., JACS 117, 5179-5197, 1995)

 3: AMBER96 protein, nucleic AMBER94 (Kollman et al., Acc. Chem. Res. 29, 461-469, 1996)

 4: AMBER99 protein, nucleic AMBER94 (Wang et al., J. Comp. Chem. 21, 1049-1074, 2000)

 5: AMBER99SB protein, nucleic AMBER94 (Hornak et al., Proteins 65, 712-725, 2006)

 6: AMBER99SB-ILDN protein, nucleic AMBER94 (Lindorff-Larsen et al., Proteins 78, 1950-58, 2010)

 7: AMBERGS force field (Garcia & Sanbonmatsu, PNAS 99, 2782-2787, 2002)

 8: CHARMM27 all-atom force field (CHARM22 plus CMAP for proteins)

 9: GROMOS96 43a1 force field

10: GROMOS96 43a2 force field (improved alkane dihedrals)

11: GROMOS96 45a3 force field (Schuler JCC 2001 22 1205)

12: GROMOS96 53a5 force field (JCC 2004 vol 25 pag 1656)

13: GROMOS96 53a6 force field (JCC 2004 vol 25 pag 1656)

14: GROMOS96 54a7 force field (Eur. Biophys. J. (2011), 40,, 843-856, DOI: 10.1007/s00249-011-0700-9)

15: OPLS-AA/L all-atom force field (2001 aminoacid dihedrals)

ここに記述してあるフォースフィールドは、トポロジーに書き込まれる情報を含みます。各フォースフィールドについて詳しく読み、自分の状況に最も適したものを選択するようにしましょう。このチュートリアルでは、オールアトムのOPLSフォースフィールドを使用します。OPLS-AA/Lは、アミノ酸の二面角パラメータを含むOPLS-AA力場の拡張版です。この力場はタンパク質のシミュレーションに使用され、特に水中でのアミノ酸の折りたたみと相互作用の解析において優れた性能を発揮します。したがって、コマンドプロンプトで15を入力し、Enterを押します。

これにより、MD simulationファイルの中に新しいファイルが生成されました: 1AKI_processed.gro、topol.top、posre.itpです。1AKI_processed.groは、GROMACS形式の構造ファイルであり、フォースフィールドで定義されたすべての原子を含んでいます(つまり、タンパク質中のアミノ酸に水素原子が追加されています)。topol.topファイルはシステムのトポロジーです。posre.itpファイルには、重原子の位置を制約するために使用される情報が含まれています。

3. シミュレーションボックスの設定(editconf)

続いて、editconfユーティリティを使用して、シミュレーションボックスの形とサイズを設定します。

まず1をするために、以下のコードをターミナルで実行してください。

gmx editconf -f 1AKI_processed.gro -o 1AKI_newbox.gro -c -d 1.0 -bt cubic

このコードは、GROMACSのeditconfコマンドを使用して、シミュレーションボックスを調整するための操作を行います。

  • f 1AKI_processed.gro: 入力ファイルとして1AKI_processed.groを指定します。これは前のステップで生成されたGROMACS形式の構造ファイルです。
  • o 1AKI_newbox.gro: 出力ファイルとして1AKI_newbox.groを指定します。新しいボックス構造がこのファイルに書き込まれます。
  • c: 中心を揃えます。シミュレーションボックスの中心をタンパク質の重心に合わせます。
  • d 1.0: ボックスの寸法を指定します。ここでは1.0 nmを指定しています。この値は、タンパク質からボックスの各辺までの距離を表します。
  • bt cubic: ボックスの形状を指定します。ここでは立方体を指定しています。

このコマンドは、シミュレーションボックスを指定された寸法で作成し、タンパク質の位置を調整します。ボックスはタンパク質を包み込むように配置され、シミュレーションの実行に必要なボックス構造が得られます。

4. 溶媒の追加(solvate

続いて、solvateモジュール(以前はgenboxと呼ばれていました)を使用して水をボックスに充填します。

以下のコードを実行してください。

gmx solvate -cp 1AKI_newbox.gro -cs spc216.gro -o 1AKI_solv.gro -p topol.top

このコードは、GROMACSのsolvateコマンドを使用して、タンパク質を溶媒(水)で充填したシステムを生成します。

  • cp 1AKI_newbox.gro: 入力ファイルとして1AKI_newbox.gro(前のステップで生成されたボックス構造を持つファイル)を指定します。
  • cs spc216.gro: 溶媒の構造を指定します。ここでは、spc216.groというファイルが標準のGROMACSインストールに含まれている溶媒(水)の構造を表しています。
  • o 1AKI_solv.gro: 出力ファイルとして1AKI_solv.groを指定します。溶媒を充填した後のシステムの構造がこのファイルに書き込まれます。
  • p topol.top: トポロジーファイル(topol.top)を指定します。このファイルはシステムのトポロジー情報を含んでおり、溶媒の追加後に変更されます。

solvateコマンドは、指定されたタンパク質の構造と溶媒の構造を基に、ボックス内に溶媒を追加してシステムを生成します。出力ファイルには、溶媒が充填された後のシステムの構造が含まれます。また、トポロジーファイル(topol.top)も変更され、溶媒の追加を反映するために更新されます。

5. イオンの追加(gromppとgenion)

続いて、システム全体の電荷を中和するためにイオンを追加します。生体内には純粋な帯電が存在しないため、システムにイオンを追加する必要があります。

GROMACSのツールgenionを使用して、帯電したタンパク質を含む溶媒化されたシステムにイオンを追加します。genionはトポロジーを読み取り、指定したイオンで水分子を置き換えます。

まず、gromppを使用して.tprファイルを生成します。これには、さらに.mdpファイルが必要です。.mdpファイルはシミュレーションのパラメータを指定するためのものであり、座標とトポロジー情報と組み合わせて.tprファイルを生成します。.mdpファイルはこちらからダウンロードできます(参照はGROMACS Tutorial Lysozyme in WaterのStep Four: Adding Ions)。

.mdpファイルをコピーします。ターミナルで

nano ions.mdp

nano ions.mdp

を実行し、先ほどコピーした.mdpファイルをペーストしてください。

その後、Ctrl+Xyを押して保存します。

ターミナルで

ls

を押し、現在のファイルを確認してみましょう。

以下のように表示されたら大丈夫です。ions.mdpがあることを確認してください。

#topol.top.1#		1AKI_clean.pdb		1AKI_newbox.gro		1AKI_processed.gro	1AKI_solv.gro		1aki.pdb		ions.mdp		posre.itp		topol.top

続いて、以下のコードを実行してください

gmx grompp -f ions.mdp -c 1AKI_solv.gro -p topol.top -o ions.tpr

このコードは、GROMACS(分子動力学シミュレーションソフトウェア)のコマンドラインツールであるgmx gromppを使用して、シミュレーションの準備ファイルを生成するためのものです。

以下は、各コマンドラインオプションの解説です:

  • gmx grompp: GROMACSの準備ファイルを生成するコマンドです。
  • -f ions.mdp: シミュレーションのパラメータを指定するための先ほど設定したmdp(Molecular Dynamics Parameter)ファイルのパスを指定します。このファイルには、シミュレーションの条件やパラメータ(エネルギー最適化、温度制御、圧力制御など)が含まれています。
  • -c 1AKI_solv.gro: シミュレーションボックス内の分子の初期構造を指定するためのgro(GROMACS Coordinate)ファイルのパスを指定します。このファイルには、シミュレーションに使用される分子の座標情報が含まれています。
  • -p topol.top: シミュレーションのトポロジー(分子のトポロジー情報やフォースフィールドパラメータ)を指定するためのtop(Topology)ファイルのパスを指定します。このファイルには、シミュレーションに使用される分子のトポロジー情報やフォースフィールドパラメータが含まれています。
  • -o ions.tpr: 出力のtpr(Portable Binary Run)ファイルのパスを指定します。このファイルは、シミュレーションの実行時に使用されるバイナリファイルであり、シミュレーションの準備が完了した後に生成されます。

以上が、gmx gromppコマンドのオプションの解説です。このコードを実行することで、指定されたmdpファイル、groファイル、topファイルを使用して、シミュレーションの準備が行われ、ions.tprファイルが生成されます。この準備ができたら、このtprファイルを使用してGROMACSでシミュレーションを実行することができます。

次に以下のコードを実行してください

gmx genion -s ions.tpr -o 1AKI_solv_ions.gro -p topol.top -pname NA -nname CL -neutral

このコードは、GROMACSのコマンドラインツールであるgmx genionを使用して、溶媒中にイオンを追加し、シミュレーションボックスを中性に調整するためのものです。

以下は、各コマンドラインオプションの解説です:

  • gmx genion :シミュレーションボックスにイオンを追加するためのコマンドです。
  • -s ions.tpr: 入力のtpr(Portable Binary Run)ファイルのパスを指定します。これは、先ほどのgmx gromppコマンドで生成された準備ファイル(ions.tpr)を指定します。
  • -o 1AKI_solv_ions.gro: 出力のgro(GROMACS Coordinate)ファイルのパスを指定します。このファイルには、イオンを追加した後の新しいシミュレーションボックスの座標情報が含まれます。
  • -p topol.top: トポロジーファイルのパスを指定します。これは、先ほどの”gmx grompp”コマンドで使用されたトポロジーファイル(topol.top)を指定します。
  • -pname NA: 追加する陽イオンの名前を指定します。この例では、ナトリウムイオン(Na+)が追加されます。
  • -nname CL: 追加する陰イオンの名前を指定します。この例では、クロリドイオン(Cl-)が追加されます。
  • -neutral: シミュレーションボックスを中性に調整します。これにより、シミュレーションボックス内の陽イオンと陰イオンの数が均等になります。

以上が、gmx genionコマンドのオプションの解説です。このコードを実行することで、指定されたtprファイル、topファイル、およびイオンの情報を使用して、イオンが追加された新しいシミュレーションボックスが生成されます。これにより、シミュレーション系が中性になります。生成されたgroファイル(1AKI_solv_ions.gro)は、イオンが追加された最終的なシミュレーションの初期構造として使用できます。

プロンプトが表示された場合、

13をと入力し、enterを押します。イオンを埋め込むためのグループ13 “SOL”を選択します。タンパク質の一部をイオンで置き換えることは避ける必要があります。

6. エネルギー最小化(gromppとmdrun)

分子の初期配置が不適切な場合、不自然に高い力が生じる可能性があります。これを解決するためにエネルギー最小化(または最適化)ステップを実行します。

まずここからエネルギー最小化するためのファイルをコピーしてください参照はGROMACS Tutorial Lysozyme in WaterのStep Five: Energy Minimization)。

続いて、ターミナルで

nano minim.mdp

を実行し、先ほどコピーした.mdpファイルをペーストしてください。

その後、Ctrl+Xyを押して保存します。(先ほどのnano ions.mdpで作成したものと同様の操作です。)

続いて以下のコードを実行します。

gmx grompp -f minim.mdp -c 1AKI_solv_ions.gro -p topol.top -o em.tpr

上記のコマンドは、gromppを使用してエネルギー最小化のためのバイナリ入力ファイル(em.tpr)を生成するためのコマンドです。各オプションの役割は以下の通りです:

  • f minim.mdp: 先ほど設定したエネルギー最小化のための設定が記述されたmdpファイル(em.mdp)を指定します。
  • c 1AKI_solv_ions.gro: 水和されたイオンを含むシステムの初期構造が記述されたグロファイル(1AKI_solv_ions.gro)を指定します。
  • p topol.top: トポロジーファイル(topol.top)を指定します。このファイルにはシステムの分子のトポロジー情報が含まれています。
  • o em.tpr: 出力のバイナリ入力ファイルの名前を指定します。この場合はem.tprとなります。

これにより、指定した設定やファイルを使用してエネルギー最小化のためのバイナリ入力ファイルが生成されます。これは後続のmdrunコマンドで使用されます。

続いて以下のコードを実行します。

gmx mdrun -v -deffnm em

上記のコマンドは、mdrunを使用してエネルギー最小化(EM)シミュレーションを実行するためのコマンドです。各オプションの役割は以下の通りです:

  • v: mdrunを冗長モード(verbose)で実行します。これにより、mdrunの進行状況が画面に表示されます。
  • deffnm em: 入力と出力のファイル名を指定します。ここでは、入力ファイルとしてem.tprが使用され、出力ファイルのプレフィックスとして”em”が指定されています。

mdrunコマンドは、エネルギー最小化シミュレーションを実行します。エネルギー最小化では、指定されたポテンシャルエネルギーの最小値を見つけるためにシステムの座標が更新されます。

このコマンドを実行すると、以下のファイルが生成されます(ターミナルでls を実行して以下のファイルがあることを確認してください。

  • em.log: エネルギー最小化プロセスの進行状況を示すASCIIテキストログファイルです。
  • em.edr: バイナリ形式のエネルギーファイルです。エネルギーの変化や他のシミュレーションパラメータに関する情報が含まれます。
  • em.trr: バイナリ形式のトラジェクトリファイルです。エネルギー最小化の過程での分子の座標や速度の情報が記録されます。
  • em.gro: エネルギー最小化された構造の座標ファイルです。

これらのファイルは、エネルギー最小化シミュレーションの結果と詳細な解析に使用されます。

7. 平衡前のシミュレーション(NVTとNPTエンサンブル)

続いてシステムを平衡状態に持っていくためのステップを行います。NVTは一定の体積と温度で、NPTは一定の圧力と温度でシミュレーションを実行します。

まずここからNVTにおける平衡化するためのファイルをコピーしてください参照はGROMACS Tutorial Lysozyme in WaterのStep Five: Energy Minimization)。

続いて、ターミナルで

nano nvt.mdp

を実行し、先ほどコピーした.mdpファイルをペーストしてください。

その後、Ctrl+Xyを押して保存します。

エネルギー最小化(EM)は、幾何学的な構造と溶媒の配向性に関して合理的な開始構造を確保しました。実際のダイナミクスを開始するためには、タンパク質周りの溶媒とイオンを平衡させる必要があります。この時点で拘束のないダイナミクスを試みると、システムが崩壊する可能性があります。その理由は、溶媒は主に自身内部で最適化されており、必ずしも溶質と最適化されていないからです。溶媒をシミュレーションしたい温度にまで持って行き、溶質(タンパク質)に適切な配向を確立する必要があります。正しい温度に到達した後(運動エネルギーに基づいて)、システムに圧力をかけて適切な密度になるまで調整します。

以前にpdb2gmxが生成したposre.itpファイルを使います。posre.itpの目的は、タンパク質の重原子(水素以外のすべて)に対して位置拘束力を適用することです。運動は許可されますが、大きなエネルギーペナルティを克服する必要があります。位置拘束の利点は、タンパク質の構造変化の変数を追加せずに溶媒をタンパク質周りに均等に配分できることです。位置拘束の原点(制約ポテンシャルがゼロとなる座標)は、gromppの-rオプションで渡される座標ファイルによって提供されます。

平衡化は通常、2つのフェーズで実施されます。最初のフェーズはNVTアンサンブル(定数の粒子数、体積、温度)で実施されます。このアンサンブルは「等温等体積」または「カノニカル」とも呼ばれます。この手順の所要時間は、システムの内容に依存しますが、NVTではシステムの温度が所望の値で安定するはずです。もし温度がまだ安定していない場合は、さらなる時間が必要です。通常、50〜100 ps程度で十分です。この演習では、100 psのNVT平衡化を実施します。マシンによっては、時間がかかる場合があります(16コア程度で並列実行する場合、約1時間程度)。ここからは、gromppとmdrunをEMステップと同様に呼び出します。

以下のコードを実行してください。

gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -o nvt.tpr

上記のコマンドは、gromppを使用してNVTアンサンブルでの平衡化シミュレーションのためのバイナリ入力ファイル(nvt.tpr)を生成するためのコマンドです。各オプションの役割は以下の通りです:

  • f nvt.mdp: 先ほど作成した平衡化シミュレーションの設定が記述されたmdpファイル(nvt.mdp)を指定します。このファイルには、アンサンブルの種類(NVT)、時間ステップの設定、温度制御方法などが含まれています。
  • c em.gro: エネルギー最小化後の構造ファイル(em.gro)を指定します。このファイルは平衡化シミュレーションの初期構造として使用されます。
  • r em.gro: 位置拘束を適用するための座標ファイルとして、エネルギー最小化後の構造ファイル(em.gro)を指定します。このファイルはposre.itpで指定された原子の座標を含み、重原子に対して位置拘束が適用されます。
  • p topol.top: トポロジーファイル(topol.top)を指定します。このファイルにはシステムの分子のトポロジー情報が含まれており、分子タイプ、結合情報、非結合相互作用などが記述されています。
  • o nvt.tpr: 出力のバイナリ入力ファイルの名前を指定します。ここでは、nvt.tprという名前のファイルが生成されます。

gromppコマンドを実行することで、指定した設定やファイルを使用してNVTアンサンブルでの平衡化シミュレーションのためのバイナリ入力ファイルが生成されます。このファイルは後続のmdrunコマンドで使用され、NVTアンサンブルでの平衡化シミュレーションが実行されます。

続いて以下のコードを実行してください。

gmx mdrun -deffnm nvt

上記のコマンドは、mdrunを使用してNVTアンサンブルでの平衡化シミュレーションを実行するためのコマンドです。各オプションの役割は以下の通りです:

  • deffnm nvt: 入力と出力のファイル名のプレフィックスを指定します。ここでは、入力ファイルとしてnvt.tprが使用され、出力ファイルのプレフィックスとして”nvt”が指定されています。

mdrunコマンドは、NVTアンサンブルでの平衡化シミュレーションを実行します。NVTアンサンブルでは、システムの粒子数、体積、および温度が一定です。このコマンドを実行することで、指定されたバイナリ入力ファイル(nvt.tpr)を読み込み、NVTアンサンブルでの平衡化シミュレーションが開始されます。

平衡化シミュレーションは、システムが所望の温度に達するまでの時間をかけて実行されます。結果は出力ファイルに保存され、シミュレーションの進行状況や平衡状態の評価に使用されます。

このコマンドを実行することで、NVTアンサンブルでの平衡化シミュレーションが開始され、システムが適切な温度で平衡状態に達するまで進行します。

数分かかります。

続いて、同様な作業をNPTでも行います。ここからNPTにおける平衡化するためのファイルをコピーしてください参照はGROMACS Tutorial Lysozyme in WaterのStep Five: Energy Minimization)。

続いて、ターミナルで

nano npt.mdp

を実行し、先ほどコピーした.mdpファイルをペーストしてください。

その後、Ctrl+Xyを押して保存します。

続いて以下のコードを実行してください。

gmx grompp -f npt.mdp -c nvt.gro -r nvt.gro -t nvt.cpt -p topol.top -o npt.tpr

上記のコマンドは、gromppを使用してNPTアンサンブルでの平衡化シミュレーションのためのバイナリ入力ファイル(npt.tpr)を生成するためのコマンドです。各オプションの役割は以下の通りです:

  • f npt.mdp: 平衡化シミュレーションの設定が記述されたmdpファイル(npt.mdp)を指定します。このファイルには、アンサンブルの種類(NPT)、時間ステップの設定、温度制御方法、圧力制御方法などが含まれています。
  • c nvt.gro: NVTアンサンブルでの平衡化シミュレーションの結果得られた構造ファイル(nvt.gro)を指定します。この構造は、NPTアンサンブルでの平衡化シミュレーションの初期構造として使用されます。
  • r nvt.gro: 位置拘束を適用するための座標ファイルとして、NVTアンサンブルでの平衡化シミュレーションの結果得られた構造ファイル(nvt.gro)を指定します。これにより、重原子の位置拘束が引き継がれます。
  • t nvt.cpt: NVTアンサンブルでの平衡化シミュレーションのチェックポイントファイル(nvt.cpt)を指定します。チェックポイントファイルには、NVTシミュレーションの途中の状態が保存されています。これを使用することで、NVTからNPTへの移行がスムーズに行われます。
  • p topol.top: トポロジーファイル(topol.top)を指定します。このファイルにはシステムの分子のトポロジー情報が含まれており、分子タイプ、結合情報、非結合相互作用などが記述されています。
  • o npt.tpr: 出力のバイナリ入力ファイルの名前を指定します。ここでは、npt.tprという名前のファイルが生成されます。

NPTアンサンブルでは、システムの粒子数(N)、体積(V)、および温度(T)が一定で、さらに圧力(P)も一定です。NPTアンサンブルでは、温度制御と圧力制御の両方が行われます。

上記のコマンドを実行することで、gromppは指定された設定やファイルを使用してNPTアンサンブルでの平衡化シミュレーションのためのバイナリ入力ファイル(npt.tpr)を生成します。これからmdrunコマンドを使用してNPTアンサンブルでの平衡化シミュレーションを実行します。

NPTアンサンブルでの平衡化シミュレーションは、システムが所望の温度と圧力に達するまでの時間をかけて実行されます。結果は出力ファイルに保存され、シミュレーションの進行状況や平衡状態の評価に使用されます。

以下のコードを実行してください。

gmx mdrun -deffnm npt

上記のコマンドは、mdrunを使用してNPTアンサンブルでの平衡化シミュレーションを実行するためのコマンドです。各オプションの役割は以下の通りです:

  • deffnm npt: 入力と出力のファイル名のプレフィックスを指定します。ここでは、入力ファイルとしてnpt.tprが使用され、出力ファイルのプレフィックスとして”npt”が指定されています。

このコマンドを実行することで、指定されたバイナリ入力ファイル(npt.tpr)を読み込み、NPTアンサンブルでの平衡化シミュレーションが開始されます。

8. MDシミュレーション

最後にMDシミュレーションを行います。

ここからMDシミュレーション用のファイルをコピーしてください参照はGROMACS Tutorial Lysozyme in WaterのStep Eight: Production MD)。

続いて、ターミナルで

nano md.mdp

を実行し、先ほどコピーした.mdpファイルをペーストしてください。

その後、Ctrl+Xyを押して保存します。

次に以下のコードをターミナルで実行します。

gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -o md_0_1.tpr

このコマンドは、GROMACSのgromppユーティリティを使用して、MDシミュレーションのための準備ファイル(トポロジーとパラメータ)を作成するためのものです。

以下に、各オプションの説明を示します:

  • f md.mdp:先ほど設定した シミュレーションの実行パラメータを指定するMDP(Molecular Dynamics Parameter)ファイルを指定します。このファイルには、シミュレーションの時間ステップサイズやエネルギーミニマイゼーションの手法などのパラメータが含まれています。
  • c npt.gro: シミュレーションの初期構造を示すGRO(Gromos)ファイルを指定します。GROファイルには、分子の座標とボックスサイズが含まれています。
  • t npt.cpt: 前回のシミュレーションの結果を復元するためのチェックポイントファイルを指定します。チェックポイントファイルには、分子の座標や速度、セルの寸法などの情報が含まれています。
  • p topol.top: 分子のトポロジー情報を含むトポロジーファイルを指定します。このファイルには、分子の原子タイプ、結合情報、非結合相互作用パラメータなどが含まれています。
  • o md_0_1.tpr: 出力のTPR(Portable Binary Run input)ファイルの名前を指定します。TPRファイルには、シミュレーションの実行に必要なすべての情報が含まれており、実際の分子動力学シミュレーションの実行時に使用されます。

以上のコマンドは、指定されたパラメータとファイルを使用して、MDシミュレーションのための準備が行われます。シミュレーションの実行には、生成されたTPRファイルを使用することになります。

最後に以下のコードを実行してMDシミュレーションをします。

gmx mdrun -deffnm md_0_1

このコマンドは、GROMACSのmdrunユーティリティを使用して、作成されたTPRファイル(md_0_1.tpr)を読み込み、分子動力学シミュレーションを実行するためのものです。

以下に、各オプションの説明を示します:

  • deffnm md_0_1: ファイル名のプレフィックスを指定します。この場合、md_0_1が指定されています。このプレフィックスは、出力ファイル(トラジェクトリやエネルギー出力など)の名前に使用されます。

gmx mdrunコマンドを使用すると、指定されたTPRファイルが読み込まれ、シミュレーションが開始されます。シミュレーションの進行に応じて、トラジェクトリファイルやエネルギー出力ファイルなどが生成されます。

このコマンドを実行することで、md_0_1という名前のシミュレーションが実行されます。実行結果は、ログに表示される他、出力ファイルに保存されます。

これは3-5時間くらいかかるので、overnightでやると良いと思います。

以下のような記述が出たら無事に終了しています。値は多少違っても大丈夫です。

Dynamic load balancing report:
DLB got disabled because it was unsuitable to use.
Average load imbalance: 5.7%.
The balanceable part of the MD step is 20%, load imbalance is computed from this.
Part of the total run time spent waiting due to load imbalance: 1.1%.

       Core t (s)   Wall t (s)        (%)

Time: 126159.902 12616.001 1000.0 3h30:16 (ns/day) (hour/ns)


Performance:        6.848        3.504

またファイルの中に、md_0_1.groが生成していると思います。これがシミュレーションファイルです。

VMDによるMDシミュレーションの可視化


最後にmd_0_1.groを開いて、MDシミュレーションを見てみましょう。これにはVMDというソフトウェアを使います。こちらから自分のパソコンのスペックを確認してダウンロードしてください。

開くと以下のような画面になると思います。

VDM Mainの

File→New molecule→File NameのBorose…からmd_0_1.groを選択して、

Determine file type:をGromacs GROに選択してください。

Loadを押すと水中のLysozymeが出てきます。下の画面では水色がLysozymeで周りの赤いのが水分子です。

続いて、VDM Mainの

File→New molecule→File NameのBorose…からmd_0_1.xtcを選択して、

Determine file type:をGromacs XTC Compressed Trajectoryを選択してください。

Loadを押すとシミュレーションした動画が見えてくると思います!

わかりやすいように水分子を消していきます。

VMD MainのGraphics→Representations…を押します。

デフォルトで全分子があるので、Delete Repで削除し、

Selected AtomsをProteinとしたのちに、create Repを押すとタンパク質のみが表示されます。

VDM MainのスタートマークでMDシミュレーションができます!

水中でのLysozymeがシミュレーションできました!

最後に


いかがでしたでしょうか。水中でのタンパク質のMDシミュレーションは、タンパク質と水分子の相互作用を明らかにし、生物学的プロセスの理解を深めます。その結果は医薬品開発やタンパク質工学に重要な示唆を与え、新たな治療法やバイオテクノロジーの進歩につながる可能性があります。皆さんも是非試してみて、分子動力学の魅力を体験し、分子レベルの世界に触れる興奮を感じてみましょう!

参考資料

INSTALLING GROMACS ON MAC

GROMACS Tutorial 1: Lysozyme in water

Molecular Dynamics Tutorial | Lysozyme in Water: GROMACS – PART 4

GROMACS Tutorial Lysozyme in Water

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です