2006年06月02日

Javaでケムインフォ

The Chemistry Development Kit(CDK)は、Javaのケム/バイオインフォマティクス用ライブラリです。Cologne University Bioinformatics CenterのSteinbeck博士らにより開発がはじめられ、今では10以上の研究機関が開発に参加しています。

CDKには、ケムインフォマティクスに関する様々なクラスが用意されています。あまりにもいろんなクラスが含まれているので、まずは、APIを覗いてみましょう。
http://cdk.sourceforge.net/api/
おお!クラス名を見るだけでワクワクしますね。
さらに、CDK Newsというものも発行されており、CDKに関する最新の話題など、情報がゲットできます。

CDKを使えば様々なことが簡単にプログラミングできるのですが、特に、以前の記事でも触れましたが、2D->3Dコンバータも作れます(ただし、その精度は各自が利用してみて判断してください)。

今回は、まず、CDKで何ができるのかを知るために、CDKを使ったWebサイトを利用することにします。
以下のサイトにアクセスして下さい。
http://www.chemistry-development-kit.org/
"Input"にあるJChemPaintに分子構造を入力し、[Import from editor]ボタンを押します。そうすると"QSAR"にAtomic polarizabilitiesなどのDiscriptorが計算されます。XLogPもありますね。その他に、"Analyze"には、分子量やSMILES表記が、"Atomic Qsar"には、部分電荷が、"Render3D"では、分子の3D座標がJmolにより表示されます。

CDKWeb.png

CDKを使うことにより、このようなシステムを容易に構築できるのです。

CDKは魅力いっぱいのライブラリです。インストール方法や、クラスの使い方など、これから少しずつメモを積み重ねていきたいと思います。



banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 07:57| Comment(5) | TrackBack(0) | CDK | このブログの読者になる | 更新情報をチェックする

2006年06月01日

バーチャルスクリーニング

医薬品シード化合物をコンピュータ上でスクリーニングする。これが確率よく実現できれば、医薬品開発の効率化に大きく寄与すると思われます。Bouhm博士とSchneider博士の編集された「Virtual Screening for Bioactive Molecules」は、Virtual Screening全体を見渡せる書籍だと思います。Bouhm博士といえば、タンパク質/リガンド相互作用のスコア関数の1つである"empirical scoring function"で有名な先生ですね。多くのドッキングソフトウェアで採用されていると思います。

さて、「Virtual Screening for Bioactive Molecules」では、まず、Drug-Like Propertiesによるライブラリのフィルタリング法の解説、ここでは有名な"rule of 5"の紹介から入り、REOS、決定木によるフィルタリング法が解説されています。第3章では、物理化学的な特性値の計算法、特にlogPの計算法がまとめられています。第4章からは、Tanimoto CoefficientをはじめてするDistance coefficientを用いた類似度評価、3D-QSARの解説など、第7章からは、ファーマコフォア/ドッキングによるスクリーニングについて解説されています。


出版されてから若干時間は経っておりますが、この本全体に目を通し、細かい内容は参考論文を取り寄せ把握すれば、Virtual Screeningを効率的に学習できるのではないでしょうか。アマゾンで内容も一部確認できるみたいです。





banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 08:48| Comment(0) | TrackBack(0) | 書籍紹介 | このブログの読者になる | 更新情報をチェックする

2006年05月31日

Tinker & Force Field Explorer

今回は、分子モデリングツールとして有名なTinkerとそのGUIでもあるForce Field Explorer(FFE)についてメモしたいと思います。

TinkerはJay William Ponder博士によって開発されている分子モデリングパッケージです。1990年頃より開発が始まっているようで、現時点でのソースコードのライン数は134,500、そして、その多くがFortranで書かれています。

分子モデリングソフトウェアの開発を行う場合、多くは、分子力場を使い、エネルギー最小化(EM)やMolecular Dynamics(MD)をプログラミングすることになると思います。EMやMD自体も相当に大変なのですが、その前に入力された構造に分子力場を適用するための多くの前処理が待っています。例えば、Bond,Angle,Torsionエネルギーを計算するためには、それぞれに対応するAtomとBondのリストが必要ですし、Atom Typeの決定もする必要があります。
また、この処理が不適切だと、舟形ベンゼン環(笑)など、とんでもない構造が生成されたりします。

私が学生の時に始めにつまずいたのは、EMやMDではなく、上に書いた前処理でした。そのときに役にたったのが、ケムインフォマティクスで学んだ種々のアルゴリズムとこのTinkerのソースコードだったのです。今になって思うのですが、Tinkerのソースコードは非常に分かりやすく、テクニックを学ぶ上で本当に勉強になったと思います。

さて、ここ最近、Tinkerに触れる機会がなかったのですが、久しぶりにチェックするとFFEとうGUIからTinkerを操作できるそうです。早速、テストしてみることにしました。

