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, std::vector<double> &Vi,
43  double &hContrib, bool includeHs = true,
44  bool force = false);
45 
46 //! calculates Labute's Approximate Surface Area (ASA from MOE)
47 /*!
48  Definition from P. Labute's article in the Journal of the
49  Chemical Computing Group and J. Mol. Graph. Mod. _18_ 464-477
50  (2000)
51 
52  \param mol the molecule of interest
53  \param includeHs (optional) if this is true (the default),
54  the contribution of H atoms to the ASA will be included.
55  \param force (optional) calculate the value even if it's cached.
56 
57 */
58 double calcLabuteASA(const ROMol &mol, bool includeHs = true,
59  bool force = false);
60 
61 const std::string tpsaVersion = "1.1.0";
62 //! calculates atomic contributions to the TPSA value
63 /*!
64  The TPSA definition is from:
65  P. Ertl, B. Rohde, P. Selzer
66  Fast Calculation of Molecular Polar Surface Area as a Sum of Fragment-based
67  Contributions and Its Application to the Prediction of Drug Transport
68  Properties, J.Med.Chem. 43, 3714-3717, 2000
69 
70  \param mol the molecule of interest
71  \param Vi used to return the atom contribs
72  \param force (optional) calculate the values even if they are cached.
73 
74  \return the sum of the atomic contributions
75 
76 */
77 double getTPSAAtomContribs(const ROMol &mol, std::vector<double> &Vi,
78  bool force = false);
79 
80 //! calculates the TPSA value for a molecule
81 /*!
82  The TPSA definition is from:
83  P. Ertl, B. Rohde, P. Selzer
84  Fast Calculation of Molecular Polar Surface Area as a Sum of Fragment-based
85  Contributions and Its Application to the Prediction of Drug Transport
86  Properties, J.Med.Chem. 43, 3714-3717, 2000
87 
88  \param mol the molecule of interest
89  \param force (optional) calculate the value even if it's cached.
90 
91 */
92 double calcTPSA(const ROMol &mol, bool force = false);
93 
94 std::vector<double> calcSlogP_VSA(const ROMol &mol,
95  std::vector<double> *bins = 0,
96  bool force = false);
97 std::vector<double> calcSMR_VSA(const ROMol &mol, std::vector<double> *bins = 0,
98  bool force = false);
99 std::vector<double> calcPEOE_VSA(const ROMol &mol,
100  std::vector<double> *bins = 0,
101  bool force = false);
102 
103 } // end of namespace Descriptors
104 } // end of namespace RDKit
105 
106 #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:106
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:29
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:61