ハカセのあやしい研究ノート

いつかはかせになるひとへ

AmberのCPPTRAJで水素結合を調べる方法

研究メモ。

AmberでMDやった後、CPPTRAJで解析したいとき

 

参考:

CPPTRAJ Hydrogen Bond Analysis Tutorial

f:id:kitos:20181111132850p:plain

 

http://ambermd.org/doc12/Amber14.pdf

(Amber14のマニュアル。重い…)

 

とりあえず水素結合ってのはタンパク質の構造にとって重要で、FON(フッ素・酸素・窒素)の間で水素を介してできる結合である。

 

CPPTRAJはドナーとアクセプターの距離で水素結合の有無を判定する。

(オプションでドナー・水素・アクセプターの角度も指定できるよ☆でもAmberやCharmmといった力場では、水素結合は非結合項のみで決まるので角度には依存しない?)

また溶質ー溶質だけでなく、溶質ー溶媒、溶質ー溶媒ー溶質といった形の水素結合も探知できる。

 

 

 1. シミュレーション系全体の水素結合を調べる

とりあえずprmtop(パラメータ)とnc(トラジェクトリ)を読み込む。

そのあと、

 

hbond All out All.hbvtime.dat solventdonor :WAT solventacceptor :WAT@O \
avgout All.UU.avg.dat solvout All.UV.avg.dat bridgeout All.bridge.avg.dat

 

このhbondってコマンドを使う。それ以下は全てオプション。

  • All: ラベル
  • out All.hvtime.dat: アウトプットファイル。ここに溶質間の水素結合の数が時系列で書き出される。
  • solventdonor :WAT:溶媒ドナーは水。イオンは含まない。
  • solventacceptor :WAT@O:溶媒分子のどの原子をアクセプターにするか。イオンは除外している。
  • avgout All.UU.avg.dat: 溶質間水素結合の一つ一つについて、平均情報がこのファイルに書き出される。
  • solvout All.UV.avg.dat:溶質ー溶媒間水素結合の一つ一つについて、平均情報がこのファイルに書き出される。これを指定しないと、この情報はAll.UU.avg.datに一緒に書き込まれてしまう。
  • bridgeout All.bridge.avg.dat:溶質ー溶媒ー溶質間水素結合の一つ一つについて、平均情報がこのファイルに書き出される。これを指定しないと、この情報は All.UV.avg.dat(かAll.UU.avg.dat)に一緒に書き込まれてしまう。
  • ちなみに書いてないけど、角度のカットオフは135°(?)、距離のカットオフは3.0 Å、ドナーは水素に結合してる原子全てでデフォルトの値。

 

 

2. 溶質の主鎖間の水素結合を調べる

hbond Backbone :1-12@C,O,N,H avgout BB.avg.dat series uuseries bbhbond.gnu

  •  :1-12@C,O,N,H:調べるのはこれらの原子だけ。
  • series:見つけた水素結合情報を次のコマンドのために一時的に保存する。
  • uuseries bbhbond.gnu:水素結合の時系列情報がgnuplotの形式で書き出される。(Amber16以降で利用可)

 

  

3. 水素結合の数だけを書き出す

create nhbvtime.agr All[UU] Backbone[UU] All[UV] All[Bridge]

  •  create nhbvtime.agr:ファイルを作る。
  • All[UU] Backbone[UU] All[UV] All[Bridge]:hbondコマンドの一時データ保存形式(ラベル[UUとか])。[UU],[UV],[Bridge]にはそれぞれの水素結合の数が保存されている。

 

 

4. さらに解析する

(Websiteではこの前にrms...とかやってるが普通にRMSD求めてるだけ。水素結合にはマジ関係ない)

 

lifetime Backbone[solutehb] out backbone.lifetime.dat
runanalysis

  •  lifetime Backbone[solutehb] :lifetimeっていう別のコマンドで、2.のseriesで保存した情報を解析してる。水素結合情報はできてるか(1)できてないか(0)で保存されてて、その時系列変化は例えば{0 1 1 0 1 0 0 0 1 1}みたいになる。1が連続してる長さは2,1,2だから、その平均1.67がlifetimeになる。
  • runanalysis:runコマンドで生成したデータに対して解析を行うコマンド。

 

とりあえず以上である。

何かあったらまた追記する。

もし質問あったらcontactからしてくれよな!

 

ご質問と回答

2018/8/31.

Q. 分子間の水素結合だけ計算したいのですがどうすればいいですか?

A. "nointramol"ってコマンドに足すだけでOKです(便利)。

例えば、上の1.の例だと、

hbond All out All.hbvtime.dat solventdonor :WAT solventacceptor :WAT@O \
avgout All.UU.avg.dat solvout All.UV.avg.dat bridgeout All.bridge.avg.dat nointramol

で分子間の水素結合のみ出力されます。

つまり、タンパクAとタンパクBの複合体が水の中にある場合、AーB間、Aー水、Bー水、Aー水ーBの水素結合が出力されて、A内部やB内部の水素結合は計算されません。

CPPTRAJってほんとうにいいものですね(CV.水野晴郎先生)。