CNSでMolecular Dynamics?  

分子動力学計算または分子力学計算についてはまったく知らないのですが [huh]、CNSでそれっぽいことができそうなので試してみました。
ここで試したこととは、決定した構造を元にリガンド結合モデルを作成し、リジッドボディ、アニーリング、ミニマイズを行う、というようなことです。モデルを置いただけよりは少しは確からしい・・・のかな?
モデル分子のエネルギー最小化をしたいけど、モデルなので実験データを使ってリファインするとぐちゃぐちゃになる、というような時に使うと便利かもしれません。

使うインプットファイル  

特に難しいことはありません。通常の精密化と異なるのはインプットファイルだけです。以下のものを使います。

これらを使えば、リジッドボディ、アニーリング、ミニマイズをそれぞれ行うことができます。構造因子(F)は使わないのでCVファイルは不要です。
私が試したとき、Rigid bodyではモデル分子が活性部位から逃げてしまうので [worried]、model_annealのみを行ってみました。

簡単な解説  

それぞれについてちょっとだけ解説を。

修正のポイント
全てのインプットファイルには構造ファイル(MTFとPDB)およびパラメータファイルの指定、格子情報が必要です。具体的には、

generate.inp  

使ってみようで解説してありますが、今回はrefine.inpという便利なファイルは使わないのでgenerateが必要になります。これでモデルPDBファイルからgenerate.pdbおよびgenerate.mtfを作成します。

model_rigid.inp  

Rigid body minimization with no experimental energy terms

です。実験情報を利用せずにリジッドボディリファインメント(rigid body refinement)を行います。通常は最初に行います。モデル分子と他の原子との距離を適正にしたい場合に使うとよいでしょう(PyMOLでモデル化合物とタンパクの表面が接触しているのを修正したいときなど)。

修正のポイント
リジッドボディグループを指定せずに行うと全てが同じように動くため全く意味がありません。適切にグループ分けを行います。

model_anneal.inp  

Simulated annealing/molecular dynamics

です。実験情報を利用せずにアニーリングを行います。計算時間は少し長いです(といっても数分ですが)。
ディフォルトでは298Kのconstant annealing, Cartesian algorithmでMDを行うようです(詳しくはよく知りませんが [huh])。

修正のポイント
ここでは例を挙げて修正箇所を解説します。例ではA分子(Chain A,SEGID A)、B分子(Chain B,SEGID B)、C化合物(Chain C,SEGID C)、D化合物(Chain D,SEGID D)および水分子(Chain W,SEGID W)とします。C化合物は実験結果から求めた座標であり、D化合物を精密化するとします。
  1. モデル化合物のみを精密化する
    D化合物以外をfixして計算してみます。SEGID D以外をatom_fixedで選択してあります。
    {========================== atom selection ===========================}
    {===>} atom_select=(known);               <-- すべての原子が精密化対象
    {===>} atom_fixed=(segid A:C or segid W); <-- SEGID A,B,C,Wは固定
    {===>} atom_harm=(none);
    {===>} k_harmonic=10;
    {===>} atom_rigid=(none);
  2. モデル化合物とその周囲8Åを緩やかに精密化する
    harmonic restrainをかけてみます。詳しい解説はフォローしきれてませんが、多分緩やかな束縛を掛けつつ環境に合わせるという様なものだと思います(詳しい人教えて下さい [huh])。
    {========================== atom selection ===========================}
    {===>} atom_select=(known);
    {===>} atom_fixed=(not(segid D around 8.0)); <-- SEGID Dからの距離が8Aより遠い部分を固定
    {===>} atom_harm=(segid D around 8.0);       <-- SEGID Dと距離が8A以内の原子をharmonic restrainで精密化
    {===>} k_harmonic=10;                        <-- harmonic restraint constant (基準は不明。ディフォルト10)
    {===>} atom_rigid=(none);
    これらの結果で比べた場合、1はモデル化合物とポケットの位置関係に関わらず同じように動き、2はポケットにフィットするような動きになりました。なお、atom_fixedを周辺8Åにしてharmonicを使わない場合も1に近い結果になりました。

model_minimize.inp  

Conjugate gradient minimization with no experimental energy terms

です。実験情報を利用せずにミニマイズを行います。

修正のポイント
これもannealと同様にモデル化合物以外をfixしています。
{========================== atom selection ===========================}
{===>} atom_select=(known);
{===>} atom_fixed=(segid A:C or segid W);
{===>} atom_harm=(none);
{===>} k_harmonic=10;

それぞれの計算はそれほど時間がかかるわけではないのでいろいろ試してみて下さい。計算後の結果にはChain IDが含まれないので注意!

ディスカッション