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パッケージに様々な係数が追加されることを期待しています。
人気ブログランキング(クリックして応援してね)