Documents

Update (2007/4/24)
topファイルをQScript上で読み込めるようにしたので加筆.
Update (2004/12/04)
topファイルのPropResidに関する記述を加筆.
Update (2004/10/21)
topファイルの記述に一部誤りがあったので訂正しました.

CueMolがデフォルトで扱える残基と非標準の残基

CueMolはデフォルトで,天然アミノ酸とAT/UGCの核酸のトポロジー(どの原子と原子が共有結合しているか)を知っており, そのデータに基づいてsimpleレンダラー等は化学結合のボンドを描画しています. また,残基間の結合(ペプチド結合とホスホジエステル結合)のデータに基づいて, 残基間の化学結合のボンドを描画しています.

さらに,CueMolが知らない残基(薬剤分子や修飾されたアミノ酸・核酸)が入っている場合は,どの原子と原子が共有結合しているかという情報が得られないため, 原子間の距離により共有結合しているかどうかを勝手に判断して ボンドを作っています.*1

そのため,どうしても誤った共有結合が勝手に作られる場合があります.また,非標準の残基が修飾アミノ酸であっても,ペプチド結合が描画されません.

これらの問題を解決するには,CueMolに非標準の残基に対するデータを与えてやればよいわけです. ここでは,燐酸化チロシン(Phosphotyrosine)を例にとって説明します.

トポロジーの定義 (queptl.top等)

分子・残基のトポロジーはcuemol.exeがあるディレクトリの下の dataディレクトリにある,queptl.topに記述されています. これは,XPLOR/CNSのトポロジー定義と同じ書式になっています.

例えばアラニンの場合は,

RESIdue ALA
 GROUp
  ATOM N    TYPE=NH1   CHARge=-0.35   END
  ATOM H    TYPE=H     CHARge= 0.25   END
  ATOM CA   TYPE=CH1E  CHARge= 0.10   END
  ATOM CB   TYPE=CH3E  CHARge= 0.00   END
  ATOM C    TYPE=C     CHARge= 0.55   END  
  ATOM O    TYPE=O     CHARge=-0.55   END  

 BOND N    CA
 BOND CA   C
 BOND C    O
 BOND N    H
 BOND CA   CB

 IMPRoper  CA     N    C  CB  !tetrahedral CA


END {ALA}

となっていますが,実際に重要なのは RESIdue ALA ... ENDというのと, ATOM, BONDのところだけです.*2 {}内と先頭に!のある行はコメントになります.

さらに,残基のプロパティーが最後のほうで定義されています.(これはCueMolでの勝手な拡張ですが.)

!------------------------------------------------------------------
! Que's extension commands

PropResid ALA
  Pivot CA
END
...

これで,traceやtubeレンダラーで 原子CAが既定の主鎖原子として扱われるようになります. 逆に,この記述がなければtraceなどでその部分が切れて表示されてしまいます.

あと,大文字・小文字は同じとしてあつかわれます.RESIdueもresidueも同じ.

燐酸化チロシンを作ってみる

例として燐酸化チロシンを作ってみます. 燐酸化チロシンは,PDBでの残基名はPTRのようなので,それにあわせます.

PropResidセクションの作成

まずPropResidセクションを作成します. 主鎖原子などはTYRと同じなので, queptl.top内のPropResid TYRの部分をコピーして, 残基名をPTRに変えるだけでOKです.

PropResid PTR
  Pivot CA
  Ring CG CD1 CE1 CZ CE2 CD2 END
END

Ringの部分は環状構造の原子を指定していますが, これも変わらないのでそのままでOKです.

以上でtraceやtubeでPTRがアミノ酸残基として認識され, 連続して描画されるようになります. さらに,simpleなど原子レベルでの表示でも正しく共有結合が 描画されるようにするためには,以下のステップが必要です.

Residセクションの作成

次に, queptl.top内のRESIdue TYRの部分をコピーして,ATOM, BOND定義のみを残した上で 残基名をPTRにします.

さらに,ATOMに関しては水酸基の水素原子HHの定義を除き, 変わりに燐酸基P, O1P, O2P, O3Pの定義を入れます. ここで,chargeは(1.0.0系の実装では)使われていないので, 適当な数値を入れてください. typeも厳密には使われてないのですが, 定義されていないatom typeを指定するとエラーになるので, 他の行で使われているのを適当に真似して入れておけばOKです(以下の例ではHHのをそのままコピーしています).

次に,BONDに関しては,先端の水酸基の水素HHを取って, 燐酸基P, O1P, O2P, O3Pに関する結合を追加します.

