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

Generated on Fri Apr 3 06:03:01 2009 for RDCode by  doxygen 1.5.6