GAMESS/TINKERでQM/MM計算

[本記事は私が以前書いていたblogからサルベージしたものです]

巨大分子を計算するのに、ab initio法が不向きなのは言うまでもありません。いくら時間があっても足りません。最近はDFTやFMOなどでタンパク質を扱う試みもされていますが、よく使われている方法としてはQM/MM法があります。大事なところだけQM(量子力学計算)で、他はMM(分子力学:古典力学計算)に置き換えてしまうのです。
例えば、タンパクと低分子の相互作用の強さを計算しようと思ったとき、タンパク全体を計算するのではなく、相互作用部位周辺(+低分子)だけQMレイヤーにして他はMMレイヤーにすれば、大事なところの計算精度はあまり損なわれることなく、大幅な計算速度向上につながるわけです。

GAMESSにはTINKERを利用したQM/MM法がインプリメントされています。簡単な使い方のみ紹介します。

簡単な入力の例として、エタノールの二量体の最適化(コア部分=水二量体をMP2/6-31+G(d,p);全体をMM3)の入力示しますと、下記のような感じになります。

COORDにはTINKERを指定し、NZVARは3N-6(Nは原子数)を。$ZMATセクションでDLCとAUTOをtrueにします(自動内部座標発生)。$LINKセクションでレイヤーの切り分けを指定します。方法はIMOMM法をここでは使いました。QMレイヤーを$DATAで指定するSIMOMM法もあります(SIMOMM=.T.)。IQMATM(1)でQMレイヤーになる原子を指定。切れたところは勝手に水素が付きます。$TINKEYでパラメータファイルを指定します。
$TINXYZはTINEKR XYZ形式の座標ですが、これはBabelか何かでPDBファイルを変換すればOKです。ただし、atom typeなどは手修正が必要なことが多いです…(これが大変だ)こういうのを自動で(しかも正確に)やってくれるソフトは無いものか…

何はともあれ、計算すると135サイクルで終了します(464.7sec=7.4min)。エネルギーはこんな感じです。

MM Energy (kcal/mol) : 3.9399021695
MM RMS Gradient : 0.0000000698
MM Gradient Norm : 0.0000002419
QM+MM Energy (Hartree): -152.4699134919

複雑な入力になるほどいろいろ大変になってきます(例えば座標発生でエラーが出るとか)。GaussianのONIOMってすごいと思ってしまいます。GaussViewのような操作性でGAMESSのQM/MM計算ができればいいのですが。

さらに、TINKER(現在インプリされているのはver.3.6)が対応している力場に含まれていない元素は計算できないという縛りつき。要は、ほとんどの遷移金属錯体は計算できません。残念。UFFとかに対応することを期待。

Be the first to comment

Leave a Reply