====== AMBER と Gromacs ファイルの変換 ======
===== 概要 =====
* AMBER で入力ファイルを作成して、Gromacs で計算、最後に AMBER で解析する方法
* Gromacs は無料で、AMBER の入力ファイル作成ツール AmberTools も無料なため、金銭的なコストは 0。
* AMBER で GPU 計算をしようとすると、AMBER のバージョン、CUDA のバージョン、ハードウェアをうまく組み合わせる必要がある。場合によっては、AMBER の別バージョンを購入する必要がある。
===== 手順 =====
* 例として、DNA の方法を紹介する
* 作業ディレクトリは ''~/test''
* 事前に AmberTools (AmberTools16; /opt/amber16) および Gromacs (5.1.2) はセットアップ済みとする
==== 入力ファイルの作成と変換 (AMBER→Gromacs) ====
- 構造ファイルの入手
* [[http://www.rcsb.org/pdb/explore.do?structureId=1BNA | RCSB PDB - 1BNA: STRUCTURE OF A B-DNA DODECAMER. CONFORMATION AND DYNAMICS Structure Summary Page]] から PDB ファイルを入手する (1bna.pdb)
- 変換用ツール ([[https://code.google.com/archive/p/acpype/ | acpype.py]]) の入手\\ $ mkdir ~/bin
$ cd ~/bin
$ svn checkout http://ccpn.svn.sourceforge.net/svnroot/ccpn/branches/stable/ccpn/python/acpype acpype
* パスを通しておくと以後便利になる (今回はパスを通さない方法で行う)
- 入力ファイルの作成\\ $ cd ~/test
$ tleap -f /opt/amber16/dat/leap/cmd/oldff/leaprc.ff14SB -f /opt/amber16/dat/leap/cmd/leaprc.gaff -f /opt/amber16/dat/leap/cmd/leaprc.water.tip3p
> complex = loadpdb 1bna.pdb
> check complex
> addions2 complex K+ 0
> solvatebox complex TIP3PBOX 20
> saveamberparm complex 1bna.prmtop 1bna.inpcrd
* ''tleap'' の後の複数の ''-f'' は力場ファイルの指定である (tleap 実行後に source コマンドで指定するのと同じ意味)
* ''complex'' は任意の変数名
* ''check complex'' で構造の異常を確認 (この場合だと「電荷が 0 でない」「原子同士が近すぎる」というワーニングが出る)
* ''addions2'' を使って、K+ (カリウムイオン) で電荷を 0 にする
* ''solvatebox'' は、溶質から溶質を覆うボックスまでの距離が 20 Å になるように、TIP3P の水分子で溶質を覆う
* 最終的に ''1bna.prmtop'' (トポロジーファイル) と ''1bna.inpcrd'' (座標ファイル) を出力する
- ファイルの変換\\ $ ~/bin/acpype/acpype.py -p 1bna.prmtop -x 1bna.inpcrd
* 新たに ''1bna_GMX.top'' (Gromacs 用トポロジーファイル), ''1bna_GMX.gro'' (Gromacs 用座標ファイル), ''em.mdp'' (最適化用計算ファイル), ''md.mdp'' (MD 用計算ファイル) が出力される
* 参考サイト: [[http://blog.livedoor.jp/ag_plusplus/archives/68154284.html | Ag++ : ACPYPE.pyを使ったAMBER→Gromacs topologyの変換と注意点(バグ?)]]
==== 計算 (Gromacs) ====
* 通常の Gromacs の計算と同じ
==== 出力ファイルの変換 (Gromacs→AMBER) ====
* Gromacs での計算で、1bna_md.trr (トラジェクトリファイル) が出力された場合
- 周期境界で分子がジャンプしないようにする\\ $ gmx trjconv -s 1bna_md.tpr -f 1bna_md.trr -o 1bna_nojump.trr -pbc nojump -center
* ''1bna_md.tpr'': 計算に使った tpr ファイル (境界線を分子がまたいでないものが望ましいため、最適化のものを使うと良い)
* ''1bna_nojump.trr'': 出力ファイル
- 特定の分子を中央に配置したボックス状の系を作成する\\ $ gmx trjconv -s 1bna_md.tpr -f 1bna_nojump.trr -o 1bna_nojump-center.trr -center -pbc mol -ur compact
* ''1bna_md.tpr'': 計算に使った tpr ファイル (境界線を分子がまたいでないものが望ましいため、最適化のものを使うと良い)
* ''1bna_nojump-center.trr'': 出力ファイル
- トラジェクトリの変換\\ $ cpptraj
> parm 1bna.prmtop
> trajin 1bna_md_nojump-center.trr
> trajout 1bna_md.nc netcdf
> go
* ''1bna_md.nc'' が出力される
- トポロジーファイルの変換\\ $ parmed
> gromber 1bna.top
> outparm 1bna.prmtop
> quit
* ''gromber'' には計算に用いた .top ファイルを指定する
* ''1bna.prmtop'' が出力される
* parmed は、AmberTools に入っている変換ツール
* parmed を使わない prmtop ファイル (tleap などで再作成したもの) は、VMD で見ると、周期境界で分子がうまく処理されない。
- あとは AMBER での解析を行う。
* 参考サイト:
* [[http://blog.livedoor.jp/ag_plusplus/archives/67925050.html | Ag++ : GROMACSトラジェクトリからAMBERトラジェクトリへの変換 続き]]
* [[http://www.ag.kagawa-u.ac.jp/charlesy/2016/12/16/gromacs%E5%BD%A2%E5%BC%8F%E3%81%AEtopology%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AEamber%E5%BD%A2%E5%BC%8F%E3%81%B8%E3%81%AE%E5%A4%89%E6%8F%9B/ | GROMACS形式のTopologyファイルのAMBER形式への変換 – 香川大学農学部 ケミカルバイオロジー研究室]]
* [[http://biophysics.med.jhmi.edu/~yliu120/tutorials.html | Tutorials]]
{{tag>Linux 分子シミュレーション アプリケーション}}