RESIdue PTR
  ATOM N    TYPE=NH1   CHARge=-0.35   END
  ATOM H    TYPE=H     CHARge= 0.25   END
  ATOM CA   TYPE=CH1E  CHARge= 0.10   END
  ATOM CB   TYPE=CH2E  CHARge= 0.00   END
  ATOM CG   TYPE=CY    CHARge= 0.00   END
  ATOM CD1  TYPE=CR1E  CHARge= 0.00   END
  ATOM CE1  TYPE=CR1E  CHARge= 0.00   END
  ATOM CD2  TYPE=CR1E  CHARge= 0.00   END
  ATOM CE2  TYPE=CR1E  CHARge= 0.00   END
  ATOM CZ   TYPE=CY2   CHARge= 0.25   END
  ATOM OH   TYPE=OH1   CHARge=-0.65   END
  ATOM P    TYPE=H     CHARge= 0.40   END
  ATOM O1P    TYPE=H     CHARge= 0.40   END
  ATOM O2P    TYPE=H     CHARge= 0.40   END
  ATOM O3P    TYPE=H     CHARge= 0.40   END
  ATOM C    TYPE=C     CHARge= 0.55   END
  ATOM O    TYPE=O     CHARge=-0.55   END
 BOND N    CA
 BOND CA   C
 BOND C    O
 BOND N    H
 BOND CA   CB
 BOND CB   CG
 BOND CG   CD1
 BOND CG   CD2
 BOND CD1  CE1
 BOND CD2  CE2
 BOND CE1  CZ 
 BOND CE2  CZ
 BOND CZ   OH
 BOND OH   P
 BOND P    O1P
 BOND P    O2P
 BOND P    O3P
END

追加する位置はどこでも良いですが,アミノ酸の最後(バリン)のあとにしておきます.

これでCueMolを再起動すると燐酸化チロシンPTRが認識されます.

1BF5など,PTRがあるPDBファイルを読み込んで見てください. この時点では残基は認識されているものの,ペプチド結合しうるというのが 認識できていないので,隣の残基との結合は表示されません.

残基間のリンケージ(queptl.lin)を編集

残基間のリンケージ情報はqueptl.linファイルで定義されています.

link pept    head - ala   tail + *     end
...
link pept    head - val   tail + *     end

linkのある行が残基間のリンクの定義です.

次のpeptというのはペプチド結合を示しています*3. (ホスホジエステル結合はnuc) 一番上の行は大雑把に言うと,「前(head)がalaで後(tail)が*(任意の残基)の場合はペプチド結合でつなげ」ということです.プラスとマイナスも意味があるのですが,ここでは省略.

残基PTRをペプチド結合する残基と認識させるには,

 link pept    head - ptr   tail + *     end

という行を追加してやればよいわけです. 上記の行を追加して,CueMolを再起動して1BF5のN末端をsimpleで表示すれば 正しく認識されているのが分かります.

ptr.png

注意点

topやlinファイルを変更した状態で新しいバージョンのCueMolを 上書きインストールすると, パッケージ付属のデフォルトのファイルに上書きされてしまいます. バックアップを忘れずに.

また,QScriptを使用する場合は, スクリプトから指定したファイルをトポロジー・リンケージ定義ファイルとして 読み込ませることができます(後述). システムディレクトリのqueptl.top等を変更するのではなく, 独自の残基定義を記述したファイルをスクリプトと同じ ディレクトリ等に作成しておき, それをスクリプト中から読み込むようにした方が良いでしょう.

ネット上のリソースの利用

ここで紹介したホスホチロシンと同じ方法で原理的にどんな化合物にも対応できるわけですが, 手動でトポロジーを作るのは結構面倒です. CueMolのトポロジー定義はCNS/XPLORと同じですので, ネット上にあるCNS/XPLOR用のツールを使って作る方法があります.

PRODRG server は,PDB形式の座標を入力すると CNS/XPLOR用のパラメータ・トポロジーファイルを作ってくれます. このトポロジーのところをコピーしてやればよいわけです. この場合,上記でやったようにBOND以外の部分は除いてしまったほうが無難でしょう.

HIC-Up serverは, PDBから非標準の残基を集めて公開しているサーバーです. 使い方がいまいち分かりにくいですが, Trivial nameでは一般名で探すことができます.

任意のディレクトリーにあるトポロジーファイル等を読み込む

システムディレクトリにあるqueptl.topは起動時に自動的に読み込まれますが, 独自に定義したトポロジーは他のファイルから読み込めたほうが便利です. QScriptから,mol.loadTopparFile()メソッドを呼び出すことで, 任意のXPLOR/CNSのトポロジー(*.top)・パラメタ(*.par)・リンケージファイル(*.lin) を読み込めます.

 mol.loadTopparFile("ファイル名", "cns");

ただし,トポロジーは読込・定義以降から有効になります. そのため,分子ファイルをロードする前に読み込んでおく必要があります.


*1 具体的には,各原子のファンデルワールス半径の和よりも極端に近い場合は共有結合していると判断している
*2 それ以外のデータはエネルギー最小化やMDで必要になってくるが,今のところCueMolでは未実装.
*3 peptやnucはtopファイルに記述されているPRESidue定義に対応している.

Last-modified: Tue, 24 Apr 2007 22:45:38 JST (6422d)