Chemical Data Processing Library C++ API - Version 1.4.0
Namespaces | Functions
MolProp/AtomFunctions.hpp File Reference

Declaration of functions that operate on Chem::Atom instances. More...

#include <cstddef>
#include <string>
#include "CDPL/MolProp/APIPrefix.hpp"
#include "CDPL/Chem/AtomPropertyFlag.hpp"

Go to the source code of this file.

Namespaces

 CDPL
 The namespace of the Chemical Data Processing Library.
 
 CDPL::Chem
 Contains classes and functions related to chemistry.
 
 CDPL::MolProp
 Contains classes and functions related to the calculation/preciction of physicochemical molecular properties.
 

Functions

CDPL_MOLPROP_API double CDPL::MolProp::getHydrophobicity (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::HYDROPHOBICITY property of atom. More...
 
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. More...
 
CDPL_MOLPROP_API void CDPL::MolProp::clearHydrophobicity (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::HYDROPHOBICITY property from atom. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::hasHydrophobicity (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::HYDROPHOBICITY property. More...
 
CDPL_MOLPROP_API double CDPL::MolProp::getPEOESigmaCharge (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::PEOE_SIGMA_CHARGE property of atom. More...
 
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. More...
 
CDPL_MOLPROP_API void CDPL::MolProp::clearPEOESigmaCharge (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::PEOE_SIGMA_CHARGE property from atom. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::hasPEOESigmaCharge (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::PEOE_SIGMA_CHARGE property. More...
 
CDPL_MOLPROP_API double CDPL::MolProp::getPEOESigmaElectronegativity (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property of atom. More...
 
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. More...
 
CDPL_MOLPROP_API void CDPL::MolProp::clearPEOESigmaElectronegativity (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property from atom. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::hasPEOESigmaElectronegativity (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::PEOE_SIGMA_ELECTRONEGATIVITY property. More...
 
CDPL_MOLPROP_API double CDPL::MolProp::getMHMOPiCharge (const Chem::Atom &atom)
 Returns the value of the MolProp::AtomProperty::MHMO_PI_CHARGE property of atom. More...
 
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. More...
 
CDPL_MOLPROP_API void CDPL::MolProp::clearMHMOPiCharge (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::MHMO_PI_CHARGE property from atom. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::hasMHMOPiCharge (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::MHMO_PI_CHARGE property. More...
 
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). More...
 
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. More...
 
CDPL_MOLPROP_API void CDPL::MolProp::clearHBondDonorType (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::H_BOND_DONOR_TYPE property from atom. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::hasHBondDonorType (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::H_BOND_DONOR_TYPE property. More...
 
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). More...
 
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. More...
 
CDPL_MOLPROP_API void CDPL::MolProp::clearHBondAcceptorType (Chem::Atom &atom)
 Removes the MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property from atom. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::hasHBondAcceptorType (const Chem::Atom &atom)
 Tells whether atom carries an explicit MolProp::AtomProperty::H_BOND_ACCEPTOR_TYPE property. More...
 
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. More...
 
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. More...
 
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. More...
 
CDPL_MOLPROP_API double CDPL::MolProp::getAtomicWeight (const Chem::Atom &atom)
 Returns the standard atomic weight of the chemical element associated with atom. More...
 
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. More...
 
CDPL_MOLPROP_API std::size_t CDPL::MolProp::getPeriod (const Chem::Atom &atom)
 Returns the period of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API double CDPL::MolProp::getVdWRadius (const Chem::Atom &atom)
 Returns the Van der Waals radius of the chemical element associated with atom. More...
 
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. More...
 
CDPL_MOLPROP_API double CDPL::MolProp::getAllredRochowElectronegativity (const Chem::Atom &atom)
 Returns the Allred-Rochow electronegativity of the chemical element associated with atom. More...
 
CDPL_MOLPROP_API const std::string & CDPL::MolProp::getElementName (const Chem::Atom &atom)
 Returns the element name of the chemical element associated with atom. More...
 
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. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isChemicalElement (const Chem::Atom &atom)
 Tells whether atom represents a chemical element. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isMainGroupElement (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a main-group element. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isMetal (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a metal. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isTransitionMetal (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a transition metal. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isNonMetal (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a non-metal. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isSemiMetal (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a semi-metal. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isHalogen (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a halogen. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isNobleGas (const Chem::Atom &atom)
 Tells whether the chemical element associated with atom is a noble gas. More...
 
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. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isHeavy (const Chem::Atom &atom)
 Tells whether atom is a heavy (non-hydrogen) atom. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::isPlanarNitrogen (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Tells whether atom is a planar nitrogen in molgraph. More...
 
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. More...
 
CDPL_MOLPROP_API bool CDPL::MolProp::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 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"). More...
 
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. More...
 
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. More...
 
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. More...
 
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). More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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). More...
 
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). More...
 
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. More...
 
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. More...
 
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). More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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). More...
 
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). More...
 
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. More...
 
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). More...
 
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). More...
 
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). More...
 
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). More...
 
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. More...
 
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). More...
 
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). More...
 
CDPL_MOLPROP_API double CDPL::MolProp::calcLonePairElectronegativity (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Calculates the lone-pair electronegativity of atom in molgraph. More...
 
CDPL_MOLPROP_API double CDPL::MolProp::calcPiElectronegativity (const Chem::Atom &atom, const Chem::MolecularGraph &molgraph)
 Calculates the pi electronegativity of atom in molgraph. More...
 
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. More...
 

Detailed Description

Declaration of functions that operate on Chem::Atom instances.