public class Tanimoto extends Object
You can use the FingerPrinter class to retrieve two fingerprint bitsets. We assume that you have two structures stored in cdk.Molecule objects. A tanimoto coefficient can then be calculated like:
BitSet fingerprint1 = Fingerprinter.getBitFingerprint(molecule1); BitSet fingerprint2 = Fingerprinter.getBitFingerprint(molecule2); float tanimoto_coefficient = Tanimoto.calculate(fingerprint1, fingerprint2);
The FingerPrinter assumes that hydrogens are explicitely given, if this is desired!
Note that the continuous Tanimoto coefficient does not lead to a metric space
| Modifier and Type | Method and Description |
|---|---|
static float |
calculate(BitSet bitset1,
BitSet bitset2)
Evaluates Tanimoto coefficient for two bit sets.
|
static float |
calculate(double[] features1,
double[] features2)
Evaluates the continuous Tanimoto coefficient for two real valued vectors.
|
static double |
calculate(IBitFingerprint fingerprint1,
IBitFingerprint fingerprint2)
Evaluates Tanimoto coefficient for two
IBitFingerprint. |
static double |
calculate(ICountFingerprint fp1,
ICountFingerprint fp2)
Evaluate continuous Tanimoto coefficient for two feature, count fingerprint representations.
|
static float |
calculate(Map<String,Integer> features1,
Map<String,Integer> features2)
Evaluate continuous Tanimoto coefficient for two feature, count fingerprint representations.
|
static double |
method1(ICountFingerprint fp1,
ICountFingerprint fp2)
Calculates Tanimoto distance for two count fingerprints using method 1.
|
static double |
method2(ICountFingerprint fp1,
ICountFingerprint fp2)
Calculates Tanimoto distance for two count fingerprints using method 2 (J.A. Grant, J.A. Haigh, B.T. Pickup, A. Nicholls and R.A. Sayle. J. Chem. Inf. Model.. 2006. 46).
|
public static float calculate(BitSet bitset1, BitSet bitset2) throws CDKException
bitset1 - A bitset (such as a fingerprint) for the first moleculebitset2 - A bitset (such as a fingerprint) for the second moleculeCDKException - if bitsets are not of the same lengthpublic static double calculate(IBitFingerprint fingerprint1, IBitFingerprint fingerprint2)
IBitFingerprint.
fingerprint1 - fingerprint for the first moleculefingerprint2 - fingerprint for the second moleculeIllegalArgumentException - if bitsets are not of the same lengthpublic static float calculate(double[] features1,
double[] features2)
throws CDKException
features1 - The first feature vectorfeatures2 - The second feature vectorCDKException - if the features are not of the same lengthpublic static float calculate(Map<String,Integer> features1, Map<String,Integer> features2)
Note that feature/count type fingerprints may be of different length. Uses Tanimoto method from 10.1021/ci800326z
features1 - The first feature mapfeatures2 - The second feature mappublic static double calculate(ICountFingerprint fp1, ICountFingerprint fp2)
Note that feature/count type fingerprints may be of different length. Uses Tanimoto method from 10.1021/ci800326z
fp1 - The first fingerprintfp2 - The second fingerprintmethod1(org.openscience.cdk.fingerprint.ICountFingerprint, org.openscience.cdk.fingerprint.ICountFingerprint),
method2(org.openscience.cdk.fingerprint.ICountFingerprint, org.openscience.cdk.fingerprint.ICountFingerprint)public static double method1(ICountFingerprint fp1, ICountFingerprint fp2)
fp1 - count fingerprint 1fp2 - count fingerprint 2public static double method2(ICountFingerprint fp1, ICountFingerprint fp2)
fp1 - count fingerprint 1fp2 - count fingerprint 2Copyright © 2021. All rights reserved.