RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
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
14 in client code.
15
16*/
17#include <RDGeneral/export.h>
18#ifndef __RD_LIPINSKI_H__
19#define __RD_LIPINSKI_H__
20#include "RegisterDescriptor.h"
21
22namespace RDKit {
23class ROMol;
24namespace Descriptors {
25
26const std::string lipinskiHBAVersion = "1.0.0";
27//! calculates the standard Lipinski HBA definition (number of Ns and Os)
29
30const std::string lipinskiHBDVersion = "2.0.0";
31//! calculates the standard Lipinski HBA definition (number of N-H and O-H
32/// bonds)
34
41
43//! calculates the number of rotatable bonds
44/*!
45 \param mol the molecule of interest
46 \param strict if Strict, a stricter definition of rotable bonds is used
47 this excludes amides, esters, etc.
48 if StrictLinkages, a much stricter definition that
49 handles rotatable bonds between rings as well.
50 if Default - uses the default choice (normally Strict)
51*/
54
55//! calculates the number of rotatable bonds ( backwards compatibility function,
56//! deprecated, please use calcNumRotatableBonds(const ROMol&, int)
57/*!
58 \param mol the molecule of interest
59 \param strict if Strict == true, uses NumRotatableBondsOptions::Strict
60*/
62 bool strict);
63
64RDKIT_DESCRIPTORS_EXPORT extern const std::string NumHBDVersion;
65//! calculates the number of H-bond donors
66RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHBD(const ROMol &mol);
67
68RDKIT_DESCRIPTORS_EXPORT extern const std::string NumHBAVersion;
69//! calculates the number of H-bond acceptors
70RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHBA(const ROMol &mol);
71
72RDKIT_DESCRIPTORS_EXPORT extern const std::string NumHeteroatomsVersion;
73//! calculates the number of heteroatoms
75
76RDKIT_DESCRIPTORS_EXPORT extern const std::string NumAmideBondsVersion;
77//! calculates the number of amide bonds
79
80RDKIT_DESCRIPTORS_EXPORT extern const std::string FractionCSP3Version;
81//! calculates the fraction of carbons that are SP3 hybridized
83
84RDKIT_DESCRIPTORS_EXPORT extern const std::string NumRingsVersion;
85//! calculates the number of SSSR rings
87
89//! calculates the number of aromatic SSSR rings
91
93//! calculates the number of aliphatic (at least one non-aromatic bond) SSSR
94/// rings
96
98//! calculates the number of saturated SSSR rings
100
101RDKIT_DESCRIPTORS_EXPORT extern const std::string NumHeterocyclesVersion;
102//! calculates the number of SSSR heterocycles
104
105RDKIT_DESCRIPTORS_EXPORT extern const std::string
107//! calculates the number of aromatic SSSR heterocycles
109 const ROMol &mol);
110
112//! calculates the number of aromatic SSSR carbocycles
114 const ROMol &mol);
115
116RDKIT_DESCRIPTORS_EXPORT extern const std::string
118//! calculates the number of saturated SSSR heterocycles
120 const ROMol &mol);
121
122RDKIT_DESCRIPTORS_EXPORT extern const std::string
124//! calculates the number of saturated SSSR carbocycles
126 const ROMol &mol);
127
128RDKIT_DESCRIPTORS_EXPORT extern const std::string
130//! calculates the number of aliphatic (at least one non-aromatic bond) SSSR
131/// heterocycles
133 const ROMol &mol);
134
135RDKIT_DESCRIPTORS_EXPORT extern const std::string
137//! calculates the number of aliphatic (at least one non-aromatic bond) SSSR
138/// carbocycles
140 const ROMol &mol);
141
142RDKIT_DESCRIPTORS_EXPORT extern const std::string NumSpiroAtomsVersion;
143//! calculates the number of spiro atoms (atoms shared between rings that share
144/// exactly one atom)
146 const ROMol &mol, std::vector<unsigned int> *atoms = nullptr);
147
149//! calculates the number of bridgehead atoms (atoms shared between rings that
150/// share at least two bonds)
152 const ROMol &mol, std::vector<unsigned int> *atoms = nullptr);
153
155//! calculates the total number of atom stereo centers
157
158//! calculates the number of unspecified stereo atom stereo centers
159RDKIT_DESCRIPTORS_EXPORT extern const std::string
162 const ROMol &mol);
163
164//! Helper function to register the descriptors with the descriptor service
166} // end of namespace Descriptors
167} // end of namespace RDKit
168
169#endif
#define RDKIT_DESCRIPTORS_EXPORT
Definition export.h:105
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedCarbocycles(const ROMol &mol)
calculates the number of saturated SSSR carbocycles
RDKIT_DESCRIPTORS_EXPORT const std::string NumAmideBondsVersion
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHBA(const ROMol &mol)
calculates the number of H-bond acceptors
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHBD(const ROMol &mol)
calculates the number of H-bond donors
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumBridgeheadAtoms(const ROMol &mol, std::vector< unsigned int > *atoms=nullptr)
RDKIT_DESCRIPTORS_EXPORT const std::string NumHBDVersion
const std::string lipinskiHBDVersion
Definition Lipinski.h:30
RDKIT_DESCRIPTORS_EXPORT const std::string NumRotatableBondsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumSaturatedCarbocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string FractionCSP3Version
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticRings(const ROMol &mol)
RDKIT_DESCRIPTORS_EXPORT unsigned numUnspecifiedAtomStereoCenters(const ROMol &mol)
RDKIT_DESCRIPTORS_EXPORT const std::string NumBridgeheadAtomsVersion
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticRings(const ROMol &mol)
calculates the number of aromatic SSSR rings
RDKIT_DESCRIPTORS_EXPORT double calcFractionCSP3(const ROMol &mol)
calculates the fraction of carbons that are SP3 hybridized
RDKIT_DESCRIPTORS_EXPORT unsigned int calcLipinskiHBA(const ROMol &mol)
calculates the standard Lipinski HBA definition (number of Ns and Os)
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumRotatableBonds(const ROMol &mol, NumRotatableBondsOptions useStrictDefinition=Default)
calculates the number of rotatable bonds
RDKIT_DESCRIPTORS_EXPORT const std::string NumHeteroatomsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAromaticRingsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumHBAVersion
const std::string lipinskiHBAVersion
Definition Lipinski.h:26
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSpiroAtoms(const ROMol &mol, std::vector< unsigned int > *atoms=nullptr)
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticCarbocycles(const ROMol &mol)
RDKIT_DESCRIPTORS_EXPORT const std::string NumAtomStereoCentersVersion
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticCarbocycles(const ROMol &mol)
calculates the number of aromatic SSSR carbocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcLipinskiHBD(const ROMol &mol)
RDKIT_DESCRIPTORS_EXPORT const std::string NumRingsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumSaturatedRingsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumSpiroAtomsVersion
RDKIT_DESCRIPTORS_EXPORT void registerDescriptors()
Helper function to register the descriptors with the descriptor service.
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedHeterocycles(const ROMol &mol)
calculates the number of saturated SSSR heterocycles
RDKIT_DESCRIPTORS_EXPORT const std::string NumSaturatedHeterocyclesVersion
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticHeterocycles(const ROMol &mol)
RDKIT_DESCRIPTORS_EXPORT const std::string NumUnspecifiedAtomStereoCentersVersion
calculates the number of unspecified stereo atom stereo centers
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHeteroatoms(const ROMol &mol)
calculates the number of heteroatoms
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedRings(const ROMol &mol)
calculates the number of saturated SSSR rings
RDKIT_DESCRIPTORS_EXPORT const std::string NumAliphaticCarbocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAromaticHeterocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAromaticCarbocyclesVersion
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAmideBonds(const ROMol &mol)
calculates the number of amide bonds
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHeterocycles(const ROMol &mol)
calculates the number of SSSR heterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned numAtomStereoCenters(const ROMol &mol)
calculates the total number of atom stereo centers
RDKIT_DESCRIPTORS_EXPORT const std::string NumAliphaticHeterocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAliphaticRingsVersion
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumRings(const ROMol &mol)
calculates the number of SSSR rings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticHeterocycles(const ROMol &mol)
calculates the number of aromatic SSSR heterocycles
RDKIT_DESCRIPTORS_EXPORT const std::string NumHeterocyclesVersion
Std stuff.
bool rdvalue_is(const RDValue_cast_t)