1.Tinkerの入手(ライセンスは各自確認してください)。
以下のサイトからInstallation Kit for Linux (53.4Mb)をDOWNLOAD。
http://dasher.wustl.edu/tinker/

2. 解凍
$ gunzip tinker-linux.sh.gz

3. インストール
$ su
# sh tinker-linux.sh
デフォルトでは/opt/tinkerにインストールされます。

4. パスを通す。
/opt/tinkerにパスを通す。

5. 実行
$ ffe

実行例:

1.分子の読み込み
(exampleの分子を使います)
$ cp /opt/tinker/example/dialanine.xyz .
$ ffe
[File]->[Open]->dialanine.xyzを選択。
分子力場はcharmm27を選択。

tinker1.png

2.分子表示形式の変更
[Display]->[Tube]
Java3Dを使っているので、結構きれいです。
tinker2.png

3. Optimizeの実行
[Modeling Commands]タブを選択。
その左下にあるコマンド選択用のリストボックスから[Optimize]を選択。
その他のパラメータはデフォルトを使用。
リストボックスの左にあるロケットを押す。
tinker3.png

logsのタブに切り替わり結果が見れます。
Graphicsタブを押すとOptimizeされたdialanineが表示されていますよ。

本当に便利ですね。昔からコマンドラインになれていると別にGUI無くても計算さえできればいいやと思ってましが、FFEはかなり便利です。もう少しFFEに熟知したらまたメモします。



banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 08:32| Comment(0) | TrackBack(0) | その他ツール | このブログの読者になる | 更新情報をチェックする

2006年05月30日

PyMolで超簡単分子グラフィクス

PyMolの機能の1つにpresetというものがあります。これを使うと簡単にProtein/Drug相互作用部位にフォーカスしたグラフィクスをゲットすることができます。

ここでは、HIVプロテアーゼ/阻害剤の結晶構造を利用したいと思います。まずは、Protein Data Bankアクセスし、3AIDを取得します。

1. PDBファイルの読み込み
Pymolを起動->[File]->[Open]->3AIDを読み込む。

2. グラフィクスの作成
画面右側の3AIDの横にあるA(Actions:)ポタンをクリックし、
[preset]->[ligand sites]->[transparent(better)]と選択。
pymol1.png

3. レイトレイシングの実行
画面右上のRayボタンを押す。もしくはコマンドラインから"ray"とタイプする。そして、[File]->[Save Image]により、PNGで保存できます。
pymol2.png

おお!なかなか綺麗です。
このグラフィクスって、Bioorg.Med.Chem.あたりでもよく見かけますよね。
あとは、好みで配色やラベルなどを付加すれば、プレゼンや論文でも十分使えると思います。

最後に、背景を白に変えて([Display]->[Background]->[White])、左右に動かしてみます(右上のRockボタンを押す)。
anime_pymol.gif



banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 22:47| Comment(0) | TrackBack(0) | 分子グラフィクス | このブログの読者になる | 更新情報をチェックする

2006年05月29日

ケモインフォマティックス

「ケモインフォマティックス-予測と設計のための化学情報学-」は、日本語で読める初めてのケモインフォマティックスの教科書とも呼べる書籍ではないでしょうか。参考文献もしっかりと記載されているため、さらに深く内容を理解したい場合においても便利です。

私が学部生のころは、ケモインフォマティックス関連の授業といえば、各先生が原著論文などを使ってそれぞれ授業されていたため、なかなか系統的な理解が難しく苦労しました。しかし、授業自体は、情報処理のアルゴリズムと化学がみごとに融合し、率直におもしろい学問分野だなっと思いました。

本書籍は、特にこれからケモインフォマティックスを勉強したい学部生にお勧めです。グラフ理論の基礎、化合物の線形/行列表現をしっかりと理解し、SSSR、Morgan法などで基礎的なアルゴリズムを学び、そして、構造検索、QSAR、反応予測などの応用研究を理解することができると思います。価格は若干高いですが、それ相当の価値はあると思います。




banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 18:29| Comment(0) | TrackBack(0) | 書籍紹介 | このブログの読者になる | 更新情報をチェックする

2006年05月28日

Pythonでケムインフォ

Lightweight Language(LL)で手軽にケムインフォマティクスのライブラリを使いたい。研究現場でプログラムを書いているとこんなことをよく思います。他のLLでも同様のことが言えるかもしれませんが、Pythonには、cheminformatics toolkitであるFrownsが公開されています。この他にも例えば、ケモメトリックス/統計ではPyChem/PyRが、分子モデリングでは、MMTKPyQuanteが、分子グラフィクスでは、PyMolChimeraなどが公開されています。商用でも有益な製品が多く販売されています。これらを使えば、ちょっと思いついたアイデアを短時間に実装/テストができ便利ですね。

