openbabelのPythonのとこ見てたらFingerprintsのとこで
>>> print fps[0] | fps[1] # Print the Tanimoto coefficient
0.3333
タニモト距離を求めるように、メソッドオーバーライドしてんのかと。コードを眺めた。
class Fingerprint(object):
def __init__(self, fingerprint):
self.fp = fingerprint
def __or__(self, other):
return ob.OBFingerprint.Tanimoto(self.fp, other.fp)
@property
def bits(self):
return _findbits(self.fp, ob.OBFingerprint.Getbitsperint())
def __str__(self):
return ", ".join([str(x) for x in self.fp])
参考
Python クックブック 第2版
Alex Martelli,Anna Martelli Ravenscroft,David Ascher
オライリー・ジャパン / ¥ 4,410 ()
在庫あり。
Alex Martelli,Anna Martelli Ravenscroft,David Ascher
オライリー・ジャパン / ¥ 4,410 ()
在庫あり。