RDKit
Open-source cheminformatics and machine learning.
MolSurf.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2007-2011 Greg Landrum
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 
11 /*! \file MolSurf.h
12 
13  \brief Use MolDescriptors.h in client code.
14 
15 */
16 #ifndef __RD_MOLSURF_H__
17 #define __RD_MOLSURF_H__
18 
19 #include<vector>
20 
21 namespace RDKit{
22  class ROMol;
23  namespace Descriptors {
24  const std::string labuteASAVersion="1.0.2";
25 
26  //! calculates atomic contributions to Labute's Approximate Surface Area
27  /*!
28  Definition from P. Labute's article in the Journal of the
29  Chemical Computing Group and J. Mol. Graph. Mod. _18_ 464-477
30  (2000)
31 
32  \param mol the molecule of interest
33  \param Vi used to return the explict atom contribs
34  \param hContrib used to return the H contributions (if calculated)
35  \param includeHs (optional) if this is true (the default),
36  the contribution of H atoms to the ASA will be included.
37  \param force (optional) calculate the values even if they are cached.
38 
39  \return the sum of the atomic contributions
40 
41  */
42  double getLabuteAtomContribs(const ROMol &mol,
43  std::vector<double> &Vi,
44  double &hContrib,
45  bool includeHs=true,
46  bool force=false);
47 
48  //! calculates Labute's Approximate Surface Area (ASA from MOE)
49  /*!
50  Definition from P. Labute's article in the Journal of the
51  Chemical Computing Group and J. Mol. Graph. Mod. _18_ 464-477
52  (2000)
53 
54  \param mol the molecule of interest
55  \param includeHs (optional) if this is true (the default),
56  the contribution of H atoms to the ASA will be included.
57  \param force (optional) calculate the value even if it's cached.
58 
59  */
60  double calcLabuteASA(const ROMol &mol,bool includeHs=true,
61  bool force=false);
62 
63  const std::string tpsaVersion="1.1.0";
64  //! calculates atomic contributions to the TPSA value
65  /*!
66  The TPSA definition is from:
67  P. Ertl, B. Rohde, P. Selzer
68  Fast Calculation of Molecular Polar Surface Area as a Sum of Fragment-based
69  Contributions and Its Application to the Prediction of Drug Transport
70  Properties, J.Med.Chem. 43, 3714-3717, 2000
71 
72  \param mol the molecule of interest
73  \param Vi used to return the atom contribs
74  \param force (optional) calculate the values even if they are cached.
75 
76  \return the sum of the atomic contributions
77 
78  */
79  double getTPSAAtomContribs(const ROMol &mol,
80  std::vector<double> &Vi,
81  bool force=false);
82 
83  //! calculates the TPSA value for a molecule
84  /*!
85  The TPSA definition is from:
86  P. Ertl, B. Rohde, P. Selzer
87  Fast Calculation of Molecular Polar Surface Area as a Sum of Fragment-based
88  Contributions and Its Application to the Prediction of Drug Transport
89  Properties, J.Med.Chem. 43, 3714-3717, 2000
90 
91  \param mol the molecule of interest
92  \param force (optional) calculate the value even if it's cached.
93 
94  */
95  double calcTPSA(const ROMol &mol,
96  bool force=false);
97 
98  std::vector<double> calcSlogP_VSA(const ROMol &mol,std::vector<double> *bins=0,
99  bool force=false);
100  std::vector<double> calcSMR_VSA(const ROMol &mol,std::vector<double> *bins=0,
101  bool force=false);
102  std::vector<double> calcPEOE_VSA(const ROMol &mol,std::vector<double> *bins=0,
103  bool force=false);
104 
105  } // end of namespace Descriptors
106 } //end of namespace RDKit
107 
108 #endif
double getTPSAAtomContribs(const ROMol &mol, std::vector< double > &Vi, bool force=false)
calculates atomic contributions to the TPSA value
std::vector< double > calcPEOE_VSA(const ROMol &mol, std::vector< double > *bins=0, bool force=false)
ROMol is a molecule class that is intended to have a fixed topology.
Definition: ROMol.h:105
double calcTPSA(const ROMol &mol, bool force=false)
calculates the TPSA value for a molecule
std::vector< double > calcSMR_VSA(const ROMol &mol, std::vector< double > *bins=0, bool force=false)
const std::string labuteASAVersion
Definition: MolSurf.h:24
Includes a bunch of functionality for handling Atom and Bond queries.
Definition: Atom.h:28
double getLabuteAtomContribs(const ROMol &mol, std::vector< double > &Vi, double &hContrib, bool includeHs=true, bool force=false)
calculates atomic contributions to Labute&#39;s Approximate Surface Area
std::vector< double > calcSlogP_VSA(const ROMol &mol, std::vector< double > *bins=0, bool force=false)
double calcLabuteASA(const ROMol &mol, bool includeHs=true, bool force=false)
calculates Labute&#39;s Approximate Surface Area (ASA from MOE)
const std::string tpsaVersion
Definition: MolSurf.h:63