さて、今回は、cheminformatics toolkitであるFrownsについてメモしたいと思います。

Windowsでのインストール方法(Linux上でもほぼ同様です):

Frownsのサイトよりfrowns-0.9a.zipを入手する。
http://frowns.sourceforge.net/
Python2.2以上を事前にインストールしてください。
パスを通すのをお忘れなく!

適当なフォルダでfrowns-0.9a.zipを解凍。

解凍したフォルダに移動し、以下のコマンドをコマンドプロンプト上で実行する。
> python setup.py build
> python setup.py install
インストールの完了!

次に例として簡単なスクリプトを書いてみます。
ここでは、Smiles.smilinを用いてSMILESを入力し、arbsmiles()及びcansmiles()でそれを出力しています。前者は、入力されたSMILESをそのまま出力し、後者は規範化して出力します。
SMILESは、同じ分子を複数の表現方法で示すことができ、今回入力しているSMILESは全て同じ分子(フェノール)を示しています。したがって、cansmiles()では規範化され全て同じSMILESとなって出力されています。残念ながらOELibにはCanonical SMILESはまだ実装されていません。RoadMapにはのっていますが。

規範化といえば、データベース検索における重要な技術の一つであり、Morgan法があまりにも有名ですね。Morgan法は次の機会にでもメモしたいと思っています。

-------------------------------------------------------
ソースプログラム:test.py
from frowns import Smiles

mol1 = Smiles.smilin("Oc1ccccc1")
mol2 = Smiles.smilin("c1ccccc1O")
mol3 = Smiles.smilin("c1ccc(O)cc1")

print 'mol1:Smiles ' + mol1.arbsmiles()
print 'mol2:Smiles ' + mol2.arbsmiles();
print 'mol3:Smiles ' + mol3.arbsmiles();
print ''
print 'mol1:Canonical Smiles ' + mol1.cansmiles()
print 'mol2:Canonical Smiles ' + mol2.cansmiles();
print 'mol3:Canonical Smiles ' + mol3.cansmiles();
-------------------------------------------------------
実行:
> python test.py
-------------------------------------------------------
出力:
mol1:Smiles Oc1ccccc1
mol2:Smiles c1ccccc1O
mol3:Smiles c1ccc(O)cc1

mol1:Canonical Smiles c1(ccccc1)O
mol2:Canonical Smiles c1(ccccc1)O
mol3:Canonical Smiles c1(ccccc1)O
-------------------------------------------------------


banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 13:22| Comment(0) | TrackBack(0) | Frowns | このブログの読者になる | 更新情報をチェックする

2006年05月27日

2D-3Dコンバータ

化学構造の2次元情報から3次元構造の構築は、化学、創薬など様々な分野で利用されている重要な技術だと思います。多くの商用ソフトウェアが市販されていると思いますが、今回は、Web上で簡単に2D->3Dコンバートを試すことができるCORINAについてメモしたいと思います。

CORINAは、ケムインフォマティクスの分野で最も有名な研究者の一人であるGasteiger博士の研究グループで開発されたソフトウェアです。Gasteiger博士といえば、他にもGasteiger-Marsili法、CACTVS、WODCA、PETRAなどご存知のとおり、多くの著名な業績を有する研究者ですね。

それでは、CORINAについてメモしたいと思います。
1. 以下のCORINAのサイトにアクセスする。
http://www2.chemie.uni-erlangen.de/software/corina/free_struct.html

2. 構造入力
図左にあるJMEで直接構造を書いてもかまいませんが、今回は、JMEで書くにはちょっとしんどいキラル中心を9つもつ以下の分子を図右のOptionsに直接入力します。

入力構造:N1[C@@]23[C@@H]([C@H]4[C@]([C@@H]([C@@H]2[C@H](NC1=[NH2+])O)O[C@@]([C@H]3O)(O4)[O-])(O)CO)O

co3D-3s.png

3. 3次元化
上の画面で"Generate 3D Structure"ボタンを押すとアプレットが立ち上がり生成された3次元構造を見ることができます。

co3D-4s.png

おお!お見事!適切な3次元化だと思います。

このようなコンバータは、SBVSを行う研究現場では必須なツールだと思います。ただ初めから適切に3D化された化合物のライブラリがほしいなというニーズもあったらしく、ZINCという便利なサイトが公開されています。
http://blaster.docking.org/zinc/

ZINCは論文としてPublishされているので、3D構造の生成手法など読んで把握しておくといいと思います。
Irwin and Shoichet, J. Chem. Inf. Model. 2005;45(1):177-82

あと、いわゆるフリーソフトを用いても、一応(改良の余地があると思いますが)、2D-3Dコンバートできますので、後日メモしますね。


banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 10:38| Comment(0) | TrackBack(0) | その他ツール | このブログの読者になる | 更新情報をチェックする

2006年05月26日

