Class ShortestPathFingerprinter

java.lang.Object
org.openscience.cdk.fingerprint.AbstractFingerprinter
org.openscience.cdk.fingerprint.ShortestPathFingerprinter
All Implemented Interfaces:
Serializable, IFingerprinter

public class ShortestPathFingerprinter extends AbstractFingerprinter implements IFingerprinter, Serializable
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 are a means for determining the similarity of chemical structures, some fingerprints (not this one) allow database pre-screening for substructure searches.

 A fingerprint is generated for an AtomContainer with this code:
 It is recommended to use atomtyped container before generating the fingerprints.

 For example: AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(atomContainer);

   AtomContainer molecule = new AtomContainer();
   AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(atomContainer);
   IFingerprinter fingerprinter = new ShortestPathFingerprinter();
   IBitFingerprint fingerprint = fingerprinter.getFingerprint(molecule);
   fingerprint.fingerprintLength(); // returns 1024 by default
   fingerprint.length(); // returns the highest set bit
 

The FingerPrinter calculates fingerprint based on the Shortest Paths between two atoms. It also takes into account ring system, charges etc while generating a fingerprint.

The FingerPrinter assumes that hydrogens are explicitly given! Furthermore, if pseudo atoms or atoms with malformed symbols are present, their atomic number is taken as one more than the last element currently supported in PeriodicTable.


Important! this fingerprint can not be used for substructure screening.
Author:
Syed Asad Rahman (2012)
See Also:
Source code:
main
Belongs to CDK module:
fingerprint
Keywords:
fingerprint, similarity
  • Field Details

    • DEFAULT_SIZE

      public static final int DEFAULT_SIZE
      The default length of created fingerprints.
      See Also:
  • Constructor Details

    • ShortestPathFingerprinter

      public ShortestPathFingerprinter()
      Creates a fingerprint generator of length DEFAULT_SIZE
    • ShortestPathFingerprinter

      public ShortestPathFingerprinter(int fingerprintLength)
      Constructs a fingerprint generator that creates fingerprints of the given fingerprintLength, using a generation algorithm with shortest paths.
      Parameters:
      fingerprintLength - The desired fingerprintLength of the fingerprint
  • Method Details