Class HybridizationFingerprinter

All Implemented Interfaces:
IFingerprinter

public class HybridizationFingerprinter extends Fingerprinter implements IFingerprinter
Generates a fingerprint for a given IAtomContainer. Fingerprints are one-dimensional bit arrays, where bits are set according to a the occurrence of a particular structural feature (See for example the Daylight inc. theory manual for more information). Fingerprints allow for a fast screening step to exclude 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();
   IFingerprinter fingerprinter =
     new HybridizationFingerprinter();
   BitSet fingerprint = fingerprinter.getFingerprint(molecule);
   fingerprint.size(); // returns 1024 by default
   fingerprint.length(); // returns the highest set bit
 

The FingerPrinter has the option to ignore explicit hydrogen's (Fingerprinter.setHashExplicitHydrogens(boolean)) and pseudo atoms (Fingerprinter.setHashPseudoAtoms(boolean)). This ensures the fingerprint can be used for substructure screening by default.

Unlike the Fingerprinter, this fingerprinter does not take into account aromaticity. Instead, it takes into account SP2 IAtomType.Hybridization.

Keywords:
fingerprint, similarity
  • Constructor Details

    • HybridizationFingerprinter

      public HybridizationFingerprinter()
      Creates a fingerprint generator of length DEFAULT_SIZE and with a search depth of DEFAULT_SEARCH_DEPTH.
    • HybridizationFingerprinter

      public HybridizationFingerprinter(int size)
    • HybridizationFingerprinter

      public HybridizationFingerprinter(int size, int searchDepth)
      Constructs a fingerprint generator that creates fingerprints of the given size, using a generation algorithm with the given search depth.
      Parameters:
      size - The desired size of the fingerprint
      searchDepth - The desired depth of search
  • Method Details

    • getBondSymbol

      protected String getBondSymbol(IBond bond)
      Gets the bond Symbol attribute of the Fingerprinter class.
      Overrides:
      getBondSymbol in class Fingerprinter
      Parameters:
      bond - Description of the Parameter
      Returns:
      The bondSymbol value