win32ole 最強

Win32OLEを使って Accord で処理するのが一番シックリくる結果になった.Win32OLE 使いやすい.色々と使いでのあるモジュールだと感じた.Unix 系では使えないのがイマイチだけど…….ChemRuby も良さげなので時間がとれたら試してみよう.今は時間が取れないのがチョッチつらい.

懲りずに CDK を迷走中.こんな SMILES を読めなかった


NC(Cc1c[nH]c2cc[se]c12)C(O)=O
どうやら,[se]の部分を読むときに aromatic Seとは扱わずに,(aromatic)硫黄の S と解釈し次の e を読んで,そんな原子知らんと言うようだ.とりあえず Accord を使うのが一番良さげな感じ

と,おもったら ChemRubyがダウンロードできるっぽいので,Ruby ラブラブな僕としては試してみよう

Drug Bank なるサイトを発見.曰

The DrugBank database is a unique bioinformatics and cheminformatics resource that combines detailed drug (i.e. chemical, pharmacological and pharmaceutical) data with comprehensive drug target (i.e. sequence, structure, pathway) information. The database contains nearly 4100 drug entries including >700 FDA-approved small molecule drugs, 110 FDA-approved biotech (protein/peptide) drugs, >100 nutraceuticals and >3200 experimental drugs. Additionally, more than 15,000 protein (i.e. drug target) sequences are linked to these drug entries.
興味深い内容に思えるので,細かくチェックしてみよう.

CDK も微妙に電荷の扱い(MDLWriter)に問題があった.Molfile (V2000)の仕様では "M CHG" 行以外にも AtomBlock に電荷データを書くようになっているのだけど,CDK 提供の MDLWriter ではそこにデータを書かないようだ.SDF を読むツールによっては表示やデータハンドリングに問題が出るかも知れない.正直に書くと,AtomBlock のデータしか読まないアプリケーションにブチ当たって気づいた現象.どうした物かな? とりあえず,Open Babel で整形を考えてみようかな?

CDKを利用して Molfileの読み込み(書き込み)ではまった.Molfile では化学構造を保ったままグループ化表記することが出来る(-O-CH3 と描かずに -OMe と描ける.-O-CH3 という情報は消えない)が,以下のようなプログラムを通すと,OMe という原子を Molfile に書き出してしまった.


IteratingMDLReader reader = new IteratingMDLReader(new FileReader(input));
while(reader.hasNext()){
Molecule mol = (Molecule)reader.next();
MDLWriter writer=null;
writer = new MDLWriter(ow); /* ow は FileOutputStream */
writer.writeMolecule(mol);
ow.write(delimiter); /* delimiter は "$$$$\n" */
}
PerlMol は Charge のハンドリングに問題あるし,ナカナカ良い製品は無いですね.今回の経験を元に商用製品を当たってみよう