Chemical Data Processing Library C++ API - Version 1.4.0
Namespaces | Classes | Functions
CDPL::MolProp Namespace Reference

Contains classes and functions related to the calculation/preciction of physicochemical molecular properties. More...

Namespaces

 AtomProperty
 Provides keys for MolProp-specific Chem::Atom properties.
 
 AtomPropertyDefault
 Provides default values for MolProp-specific Chem::Atom properties.
 
 BondProperty
 Provides keys for MolProp-specific Chem::Bond properties.
 
 CoordinationGeometry
 Provides constants used to specify the spatial geometry of atom arrangements around a common central atom.
 
 HBondAcceptorAtomType
 Provides constants used to specify the structural class of H-bond acceptor atoms.
 
 HBondDonorAtomType
 Provides constants used to specify the structural class of H-bond donor atoms.
 
 MolecularGraphProperty
 Provides keys for built-in Chem::MolecularGraph properties.
 

Classes

class  AtomHydrophobicityCalculator
 Implementation of Greene's algorithm [CATA] for the calculation of atom hydrophobicities. More...
 
class  ElementHistogram
 Data type for the storage of element histograms of chemical compounds. More...
 
class  FunctionalGroupList
 Implementation of Ertl's algorithm [FGPE] for the identification of functional groups in organic molecules. More...
 
class  HBondAcceptorAtomTyper
 Perception of H-bond acceptor atom types (see namespace MolProp::HBondAcceptorAtomType) by SMARTS pattern matching. More...
 
class  HBondDonorAtomTyper
 Perception of H-bond donor atom types (see namespace MolProp::HBondDonorAtomType) by SMARTS pattern matching. More...
 
class  LogSCalculator
 LogSCalculator. More...
 
class  MassComposition
 Data type for the storage of mass percent compositions of chemical compounds. More...
 
class  MHMOPiChargeCalculator
 Calculator that uses a Modified Hückel Molecular Orbital (MHMO) treatment to compute pi-electron densities, pi-charges, pi-bond orders and the total pi-electron energy of a molecular graph. More...
 
class  PEOESigmaChargeCalculator
 Calculator that uses the Partial Equalization of Orbital Electronegativities (PEOE) method of Gasteiger and Marsili to compute sigma atomic charges and electronegativities of a molecular graph. More...
 
class  TPSACalculator
 Calculation of the topological polar surface area (TPSA) of molecular graphs based on fragment contributions. More...
 
class  XLogPCalculator
 Calculation of the octanol/water partition coefficient ( \( \log P \)) of molecular graphs using the atom-additive method of Wang, Gao and Lai. More...
 

Functions

CDPL_MOLPROP_API double calcExplicitMass (const Chem::AtomContainer &cntnr)
 Calculates the total mass of the explicit atoms in cntnr. More...
 
CDPL_MOLPROP_API void calcExplicitMassComposition (const Chem::AtomContainer &cntnr, MassComposition &mass_comp)
 Calculates the per-element mass composition of the explicit atoms in cntnr. More...
 
CDPL_MOLPROP_API void generateExplicitMassCompositionString (const Chem::AtomContainer &cntnr, std::string &comp_str)
 Generates a string representation of the per-element mass composition of the explicit atoms in cntnr. More...
 
CDPL_MOLPROP_API void generateExplicitMolecularFormula (const Chem::AtomContainer &cntnr, std::string &formula)
 Generates the molecular formula of the explicit atoms in cntnr. More...
 
CDPL_MOLPROP_API void generateExplicitElementHistogram (const Chem::AtomContainer &cntnr, ElementHistogram &hist, bool append=false)
 Generates the element histogram of the explicit atoms in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getExplicitAtomCount (const Chem::AtomContainer &cntnr)
 Returns the total number of explicit atoms in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getExplicitAtomCount (const Chem::AtomContainer &cntnr, unsigned int type, bool strict=true)
 Returns the number of explicit atoms in cntnr that match the given atom type. More...
 
CDPL_MOLPROP_API std::size_t getExplicitChainAtomCount (const Chem::AtomContainer &cntnr)
 Returns the number of explicit chain (non-ring) atoms in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getRingAtomCount (const Chem::AtomContainer &cntnr)
 Returns the number of ring atoms in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getAromaticAtomCount (const Chem::AtomContainer &cntnr)
 Returns the number of aromatic atoms in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getHeavyAtomCount (const Chem::AtomContainer &cntnr)
 Returns the number of heavy (non-hydrogen) atoms in cntnr. More...
 
CDPL_MOLPROP_API long getNetFormalCharge (const Chem::AtomContainer &cntnr)
 Returns the net formal charge of cntnr (sum of per-atom formal charges). More...
 
CDPL_MOLPROP_API bool calcDipoleMoment (const Chem::AtomContainer &cntnr, const Chem::Atom3DCoordinatesFunction &coords_func, Math::Vector3D &moment)
 Calculates the dipole moment of cntnr using the supplied atom 3D-coordinates function. More...
 
CDPL_MOLPROP_API bool calcDipoleMoment (const Chem::AtomContainer &cntnr, Math::Vector3D &moment)
 Calculates the dipole moment of cntnr using the standard atom 3D-coordinates accessor. More...
 
