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
1.5.3