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

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

#include <cstddef>
#include <string>
#include <type_traits>
#include "CDPL/Chem/APIPrefix.hpp"
#include "CDPL/Chem/MatchExpression.hpp"
#include "CDPL/Chem/MatchConstraintList.hpp"
#include "CDPL/Chem/FragmentList.hpp"
#include "CDPL/Chem/AtomPropertyFlag.hpp"
#include "CDPL/Chem/AtomPriorityFunction.hpp"
#include "CDPL/Math/Vector.hpp"
#include "CDPL/Math/VectorArray.hpp"
#include "CDPL/Util/BitSet.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.
 

Functions

CDPL_CHEM_API const std::string & CDPL::Chem::getName (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setName (Atom &atom, const std::string &name)
 
CDPL_CHEM_API void CDPL::Chem::clearName (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasName (const Atom &atom)
 
CDPL_CHEM_API const std::string & CDPL::Chem::getSymbol (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setSymbol (Atom &atom, const std::string &symbol)
 
CDPL_CHEM_API void CDPL::Chem::clearSymbol (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasSymbol (const Atom &atom)
 
CDPL_CHEM_API const std::string & CDPL::Chem::getSymbolForType (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getType (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setType (Atom &atom, unsigned int type)
 
CDPL_CHEM_API void CDPL::Chem::clearType (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasType (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getTypeForSymbol (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getGenericType (const Atom &atom)
 
CDPL_CHEM_API long CDPL::Chem::getFormalCharge (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setFormalCharge (Atom &atom, long charge)
 
CDPL_CHEM_API void CDPL::Chem::clearFormalCharge (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasFormalCharge (const Atom &atom)
 
CDPL_CHEM_API long CDPL::Chem::calcFormalCharge (const Atom &atom, const MolecularGraph &molgraph)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getIsotope (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setIsotope (Atom &atom, std::size_t isotope)
 
CDPL_CHEM_API void CDPL::Chem::clearIsotope (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasIsotope (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getRadicalType (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setRadicalType (Atom &atom, unsigned int type)
 
CDPL_CHEM_API void CDPL::Chem::clearRadicalType (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasRadicalType (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getHybridizationState (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setHybridizationState (Atom &atom, unsigned int state)
 
CDPL_CHEM_API void CDPL::Chem::clearHybridizationState (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasHybridizationState (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::perceiveHybridizationState (const Atom &atom, const MolecularGraph &molgraph)
 
CDPL_CHEM_API bool CDPL::Chem::getRingFlag (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setRingFlag (Atom &atom, bool in_ring)
 
CDPL_CHEM_API void CDPL::Chem::clearRingFlag (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasRingFlag (const Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::isInFragmentOfSize (const Atom &atom, const FragmentList &frag_list, std::size_t size)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getSizeOfSmallestContainingFragment (const Atom &atom, const FragmentList &frag_list)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getSizeOfLargestContainingFragment (const Atom &atom, const FragmentList &frag_list)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getNumContainingFragments (const Atom &atom, const FragmentList &frag_list)
 
CDPL_CHEM_API void CDPL::Chem::getContainingFragments (const Atom &atom, const FragmentList &frag_list, FragmentList &cont_frag_list, bool append=false)
 
CDPL_CHEM_API bool CDPL::Chem::getAromaticityFlag (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setAromaticityFlag (Atom &atom, bool aromatic)
 
CDPL_CHEM_API void CDPL::Chem::clearAromaticityFlag (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasAromaticityFlag (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getUnpairedElectronCount (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setUnpairedElectronCount (Atom &atom, std::size_t count)
 
CDPL_CHEM_API void CDPL::Chem::clearUnpairedElectronCount (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasUnpairedElectronCount (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getImplicitHydrogenCount (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setImplicitHydrogenCount (Atom &atom, std::size_t count)
 
CDPL_CHEM_API void CDPL::Chem::clearImplicitHydrogenCount (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasImplicitHydrogenCount (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::calcImplicitHydrogenCount (const Atom &atom, const MolecularGraph &molgraph)
 
CDPL_CHEM_API const Math::Vector2D & CDPL::Chem::get2DCoordinates (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::set2DCoordinates (Atom &atom, const Math::Vector2D &coords)
 
CDPL_CHEM_API void CDPL::Chem::clear2DCoordinates (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::has2DCoordinates (const Atom &atom)
 
CDPL_CHEM_API const Math::Vector3D & CDPL::Chem::getConformer3DCoordinates (const Atom &atom, std::size_t conf_idx)
 
CDPL_CHEM_API const Math::Vector3DArray::SharedPointer & CDPL::Chem::get3DCoordinatesArray (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::set3DCoordinatesArray (Atom &atom, const Math::Vector3DArray::SharedPointer &coords_array)
 
CDPL_CHEM_API void CDPL::Chem::clear3DCoordinatesArray (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::has3DCoordinatesArray (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getMorganNumber (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMorganNumber (Atom &atom, std::size_t num)
 
CDPL_CHEM_API void CDPL::Chem::clearMorganNumber (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMorganNumber (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getCanonicalNumber (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setCanonicalNumber (Atom &atom, std::size_t num)
 
CDPL_CHEM_API void CDPL::Chem::clearCanonicalNumber (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasCanonicalNumber (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getCIPPriority (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setCIPPriority (Atom &atom, std::size_t priority)
 
CDPL_CHEM_API void CDPL::Chem::clearCIPPriority (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasCIPPriority (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getSymmetryClass (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setSymmetryClass (Atom &atom, std::size_t class_id)
 
CDPL_CHEM_API void CDPL::Chem::clearSymmetryClass (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasSymmetryClass (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getCIPConfiguration (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setCIPConfiguration (Atom &atom, unsigned int config)
 
CDPL_CHEM_API void CDPL::Chem::clearCIPConfiguration (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasCIPConfiguration (const Atom &atom)
 
CDPL_CHEM_API const StereoDescriptor & CDPL::Chem::getStereoDescriptor (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setStereoDescriptor (Atom &atom, const StereoDescriptor &descr)
 
CDPL_CHEM_API void CDPL::Chem::clearStereoDescriptor (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasStereoDescriptor (const Atom &atom)
 
CDPL_CHEM_API StereoDescriptor CDPL::Chem::calcStereoDescriptor (const Atom &atom, const MolecularGraph &molgraph, std::size_t dim=1)
 
CDPL_CHEM_API StereoDescriptor CDPL::Chem::calcStereoDescriptorFromMDLParity (const Atom &atom, const MolecularGraph &molgraph)
 
CDPL_CHEM_API unsigned int CDPL::Chem::calcConfiguration (const Atom &atom, const MolecularGraph &molgraph, const StereoDescriptor &descr, const Math::Vector3DArray &coords)
 
CDPL_CHEM_API bool CDPL::Chem::getStereoCenterFlag (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setStereoCenterFlag (Atom &atom, bool is_center)
 
CDPL_CHEM_API void CDPL::Chem::clearStereoCenterFlag (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasStereoCenterFlag (const Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::isStereoCenter (const Atom &atom, const MolecularGraph &molgraph, bool check_asym=true, bool check_inv_n=true, bool check_quart_n=true, bool check_plan_n=true, bool check_amide_n=true, bool check_res_ctrs=true)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getSybylType (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setSybylType (Atom &atom, unsigned int type)
 
CDPL_CHEM_API void CDPL::Chem::clearSybylType (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasSybylType (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::perceiveSybylType (const Atom &atom, const MolecularGraph &molgraph)
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMOL2Name (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMOL2Name (Atom &atom, const std::string &name)
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2Name (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2Name (const Atom &atom)
 
CDPL_CHEM_API double CDPL::Chem::getMOL2Charge (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMOL2Charge (Atom &atom, double charge)
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2Charge (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2Charge (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getMOL2SubstructureID (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMOL2SubstructureID (Atom &atom, std::size_t id)
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2SubstructureID (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2SubstructureID (const Atom &atom)
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMOL2SubstructureName (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMOL2SubstructureName (Atom &atom, const std::string &id)
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2SubstructureName (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2SubstructureName (const Atom &atom)
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMOL2SubstructureSubtype (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMOL2SubstructureSubtype (Atom &atom, const std::string &subtype)
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2SubstructureSubtype (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2SubstructureSubtype (const Atom &atom)
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMOL2SubstructureChain (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMOL2SubstructureChain (Atom &atom, const std::string &chain)
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2SubstructureChain (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2SubstructureChain (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getMDLParity (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMDLParity (Atom &atom, unsigned int parity)
 
CDPL_CHEM_API void CDPL::Chem::clearMDLParity (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMDLParity (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::calcMDLParity (const Atom &atom, const MolecularGraph &molgraph)
 
CDPL_CHEM_API bool CDPL::Chem::getMDLStereoCareFlag (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMDLStereoCareFlag (Atom &atom, bool flag)
 
CDPL_CHEM_API void CDPL::Chem::clearMDLStereoCareFlag (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMDLStereoCareFlag (const Atom &atom)
 
CDPL_CHEM_API unsigned int CDPL::Chem::getReactionCenterStatus (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setReactionCenterStatus (Atom &atom, unsigned int status)
 
CDPL_CHEM_API void CDPL::Chem::clearReactionCenterStatus (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasReactionCenterStatus (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getAtomMappingID (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setAtomMappingID (Atom &atom, std::size_t id)
 
CDPL_CHEM_API void CDPL::Chem::clearAtomMappingID (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasAtomMappingID (const Atom &atom)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getComponentGroupID (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setComponentGroupID (Atom &atom, std::size_t id)
 
CDPL_CHEM_API void CDPL::Chem::clearComponentGroupID (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasComponentGroupID (const Atom &atom)
 
CDPL_CHEM_API const MatchConstraintList::SharedPointer & CDPL::Chem::getMatchConstraints (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMatchConstraints (Atom &atom, const MatchConstraintList::SharedPointer &constr)
 
CDPL_CHEM_API void CDPL::Chem::clearMatchConstraints (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMatchConstraints (const Atom &atom)
 
CDPL_CHEM_API const MatchExpression< Atom, MolecularGraph >::SharedPointer & CDPL::Chem::getMatchExpression (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMatchExpression (Atom &atom, const MatchExpression< Atom, MolecularGraph >::SharedPointer &expr)
 
CDPL_CHEM_API void CDPL::Chem::clearMatchExpression (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMatchExpression (const Atom &atom)
 
CDPL_CHEM_API MatchExpression< Atom, MolecularGraph >::SharedPointer CDPL::Chem::generateMatchExpression (const Atom &atom, const MolecularGraph &molgraph)
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMatchExpressionString (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::setMatchExpressionString (Atom &atom, const std::string &expr_str)
 
CDPL_CHEM_API void CDPL::Chem::clearMatchExpressionString (Atom &atom)
 
CDPL_CHEM_API bool CDPL::Chem::hasMatchExpressionString (const Atom &atom)
 
CDPL_CHEM_API void CDPL::Chem::generateMatchExpressionString (const Atom &atom, const MolecularGraph &molgraph, std::string &expr_str)
 
CDPL_CHEM_API void CDPL::Chem::markReachableAtoms (const Atom &atom, const MolecularGraph &molgraph, Util::BitSet &atom_mask, bool reset=true)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getTopologicalDistance (const Atom &atom1, const Atom &atom2, const MolecularGraph &molgraph)
 
CDPL_CHEM_API std::size_t CDPL::Chem::getEnvironment (const Atom &atom, const MolecularGraph &molgraph, std::size_t max_dist, Fragment &env, bool append=false)
 
template<typename AtomType , typename OutputIterator >
std::size_t CDPL::Chem::getConnectedAtoms (AtomType &atom, const MolecularGraph &molgraph, OutputIterator it, AtomType *excl_atom=0)
 
template<typename AtomType , typename OutputIterator >
std::size_t CDPL::Chem::getIncidentBonds (AtomType &atom, const MolecularGraph &molgraph, OutputIterator it, AtomType *excl_atom=0)
 
template<typename AtomType , typename AtomOutputIterator , typename BondOutputIterator >
std::size_t CDPL::Chem::getConnectedAtomsAndBonds (AtomType &atom, const MolecularGraph &molgraph, AtomOutputIterator ao_it, BondOutputIterator bo_it, AtomType *excl_atom=0)
 

Detailed Description

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