CDPL_MOLPROP_API double getHydrophobicity (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::HYDROPHOBICITY property of atom. More...
 
CDPL_MOLPROP_API void setHydrophobicity (Chem::Atom &atom, double hyd)
 Sets the value of the MolProp::AtomProperty::HYDROPHOBICITY property of atom to hyd. More...
 
CDPL_MOLPROP_API void clearHydrophobicity (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::HYDROPHOBICITY property from atom. More...
 
CDPL_MOLPROP_API bool hasHydrophobicity (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::HYDROPHOBICITY property. More...
 
CDPL_MOLPROP_API double getPEOESigmaCharge (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::PEOE_SIGMA_CHARGE property of atom. More...
 
CDPL_MOLPROP_API void setPEOESigmaCharge (Chem::Atom &atom, double charge)
 Sets the value of the MolProp::AtomProperty::PEOE_SIGMA_CHARGE property of atom to charge. More...
 
CDPL_MOLPROP_API void clearPEOESigmaCharge (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::PEOE_SIGMA_CHARGE property from atom. More...
 
CDPL_MOLPROP_API bool hasPEOESigmaCharge (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::PEOE_SIGMA_CHARGE property. More...
 
CDPL_MOLPROP_API double getPEOESigmaElectronegativity (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property of atom. More...
 
CDPL_MOLPROP_API void setPEOESigmaElectronegativity (Chem::Atom &atom, double e_neg)
 Sets the value of the MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property of atom to e_neg. More...
 
CDPL_MOLPROP_API void clearPEOESigmaElectronegativity (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property from atom. More...
 
CDPL_MOLPROP_API bool hasPEOESigmaElectronegativity (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property. More...
 
CDPL_MOLPROP_API double getMHMOPiCharge (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::MHMO_PI_CHARGE property of atom. More...
 
CDPL_MOLPROP_API void setMHMOPiCharge (Chem::Atom &atom, double charge)
 Sets the value of the MolProp::AtomProperty::MHMO_PI_CHARGE property of atom to charge. More...
 
CDPL_MOLPROP_API void clearMHMOPiCharge (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::MHMO_PI_CHARGE property from atom. More...
 
CDPL_MOLPROP_API bool hasMHMOPiCharge (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::MHMO_PI_CHARGE property. More...
 
CDPL_MOLPROP_API unsigned int getHBondDonorType (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::H_BOND_DONOR_TYPE property of atom (see namespace MolProp::HBondDonorAtomType). More...
 
CDPL_MOLPROP_API void setHBondDonorType (Chem::Atom &atom, unsigned int type)
 Sets the value of the MolProp::AtomProperty::H_BOND_DONOR_TYPE property of atom to type. More...
 
CDPL_MOLPROP_API void clearHBondDonorType (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::H_BOND_DONOR_TYPE property from atom. More...
 
CDPL_MOLPROP_API bool hasHBondDonorType (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::H_BOND_DONOR_TYPE property. More...
 
CDPL_MOLPROP_API unsigned int getHBondAcceptorType (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property of atom (see namespace MolProp::HBondAcceptorAtomType). More...
 
CDPL_MOLPROP_API void setHBondAcceptorType (Chem::Atom &atom, unsigned int type)
 Sets the value of the MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property of atom to type. More...
 
CDPL_MOLPROP_API void clearHBondAcceptorType (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property from atom. More...
 
CDPL_MOLPROP_API bool hasHBondAcceptorType (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property. More...
 
CDPL_MOLPROP_API bool isInRing (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Tells whether atom is a member of any ring in molgraph. More...
 
CDPL_MOLPROP_API bool isInRingOfSize (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, std::size_t size)
 Tells whether atom is a member of a ring of size size in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getNumContainingSSSRRings (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of SSSR rings of molgraph that contain atom. More...
 
CDPL_MOLPROP_API double getAtomicWeight (const Chem::Atom &atom)
 Returns the standard atomic weight of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API std::size_t getIUPACGroup (const Chem::Atom &atom)
 Returns the IUPAC group number of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API std::size_t getPeriod (const Chem::Atom &atom)
 Returns the period of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API double getVdWRadius (const Chem::Atom &atom)
 Returns the Van der Waals radius of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API double getCovalentRadius (const Chem::Atom &atom, std::size_t order)
 Returns the covalent radius of the chemical element associated with atom for the given bond order. More...
 
CDPL_MOLPROP_API double getAllredRochowElectronegativity (const Chem::Atom &atom)
 Returns the Allred-Rochow electronegativity of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API const std::string & getElementName (const Chem::Atom &atom)
 Returns the element name of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API std::size_t getElementValenceElectronCount (const Chem::Atom &atom)
 Returns the number of valence electrons of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API bool isChemicalElement (const Chem::Atom &atom)
 Tells whether atom represents a chemical element. More...
 
CDPL_MOLPROP_API bool isMainGroupElement (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a main-group element. More...
 
CDPL_MOLPROP_API bool isMetal (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a metal. More...
 
CDPL_MOLPROP_API bool isTransitionMetal (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a transition metal. More...
 
CDPL_MOLPROP_API bool isNonMetal (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a non-metal. More...
 
CDPL_MOLPROP_API bool isSemiMetal (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a semi-metal. More...
 
CDPL_MOLPROP_API bool isHalogen (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a halogen. More...
 
CDPL_MOLPROP_API bool isNobleGas (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a noble gas. More...
 
CDPL_MOLPROP_API bool isOrdinaryHydrogen (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, unsigned int flags=Chem::AtomPropertyFlag::DEFAULT)
 Tells whether atom is an ordinary hydrogen. More...
 
CDPL_MOLPROP_API bool isHeavy (const Chem::Atom &atom)
 Tells whether atom is a heavy (non-hydrogen) atom. More...
 
CDPL_MOLPROP_API bool isUnsaturated (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Tells whether atom is unsaturated (involved in at least one multiple bond) in molgraph. More...
 
CDPL_MOLPROP_API bool isHBondAcceptor (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Tells whether atom acts as an H-bond acceptor in molgraph. More...
 
CDPL_MOLPROP_API bool isHBondDonor (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Tells whether atom acts as an H-bond donor in molgraph. More...
 
CDPL_MOLPROP_API bool isCarbonylLike (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, bool c_only=false, bool db_o_only=false)
 Tells whether atom is a carbonyl-like center in molgraph. More...
 
CDPL_MOLPROP_API bool isAmideCenter (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, bool c_only=false, bool db_o_only=false)
 Tells whether atom is the center of an amide group in molgraph. More...
 
CDPL_MOLPROP_API bool isAmideNitrogen (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, bool c_only=false, bool db_o_only=false)
 Tells whether atom is the nitrogen of an amide group in molgraph. More...
 
CDPL_MOLPROP_API bool isInvertibleNitrogen (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Tells whether atom is an invertible (pyramidal, non-aromatic, non-amide) nitrogen in molgraph. More...
 
CDPL_MOLPROP_API bool isPlanarNitrogen (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Tells whether atom is a planar nitrogen in molgraph. More...
 
CDPL_MOLPROP_API bool isBridgehead (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, bool bridged_only)
 Tells whether atom is a bridgehead atom in molgraph. More...
 
CDPL_MOLPROP_API bool isSpiroCenter (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Tells whether atom is a spiro center in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getOrdinaryHydrogenCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, unsigned int flags=Chem::AtomPropertyFlag::DEFAULT)
 Returns the number of ordinary-hydrogen neighbors of atom in molgraph (see isOrdinaryHydrogen() for the definition of "ordinary"). More...
 
CDPL_MOLPROP_API std::size_t getExplicitAtomCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, unsigned int type, bool strict=true)
 Returns the number of explicit neighbors of atom in molgraph whose Chem::AtomType matches type. More...
 
CDPL_MOLPROP_API std::size_t getAtomCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, unsigned int type, bool strict=true)
 Returns the number of neighbors of atom in molgraph (including implicit hydrogens) whose Chem::AtomType matches type. More...
 
CDPL_MOLPROP_API std::size_t getExplicitChainAtomCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of explicit chain (non-ring) neighbors of atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getChainAtomCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of chain (non-ring) neighbors of atom in molgraph (including implicit hydrogens). More...
 
CDPL_MOLPROP_API std::size_t getRingAtomCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of ring-atom neighbors of atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getAromaticAtomCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of aromatic neighbors of atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getHeavyAtomCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of heavy atom neighbors of atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getExplicitBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of explicit bonds incident to atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getExplicitBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, std::size_t order)
 Returns the number of explicit bonds of the given order incident to atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getExplicitBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, std::size_t order, unsigned int type, bool strict=true)
 Returns the number of explicit bonds of the given order incident to atom that bond to atoms whose Chem::AtomType matches type. More...
 
CDPL_MOLPROP_API std::size_t getBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the total number of bonds incident to atom in molgraph (including implicit-hydrogen bonds). More...
 
CDPL_MOLPROP_API std::size_t getBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, std::size_t order)
 Returns the total number of bonds of the given order incident to atom (including implicit-hydrogen bonds). More...
 
CDPL_MOLPROP_API std::size_t getBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, std::size_t order, unsigned int type, bool strict=true)
 Returns the total number of bonds of the given order incident to atom that bond to atoms whose Chem::AtomType matches type. More...
 
CDPL_MOLPROP_API std::size_t getExplicitChainBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of explicit chain (non-ring) bonds incident to atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getChainBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of chain (non-ring) bonds incident to atom in molgraph (including implicit-hydrogen bonds). More...
 
CDPL_MOLPROP_API std::size_t getRingBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of ring bonds incident to atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getAromaticBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of aromatic bonds incident to atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getHeavyBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the number of heavy bonds incident to atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getRotatableBondCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, bool h_rotors=false, bool ring_bonds=false, bool amide_bonds=false)
 Returns the number of rotatable bonds incident to atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t calcExplicitValence (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Calculates the explicit valence of atom in molgraph (sum of explicit bond orders). More...
 
CDPL_MOLPROP_API std::size_t calcValence (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Calculates the total valence of atom in molgraph (explicit valence plus implicit hydrogens). More...
 
CDPL_MOLPROP_API std::size_t calcFreeValenceElectronCount (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Calculates the number of free (lone-pair) valence electrons of atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t calcValenceElectronCount (const Chem::Atom &atom)
 Calculates the number of valence electrons of the chemical element associated with atom (corrected for the atom's formal charge). More...
 
CDPL_MOLPROP_API std::size_t calcStericNumber (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Calculates the steric number of atom in molgraph (used by VSEPR theory). More...
 
CDPL_MOLPROP_API unsigned int getVSEPRCoordinationGeometry (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, std::size_t steric_num)
 Returns the VSEPR coordination geometry of atom in molgraph (see namespace MolProp::CoordinationGeometry). More...
 
CDPL_MOLPROP_API unsigned int getVSEPRCoordinationGeometry (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the VSEPR coordination geometry of atom in molgraph (see namespace MolProp::CoordinationGeometry). More...
 
CDPL_MOLPROP_API double getHybridPolarizability (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Returns the hybridization-state-dependent atomic polarizability of atom in molgraph. More...
 
CDPL_MOLPROP_API double calcEffectivePolarizability (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, double damping=0.75)
 Calculates the effective atomic polarizability of atom in molgraph (after Kang and Jhon). More...
 
CDPL_MOLPROP_API double calcTotalPartialCharge (const Chem::Atom &atom)
 Calculates the total partial charge of atom (sum of stored PEOE sigma and MHMO pi charge contributions). More...
 
CDPL_MOLPROP_API double calcLonePairElectronegativity (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Calculates the lone-pair electronegativity of atom in molgraph. More...
 
CDPL_MOLPROP_API double calcPiElectronegativity (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Calculates the pi electronegativity of atom in molgraph. More...
 
CDPL_MOLPROP_API double calcInductiveEffect (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph, std::size_t num_bonds=10)
 Calculates the inductive effect parameter of atom in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getExplicitBondCount (const Chem::BondContainer &cntnr)
 Returns the total number of explicit bonds in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getExplicitBondCount (const Chem::BondContainer &cntnr, std::size_t order, bool inc_aro=true)
 Returns the number of explicit bonds in cntnr that match the given bond order. More...
 
CDPL_MOLPROP_API std::size_t getExplicitHydrogenBondCount (const Chem::BondContainer &cntnr)
 Returns the number of explicit bonds in cntnr that involve a hydrogen atom. More...
 
CDPL_MOLPROP_API std::size_t getExplicitChainBondCount (const Chem::BondContainer &cntnr)
 Returns the number of explicit chain (non-ring) bonds in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getRingBondCount (const Chem::BondContainer &cntnr)
 Returns the number of ring bonds in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getAromaticBondCount (const Chem::BondContainer &cntnr)
 Returns the number of aromatic bonds in cntnr. More...
 
CDPL_MOLPROP_API std::size_t getHeavyBondCount (const Chem::BondContainer &cntnr)
 Returns the number of heavy atom bonds in cntnr. More...
 
CDPL_MOLPROP_API double getMHMOPiOrder (const Chem::Bond &bond)
 Returns the value of the MolProp::BondProperty::MHMO_PI_ORDER property of bond. More...
 
CDPL_MOLPROP_API void setMHMOPiOrder (Chem::Bond &bond, double order)
 Sets the value of the MolProp::BondProperty::MHMO_PI_ORDER property of bond. More...
 
CDPL_MOLPROP_API void clearMHMOPiOrder (Chem::Bond &bond)
 Removes the MolProp::BondProperty::MHMO_PI_ORDER property from bond. More...
 
CDPL_MOLPROP_API bool hasMHMOPiOrder (const Chem::Bond &atom)
 Tells whether bond carries an explicit MolProp::BondProperty::MHMO_PI_ORDER property. More...
 
CDPL_MOLPROP_API double calcPolarizability (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph, double damping=0.75)
 Calculates the bond polarizability of bond within molgraph. More...
 
CDPL_MOLPROP_API bool isInRing (const Chem::Bond &Bond, const Chem::MolecularGraph &molgraph)
 Tells whether Bond is part of any ring of molgraph. More...
 
CDPL_MOLPROP_API bool isInRingOfSize (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph, std::size_t size)
 Tells whether bond is part of a ring of the specified size in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getNumContainingSSSRRings (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph)
 Returns the number of SSSR rings of molgraph that contain bond. More...
 
CDPL_MOLPROP_API bool isHydrogenRotor (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph)
 Tells whether bond is a rotatable bond whose rotation only moves hydrogen atoms. More...
 
CDPL_MOLPROP_API bool isHeteroAtomHydrogenRotor (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph)
 Tells whether bond is a hydrogen-only rotor where the rotating end is a heteroatom-bound hydrogen. More...
 
CDPL_MOLPROP_API bool isRotatable (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph, bool h_rotors=false, bool ring_bonds=false, bool amide_bonds=false)
 Tells whether bond is rotatable. More...
 
CDPL_MOLPROP_API bool isHydrogenBond (const Chem::Bond &bond)
 Tells whether bond is a hydrogen bond (one of the bonded atoms is a hydrogen). More...
 
CDPL_MOLPROP_API bool isAmideBond (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph, bool c_only=false, bool db_o_only=false)
 Tells whether bond is an amide bond in molgraph. More...
 
CDPL_MOLPROP_API double calcMass (const Chem::MolecularGraph &molgraph)
 Calculates the total molecular mass of molgraph (sum of atom standard atomic weights including implicit hydrogens). More...
 
CDPL_MOLPROP_API void calcMassComposition (const Chem::MolecularGraph &molgraph, MassComposition &comp)
 Calculates the per-element mass composition of molgraph. More...
 
CDPL_MOLPROP_API void generateMassCompositionString (const Chem::MolecularGraph &molgraph, std::string &comp)
 Generates a string representation of the per-element mass composition of molgraph. More...
 
CDPL_MOLPROP_API void generateMolecularFormula (const Chem::MolecularGraph &molgraph, std::string &formula, const std::string &sep=std::string())
 Generates the molecular formula of the molecular graph molgraph. More...
 
CDPL_MOLPROP_API void generateElementHistogram (const Chem::MolecularGraph &molgraph, ElementHistogram &hist, bool append=false)
 Generates the element histogram of molgraph. More...
 
CDPL_MOLPROP_API std::size_t calcCyclomaticNumber (const Chem::MolecularGraph &molgraph)
 Calculates the cyclomatic number of molgraph (number of independent cycles). More...
 
CDPL_MOLPROP_API std::size_t getAtomCount (const Chem::MolecularGraph &molgraph)
 Returns the total number of atoms in molgraph (including implicit hydrogens). More...
 
CDPL_MOLPROP_API std::size_t getAtomCount (const Chem::MolecularGraph &molgraph, unsigned int type, bool strict=true)
 Returns the number of atoms in molgraph whose Chem::AtomType matches type. More...
 
CDPL_MOLPROP_API std::size_t getImplicitHydrogenCount (const Chem::MolecularGraph &molgraph)
 Returns the total number of implicit hydrogens in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getOrdinaryHydrogenCount (const Chem::MolecularGraph &molgraph, unsigned int flags=Chem::AtomPropertyFlag::DEFAULT)
 Returns the number of ordinary hydrogens in molgraph (see MolProp::isOrdinaryHydrogen() for the definition of "ordinary"). More...
 
CDPL_MOLPROP_API std::size_t getExplicitOrdinaryHydrogenCount (const Chem::MolecularGraph &molgraph, unsigned int flags=Chem::AtomPropertyFlag::DEFAULT)
 Returns the number of explicit ordinary hydrogens in molgraph (see MolProp::isOrdinaryHydrogen() for the definition of "ordinary"). More...
 
CDPL_MOLPROP_API std::size_t getChainAtomCount (const Chem::MolecularGraph &molgraph)
 Returns the number of chain (non-ring) atoms in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getHBondAcceptorAtomCount (const Chem::MolecularGraph &molgraph)
 Returns the number of H-bond acceptor atoms in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getHBondDonorAtomCount (const Chem::MolecularGraph &molgraph)
 Returns the number of H-bond donor atoms in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getBondCount (const Chem::MolecularGraph &molgraph)
 Returns the total number of bonds in molgraph (including bonds to implicit hydrogens). More...
 
CDPL_MOLPROP_API std::size_t getBondCount (const Chem::MolecularGraph &molgraph, std::size_t order, bool inc_aro=true)
 Returns the number of bonds in molgraph with the given order, optionally including aromatic bonds. More...
 
CDPL_MOLPROP_API std::size_t getHydrogenBondCount (const Chem::MolecularGraph &molgraph)
 Returns the number of bonds in molgraph that involve at least one hydrogen atom. More...
 
CDPL_MOLPROP_API std::size_t getChainBondCount (const Chem::MolecularGraph &molgraph)
 Returns the number of chain (non-ring) bonds in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getRotatableBondCount (const Chem::MolecularGraph &molgraph, bool h_rotors=false, bool ring_bonds=false, bool amide_bonds=false)
 Returns the number of rotatable bonds in molgraph. More...
 
CDPL_MOLPROP_API std::size_t getComponentCount (const Chem::MolecularGraph &molgraph)
 Returns the number of connected components in molgraph. More...
 
CDPL_MOLPROP_API double calcXLogP (const Chem::MolecularGraph &molgraph)
 Calculates the XLogP value of molgraph using MolProp::XLogPCalculator. More...
 
CDPL_MOLPROP_API double calcLogS (const Chem::MolecularGraph &molgraph)
 Calculates the \( \log S \) (aqueous solubility) of molgraph using MolProp::LogSCalculator. More...
 
CDPL_MOLPROP_API double calcTPSA (const Chem::MolecularGraph &molgraph)
 Calculates the topological polar surface area (TPSA) of molgraph using MolProp::TPSACalculator. More...
 
CDPL_MOLPROP_API std::size_t getRuleOfFiveScore (const Chem::MolecularGraph &molgraph)
 Returns the Lipinski rule-of-five score of molgraph, defined as the number of satisfied criteria (0-4). More...
 
CDPL_MOLPROP_API double calcMeanPolarizability (const Chem::MolecularGraph &molgraph)
 Calculates the mean atomic polarizability of molgraph. More...
 
CDPL_MOLPROP_API void calcPEOEProperties (Chem::MolecularGraph &molgraph, bool overwrite, std::size_t num_iter=20, double damping=0.48)
 Calculates PEOE sigma charges and electronegativities for the atoms of molgraph and stores them as atom properties. More...
 
CDPL_MOLPROP_API void calcMHMOProperties (Chem::MolecularGraph &molgraph, bool overwrite)
 Calculates MHMO pi charges and pi-bond orders for molgraph and stores them as atom/bond properties. More...
 
CDPL_MOLPROP_API void calcAtomHydrophobicities (Chem::MolecularGraph &molgraph, bool overwrite, bool from_logp=false)
 Calculates per-atom hydrophobicities for molgraph and stores them as atom properties. More...
 
CDPL_MOLPROP_API void perceiveHBondDonorAtomTypes (Chem::MolecularGraph &molgraph, bool overwrite)
 Perceives the H-bond donor types of the atoms in molgraph and stores them as atom properties. More...
 
CDPL_MOLPROP_API void perceiveHBondAcceptorAtomTypes (Chem::MolecularGraph &molgraph, bool overwrite)
 Perceives the H-bond acceptor types of the atoms in molgraph and stores them as atom properties. More...
 
CDPL_MOLPROP_API const Chem::FragmentList::SharedPointergetFunctionalGroups (const Chem::MolecularGraph &molgraph)
 Returns the value of the MolProp::MolecularGraphProperty::FUNCTIONAL_GROUPS property of molgraph. More...
 
CDPL_MOLPROP_API void setFunctionalGroups (Chem::MolecularGraph &molgraph, const Chem::FragmentList::SharedPointer &fg_list)
 Sets the value of the MolProp::MolecularGraphProperty::FUNCTIONAL_GROUPS property of molgraph. More...
 
CDPL_MOLPROP_API void clearFunctionalGroups (Chem::MolecularGraph &molgraph)
 Removes the MolProp::MolecularGraphProperty::FUNCTIONAL_GROUPS property from molgraph. More...
 
CDPL_MOLPROP_API bool hasFunctionalGroups (const Chem::MolecularGraph &molgraph)
 Tells whether molgraph carries an explicit MolProp::MolecularGraphProperty::FUNCTIONAL_GROUPS property. More...
 
CDPL_MOLPROP_API Chem::FragmentList::SharedPointer perceiveFunctionalGroups (const Chem::MolecularGraph &molgraph)
 Perceives the functional groups of molgraph using MolProp::FunctionalGroupList. More...
 
CDPL_MOLPROP_API Chem::FragmentList::SharedPointer perceiveFunctionalGroups (Chem::MolecularGraph &molgraph, bool overwrite)
 Perceives the functional groups of molgraph and stores them as a property. More...
 

Detailed Description

Contains classes and functions related to the calculation/preciction of physicochemical molecular properties.

Function Documentation

◆ calcExplicitMass()

CDPL_MOLPROP_API double CDPL::MolProp::calcExplicitMass ( const Chem::AtomContainer cntnr)

Calculates the total mass of the explicit atoms in cntnr.

Parameters
cntnrThe atom container.
Returns
The total explicit mass.

◆ calcExplicitMassComposition()

CDPL_MOLPROP_API void CDPL::MolProp::calcExplicitMassComposition ( const Chem::AtomContainer cntnr,
MassComposition mass_comp 
)

Calculates the per-element mass composition of the explicit atoms in cntnr.

Parameters
cntnrThe atom container.
mass_compThe output mass composition.

◆ generateExplicitMassCompositionString()

CDPL_MOLPROP_API void CDPL::MolProp::generateExplicitMassCompositionString ( const Chem::AtomContainer cntnr,
std::string &  comp_str 
)

Generates a string representation of the per-element mass composition of the explicit atoms in cntnr.

Parameters
cntnrThe atom container.
comp_strThe output mass composition string.

◆ generateExplicitMolecularFormula()

CDPL_MOLPROP_API void CDPL::MolProp::generateExplicitMolecularFormula ( const Chem::AtomContainer cntnr,
std::string &  formula 
)

Generates the molecular formula of the explicit atoms in cntnr.

Parameters
cntnrThe atom container.
formulaThe output molecular formula string.

◆ generateExplicitElementHistogram()

CDPL_MOLPROP_API void CDPL::MolProp::generateExplicitElementHistogram ( const Chem::AtomContainer cntnr,
ElementHistogram hist,
bool  append = false 
)

Generates the element histogram of the explicit atoms in cntnr.

Parameters
cntnrThe atom container.
histThe output element histogram.
appendIf true, hist is appended to instead of cleared first.

◆ getExplicitAtomCount() [1/3]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitAtomCount ( const Chem::AtomContainer cntnr)

Returns the total number of explicit atoms in cntnr.

Parameters
cntnrThe atom container.
Returns
The number of explicit atoms.

◆ getExplicitAtomCount() [2/3]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitAtomCount ( const Chem::AtomContainer cntnr,
unsigned int  type,
bool  strict = true 
)

Returns the number of explicit atoms in cntnr that match the given atom type.

Parameters
cntnrThe atom container.
typeThe atom type to match (see namespace Chem::AtomType).
strictIf true, atoms must match the type strictly; otherwise generic-type matching applies.
Returns
The number of matching explicit atoms.

◆ getExplicitChainAtomCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitChainAtomCount ( const Chem::AtomContainer cntnr)

Returns the number of explicit chain (non-ring) atoms in cntnr.

Parameters
cntnrThe atom container.
Returns
The number of chain atoms.

◆ getRingAtomCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getRingAtomCount ( const Chem::AtomContainer cntnr)

Returns the number of ring atoms in cntnr.

Parameters
cntnrThe atom container.
Returns
The number of ring atoms.

◆ getAromaticAtomCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getAromaticAtomCount ( const Chem::AtomContainer cntnr)

Returns the number of aromatic atoms in cntnr.

Parameters
cntnrThe atom container.
Returns
The number of aromatic atoms.

◆ getHeavyAtomCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getHeavyAtomCount ( const Chem::AtomContainer cntnr)

Returns the number of heavy (non-hydrogen) atoms in cntnr.

Parameters
cntnrThe atom container.
Returns
The number of heavy atoms.

◆ getNetFormalCharge()

CDPL_MOLPROP_API long CDPL::MolProp::getNetFormalCharge ( const Chem::AtomContainer cntnr)

Returns the net formal charge of cntnr (sum of per-atom formal charges).

Parameters
cntnrThe atom container.
Returns
The net formal charge.

◆ calcDipoleMoment() [1/2]

CDPL_MOLPROP_API bool CDPL::MolProp::calcDipoleMoment ( const Chem::AtomContainer cntnr,
const Chem::Atom3DCoordinatesFunction coords_func,
Math::Vector3D moment 
)

Calculates the dipole moment of cntnr using the supplied atom 3D-coordinates function.

Parameters
cntnrThe atom container.
coords_funcThe function used to retrieve atom 3D-coordinates.
momentThe output dipole-moment vector.
Returns
true if the dipole moment could be calculated, and false otherwise.

◆ calcDipoleMoment() [2/2]

CDPL_MOLPROP_API bool CDPL::MolProp::calcDipoleMoment ( const Chem::AtomContainer cntnr,
Math::Vector3D moment 
)

Calculates the dipole moment of cntnr using the standard atom 3D-coordinates accessor.

Parameters
cntnrThe atom container.
momentThe output dipole-moment vector.
Returns
true if the dipole moment could be calculated, and false otherwise.

◆ getHydrophobicity()

CDPL_MOLPROP_API double CDPL::MolProp::getHydrophobicity ( const Chem::Atom atom)

Returns the value of the MolProp::AtomProperty::HYDROPHOBICITY property of atom.

Parameters
atomThe atom.
Returns
The hydrophobicity value.

◆ setHydrophobicity()

CDPL_MOLPROP_API void CDPL::MolProp::setHydrophobicity ( Chem::Atom atom,
double  hyd 
)

Sets the value of the MolProp::AtomProperty::HYDROPHOBICITY property of atom to hyd.

Parameters
atomThe atom.
hydThe new hydrophobicity value.

◆ clearHydrophobicity()

CDPL_MOLPROP_API void CDPL::MolProp::clearHydrophobicity ( Chem::Atom atom)

Removes the MolProp::AtomProperty::HYDROPHOBICITY property from atom.

Parameters
atomThe atom.

◆ hasHydrophobicity()

CDPL_MOLPROP_API bool CDPL::MolProp::hasHydrophobicity ( const Chem::Atom atom)

Tells whether atom carries an explicit MolProp::AtomProperty::HYDROPHOBICITY property.

Parameters
atomThe atom.
Returns
true if the hydrophobicity property is set, and false otherwise.

◆ getPEOESigmaCharge()

CDPL_MOLPROP_API double CDPL::MolProp::getPEOESigmaCharge ( const Chem::Atom atom)

Returns the value of the MolProp::AtomProperty::PEOE_SIGMA_CHARGE property of atom.

Parameters
atomThe atom.
Returns
The PEOE sigma charge value.

◆ setPEOESigmaCharge()

CDPL_MOLPROP_API void CDPL::MolProp::setPEOESigmaCharge ( Chem::Atom atom,
double  charge 
)

Sets the value of the MolProp::AtomProperty::PEOE_SIGMA_CHARGE property of atom to charge.

Parameters
atomThe atom.
chargeThe new PEOE sigma charge value.

◆ clearPEOESigmaCharge()

CDPL_MOLPROP_API void CDPL::MolProp::clearPEOESigmaCharge ( Chem::Atom atom)

Removes the MolProp::AtomProperty::PEOE_SIGMA_CHARGE property from atom.

Parameters
atomThe atom.

◆ hasPEOESigmaCharge()

CDPL_MOLPROP_API bool CDPL::MolProp::hasPEOESigmaCharge ( const Chem::Atom atom)

Tells whether atom carries an explicit MolProp::AtomProperty::PEOE_SIGMA_CHARGE property.

Parameters
atomThe atom.
Returns
true if the PEOE sigma charge property is set, and false otherwise.

◆ getPEOESigmaElectronegativity()

CDPL_MOLPROP_API double CDPL::MolProp::getPEOESigmaElectronegativity ( const Chem::Atom atom)

Returns the value of the MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property of atom.

Parameters
atomThe atom.
Returns
The PEOE sigma electronegativity value.

◆ setPEOESigmaElectronegativity()

CDPL_MOLPROP_API void CDPL::MolProp::setPEOESigmaElectronegativity ( Chem::Atom atom,
double  e_neg 
)

Sets the value of the MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property of atom to e_neg.

Parameters
atomThe atom.
e_negThe new PEOE sigma electronegativity value.

◆ clearPEOESigmaElectronegativity()

CDPL_MOLPROP_API void CDPL::MolProp::clearPEOESigmaElectronegativity ( Chem::Atom atom)

Removes the MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property from atom.

Parameters
atomThe atom.

◆ hasPEOESigmaElectronegativity()

CDPL_MOLPROP_API bool CDPL::MolProp::hasPEOESigmaElectronegativity ( const Chem::Atom atom)

Tells whether atom carries an explicit MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property.

Parameters
atomThe atom.
Returns
true if the PEOE sigma electronegativity property is set, and false otherwise.

◆ getMHMOPiCharge()

CDPL_MOLPROP_API double CDPL::MolProp::getMHMOPiCharge ( const Chem::Atom atom)

Returns the value of the MolProp::AtomProperty::MHMO_PI_CHARGE property of atom.

Parameters
atomThe atom.
Returns
The MHMO pi charge value.

◆ setMHMOPiCharge()

CDPL_MOLPROP_API void CDPL::MolProp::setMHMOPiCharge ( Chem::Atom atom,
double  charge 
)

Sets the value of the MolProp::AtomProperty::MHMO_PI_CHARGE property of atom to charge.

Parameters
atomThe atom.
chargeThe new MHMO pi charge value.

◆ clearMHMOPiCharge()

CDPL_MOLPROP_API void CDPL::MolProp::clearMHMOPiCharge ( Chem::Atom atom)

Removes the MolProp::AtomProperty::MHMO_PI_CHARGE property from atom.

Parameters
atomThe atom.

◆ hasMHMOPiCharge()

CDPL_MOLPROP_API bool CDPL::MolProp::hasMHMOPiCharge ( const Chem::Atom atom)

Tells whether atom carries an explicit MolProp::AtomProperty::MHMO_PI_CHARGE property.

Parameters
atomThe atom.
Returns
true if the MHMO pi charge property is set, and false otherwise.

◆ getHBondDonorType()

CDPL_MOLPROP_API unsigned int CDPL::MolProp::getHBondDonorType ( const Chem::Atom atom)

Returns the value of the MolProp::AtomProperty::H_BOND_DONOR_TYPE property of atom (see namespace MolProp::HBondDonorAtomType).

Parameters
atomThe atom.
Returns
The H-bond donor type identifier.

◆ setHBondDonorType()

CDPL_MOLPROP_API void CDPL::MolProp::setHBondDonorType ( Chem::Atom atom,
unsigned int  type 
)

Sets the value of the MolProp::AtomProperty::H_BOND_DONOR_TYPE property of atom to type.

Parameters
atomThe atom.
typeThe new MolProp::HBondDonorAtomType identifier.

◆ clearHBondDonorType()

CDPL_MOLPROP_API void CDPL::MolProp::clearHBondDonorType ( Chem::Atom atom)

Removes the MolProp::AtomProperty::H_BOND_DONOR_TYPE property from atom.

Parameters
atomThe atom.

◆ hasHBondDonorType()

CDPL_MOLPROP_API bool CDPL::MolProp::hasHBondDonorType ( const Chem::Atom atom)

Tells whether atom carries an explicit MolProp::AtomProperty::H_BOND_DONOR_TYPE property.

Parameters
atomThe atom.
Returns
true if the H-bond donor type property is set, and false otherwise.

◆ getHBondAcceptorType()

CDPL_MOLPROP_API unsigned int CDPL::MolProp::getHBondAcceptorType ( const Chem::Atom atom)

Returns the value of the MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property of atom (see namespace MolProp::HBondAcceptorAtomType).

Parameters
atomThe atom.
Returns
The H-bond acceptor type identifier.

◆ setHBondAcceptorType()

CDPL_MOLPROP_API void CDPL::MolProp::setHBondAcceptorType ( Chem::Atom atom,
unsigned int  type 
)

Sets the value of the MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property of atom to type.

Parameters
atomThe atom.
typeThe new MolProp::HBondAcceptorAtomType identifier.

◆ clearHBondAcceptorType()

CDPL_MOLPROP_API void CDPL::MolProp::clearHBondAcceptorType ( Chem::Atom atom)

Removes the MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property from atom.

Parameters
atomThe atom.

◆ hasHBondAcceptorType()

CDPL_MOLPROP_API bool CDPL::MolProp::hasHBondAcceptorType ( const Chem::Atom atom)

Tells whether atom carries an explicit MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property.

Parameters
atomThe atom.
Returns
true if the H-bond acceptor type property is set, and false otherwise.

◆ isInRing() [1/2]

CDPL_MOLPROP_API bool CDPL::MolProp::isInRing ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Tells whether atom is a member of any ring in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
true if atom is in a ring, and false otherwise.

◆ isInRingOfSize() [1/2]

CDPL_MOLPROP_API bool CDPL::MolProp::isInRingOfSize ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
std::size_t  size 
)

Tells whether atom is a member of a ring of size size in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
sizeThe ring size to test for.
Returns
true if atom is in a ring of size size, and false otherwise.

◆ getNumContainingSSSRRings() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getNumContainingSSSRRings ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of SSSR rings of molgraph that contain atom.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The number of containing SSSR rings.

◆ getAtomicWeight()

CDPL_MOLPROP_API double CDPL::MolProp::getAtomicWeight ( const Chem::Atom atom)

Returns the standard atomic weight of the chemical element associated with atom.

Parameters
atomThe atom.
Returns
The standard atomic weight.

◆ getIUPACGroup()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getIUPACGroup ( const Chem::Atom atom)

Returns the IUPAC group number of the chemical element associated with atom.

Parameters
atomThe atom.
Returns
The IUPAC group number.

◆ getPeriod()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getPeriod ( const Chem::Atom atom)

Returns the period of the chemical element associated with atom.

Parameters
atomThe atom.
Returns
The element period.

◆ getVdWRadius()

CDPL_MOLPROP_API double CDPL::MolProp::getVdWRadius ( const Chem::Atom atom)

Returns the Van der Waals radius of the chemical element associated with atom.

Parameters
atomThe atom.
Returns
The Van der Waals radius.

◆ getCovalentRadius()

CDPL_MOLPROP_API double CDPL::MolProp::getCovalentRadius ( const Chem::Atom atom,
std::size_t  order 
)

Returns the covalent radius of the chemical element associated with atom for the given bond order.

Parameters
atomThe atom.
orderThe bond order.
Returns
The covalent radius.

◆ getAllredRochowElectronegativity()

CDPL_MOLPROP_API double CDPL::MolProp::getAllredRochowElectronegativity ( const Chem::Atom atom)

Returns the Allred-Rochow electronegativity of the chemical element associated with atom.

Parameters
atomThe atom.
Returns
The Allred-Rochow electronegativity.

◆ getElementName()

CDPL_MOLPROP_API const std::string& CDPL::MolProp::getElementName ( const Chem::Atom atom)

Returns the element name of the chemical element associated with atom.

Parameters
atomThe atom.
Returns
A const reference to the element name.

◆ getElementValenceElectronCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getElementValenceElectronCount ( const Chem::Atom atom)

Returns the number of valence electrons of the chemical element associated with atom.

Parameters
atomThe atom.
Returns
The number of valence electrons.

◆ isChemicalElement()

CDPL_MOLPROP_API bool CDPL::MolProp::isChemicalElement ( const Chem::Atom atom)

Tells whether atom represents a chemical element.

Parameters
atomThe atom.
Returns
true if atom represents a chemical element, and false otherwise.

◆ isMainGroupElement()

CDPL_MOLPROP_API bool CDPL::MolProp::isMainGroupElement ( const Chem::Atom atom)

Tells whether the chemical element associated with atom is a main-group element.

Parameters
atomThe atom.
Returns
true if the element is a main-group element, and false otherwise.

◆ isMetal()

CDPL_MOLPROP_API bool CDPL::MolProp::isMetal ( const Chem::Atom atom)

Tells whether the chemical element associated with atom is a metal.

Parameters
atomThe atom.
Returns
true if the element is a metal, and false otherwise.

◆ isTransitionMetal()

CDPL_MOLPROP_API bool CDPL::MolProp::isTransitionMetal ( const Chem::Atom atom)

Tells whether the chemical element associated with atom is a transition metal.

Parameters
atomThe atom.
Returns
true if the element is a transition metal, and false otherwise.

◆ isNonMetal()

CDPL_MOLPROP_API bool CDPL::MolProp::isNonMetal ( const Chem::Atom atom)

Tells whether the chemical element associated with atom is a non-metal.

Parameters
atomThe atom.
Returns
true if the element is a non-metal, and false otherwise.

◆ isSemiMetal()

CDPL_MOLPROP_API bool CDPL::MolProp::isSemiMetal ( const Chem::Atom atom)

Tells whether the chemical element associated with atom is a semi-metal.

Parameters
atomThe atom.
Returns
true if the element is a semi-metal, and false otherwise.

◆ isHalogen()

CDPL_MOLPROP_API bool CDPL::MolProp::isHalogen ( const Chem::Atom atom)

Tells whether the chemical element associated with atom is a halogen.

Parameters
atomThe atom.
Returns
true if the element is a halogen, and false otherwise.

◆ isNobleGas()

CDPL_MOLPROP_API bool CDPL::MolProp::isNobleGas ( const Chem::Atom atom)

Tells whether the chemical element associated with atom is a noble gas.

Parameters
atomThe atom.
Returns
true if the element is a noble gas, and false otherwise.

◆ isOrdinaryHydrogen()

CDPL_MOLPROP_API bool CDPL::MolProp::isOrdinaryHydrogen ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
unsigned int  flags = Chem::AtomPropertyFlag::DEFAULT 
)

Tells whether atom is an ordinary hydrogen.

An "ordinary" hydrogen is a hydrogen atom that has the default values for every atom property named by the flags bitmask (e.g. with the Chem::AtomPropertyFlag::ISOTOPE flag set, only unspecified-isotope hydrogens count as ordinary; with Chem::AtomPropertyFlag::FORMAL_CHARGE set, only neutral hydrogens count as ordinary; etc.). All other hydrogens are deemed special.

Parameters
atomThe atom.
molgraphThe molecular graph.
flagsBitmask of Chem::AtomPropertyFlag values that qualify "ordinary"; an empty bitmask makes any hydrogen ordinary.
Returns
true if atom is an ordinary hydrogen, and false otherwise.

◆ isHeavy()

CDPL_MOLPROP_API bool CDPL::MolProp::isHeavy ( const Chem::Atom atom)

Tells whether atom is a heavy (non-hydrogen) atom.

Parameters
atomThe atom.
Returns
true if atom is a heavy atom, and false otherwise.

◆ isUnsaturated()

CDPL_MOLPROP_API bool CDPL::MolProp::isUnsaturated ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Tells whether atom is unsaturated (involved in at least one multiple bond) in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
true if atom is unsaturated, and false otherwise.

◆ isHBondAcceptor()

CDPL_MOLPROP_API bool CDPL::MolProp::isHBondAcceptor ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Tells whether atom acts as an H-bond acceptor in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
true if atom is an H-bond acceptor, and false otherwise.

◆ isHBondDonor()

CDPL_MOLPROP_API bool CDPL::MolProp::isHBondDonor ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Tells whether atom acts as an H-bond donor in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
true if atom is an H-bond donor, and false otherwise.

◆ isCarbonylLike()

CDPL_MOLPROP_API bool CDPL::MolProp::isCarbonylLike ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
bool  c_only = false,
bool  db_o_only = false 
)

Tells whether atom is a carbonyl-like center in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
c_onlyIf true, only carbon centers are recognized.
db_o_onlyIf true, a double bond to oxygen must be present. Otherwise, a double bond to sulfur is also allowed.
Returns
true if atom is a carbonyl-like center, and false otherwise.
Since
1.2

◆ isAmideCenter()

CDPL_MOLPROP_API bool CDPL::MolProp::isAmideCenter ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
bool  c_only = false,
bool  db_o_only = false 
)

Tells whether atom is the center of an amide group in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
c_onlyIf true, only carbon amides are recognized.
db_o_onlyIf true, a double bond to oxygen must be present. Otherwise, a double bond to sulfur is also allowed.
Returns
true if atom is an amide center, and false otherwise.
Since
1.2

◆ isAmideNitrogen()

CDPL_MOLPROP_API bool CDPL::MolProp::isAmideNitrogen ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
bool  c_only = false,
bool  db_o_only = false 
)

Tells whether atom is the nitrogen of an amide group in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
c_onlyIf true, only carbon amides are recognized.
db_o_onlyIf true, the center atom must be double bonded to oxygen. Otherwise, a double bond to sulfur is also allowed.
Returns
true if atom is an amide nitrogen, and false otherwise.

◆ isInvertibleNitrogen()

CDPL_MOLPROP_API bool CDPL::MolProp::isInvertibleNitrogen ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Tells whether atom is an invertible (pyramidal, non-aromatic, non-amide) nitrogen in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
true if atom is an invertible nitrogen, and false otherwise.

◆ isPlanarNitrogen()

CDPL_MOLPROP_API bool CDPL::MolProp::isPlanarNitrogen ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Tells whether atom is a planar nitrogen in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
true if atom is a planar nitrogen, and false otherwise.

◆ isBridgehead()

CDPL_MOLPROP_API bool CDPL::MolProp::isBridgehead ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
bool  bridged_only 
)

Tells whether atom is a bridgehead atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
bridged_onlyIf true, only bridgeheads of bridged (non-fused) ring systems are recognized.
Returns
true if atom is a bridgehead, and false otherwise.
Since
1.2

◆ isSpiroCenter()

CDPL_MOLPROP_API bool CDPL::MolProp::isSpiroCenter ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Tells whether atom is a spiro center in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
true if atom is a spiro center, and false otherwise.
Since
1.2

◆ getOrdinaryHydrogenCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getOrdinaryHydrogenCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
unsigned int  flags = Chem::AtomPropertyFlag::DEFAULT 
)

Returns the number of ordinary-hydrogen neighbors of atom in molgraph (see isOrdinaryHydrogen() for the definition of "ordinary").

Parameters
atomThe atom.
molgraphThe molecular graph.
flagsBitmask of Chem::AtomPropertyFlag values that qualify "ordinary".
Returns
The ordinary-hydrogen neighbor count.

◆ getExplicitAtomCount() [3/3]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitAtomCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
unsigned int  type,
bool  strict = true 
)

Returns the number of explicit neighbors of atom in molgraph whose Chem::AtomType matches type.

Parameters
atomThe atom.
molgraphThe molecular graph.
typeThe Chem::AtomType to count.
strictIf true, the atom type must match type exactly; otherwise generic types match via Chem::atomTypesMatch().
Returns
The matching explicit-atom neighbor count.

◆ getAtomCount() [1/3]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getAtomCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
unsigned int  type,
bool  strict = true 
)

Returns the number of neighbors of atom in molgraph (including implicit hydrogens) whose Chem::AtomType matches type.

Parameters
atomThe atom.
molgraphThe molecular graph.
typeThe Chem::AtomType to count.
strictIf true, the atom type must match type exactly; otherwise generic types match via Chem::atomTypesMatch().
Returns
The matching neighbor count.

◆ getExplicitChainAtomCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitChainAtomCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of explicit chain (non-ring) neighbors of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The explicit chain-atom neighbor count.

◆ getChainAtomCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getChainAtomCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of chain (non-ring) neighbors of atom in molgraph (including implicit hydrogens).

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The chain-atom neighbor count.

◆ getRingAtomCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getRingAtomCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of ring-atom neighbors of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The ring-atom neighbor count.

◆ getAromaticAtomCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getAromaticAtomCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of aromatic neighbors of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The aromatic neighbor count.

◆ getHeavyAtomCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getHeavyAtomCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of heavy atom neighbors of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The heavy atom neighbor count.

◆ getExplicitBondCount() [1/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of explicit bonds incident to atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The explicit-bond count.

◆ getExplicitBondCount() [2/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
std::size_t  order 
)

Returns the number of explicit bonds of the given order incident to atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
orderThe bond order to count.
Returns
The number of matching explicit bonds.

◆ getExplicitBondCount() [3/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
std::size_t  order,
unsigned int  type,
bool  strict = true 
)

Returns the number of explicit bonds of the given order incident to atom that bond to atoms whose Chem::AtomType matches type.

Parameters
atomThe atom.
molgraphThe molecular graph.
orderThe bond order to count.
typeThe Chem::AtomType of the bonded partner.
strictIf true, the atom type must match type exactly; otherwise generic types match via Chem::atomTypesMatch().
Returns
The number of matching explicit bonds.

◆ getBondCount() [1/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the total number of bonds incident to atom in molgraph (including implicit-hydrogen bonds).

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The total bond count.

◆ getBondCount() [2/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
std::size_t  order 
)

Returns the total number of bonds of the given order incident to atom (including implicit-hydrogen bonds).

Parameters
atomThe atom.
molgraphThe molecular graph.
orderThe bond order to count.
Returns
The number of matching bonds.

◆ getBondCount() [3/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
std::size_t  order,
unsigned int  type,
bool  strict = true 
)

Returns the total number of bonds of the given order incident to atom that bond to atoms whose Chem::AtomType matches type.

Parameters
atomThe atom.
molgraphThe molecular graph.
orderThe bond order to count.
typeThe Chem::AtomType of the bonded partner.
strictIf true, the atom type must match type exactly; otherwise generic types match via Chem::atomTypesMatch().
Returns
The number of matching bonds.

◆ getExplicitChainBondCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitChainBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of explicit chain (non-ring) bonds incident to atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The explicit chain-bond count.

◆ getChainBondCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getChainBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of chain (non-ring) bonds incident to atom in molgraph (including implicit-hydrogen bonds).

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The chain-bond count.

◆ getRingBondCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getRingBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of ring bonds incident to atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The ring-bond count.

◆ getAromaticBondCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getAromaticBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of aromatic bonds incident to atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The aromatic-bond count.

◆ getHeavyBondCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getHeavyBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the number of heavy bonds incident to atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The heavy bond count.

◆ getRotatableBondCount() [1/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getRotatableBondCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
bool  h_rotors = false,
bool  ring_bonds = false,
bool  amide_bonds = false 
)

Returns the number of rotatable bonds incident to atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
h_rotorsIf true, hydrogen-only rotors are counted as rotatable.
ring_bondsIf true, ring bonds are also considered.
amide_bondsIf true, amide bonds are also considered.
Returns
The rotatable-bond count.

◆ calcExplicitValence()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::calcExplicitValence ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Calculates the explicit valence of atom in molgraph (sum of explicit bond orders).

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The explicit valence.

◆ calcValence()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::calcValence ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Calculates the total valence of atom in molgraph (explicit valence plus implicit hydrogens).

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The total valence.

◆ calcFreeValenceElectronCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::calcFreeValenceElectronCount ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Calculates the number of free (lone-pair) valence electrons of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The number of free valence electrons.

◆ calcValenceElectronCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::calcValenceElectronCount ( const Chem::Atom atom)

Calculates the number of valence electrons of the chemical element associated with atom (corrected for the atom's formal charge).

Parameters
atomThe atom.
Returns
The valence-electron count.

◆ calcStericNumber()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::calcStericNumber ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Calculates the steric number of atom in molgraph (used by VSEPR theory).

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The steric number.

◆ getVSEPRCoordinationGeometry() [1/2]

CDPL_MOLPROP_API unsigned int CDPL::MolProp::getVSEPRCoordinationGeometry ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
std::size_t  steric_num 
)

Returns the VSEPR coordination geometry of atom in molgraph (see namespace MolProp::CoordinationGeometry).

Parameters
atomThe atom.
molgraphThe molecular graph.
steric_numThe pre-computed steric number of atom (avoids re-computation).
Returns
The MolProp::CoordinationGeometry identifier.

◆ getVSEPRCoordinationGeometry() [2/2]

CDPL_MOLPROP_API unsigned int CDPL::MolProp::getVSEPRCoordinationGeometry ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the VSEPR coordination geometry of atom in molgraph (see namespace MolProp::CoordinationGeometry).

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The MolProp::CoordinationGeometry identifier.

◆ getHybridPolarizability()

CDPL_MOLPROP_API double CDPL::MolProp::getHybridPolarizability ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Returns the hybridization-state-dependent atomic polarizability of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The hybrid polarizability.

◆ calcEffectivePolarizability()

CDPL_MOLPROP_API double CDPL::MolProp::calcEffectivePolarizability ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
double  damping = 0.75 
)

Calculates the effective atomic polarizability of atom in molgraph (after Kang and Jhon).

Parameters
atomThe atom.
molgraphThe molecular graph.
dampingThe damping factor applied to remote-atom contributions.
Returns
The effective polarizability.

◆ calcTotalPartialCharge()

CDPL_MOLPROP_API double CDPL::MolProp::calcTotalPartialCharge ( const Chem::Atom atom)

Calculates the total partial charge of atom (sum of stored PEOE sigma and MHMO pi charge contributions).

Parameters
atomThe atom.
Returns
The total partial charge.

◆ calcLonePairElectronegativity()

CDPL_MOLPROP_API double CDPL::MolProp::calcLonePairElectronegativity ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Calculates the lone-pair electronegativity of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The lone-pair electronegativity.

◆ calcPiElectronegativity()

CDPL_MOLPROP_API double CDPL::MolProp::calcPiElectronegativity ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph 
)

Calculates the pi electronegativity of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
Returns
The pi electronegativity.

◆ calcInductiveEffect()

CDPL_MOLPROP_API double CDPL::MolProp::calcInductiveEffect ( const Chem::Atom atom,
const Chem::MolecularGraph molgraph,
std::size_t  num_bonds = 10 
)

Calculates the inductive effect parameter of atom in molgraph.

Parameters
atomThe atom.
molgraphThe molecular graph.
num_bondsThe maximum number of bonds over which to accumulate the inductive contributions.
Returns
The inductive effect value.

◆ getExplicitBondCount() [4/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitBondCount ( const Chem::BondContainer cntnr)

Returns the total number of explicit bonds in cntnr.

Parameters
cntnrThe bond container.
Returns
The number of explicit bonds.

◆ getExplicitBondCount() [5/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitBondCount ( const Chem::BondContainer cntnr,
std::size_t  order,
bool  inc_aro = true 
)

Returns the number of explicit bonds in cntnr that match the given bond order.

Parameters
cntnrThe bond container.
orderThe bond order to match.
inc_aroIf true, aromatic bonds are included in the count for any order.
Returns
The number of matching explicit bonds.

◆ getExplicitHydrogenBondCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitHydrogenBondCount ( const Chem::BondContainer cntnr)

Returns the number of explicit bonds in cntnr that involve a hydrogen atom.

Parameters
cntnrThe bond container.
Returns
The number of explicit hydrogen-involving bonds.

◆ getExplicitChainBondCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitChainBondCount ( const Chem::BondContainer cntnr)

Returns the number of explicit chain (non-ring) bonds in cntnr.

Parameters
cntnrThe bond container.
Returns
The number of explicit chain bonds.

◆ getRingBondCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getRingBondCount ( const Chem::BondContainer cntnr)

Returns the number of ring bonds in cntnr.

Parameters
cntnrThe bond container.
Returns
The number of ring bonds.

◆ getAromaticBondCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getAromaticBondCount ( const Chem::BondContainer cntnr)

Returns the number of aromatic bonds in cntnr.

Parameters
cntnrThe bond container.
Returns
The number of aromatic bonds.

◆ getHeavyBondCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getHeavyBondCount ( const Chem::BondContainer cntnr)

Returns the number of heavy atom bonds in cntnr.

Parameters
cntnrThe bond container.
Returns
The number of heavy bonds.

◆ getMHMOPiOrder()

CDPL_MOLPROP_API double CDPL::MolProp::getMHMOPiOrder ( const Chem::Bond bond)

Returns the value of the MolProp::BondProperty::MHMO_PI_ORDER property of bond.

Parameters
bondThe bond.
Returns
The MHMO pi-bond order.

◆ setMHMOPiOrder()

CDPL_MOLPROP_API void CDPL::MolProp::setMHMOPiOrder ( Chem::Bond bond,
double  order 
)

Sets the value of the MolProp::BondProperty::MHMO_PI_ORDER property of bond.

Parameters
bondThe bond.
orderThe MHMO pi-bond order.

◆ clearMHMOPiOrder()

CDPL_MOLPROP_API void CDPL::MolProp::clearMHMOPiOrder ( Chem::Bond bond)

Removes the MolProp::BondProperty::MHMO_PI_ORDER property from bond.

Parameters
bondThe bond.

◆ hasMHMOPiOrder()

CDPL_MOLPROP_API bool CDPL::MolProp::hasMHMOPiOrder ( const Chem::Bond atom)

Tells whether bond carries an explicit MolProp::BondProperty::MHMO_PI_ORDER property.

Parameters
atomThe bond.
Returns
true if the property is set, and false otherwise.

◆ calcPolarizability()

CDPL_MOLPROP_API double CDPL::MolProp::calcPolarizability ( const Chem::Bond bond,
const Chem::MolecularGraph molgraph,
double  damping = 0.75 
)

Calculates the bond polarizability of bond within molgraph.

Parameters
bondThe bond.
molgraphThe molecular graph containing bond.
dampingThe damping factor applied to remote-atom contributions.
Returns
The calculated bond polarizability.

◆ isInRing() [2/2]

CDPL_MOLPROP_API bool CDPL::MolProp::isInRing ( const Chem::Bond Bond,
const Chem::MolecularGraph molgraph 
)

Tells whether Bond is part of any ring of molgraph.

Parameters
BondThe bond.
molgraphThe molecular graph containing the bond.
Returns
true if the bond is part of a ring, and false otherwise.

◆ isInRingOfSize() [2/2]

CDPL_MOLPROP_API bool CDPL::MolProp::isInRingOfSize ( const Chem::Bond bond,
const Chem::MolecularGraph molgraph,
std::size_t  size 
)

Tells whether bond is part of a ring of the specified size in molgraph.

Parameters
bondThe bond.
molgraphThe molecular graph containing the bond.
sizeThe ring size to test for.
Returns
true if the bond is part of a ring of size size, and false otherwise.

◆ getNumContainingSSSRRings() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getNumContainingSSSRRings ( const Chem::Bond bond,
const Chem::MolecularGraph molgraph 
)

Returns the number of SSSR rings of molgraph that contain bond.

Parameters
bondThe bond.
molgraphThe molecular graph containing the bond.
Returns
The number of SSSR rings containing the bond.

◆ isHydrogenRotor()

CDPL_MOLPROP_API bool CDPL::MolProp::isHydrogenRotor ( const Chem::Bond bond,
const Chem::MolecularGraph molgraph 
)

Tells whether bond is a rotatable bond whose rotation only moves hydrogen atoms.

Parameters
bondThe bond.
molgraphThe molecular graph containing the bond.
Returns
true if the bond is a hydrogen-only rotor, and false otherwise.

◆ isHeteroAtomHydrogenRotor()

CDPL_MOLPROP_API bool CDPL::MolProp::isHeteroAtomHydrogenRotor ( const Chem::Bond bond,
const Chem::MolecularGraph molgraph 
)

Tells whether bond is a hydrogen-only rotor where the rotating end is a heteroatom-bound hydrogen.

Parameters
bondThe bond.
molgraphThe molecular graph containing the bond.
Returns
true if the bond is a heteroatom-hydrogen rotor, and false otherwise.

◆ isRotatable()

CDPL_MOLPROP_API bool CDPL::MolProp::isRotatable ( const Chem::Bond bond,
const Chem::MolecularGraph molgraph,
bool  h_rotors = false,
bool  ring_bonds = false,
bool  amide_bonds = false 
)

Tells whether bond is rotatable.

Parameters
bondThe bond.
molgraphThe molecular graph containing the bond.
h_rotorsIf true, hydrogen-only rotors are counted as rotatable.
ring_bondsIf true, ring bonds are also considered.
amide_bondsIf true, amide bonds are also considered.
Returns
true if the bond is rotatable, and false otherwise.

◆ isHydrogenBond()

CDPL_MOLPROP_API bool CDPL::MolProp::isHydrogenBond ( const Chem::Bond bond)

Tells whether bond is a hydrogen bond (one of the bonded atoms is a hydrogen).

Parameters
bondThe bond.
Returns
true if the bond involves a hydrogen, and false otherwise.

◆ isAmideBond()

CDPL_MOLPROP_API bool CDPL::MolProp::isAmideBond ( const Chem::Bond bond,
const Chem::MolecularGraph molgraph,
bool  c_only = false,
bool  db_o_only = false 
)

Tells whether bond is an amide bond in molgraph.

Parameters
bondThe bond.
molgraphThe molecular graph containing the bond.
c_onlyIf true, only C(=O)N bonds are recognized (more restrictive).
db_o_onlyIf true, the C=O must be a double bond to oxygen specifically.
Returns
true if the bond is an amide bond under the given criteria, and false otherwise.

◆ calcMass()

CDPL_MOLPROP_API double CDPL::MolProp::calcMass ( const Chem::MolecularGraph molgraph)

Calculates the total molecular mass of molgraph (sum of atom standard atomic weights including implicit hydrogens).

Parameters
molgraphThe molecular graph.
Returns
The molecular mass.

◆ calcMassComposition()

CDPL_MOLPROP_API void CDPL::MolProp::calcMassComposition ( const Chem::MolecularGraph molgraph,
MassComposition comp 
)

Calculates the per-element mass composition of molgraph.

Parameters
molgraphThe molecular graph.
compThe output mass composition.

◆ generateMassCompositionString()

CDPL_MOLPROP_API void CDPL::MolProp::generateMassCompositionString ( const Chem::MolecularGraph molgraph,
std::string &  comp 
)

Generates a string representation of the per-element mass composition of molgraph.

Parameters
molgraphThe molecular graph.
compThe output mass composition string.

◆ generateMolecularFormula()

CDPL_MOLPROP_API void CDPL::MolProp::generateMolecularFormula ( const Chem::MolecularGraph molgraph,
std::string &  formula,
const std::string &  sep = std::string() 
)

Generates the molecular formula of the molecular graph molgraph.

Parameters
molgraphThe molecular graph.
formulaA reference to the output string.
sepA string separating the output for each element (since 1.2).

◆ generateElementHistogram()

CDPL_MOLPROP_API void CDPL::MolProp::generateElementHistogram ( const Chem::MolecularGraph molgraph,
ElementHistogram hist,
bool  append = false 
)

Generates the element histogram of molgraph.

Parameters
molgraphThe molecular graph.
histThe output element histogram.
appendIf true, hist is appended to instead of cleared first.

◆ calcCyclomaticNumber()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::calcCyclomaticNumber ( const Chem::MolecularGraph molgraph)

Calculates the cyclomatic number of molgraph (number of independent cycles).

Parameters
molgraphThe molecular graph.
Returns
The cyclomatic number.

◆ getAtomCount() [2/3]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getAtomCount ( const Chem::MolecularGraph molgraph)

Returns the total number of atoms in molgraph (including implicit hydrogens).

Parameters
molgraphThe molecular graph.
Returns
The total atom count.

◆ getAtomCount() [3/3]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getAtomCount ( const Chem::MolecularGraph molgraph,
unsigned int  type,
bool  strict = true 
)

Returns the number of atoms in molgraph whose Chem::AtomType matches type.

Parameters
molgraphThe molecular graph.
typeThe Chem::AtomType to count.
strictIf true, the atom type must match type exactly; otherwise generic types match via Chem::atomTypesMatch().
Returns
The number of matching atoms (including implicit hydrogens when type matches Chem::AtomType::H).
Since
1.1

◆ getImplicitHydrogenCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getImplicitHydrogenCount ( const Chem::MolecularGraph molgraph)

Returns the total number of implicit hydrogens in molgraph.

Parameters
molgraphThe molecular graph.
Returns
The implicit-hydrogen count.

◆ getOrdinaryHydrogenCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getOrdinaryHydrogenCount ( const Chem::MolecularGraph molgraph,
unsigned int  flags = Chem::AtomPropertyFlag::DEFAULT 
)

Returns the number of ordinary hydrogens in molgraph (see MolProp::isOrdinaryHydrogen() for the definition of "ordinary").

Parameters
molgraphThe molecular graph.
flagsBitmask of Chem::AtomPropertyFlag values that qualify "ordinary"; an empty bitmask makes any hydrogen ordinary.
Returns
The ordinary-hydrogen count.

◆ getExplicitOrdinaryHydrogenCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getExplicitOrdinaryHydrogenCount ( const Chem::MolecularGraph molgraph,
unsigned int  flags = Chem::AtomPropertyFlag::DEFAULT 
)

Returns the number of explicit ordinary hydrogens in molgraph (see MolProp::isOrdinaryHydrogen() for the definition of "ordinary").

Parameters
molgraphThe molecular graph.
flagsBitmask of Chem::AtomPropertyFlag values that qualify "ordinary"; an empty bitmask makes any hydrogen ordinary.
Returns
The explicit ordinary-hydrogen count.

◆ getChainAtomCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getChainAtomCount ( const Chem::MolecularGraph molgraph)

Returns the number of chain (non-ring) atoms in molgraph.

Parameters
molgraphThe molecular graph.
Returns
The chain-atom count.

◆ getHBondAcceptorAtomCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getHBondAcceptorAtomCount ( const Chem::MolecularGraph molgraph)

Returns the number of H-bond acceptor atoms in molgraph.

Parameters
molgraphThe molecular graph.
Returns
The H-bond acceptor count.

◆ getHBondDonorAtomCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getHBondDonorAtomCount ( const Chem::MolecularGraph molgraph)

Returns the number of H-bond donor atoms in molgraph.

Parameters
molgraphThe molecular graph.
Returns
The H-bond donor count.

◆ getBondCount() [4/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getBondCount ( const Chem::MolecularGraph molgraph)

Returns the total number of bonds in molgraph (including bonds to implicit hydrogens).

Parameters
molgraphThe molecular graph.
Returns
The total bond count.

◆ getBondCount() [5/5]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getBondCount ( const Chem::MolecularGraph molgraph,
std::size_t  order,
bool  inc_aro = true 
)

Returns the number of bonds in molgraph with the given order, optionally including aromatic bonds.

Parameters
molgraphThe molecular graph.
orderThe bond order to count.
inc_aroIf true, aromatic bonds are counted in addition to bonds of the given order.
Returns
The number of matching bonds.

◆ getHydrogenBondCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getHydrogenBondCount ( const Chem::MolecularGraph molgraph)

Returns the number of bonds in molgraph that involve at least one hydrogen atom.

Parameters
molgraphThe molecular graph.
Returns
The hydrogen-bond count.

◆ getChainBondCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getChainBondCount ( const Chem::MolecularGraph molgraph)

Returns the number of chain (non-ring) bonds in molgraph.

Parameters
molgraphThe molecular graph.
Returns
The chain-bond count.

◆ getRotatableBondCount() [2/2]

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getRotatableBondCount ( const Chem::MolecularGraph molgraph,
bool  h_rotors = false,
bool  ring_bonds = false,
bool  amide_bonds = false 
)

Returns the number of rotatable bonds in molgraph.

Parameters
molgraphThe molecular graph.
h_rotorsIf true, hydrogen-only rotors are counted.
ring_bondsIf true, ring bonds are also considered.
amide_bondsIf true, amide bonds are also considered.
Returns
The rotatable-bond count.

◆ getComponentCount()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getComponentCount ( const Chem::MolecularGraph molgraph)

Returns the number of connected components in molgraph.

Parameters
molgraphThe molecular graph.
Returns
The component count.

◆ calcXLogP()

CDPL_MOLPROP_API double CDPL::MolProp::calcXLogP ( const Chem::MolecularGraph molgraph)

Calculates the XLogP value of molgraph using MolProp::XLogPCalculator.

Parameters
molgraphThe molecular graph.
Returns
The XLogP value.
See also
[XLOGP]

◆ calcLogS()

CDPL_MOLPROP_API double CDPL::MolProp::calcLogS ( const Chem::MolecularGraph molgraph)

Calculates the \( \log S \) (aqueous solubility) of molgraph using MolProp::LogSCalculator.

Parameters
molgraphThe molecular graph.
Returns
The \( \log S \) value.
See also
[LOGS]

◆ calcTPSA()

CDPL_MOLPROP_API double CDPL::MolProp::calcTPSA ( const Chem::MolecularGraph molgraph)

Calculates the topological polar surface area (TPSA) of molgraph using MolProp::TPSACalculator.

Parameters
molgraphThe molecular graph.
Returns
The TPSA value.
See also
[TPSA]

◆ getRuleOfFiveScore()

CDPL_MOLPROP_API std::size_t CDPL::MolProp::getRuleOfFiveScore ( const Chem::MolecularGraph molgraph)

Returns the Lipinski rule-of-five score of molgraph, defined as the number of satisfied criteria (0-4).

The four criteria evaluated are:

  • the number of H-bond donor atoms is ≤ 5,
  • the number of H-bond acceptor atoms is ≤ 10,
  • the XLogP value is ≤ 5.0,
  • the molecular mass is ≤ 500.0.

A score of 4 indicates full compliance with the Lipinski rule of five.

Parameters
molgraphThe molecular graph.
Returns
The rule-of-five score (0-4).

◆ calcMeanPolarizability()

CDPL_MOLPROP_API double CDPL::MolProp::calcMeanPolarizability ( const Chem::MolecularGraph molgraph)

Calculates the mean atomic polarizability of molgraph.

Parameters
molgraphThe molecular graph.
Returns
The mean atomic polarizability.

◆ calcPEOEProperties()

CDPL_MOLPROP_API void CDPL::MolProp::calcPEOEProperties ( Chem::MolecularGraph molgraph,
bool  overwrite,
std::size_t  num_iter = 20,
double  damping = 0.48 
)

Calculates PEOE sigma charges and electronegativities for the atoms of molgraph and stores them as atom properties.

Parameters
molgraphThe molecular graph (modified in place).
overwriteIf true, existing atom properties are overwritten; otherwise only atoms without the property are populated.
num_iterThe number of charge-shifting iterations.
dampingThe per-iteration damping factor.

◆ calcMHMOProperties()

CDPL_MOLPROP_API void CDPL::MolProp::calcMHMOProperties ( Chem::MolecularGraph molgraph,
bool  overwrite 
)

Calculates MHMO pi charges and pi-bond orders for molgraph and stores them as atom/bond properties.

Parameters
molgraphThe molecular graph (modified in place).
overwriteIf true, existing atom/bond properties are overwritten.

◆ calcAtomHydrophobicities()

CDPL_MOLPROP_API void CDPL::MolProp::calcAtomHydrophobicities ( Chem::MolecularGraph molgraph,
bool  overwrite,
bool  from_logp = false 
)

Calculates per-atom hydrophobicities for molgraph and stores them as atom properties.

Parameters
molgraphThe molecular graph (modified in place).
overwriteIf true, existing atom hydrophobicity properties are overwritten.
from_logpIf true, the hydrophobicities are derived from the XLogP atom contributions instead of the Greene algorithm.

◆ perceiveHBondDonorAtomTypes()

CDPL_MOLPROP_API void CDPL::MolProp::perceiveHBondDonorAtomTypes ( Chem::MolecularGraph molgraph,
bool  overwrite 
)

Perceives the H-bond donor types of the atoms in molgraph and stores them as atom properties.

Parameters
molgraphThe molecular graph (modified in place).
overwriteIf true, existing atom H-bond donor type properties are overwritten.

◆ perceiveHBondAcceptorAtomTypes()

CDPL_MOLPROP_API void CDPL::MolProp::perceiveHBondAcceptorAtomTypes ( Chem::MolecularGraph molgraph,
bool  overwrite 
)

Perceives the H-bond acceptor types of the atoms in molgraph and stores them as atom properties.

Parameters
molgraphThe molecular graph (modified in place).
overwriteIf true, existing atom H-bond acceptor type properties are overwritten.

◆ getFunctionalGroups()

CDPL_MOLPROP_API const Chem::FragmentList::SharedPointer& CDPL::MolProp::getFunctionalGroups ( const Chem::MolecularGraph molgraph)

Returns the value of the MolProp::MolecularGraphProperty::FUNCTIONAL_GROUPS property of molgraph.

Parameters
molgraphThe molecular graph.
Returns
A const reference to the functional-groups fragment list.
Since
1.3

◆ setFunctionalGroups()

CDPL_MOLPROP_API void CDPL::MolProp::setFunctionalGroups ( Chem::MolecularGraph molgraph,
const Chem::FragmentList::SharedPointer fg_list 
)

Sets the value of the MolProp::MolecularGraphProperty::FUNCTIONAL_GROUPS property of molgraph.

Parameters
molgraphThe molecular graph.
fg_listThe new functional-groups fragment list.
Since
1.3

◆ clearFunctionalGroups()

CDPL_MOLPROP_API void CDPL::MolProp::clearFunctionalGroups ( Chem::MolecularGraph molgraph)

Removes the MolProp::MolecularGraphProperty::FUNCTIONAL_GROUPS property from molgraph.

Parameters
molgraphThe molecular graph.
Since
1.3

◆ hasFunctionalGroups()

CDPL_MOLPROP_API bool CDPL::MolProp::hasFunctionalGroups ( const Chem::MolecularGraph molgraph)

Tells whether molgraph carries an explicit MolProp::MolecularGraphProperty::FUNCTIONAL_GROUPS property.

Parameters
molgraphThe molecular graph.
Returns
true if the FUNCTIONAL_GROUPS property is set, and false otherwise.
Since
1.3

◆ perceiveFunctionalGroups() [1/2]

CDPL_MOLPROP_API Chem::FragmentList::SharedPointer CDPL::MolProp::perceiveFunctionalGroups ( const Chem::MolecularGraph molgraph)

Perceives the functional groups of molgraph using MolProp::FunctionalGroupList.

Parameters
molgraphThe molecular graph.
Returns
A shared pointer to the perceived functional-groups fragment list.
Since
1.3

◆ perceiveFunctionalGroups() [2/2]

CDPL_MOLPROP_API Chem::FragmentList::SharedPointer CDPL::MolProp::perceiveFunctionalGroups ( Chem::MolecularGraph molgraph,
bool  overwrite 
)

Perceives the functional groups of molgraph and stores them as a property.

Parameters
molgraphThe molecular graph (modified in place).
overwriteIf true, an existing FUNCTIONAL_GROUPS property is overwritten.
Returns
A shared pointer to the perceived functional-groups fragment list.
Since
1.3