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   const std::string DaylightFingerprintMolVersion="2.0.0-deprecated";
    00012   class ROMol;
    00013   //! \brief Generates a topological (Daylight like) fingerprint for a molecule
    00014   /*!
    00015     \deprecated NOTE: This function is deprecated. Please use RDKFingerprintMol()
    00016                 instead.
    00017
    00018     \param mol:          the molecule to be fingerprinted
    00019     \param minPath:      the minimum path length (in bonds) to be included
    00020     \param maxPath:      the minimum path length (in bonds) to be included
    00021     \param fpSize:       the size of the fingerprint
    00022     \param nBitsPerHash: the number of bits to be set by each path
    00023     \param useHs:        toggles inclusion of Hs in distinguishing paths from
    00024                          each other.
    00025     \param tgtDensity:   if the generated fingerprint is below this density, it will
    00026                          be folded until the density is reached.
    00027     \param minSize:      the minimum size to which the fingerprint will be
    00028                          folded
    00029
    00030     \return the molecular fingerprint, as an ExplicitBitVect
    00031
    00032     <b>Notes:</b>
    00033       - the caller is responsible for <tt>delete</tt>ing the result
    00034
    00035   */
    00036   ExplicitBitVect *DaylightFingerprintMol(const ROMol &mol,
    00037                                           unsigned int minPath=1,unsigned int maxPath=7,
    00038                                           unsigned int fpSize=2048,unsigned int nBitsPerHash=4,
    00039                                           bool useHs=true,
    00040                                           double tgtDensity=0.0,unsigned int minSize=128);
    00041
    00042   //! \brief Generates a topological (Daylight like) fingerprint for a molecule
    00043   //!        using an alternate (faster) hashing algorithm
    00044   /*!
    00045
    00046     \param mol:          the molecule to be fingerprinted
    00047     \param minPath:      the minimum path length (in bonds) to be included
    00048     \param maxPath:      the minimum path length (in bonds) to be included
    00049     \param fpSize:       the size of the fingerprint
    00050     \param nBitsPerHash: the number of bits to be set by each path
    00051     \param useHs:        toggles inclusion of Hs in distinguishing paths from
    00052                          each other.
    00053     \param tgtDensity:   if the generated fingerprint is below this density, it will
    00054                          be folded until the density is reached.
    00055     \param minSize:      the minimum size to which the fingerprint will be
    00056                          folded
    00057
    00058     \return the molecular fingerprint, as an ExplicitBitVect
    00059
    00060     <b>Notes:</b>
    00061       - the caller is responsible for <tt>delete</tt>ing the result
    00062
    00063   */
    00064   const std::string RDKFingerprintMolVersion="1.0.0";
    00065   ExplicitBitVect *RDKFingerprintMol(const ROMol &mol,
    00066                                     unsigned int minPath=1,unsigned int maxPath=7,
    00067                                     unsigned int fpSize=2048,unsigned int nBitsPerHash=4,
    00068                                     bool useHs=true,
    00069                                      double tgtDensity=0.0,unsigned int minSize=128);
    00070
    00071   //! \brief Generates a topological (Daylight like) fingerprint for a molecule
    00072   //!        using an alternate (faster) hashing algorithm
    00073   /*!
    00074
    00075     <b>Experimental:</b> This function is experimental. The API or results may change from
    00076     release to release.
    00077
    00078     \param mol:          the molecule to be fingerprinted
    00079     \param layers:       the layers to be included (see below)
    00080     \param minPath:      the minimum path length (in bonds) to be included
    00081     \param maxPath:      the minimum path length (in bonds) to be included
    00082     \param fpSize:       the size of the fingerprint
    00083     \param tgtDensity:   if the generated fingerprint is below this density, it will
    00084                          be folded until the density is reached.
    00085     \param minSize:      the minimum size to which the fingerprint will be
    00086                          folded
    00087
    00088     \return the molecular fingerprint, as an ExplicitBitVect
    00089
    00090     <b>Notes:</b>
    00091       - the caller is responsible for <tt>delete</tt>ing the result
    00092
    00093     <b>Layer definitions:</b>
    00094        - 0x01: pure topology
    00095        - 0x02: bond order
    00096        - 0x04: atom types
    00097        - 0x08: presence of rings
    00098        - 0x10: ring sizes
    00099   */
    00100   const std::string LayeredFingerprintMolVersion="0.2.0";
    00101   ExplicitBitVect *LayeredFingerprintMol(const ROMol &mol,
    00102                                          unsigned int layerFlags=0xFFFFFFFF,
    00103                                          unsigned int minPath=1,unsigned int maxPath=7,
    00104                                          unsigned int fpSize=2048,
    00105                                          double tgtDensity=0.0,unsigned int minSize=128);
    00106 }
    00107
    00108 #endif