2009年12月18日金曜日

OpenBabel : Frameworkerを作ろう

FrameWorkを作るには各Fragmentの結合の組み合わせをすべてもれなくPick Upする必要があります。

たとえば下記のFragment構造を持った分子の場合、



可能な組み合わせは
A,B,C,D,E,F
A-B,B-C,B-D,D-E,D-F
A-B-C,A-B-D,C-B-D,B-D-E,B-D-F,D-E-F
・・・
などと組み合わせていく必要があります。

6Fragmentからなる分子の場合で3Fragmentから成るFrameworkは6C3=6*5*4/(3*2*1) = 20通りのなかから連結したFragmentを探すことになります。これらを1~Fragment数分の組み合わせを探すことが必要です。

最初は各Fragmentの連結情報からFragment長にあう組み合わせを網羅的にかつ有機的に探していこうとしました。しかし、分岐問題をスマートに解決する手法がなかなか思いつかず、それならすべての組み合わせの中からちゃんと連結したFragmentを組み合わせを探して、それをFrameWorkとしよう、ということにしました。

これなら、ちょっとだけ時間はかかるけど漏れなくFrameWorkを探せるな、ということです。


0 件のコメント: