RDKit
Open-source cheminformatics and machine learning.
Lipinski.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 Lipinski.h
12 
13  \brief Contains Lipinski and Lipinski-like descriptors. Use MolDescriptors.h in client code.
14 
15 */
16 #ifndef __RD_LIPINSKI_H__
17 #define __RD_LIPINSKI_H__
18 namespace RDKit{
19  class ROMol;
20  namespace Descriptors {
21 
22  const std::string lipinskiHBAVersion="1.0.0";
23  //! calculates the standard Lipinski HBA definition (number of Ns and Os)
24  unsigned int calcLipinskiHBA(const ROMol &mol);
25 
26  const std::string lipinskiHBDVersion="2.0.0";
27  //! calculates the standard Lipinski HBA definition (number of N-H and O-H bonds)
28  unsigned int calcLipinskiHBD(const ROMol &mol);
29 
30  extern const std::string NumRotatableBondsVersion;
31  //! calculates the number of rotatable bonds
32  /*!
33  \param mol the molecule of interest
34  \param strict if set, a stricter definition of rotable bonds is used
35  this excludes amides, esters, etc.
36  */
37  unsigned int calcNumRotatableBonds(const ROMol &mol,bool useStrictDefinition=true);
38 
39  extern const std::string NumHBDVersion;
40  //! calculates the number of H-bond donors
41  unsigned int calcNumHBD(const ROMol &mol);
42 
43  extern const std::string NumHBAVersion;
44  //! calculates the number of H-bond acceptors
45  unsigned int calcNumHBA(const ROMol &mol);
46 
47  extern const std::string NumHeteroatomsVersion;
48  //! calculates the number of heteroatoms
49  unsigned int calcNumHeteroatoms(const ROMol &mol);
50 
51  extern const std::string NumAmideBondsVersion;
52  //! calculates the number of amide bonds
53  unsigned int calcNumAmideBonds(const ROMol &mol);
54 
55  extern const std::string FractionCSP3Version;
56  //! calculates the fraction of carbons that are SP3 hybridized
57  double calcFractionCSP3(const ROMol &mol);
58 
59  extern const std::string NumRingsVersion;
60  //! calculates the number of SSSR rings
61  unsigned int calcNumRings(const ROMol &mol);
62 
63  extern const std::string NumAromaticRingsVersion;
64  //! calculates the number of aromatic SSSR rings
65  unsigned int calcNumAromaticRings(const ROMol &mol);
66 
67  extern const std::string NumAliphaticRingsVersion;
68  //! calculates the number of aliphatic (at least one non-aromatic bond) SSSR rings
69  unsigned int calcNumAliphaticRings(const ROMol &mol);
70 
71  extern const std::string NumSaturatedRingsVersion;
72  //! calculates the number of saturated SSSR rings
73  unsigned int calcNumSaturatedRings(const ROMol &mol);
74 
75  extern const std::string NumHeterocyclesVersion;
76  //! calculates the number of SSSR heterocycles
77  unsigned int calcNumHeterocycles(const ROMol &mol);
78 
79  extern const std::string NumAromaticHeterocyclesVersion;
80  //! calculates the number of aromatic SSSR heterocycles
81  unsigned int calcNumAromaticHeterocycles(const ROMol &mol);
82 
83  extern const std::string NumAromaticCarbocyclesVersion;
84  //! calculates the number of aromatic SSSR carbocycles
85  unsigned int calcNumAromaticCarbocycles(const ROMol &mol);
86 
87  extern const std::string NumSaturatedHeterocyclesVersion;
88  //! calculates the number of saturated SSSR heterocycles
89  unsigned int calcNumSaturatedHeterocycles(const ROMol &mol);
90 
91  extern const std::string NumSaturatedCarbocyclesVersion;
92  //! calculates the number of saturated SSSR carbocycles
93  unsigned int calcNumSaturatedCarbocycles(const ROMol &mol);
94 
95  extern const std::string NumAliphaticHeterocyclesVersion;
96  //! calculates the number of aliphatic (at least one non-aromatic bond) SSSR heterocycles
97  unsigned int calcNumAliphaticHeterocycles(const ROMol &mol);
98 
99  extern const std::string NumAliphaticCarbocyclesVersion;
100  //! calculates the number of aliphatic (at least one non-aromatic bond) SSSR carbocycles
101  unsigned int calcNumAliphaticCarbocycles(const ROMol &mol);
102  } // end of namespace Descriptors
103 } //end of namespace RDKit
104 
105 #endif
const std::string NumAliphaticCarbocyclesVersion
const std::string NumRotatableBondsVersion
unsigned int calcNumAromaticHeterocycles(const ROMol &mol)
calculates the number of aromatic SSSR heterocycles
unsigned int calcNumRotatableBonds(const ROMol &mol, bool useStrictDefinition=true)
calculates the number of rotatable bonds
const std::string NumAliphaticHeterocyclesVersion
const std::string NumSaturatedHeterocyclesVersion
const std::string NumAliphaticRingsVersion
unsigned int calcNumSaturatedHeterocycles(const ROMol &mol)
calculates the number of saturated SSSR heterocycles
unsigned int calcNumHBD(const ROMol &mol)
calculates the number of H-bond donors
unsigned int calcNumSaturatedRings(const ROMol &mol)
calculates the number of saturated SSSR rings
const std::string FractionCSP3Version
const std::string NumAmideBondsVersion
const std::string NumAromaticRingsVersion
unsigned int calcNumAliphaticRings(const ROMol &mol)
calculates the number of aliphatic (at least one non-aromatic bond) SSSR rings
ROMol is a molecule class that is intended to have a fixed topology.
Definition: ROMol.h:105
const std::string NumHeterocyclesVersion
unsigned int calcNumAromaticRings(const ROMol &mol)
calculates the number of aromatic SSSR rings
unsigned int calcLipinskiHBA(const ROMol &mol)
calculates the standard Lipinski HBA definition (number of Ns and Os)
unsigned int calcNumAliphaticCarbocycles(const ROMol &mol)
calculates the number of aliphatic (at least one non-aromatic bond) SSSR carbocycles ...
unsigned int calcNumHeterocycles(const ROMol &mol)
calculates the number of SSSR heterocycles
const std::string NumRingsVersion
unsigned int calcNumAmideBonds(const ROMol &mol)
calculates the number of amide bonds
unsigned int calcNumRings(const ROMol &mol)
calculates the number of SSSR rings
unsigned int calcLipinskiHBD(const ROMol &mol)
calculates the standard Lipinski HBA definition (number of N-H and O-H bonds)
const std::string NumSaturatedRingsVersion
Includes a bunch of functionality for handling Atom and Bond queries.
Definition: Atom.h:28
unsigned int calcNumHBA(const ROMol &mol)
calculates the number of H-bond acceptors
const std::string NumHBAVersion
double calcFractionCSP3(const ROMol &mol)
calculates the fraction of carbons that are SP3 hybridized
const std::string NumAromaticHeterocyclesVersion
const std::string lipinskiHBDVersion
Definition: Lipinski.h:26
unsigned int calcNumSaturatedCarbocycles(const ROMol &mol)
calculates the number of saturated SSSR carbocycles
unsigned int calcNumAliphaticHeterocycles(const ROMol &mol)
calculates the number of aliphatic (at least one non-aromatic bond) SSSR heterocycles ...
unsigned int calcNumHeteroatoms(const ROMol &mol)
calculates the number of heteroatoms
const std::string lipinskiHBAVersion
Definition: Lipinski.h:22
const std::string NumSaturatedCarbocyclesVersion
const std::string NumHBDVersion
unsigned int calcNumAromaticCarbocycles(const ROMol &mol)
calculates the number of aromatic SSSR carbocycles
const std::string NumHeteroatomsVersion
const std::string NumAromaticCarbocyclesVersion