Logo Search packages:      
Sourcecode: cdk version File versions  Download package

org::openscience::cdk::fingerprint::Fingerprinter Class Reference

Inheritance diagram for org::openscience::cdk::fingerprint::Fingerprinter:

org::openscience::cdk::fingerprint::IFingerprinter org::openscience::cdk::fingerprint::GraphOnlyFingerprinter

List of all members.

Detailed Description

Generates a Fingerprint for a given AtomContainer. Fingerprints are one-dimensional bit arrays, where bits are set according to a the occurence of a particular structural feature (See for example the Daylight inc. theory manual for more information) Fingerprints allow for a fast screening step to excluded candidates for a substructure search in a database. They are also a means for determining the similarity of chemical structures.

A fingerprint is generated for an AtomContainer with this code:

   Molecule molecule = new Molecule();
   BitSet fingerprint = Fingerprinter.getFingerprint(molecule);

The FingerPrinter assumes that hydrogens are explicitely given!

<font color="#FF0000">Warning: The aromaticity detection for this FingerPrinter relies on AllRingsFinder, which is known to take very long for some molecules with many cycles or special cyclic topologies. Thus, the AllRingsFinder has a built-in timeout of 5 seconds after which it aborts and throws an Exception. If you want your SMILES generated at any expense, you need to create your own AllRingsFinder, set the timeout to a higher value, and assign it to this FingerPrinter. In the vast majority of cases, however, the defaults will be fine. </font>

<font color="#FF0000">Another Warning : The daylight manual says: "Fingerprints are not so definite: if a fingerprint indicates a pattern is missing then it certainly is, but it can only indicate a pattern's presence with some probability." In the case of very small molecules, the probability that you get the same fingerprint for different molecules is high. </font>

steinbeck .created 2002-02-24 .keyword fingerprint .keyword similarity .module standard

Definition at line 79 of file Fingerprinter.java.

Public Member Functions

 Fingerprinter (int size, int searchDepth)
 Fingerprinter (int size)
 Fingerprinter ()
BitSet getFingerprint (IAtomContainer ac) throws Exception
BitSet getFingerprint (IAtomContainer ac, AllRingsFinder ringFinder) throws Exception
int getSearchDepth ()
int getSize ()

Static Public Attributes

static final int defaultSearchDepth = 8
static final int defaultSize = 1024

Protected Member Functions

Map findPathes (IAtomContainer ac, int searchDepth)
String getBondSymbol (org.openscience.cdk.interfaces.IBond bond)

Static Package Attributes

static final boolean debug = true
static int debugCounter = 0

Private Member Functions

void checkAndStore (List newPath, Map paths)
String convertSymbol (String symbol)
void depthFirstSearch (IAtomContainer ac, IAtom root, Map paths, List currentPath, int currentDepth, int searchDepth)

Private Attributes

int searchDepth
int size

Static Private Attributes

static LoggingTool logger = new LoggingTool(Fingerprinter.class)

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index