バベる!5世:obrotate

obrotateは任意の二面角を任意の角度に回転させるプログラムです。
obfitと同様にまずSMARTパターンに一致する部分構造を検索し、
回転の軸とする原子を決定します。

例としてブタンの二面角を0度から360度まで30度刻みで
回転させたいと思います。

$ obrotate "CCCC" butane.mol 1 2 3 4 0 > butane0.mol
$ obrotate "CCCC" butane.mol 1 2 3 4 30 > butane30.mol
$ obrotate "CCCC" butane.mol 1 2 3 4 60 > butane60.mol
....
....
$ obrotate "CCCC" butane.mol 1 2 3 4 360 > butane360.mol

ここで、butane.molは水素原子の付加されたbutaneのmolファイルであり、"CCCC"というSMARTパターンでbutane.mol内を検索することを指示しています。1 2 3 4はbutane.mol内の原子IDを示しているのではなく、SMARTパターン上の原子を示しています。最後の引数が指定した二面角の角度となります。

生成されたmolファイルからアニメーションgifを作ってみました。
指定どおり回転していることが分かります。
anime.gif

任意の二面角の回転は、化合物のコンフォメーション解析やドッキングなど利用できる場面が多くあると思います。obrotateはOELibを使ってシンプルに実装されていますので、興味のある方はソースコードをチェックしてみてください。


banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 00:38| Comment(0) | TrackBack(0) | OpenBabel | このブログの読者になる | 更新情報をチェックする

2006年05月25日

分子モデリング概説

分子モデリングに関する書籍の紹介をしたいと思います。
Andrew R. Leach博士の著書「Molecular Modelling-PRINCIPLES AND APPLICATIONS-」は、分子モデリングに最低限必要な数学から量子化学、分子力学、最後にドラックデザイン手法まで系統的にまとめられた書籍です。私は学生時代、分子モデリングを学ぶためにこの本を悪戦苦闘しながら、牛歩のようなスピードで読みました。英語が苦手だったのです。

地人書館より発行されている「分子モデリング概説-量子力学からタンパク質構造予測まで-」は、上記書籍の翻訳本です。本のサイズもB5判と大きく見やすくなり、英語の苦手な学部生だけではなく、研究者の方にも役に立つ内容だと思います。

私が印象に残ってるのは、第9章配座解析の中にある距離幾何学法(Distance Geometry)の説明が例と共に非常に分かりやすく解説されているところで、当時、距離行列から3D化の仕組みがやっと理解できたと喜んだことを思い出します。この他にも、分子モデリングのエッセンスがたくさんつまっている本だと思いますので、分子モデリングに興味のある方にお勧めしたいと思います。



banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 08:06| Comment(0) | TrackBack(0) | 書籍紹介 | このブログの読者になる | 更新情報をチェックする

2006年05月24日

PDFで分子グリグリ!

みなさんのお気に入りの分子ビューワは何ですか?描画のきれいなソフトウェアは多くありますが、私はRasmolが一番好きです。何といってもあのレスポンスの良さが使っていて快適だからです。細かい作業はスクリプトで行えばいいですし、それなりに見栄えのよい図も作れますしね。

さて、最近AdobeからAcrobat3Dという製品が発表されました。3D CADフォーマットをPDFに変換でき、そのPDF上で3Dモデルをグリグリと動かせるとのこと。しかもOpenGLで描画しているソフトウェアに対しては、プリントスクリーン経由でデータをキャプチャーし、PDFが作れるそうです。

今回は、Acrobat3DとPymolを使って、PDFで分子をグリグリさせるまでをメモしたいと思います。

1.Acrobat3Dを起動
[PDFの作成]->[3D Capture]
img1.png

2.Pymolを起動
適当な分子を読み込んで、stick表示などにする。
そして、プリントスクリーンを押す。
img2.png

3.PDF変換に関する諸設定
プリントスクリーンを押すと以下のダイアログが表示されるので、
必要であれば変更してOKを押す。
img3.png

4.PDFの出来上がり!
img4.png

あまりにもシンプルにPDFが作れたので驚きました。すごい!
(ただし、pymolからはじめてデータをキャプチャーするときは、
pymolをAcrobat3Dに登録するなど諸設定を促すダイアログがでます)

今後、いろんな分野のJournalなどで利用されるのではないでしょうか。
最後に今回作成したpdfをアップしておきます。

molecule.pdf

Adobe Reader7.0以上でpdfを開いてください。分子が表示されると思います。分子の上あたりでマウスを右クリックすると“3Dをアクティブにする”とでますので、選択してください。そうするとグリグリできます。元に戻すには、同様にマウスを右クリックし、“3Dを非アクティブにする”を選択すればOKです。



banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 12:56| Comment(0) | TrackBack(0) | 分子グラフィクス | このブログの読者になる | 更新情報をチェックする