00001 // 00002 // Copyright (C) 2007-2011 Greg Landrum 00003 // 00004 // @@ All Rights Reserved @@ 00005 // This file is part of the RDKit. 00006 // The contents are covered by the terms of the BSD license 00007 // which is included in the file license.txt, found at the root 00008 // of the RDKit source tree. 00009 // 00010 00011 /*! \file MolSurf.h 00012 00013 \brief Use MolDescriptors.h in client code. 00014 00015 */ 00016 #ifndef __RD_MOLSURF_H__ 00017 #define __RD_MOLSURF_H__ 00018 00019 #include<vector> 00020 00021 namespace RDKit{ 00022 class ROMol; 00023 namespace Descriptors { 00024 const std::string labuteASAVersion="1.0.2"; 00025 00026 //! calculates atomic contributions to Labute's Approximate Surface Area 00027 /*! 00028 Definition from P. Labute's article in the Journal of the 00029 Chemical Computing Group and J. Mol. Graph. Mod. _18_ 464-477 00030 (2000) 00031 00032 \param mol the molecule of interest 00033 \param Vi used to return the explict atom contribs 00034 \param hContrib used to return the H contributions (if calculated) 00035 \param includeHs (optional) if this is true (the default), 00036 the contribution of H atoms to the ASA will be included. 00037 \param force (optional) calculate the values even if they are cached. 00038 00039 \return the sum of the atomic contributions 00040 00041 */ 00042 double getLabuteAtomContribs(const ROMol &mol, 00043 std::vector<double> &Vi, 00044 double &hContrib, 00045 bool includeHs=true, 00046 bool force=false); 00047 00048 //! calculates Labute's Approximate Surface Area (ASA from MOE) 00049 /*! 00050 Definition from P. Labute's article in the Journal of the 00051 Chemical Computing Group and J. Mol. Graph. Mod. _18_ 464-477 00052 (2000) 00053 00054 \param mol the molecule of interest 00055 \param includeHs (optional) if this is true (the default), 00056 the contribution of H atoms to the ASA will be included. 00057 \param force (optional) calculate the value even if it's cached. 00058 00059 */ 00060 double calcLabuteASA(const ROMol &mol,bool includeHs=true, 00061 bool force=false); 00062 00063 const std::string tpsaVersion="1.1.0"; 00064 //! calculates atomic contributions to the TPSA value 00065 /*! 00066 The TPSA definition is from: 00067 P. Ertl, B. Rohde, P. Selzer 00068 Fast Calculation of Molecular Polar Surface Area as a Sum of Fragment-based 00069 Contributions and Its Application to the Prediction of Drug Transport 00070 Properties, J.Med.Chem. 43, 3714-3717, 2000 00071 00072 \param mol the molecule of interest 00073 \param Vi used to return the atom contribs 00074 \param force (optional) calculate the values even if they are cached. 00075 00076 \return the sum of the atomic contributions 00077 00078 */ 00079 double getTPSAAtomContribs(const ROMol &mol, 00080 std::vector<double> &Vi, 00081 bool force=false); 00082 00083 //! calculates the TPSA value for a molecule 00084 /*! 00085 The TPSA definition is from: 00086 P. Ertl, B. Rohde, P. Selzer 00087 Fast Calculation of Molecular Polar Surface Area as a Sum of Fragment-based 00088 Contributions and Its Application to the Prediction of Drug Transport 00089 Properties, J.Med.Chem. 43, 3714-3717, 2000 00090 00091 \param mol the molecule of interest 00092 \param force (optional) calculate the value even if it's cached. 00093 00094 */ 00095 double calcTPSA(const ROMol &mol, 00096 bool force=false); 00097 00098 std::vector<double> calcSlogP_VSA(const ROMol &mol,std::vector<double> *bins=0, 00099 bool force=false); 00100 std::vector<double> calcSMR_VSA(const ROMol &mol,std::vector<double> *bins=0, 00101 bool force=false); 00102 std::vector<double> calcPEOE_VSA(const ROMol &mol,std::vector<double> *bins=0, 00103 bool force=false); 00104 00105 } // end of namespace Descriptors 00106 } //end of namespace RDKit 00107 00108 #endif
1.7.1