Lipinski.h
Go to the documentation of this file.
//
// Copyright (C) 2007-2011 Greg Landrum
//
// @@ All Rights Reserved @@
// This file is part of the RDKit.
// The contents are covered by the terms of the BSD license
// which is included in the file license.txt, found at the root
// of the RDKit source tree.
//
/*! \file Lipinski.h
\brief Contains Lipinski and Lipinski-like descriptors. Use MolDescriptors.h
in client code.
*/
#include <RDGeneral/export.h>
#ifndef __RD_LIPINSKI_H__
#define __RD_LIPINSKI_H__
#include "RegisterDescriptor.h"
namespace RDKit {
class ROMol;
namespace Descriptors {
const std::string lipinskiHBAVersion = "1.0.0";
//! calculates the standard Lipinski HBA definition (number of Ns and Os)
RDKIT_DESCRIPTORS_EXPORT unsigned int calcLipinskiHBA(const ROMol &mol);
const std::string lipinskiHBDVersion = "2.0.0";
//! calculates the standard Lipinski HBA definition (number of N-H and O-H
/// bonds)
RDKIT_DESCRIPTORS_EXPORT unsigned int calcLipinskiHBD(const ROMol &mol);
enum NumRotatableBondsOptions {
Default = -1,
NonStrict = 0,
Strict = 1,
StrictLinkages = 2,
};
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumRotatableBondsVersion;
//! calculates the number of rotatable bonds
/*!
\param mol the molecule of interest
\param strict if Strict, a stricter definition of rotable bonds is used
this excludes amides, esters, etc.
if StrictLinkages, a much stricter definition that
handles rotatable bonds between rings as well.
if Default - uses the default choice (normally Strict)
*/
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumRotatableBonds(
const ROMol &mol, NumRotatableBondsOptions useStrictDefinition = Default);
//! calculates the number of rotatable bonds ( backwards compatibility function,
//! deprecated, please use calcNumRotatableBonds(const ROMol&, int)
/*!
\param mol the molecule of interest
\param strict if Strict == true, uses NumRotatableBondsOptions::Strict
*/
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumRotatableBonds(const ROMol &mol,
bool strict);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumHBDVersion;
//! calculates the number of H-bond donors
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHBD(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumHBAVersion;
//! calculates the number of H-bond acceptors
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHBA(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumHeteroatomsVersion;
//! calculates the number of heteroatoms
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHeteroatoms(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumAmideBondsVersion;
//! calculates the number of amide bonds
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAmideBonds(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string FractionCSP3Version;
//! calculates the fraction of carbons that are SP3 hybridized
RDKIT_DESCRIPTORS_EXPORT double calcFractionCSP3(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumRingsVersion;
//! calculates the number of SSSR rings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumRings(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumAromaticRingsVersion;
//! calculates the number of aromatic SSSR rings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticRings(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumAliphaticRingsVersion;
//! calculates the number of aliphatic (at least one non-aromatic bond) SSSR
/// rings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticRings(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumSaturatedRingsVersion;
//! calculates the number of saturated SSSR rings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedRings(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumHeterocyclesVersion;
//! calculates the number of SSSR heterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHeterocycles(const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string
NumAromaticHeterocyclesVersion;
//! calculates the number of aromatic SSSR heterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticHeterocycles(
const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumAromaticCarbocyclesVersion;
//! calculates the number of aromatic SSSR carbocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticCarbocycles(
const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string
NumSaturatedHeterocyclesVersion;
//! calculates the number of saturated SSSR heterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedHeterocycles(
const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string
NumSaturatedCarbocyclesVersion;
//! calculates the number of saturated SSSR carbocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedCarbocycles(
const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string
NumAliphaticHeterocyclesVersion;
//! calculates the number of aliphatic (at least one non-aromatic bond) SSSR
/// heterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticHeterocycles(
const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string
NumAliphaticCarbocyclesVersion;
//! calculates the number of aliphatic (at least one non-aromatic bond) SSSR
/// carbocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticCarbocycles(
const ROMol &mol);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumSpiroAtomsVersion;
//! calculates the number of spiro atoms (atoms shared between rings that share
/// exactly one atom)
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSpiroAtoms(
const ROMol &mol, std::vector<unsigned int> *atoms = nullptr);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumBridgeheadAtomsVersion;
//! calculates the number of bridgehead atoms (atoms shared between rings that
/// share at least two bonds)
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumBridgeheadAtoms(
const ROMol &mol, std::vector<unsigned int> *atoms = nullptr);
RDKIT_DESCRIPTORS_EXPORT extern const std::string NumAtomStereoCentersVersion;
//! calculates the total number of atom stereo centers
RDKIT_DESCRIPTORS_EXPORT unsigned numAtomStereoCenters(const ROMol &mol);
//! calculates the number of unspecified stereo atom stereo centers
RDKIT_DESCRIPTORS_EXPORT extern const std::string
NumUnspecifiedAtomStereoCentersVersion;
RDKIT_DESCRIPTORS_EXPORT unsigned numUnspecifiedAtomStereoCenters(
const ROMol &mol);
//! Helper function to register the descriptors with the descriptor service
RDKIT_DESCRIPTORS_EXPORT void registerDescriptors();
} // end of namespace Descriptors
} // end of namespace RDKit
#endif
RegisterDescriptor.h
RDKit::ROMol
Definition: ROMol.h:178
export.h
RDKIT_DESCRIPTORS_EXPORT
#define RDKIT_DESCRIPTORS_EXPORT
Definition: export.h:105
RDKit::Descriptors::calcNumSaturatedCarbocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedCarbocycles(const ROMol &mol)
calculates the number of saturated SSSR carbocycles
RDKit::Descriptors::NumAmideBondsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAmideBondsVersion
RDKit::Descriptors::calcNumHBA
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHBA(const ROMol &mol)
calculates the number of H-bond acceptors
RDKit::Descriptors::calcNumHBD
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHBD(const ROMol &mol)
calculates the number of H-bond donors
RDKit::Descriptors::calcNumBridgeheadAtoms
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumBridgeheadAtoms(const ROMol &mol, std::vector< unsigned int > *atoms=nullptr)
RDKit::Descriptors::NumHBDVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumHBDVersion
RDKit::Descriptors::lipinskiHBDVersion
const std::string lipinskiHBDVersion
Definition: Lipinski.h:30
RDKit::Descriptors::NumRotatableBondsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumRotatableBondsVersion
RDKit::Descriptors::NumSaturatedCarbocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumSaturatedCarbocyclesVersion
RDKit::Descriptors::FractionCSP3Version
RDKIT_DESCRIPTORS_EXPORT const std::string FractionCSP3Version
RDKit::Descriptors::calcNumAliphaticRings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticRings(const ROMol &mol)
RDKit::Descriptors::numUnspecifiedAtomStereoCenters
RDKIT_DESCRIPTORS_EXPORT unsigned numUnspecifiedAtomStereoCenters(const ROMol &mol)
RDKit::Descriptors::NumBridgeheadAtomsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumBridgeheadAtomsVersion
RDKit::Descriptors::calcNumAromaticRings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticRings(const ROMol &mol)
calculates the number of aromatic SSSR rings
RDKit::Descriptors::calcFractionCSP3
RDKIT_DESCRIPTORS_EXPORT double calcFractionCSP3(const ROMol &mol)
calculates the fraction of carbons that are SP3 hybridized
RDKit::Descriptors::calcLipinskiHBA
RDKIT_DESCRIPTORS_EXPORT unsigned int calcLipinskiHBA(const ROMol &mol)
calculates the standard Lipinski HBA definition (number of Ns and Os)
RDKit::Descriptors::calcNumRotatableBonds
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumRotatableBonds(const ROMol &mol, NumRotatableBondsOptions useStrictDefinition=Default)
calculates the number of rotatable bonds
RDKit::Descriptors::NumHeteroatomsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumHeteroatomsVersion
RDKit::Descriptors::NumAromaticRingsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAromaticRingsVersion
RDKit::Descriptors::NumHBAVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumHBAVersion
RDKit::Descriptors::lipinskiHBAVersion
const std::string lipinskiHBAVersion
Definition: Lipinski.h:26
RDKit::Descriptors::calcNumSpiroAtoms
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSpiroAtoms(const ROMol &mol, std::vector< unsigned int > *atoms=nullptr)
RDKit::Descriptors::calcNumAliphaticCarbocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticCarbocycles(const ROMol &mol)
RDKit::Descriptors::NumAtomStereoCentersVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAtomStereoCentersVersion
RDKit::Descriptors::calcNumAromaticCarbocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticCarbocycles(const ROMol &mol)
calculates the number of aromatic SSSR carbocycles
RDKit::Descriptors::calcLipinskiHBD
RDKIT_DESCRIPTORS_EXPORT unsigned int calcLipinskiHBD(const ROMol &mol)
RDKit::Descriptors::NumRingsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumRingsVersion
RDKit::Descriptors::NumSaturatedRingsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumSaturatedRingsVersion
RDKit::Descriptors::NumSpiroAtomsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumSpiroAtomsVersion
RDKit::Descriptors::registerDescriptors
RDKIT_DESCRIPTORS_EXPORT void registerDescriptors()
Helper function to register the descriptors with the descriptor service.
RDKit::Descriptors::calcNumSaturatedHeterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedHeterocycles(const ROMol &mol)
calculates the number of saturated SSSR heterocycles
RDKit::Descriptors::NumSaturatedHeterocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumSaturatedHeterocyclesVersion
RDKit::Descriptors::calcNumAliphaticHeterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAliphaticHeterocycles(const ROMol &mol)
RDKit::Descriptors::NumUnspecifiedAtomStereoCentersVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumUnspecifiedAtomStereoCentersVersion
calculates the number of unspecified stereo atom stereo centers
RDKit::Descriptors::calcNumHeteroatoms
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHeteroatoms(const ROMol &mol)
calculates the number of heteroatoms
RDKit::Descriptors::calcNumSaturatedRings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumSaturatedRings(const ROMol &mol)
calculates the number of saturated SSSR rings
RDKit::Descriptors::NumAliphaticCarbocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAliphaticCarbocyclesVersion
RDKit::Descriptors::NumAromaticHeterocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAromaticHeterocyclesVersion
RDKit::Descriptors::NumAromaticCarbocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAromaticCarbocyclesVersion
RDKit::Descriptors::calcNumAmideBonds
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAmideBonds(const ROMol &mol)
calculates the number of amide bonds
RDKit::Descriptors::calcNumHeterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumHeterocycles(const ROMol &mol)
calculates the number of SSSR heterocycles
RDKit::Descriptors::numAtomStereoCenters
RDKIT_DESCRIPTORS_EXPORT unsigned numAtomStereoCenters(const ROMol &mol)
calculates the total number of atom stereo centers
RDKit::Descriptors::NumRotatableBondsOptions
NumRotatableBondsOptions
Definition: Lipinski.h:35
RDKit::Descriptors::Default
@ Default
Definition: Lipinski.h:36
RDKit::Descriptors::Strict
@ Strict
Definition: Lipinski.h:38
RDKit::Descriptors::StrictLinkages
@ StrictLinkages
Definition: Lipinski.h:39
RDKit::Descriptors::NonStrict
@ NonStrict
Definition: Lipinski.h:37
RDKit::Descriptors::NumAliphaticHeterocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAliphaticHeterocyclesVersion
RDKit::Descriptors::NumAliphaticRingsVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumAliphaticRingsVersion
RDKit::Descriptors::calcNumRings
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumRings(const ROMol &mol)
calculates the number of SSSR rings
RDKit::Descriptors::calcNumAromaticHeterocycles
RDKIT_DESCRIPTORS_EXPORT unsigned int calcNumAromaticHeterocycles(const ROMol &mol)
calculates the number of aromatic SSSR heterocycles
RDKit::Descriptors::NumHeterocyclesVersion
RDKIT_DESCRIPTORS_EXPORT const std::string NumHeterocyclesVersion
RDKit
Std stuff.
Definition: Abbreviations.h:18