2006年08月31日

CDKでTanimoto coefficient

cdk-20060714には、新たにorg.openscience.cdk.similarityパッケージが追加されています。この中にあるTanimotoクラスを用いて、2つのFingerprintからTanimoto係数を計算してみます。

 Fingerprinter fp = new Fingerprinter();
 try {
  BitSet fing1 = fp.getFingerprint(mol1);
  BitSet fing2 = fp.getFingerprint(mol2);
  float dist = Tanimoto.calculate(fing1,fing2);
  System.out.println("Tanimoto Coefficient = " + dist);
 } catch (Exception e) {
  e.printStackTrace();
 }

注意が必要なところは、cdk-20050826では、FingerprinterクラスのgetFingerprint(AtomContainer ac)メソッドはstaticであったのに対し、cdk-20060714ではstaticではないところです。Tanimoto係数自体は自分で書いても簡単に実装できますが、今後org.openscience.cdk.similarityパッケージに様々な係数が追加されることを期待しています。


banner_02.gif
人気ブログランキング(クリックして応援してね)


posted by わばのり at 08:00| Comment(0) | TrackBack(0) | CDK | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。