RDCode: Fingerprints.h Source File

# Fingerprints.h

Go to the documentation of this file.

    00001 //
    00002 //  Copyright (C) 2003-2008 Greg Landrum and Rational Discovery LLC
    00003 //
    00004 //   @@ All Rights Reserved  @@
    00005 //
    00006 #ifndef _RD_FINGERPRINTS_H_
    00007 #define _RD_FINGERPRINTS_H_
    00008
    00009 class ExplicitBitVect;
    00010 namespace RDKit{
    00011   class ROMol;
    00012   //! \brief Generates a topological (Daylight like) fingerprint for a molecule
    00013   /*!
    00014
    00015     \param mol:          the molecule to be fingerprinted
    00016     \param minPath:      the minimum path length (in bonds) to be included
    00017     \param maxPath:      the minimum path length (in bonds) to be included
    00018     \param fpSize:       the size of the fingerprint
    00019     \param nBitsPerHash: the number of bits to be set by each path
    00020     \param useHs:        toggles inclusion of Hs in distinguishing paths from
    00021                          each other.
    00022     \param tgtDensity:   if the generated fingerprint is below this density, it will
    00023                          be folded until the density is reached.
    00024     \param minSize:      the minimum size to which the fingerprint will be
    00025                          folded
    00026
    00027     \return the molecular fingerprint, as an ExplicitBitVect
    00028
    00029     <b>Notes:</b>
    00030       - the caller is responsible for <tt>delete</tt>ing the result
    00031
    00032   */
    00033   ExplicitBitVect *DaylightFingerprintMol(const ROMol &mol,
    00034                                           unsigned int minPath=1,unsigned int maxPath=7,
    00035                                           unsigned int fpSize=2048,unsigned int nBitsPerHash=4,
    00036                                           bool useHs=true,
    00037                                           double tgtDensity=0.0,unsigned int minSize=128);
    00038
    00039   //! \brief Generates a topological (Daylight like) fingerprint for a molecule
    00040   //!        using an alternate (faster) hashing algorithm
    00041   /*!
    00042
    00043     \param mol:          the molecule to be fingerprinted
    00044     \param minPath:      the minimum path length (in bonds) to be included
    00045     \param maxPath:      the minimum path length (in bonds) to be included
    00046     \param fpSize:       the size of the fingerprint
    00047     \param nBitsPerHash: the number of bits to be set by each path
    00048     \param useHs:        toggles inclusion of Hs in distinguishing paths from
    00049                          each other.
    00050     \param tgtDensity:   if the generated fingerprint is below this density, it will
    00051                          be folded until the density is reached.
    00052     \param minSize:      the minimum size to which the fingerprint will be
    00053                          folded
    00054
    00055     \return the molecular fingerprint, as an ExplicitBitVect
    00056
    00057     <b>Notes:</b>
    00058       - the caller is responsible for <tt>delete</tt>ing the result
    00059
    00060   */
    00061   ExplicitBitVect *RDKFingerprintMol(const ROMol &mol,
    00062                                     unsigned int minPath=1,unsigned int maxPath=7,
    00063                                     unsigned int fpSize=2048,unsigned int nBitsPerHash=4,
    00064                                     bool useHs=true,
    00065                                     double tgtDensity=0.0,unsigned int minSize=128);
    00066
    00067 }
    00068
    00069 #endif