Chemical Data Processing Library C++ API - Version 1.4.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)
 Returns the value of the Chem::AtomProperty::NAME property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setName (Atom &atom, const std::string &name)
 Sets the value of the Chem::AtomProperty::NAME property of the atom atom to name. More...
 
CDPL_CHEM_API void CDPL::Chem::clearName (Atom &atom)
 Clears the value of the Chem::AtomProperty::NAME property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasName (const Atom &atom)
 Tells whether the Chem::AtomProperty::NAME property of the atom atom is set. More...
 
CDPL_CHEM_API const std::string & CDPL::Chem::getSymbol (const Atom &atom)
 Returns the value of the Chem::AtomProperty::SYMBOL property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setSymbol (Atom &atom, const std::string &symbol)
 Sets the value of the Chem::AtomProperty::SYMBOL property of the atom atom to symbol. More...
 
CDPL_CHEM_API void CDPL::Chem::clearSymbol (Atom &atom)
 Clears the value of the Chem::AtomProperty::SYMBOL property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasSymbol (const Atom &atom)
 Tells whether the Chem::AtomProperty::SYMBOL property of the atom atom is set. More...
 
CDPL_CHEM_API const std::string & CDPL::Chem::getSymbolForType (const Atom &atom)
 Returns the element symbol that corresponds to the Chem::AtomProperty::TYPE property of the atom atom. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getType (const Atom &atom)
 Returns the value of the Chem::AtomProperty::TYPE property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setType (Atom &atom, unsigned int type)
 Sets the value of the Chem::AtomProperty::TYPE property of the atom atom to type. More...
 
CDPL_CHEM_API void CDPL::Chem::clearType (Atom &atom)
 Clears the value of the Chem::AtomProperty::TYPE property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasType (const Atom &atom)
 Tells whether the Chem::AtomProperty::TYPE property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getTypeForSymbol (const Atom &atom)
 Returns the atom type that corresponds to the Chem::AtomProperty::SYMBOL property of the atom atom. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getGenericType (const Atom &atom)
 Returns the generic atom type that the atom's Chem::AtomProperty::TYPE property value belongs to. More...
 
CDPL_CHEM_API long CDPL::Chem::getFormalCharge (const Atom &atom)
 Returns the value of the Chem::AtomProperty::FORMAL_CHARGE property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setFormalCharge (Atom &atom, long charge)
 Sets the value of the Chem::AtomProperty::FORMAL_CHARGE property of the atom atom to charge. More...
 
CDPL_CHEM_API void CDPL::Chem::clearFormalCharge (Atom &atom)
 Clears the value of the Chem::AtomProperty::FORMAL_CHARGE property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasFormalCharge (const Atom &atom)
 Tells whether the Chem::AtomProperty::FORMAL_CHARGE property of the atom atom is set. More...
 
CDPL_CHEM_API long CDPL::Chem::calcFormalCharge (const Atom &atom, const MolecularGraph &molgraph)
 Computes the formal charge of the atom atom from its valence environment in the molecular graph molgraph. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getIsotope (const Atom &atom)
 Returns the value of the Chem::AtomProperty::ISOTOPE property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setIsotope (Atom &atom, std::size_t isotope)
 Sets the value of the Chem::AtomProperty::ISOTOPE property of the atom atom to isotope. More...
 
CDPL_CHEM_API void CDPL::Chem::clearIsotope (Atom &atom)
 Clears the value of the Chem::AtomProperty::ISOTOPE property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasIsotope (const Atom &atom)
 Tells whether the Chem::AtomProperty::ISOTOPE property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getRadicalType (const Atom &atom)
 Returns the value of the Chem::AtomProperty::RADICAL_TYPE property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setRadicalType (Atom &atom, unsigned int type)
 Sets the value of the Chem::AtomProperty::RADICAL_TYPE property of the atom atom to type. More...
 
CDPL_CHEM_API void CDPL::Chem::clearRadicalType (Atom &atom)
 Clears the value of the Chem::AtomProperty::RADICAL_TYPE property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasRadicalType (const Atom &atom)
 Tells whether the Chem::AtomProperty::RADICAL_TYPE property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getHybridizationState (const Atom &atom)
 Returns the value of the Chem::AtomProperty::HYBRIDIZATION property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setHybridizationState (Atom &atom, unsigned int state)
 Sets the value of the Chem::AtomProperty::HYBRIDIZATION property of the atom atom to state. More...
 
CDPL_CHEM_API void CDPL::Chem::clearHybridizationState (Atom &atom)
 Clears the value of the Chem::AtomProperty::HYBRIDIZATION property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasHybridizationState (const Atom &atom)
 Tells whether the Chem::AtomProperty::HYBRIDIZATION property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::perceiveHybridizationState (const Atom &atom, const MolecularGraph &molgraph)
 Derives the hybridization state of the atom atom from its valence environment in the molecular graph molgraph. More...
 
CDPL_CHEM_API bool CDPL::Chem::getRingFlag (const Atom &atom)
 Returns the value of the Chem::AtomProperty::RING_FLAG property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setRingFlag (Atom &atom, bool in_ring)
 Sets the value of the Chem::AtomProperty::RING_FLAG property of the atom atom to in_ring. More...
 
CDPL_CHEM_API void CDPL::Chem::clearRingFlag (Atom &atom)
 Clears the value of the Chem::AtomProperty::RING_FLAG property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasRingFlag (const Atom &atom)
 Tells whether the Chem::AtomProperty::RING_FLAG property of the atom atom is set. More...
 
CDPL_CHEM_API bool CDPL::Chem::isInFragmentOfSize (const Atom &atom, const FragmentList &frag_list, std::size_t size)
 Tells whether the atom atom is a member of any fragment in frag_list whose size matches size. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getSizeOfSmallestContainingFragment (const Atom &atom, const FragmentList &frag_list)
 Returns the size (in atoms) of the smallest fragment in frag_list that contains the atom atom. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getSizeOfLargestContainingFragment (const Atom &atom, const FragmentList &frag_list)
 Returns the size (in atoms) of the largest fragment in frag_list that contains the atom atom. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getNumContainingFragments (const Atom &atom, const FragmentList &frag_list)
 Returns the number of fragments in frag_list that contain the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::getContainingFragments (const Atom &atom, const FragmentList &frag_list, FragmentList &cont_frag_list, bool append=false)
 Collects the fragments in frag_list that contain the atom atom into cont_frag_list. More...
 
CDPL_CHEM_API bool CDPL::Chem::getAromaticityFlag (const Atom &atom)
 Returns the value of the Chem::AtomProperty::AROMATICITY_FLAG property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setAromaticityFlag (Atom &atom, bool aromatic)
 Sets the value of the Chem::AtomProperty::AROMATICITY_FLAG property of the atom atom to aromatic. More...
 
CDPL_CHEM_API void CDPL::Chem::clearAromaticityFlag (Atom &atom)
 Clears the value of the Chem::AtomProperty::AROMATICITY_FLAG property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasAromaticityFlag (const Atom &atom)
 Tells whether the Chem::AtomProperty::AROMATICITY_FLAG property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getUnpairedElectronCount (const Atom &atom)
 Returns the value of the Chem::AtomProperty::UNPAIRED_ELECTRON_COUNT property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setUnpairedElectronCount (Atom &atom, std::size_t count)
 Sets the value of the Chem::AtomProperty::UNPAIRED_ELECTRON_COUNT property of the atom atom to count. More...
 
CDPL_CHEM_API void CDPL::Chem::clearUnpairedElectronCount (Atom &atom)
 Clears the value of the Chem::AtomProperty::UNPAIRED_ELECTRON_COUNT property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasUnpairedElectronCount (const Atom &atom)
 Tells whether the Chem::AtomProperty::UNPAIRED_ELECTRON_COUNT property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getImplicitHydrogenCount (const Atom &atom)
 Returns the value of the Chem::AtomProperty::IMPLICIT_HYDROGEN_COUNT property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setImplicitHydrogenCount (Atom &atom, std::size_t count)
 Sets the value of the Chem::AtomProperty::IMPLICIT_HYDROGEN_COUNT property of the atom atom to count. More...
 
CDPL_CHEM_API void CDPL::Chem::clearImplicitHydrogenCount (Atom &atom)
 Clears the value of the Chem::AtomProperty::IMPLICIT_HYDROGEN_COUNT property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasImplicitHydrogenCount (const Atom &atom)
 Tells whether the Chem::AtomProperty::IMPLICIT_HYDROGEN_COUNT property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::calcImplicitHydrogenCount (const Atom &atom, const MolecularGraph &molgraph)
 Computes the implicit hydrogen count of the atom atom from its valence environment in the molecular graph molgraph. More...
 
CDPL_CHEM_API const Math::Vector2D & CDPL::Chem::get2DCoordinates (const Atom &atom)
 Returns the value of the Chem::AtomProperty::COORDINATES_2D property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::set2DCoordinates (Atom &atom, const Math::Vector2D &coords)
 Sets the value of the Chem::AtomProperty::COORDINATES_2D property of the atom atom to coords. More...
 
CDPL_CHEM_API void CDPL::Chem::clear2DCoordinates (Atom &atom)
 Clears the value of the Chem::AtomProperty::COORDINATES_2D property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::has2DCoordinates (const Atom &atom)
 Tells whether the Chem::AtomProperty::COORDINATES_2D property of the atom atom is set. More...
 
CDPL_CHEM_API const Math::Vector3D & CDPL::Chem::getConformer3DCoordinates (const Atom &atom, std::size_t conf_idx)
 Returns the 3D coordinates of the atom atom for conformer conf_idx (from the Chem::AtomProperty::COORDINATES_3D_ARRAY property). More...
 
CDPL_CHEM_API const Math::Vector3DArray::SharedPointer & CDPL::Chem::get3DCoordinatesArray (const Atom &atom)
 Returns the value of the Chem::AtomProperty::COORDINATES_3D_ARRAY property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::set3DCoordinatesArray (Atom &atom, const Math::Vector3DArray::SharedPointer &coords_array)
 Sets the value of the Chem::AtomProperty::COORDINATES_3D_ARRAY property of the atom atom to coords_array. More...
 
CDPL_CHEM_API void CDPL::Chem::clear3DCoordinatesArray (Atom &atom)
 Clears the value of the Chem::AtomProperty::COORDINATES_3D_ARRAY property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::has3DCoordinatesArray (const Atom &atom)
 Tells whether the Chem::AtomProperty::COORDINATES_3D_ARRAY property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getMorganNumber (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MORGAN_NUMBER property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMorganNumber (Atom &atom, std::size_t num)
 Sets the value of the Chem::AtomProperty::MORGAN_NUMBER property of the atom atom to num. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMorganNumber (Atom &atom)
 Clears the value of the Chem::AtomProperty::MORGAN_NUMBER property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMorganNumber (const Atom &atom)
 Tells whether the Chem::AtomProperty::MORGAN_NUMBER property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getCanonicalNumber (const Atom &atom)
 Returns the value of the Chem::AtomProperty::CANONICAL_NUMBER property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setCanonicalNumber (Atom &atom, std::size_t num)
 Sets the value of the Chem::AtomProperty::CANONICAL_NUMBER property of the atom atom to num. More...
 
CDPL_CHEM_API void CDPL::Chem::clearCanonicalNumber (Atom &atom)
 Clears the value of the Chem::AtomProperty::CANONICAL_NUMBER property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasCanonicalNumber (const Atom &atom)
 Tells whether the Chem::AtomProperty::CANONICAL_NUMBER property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getCIPPriority (const Atom &atom)
 Returns the value of the Chem::AtomProperty::CIP_PRIORITY property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setCIPPriority (Atom &atom, std::size_t priority)
 Sets the value of the Chem::AtomProperty::CIP_PRIORITY property of the atom atom to priority. More...
 
CDPL_CHEM_API void CDPL::Chem::clearCIPPriority (Atom &atom)
 Clears the value of the Chem::AtomProperty::CIP_PRIORITY property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasCIPPriority (const Atom &atom)
 Tells whether the Chem::AtomProperty::CIP_PRIORITY property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getSymmetryClass (const Atom &atom)
 Returns the value of the Chem::AtomProperty::SYMMETRY_CLASS property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setSymmetryClass (Atom &atom, std::size_t class_id)
 Sets the value of the Chem::AtomProperty::SYMMETRY_CLASS property of the atom atom to class_id. More...
 
CDPL_CHEM_API void CDPL::Chem::clearSymmetryClass (Atom &atom)
 Clears the value of the Chem::AtomProperty::SYMMETRY_CLASS property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasSymmetryClass (const Atom &atom)
 Tells whether the Chem::AtomProperty::SYMMETRY_CLASS property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getCIPConfiguration (const Atom &atom)
 Returns the value of the Chem::AtomProperty::CIP_CONFIGURATION property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setCIPConfiguration (Atom &atom, unsigned int config)
 Sets the value of the Chem::AtomProperty::CIP_CONFIGURATION property of the atom atom to config. More...
 
CDPL_CHEM_API void CDPL::Chem::clearCIPConfiguration (Atom &atom)
 Clears the value of the Chem::AtomProperty::CIP_CONFIGURATION property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasCIPConfiguration (const Atom &atom)
 Tells whether the Chem::AtomProperty::CIP_CONFIGURATION property of the atom atom is set. More...
 
CDPL_CHEM_API const StereoDescriptor & CDPL::Chem::getStereoDescriptor (const Atom &atom)
 Returns the value of the Chem::AtomProperty::STEREO_DESCRIPTOR property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setStereoDescriptor (Atom &atom, const StereoDescriptor &descr)
 Sets the value of the Chem::AtomProperty::STEREO_DESCRIPTOR property of the atom atom to descr. More...
 
CDPL_CHEM_API void CDPL::Chem::clearStereoDescriptor (Atom &atom)
 Clears the value of the Chem::AtomProperty::STEREO_DESCRIPTOR property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasStereoDescriptor (const Atom &atom)
 Tells whether the Chem::AtomProperty::STEREO_DESCRIPTOR property of the atom atom is set. More...
 
CDPL_CHEM_API StereoDescriptor CDPL::Chem::calcStereoDescriptor (const Atom &atom, const MolecularGraph &molgraph, std::size_t dim=1)
 Computes the stereo descriptor for the atom atom based on the geometry of the molecular graph molgraph. More...
 
CDPL_CHEM_API StereoDescriptor CDPL::Chem::calcStereoDescriptorFromMDLParity (const Atom &atom, const MolecularGraph &molgraph)
 Derives the stereo descriptor of the atom atom from its MDL parity in the molecular graph molgraph. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::calcConfiguration (const Atom &atom, const MolecularGraph &molgraph, const StereoDescriptor &descr, const Math::Vector3DArray &coords)
 Derives the atom configuration label from the supplied descriptor and 3D coordinates. More...
 
CDPL_CHEM_API bool CDPL::Chem::getStereoCenterFlag (const Atom &atom)
 Returns the value of the Chem::AtomProperty::STEREO_CENTER_FLAG property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setStereoCenterFlag (Atom &atom, bool is_center)
 Sets the value of the Chem::AtomProperty::STEREO_CENTER_FLAG property of the atom atom to is_center. More...
 
CDPL_CHEM_API void CDPL::Chem::clearStereoCenterFlag (Atom &atom)
 Clears the value of the Chem::AtomProperty::STEREO_CENTER_FLAG property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasStereoCenterFlag (const Atom &atom)
 Tells whether the Chem::AtomProperty::STEREO_CENTER_FLAG property of the atom atom is set. More...
 
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)
 Tells whether the atom atom qualifies as a stereo center in the context of the molecular graph molgraph. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getSybylType (const Atom &atom)
 Returns the value of the Chem::AtomProperty::SYBYL_TYPE property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setSybylType (Atom &atom, unsigned int type)
 Sets the value of the Chem::AtomProperty::SYBYL_TYPE property of the atom atom to type. More...
 
CDPL_CHEM_API void CDPL::Chem::clearSybylType (Atom &atom)
 Clears the value of the Chem::AtomProperty::SYBYL_TYPE property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasSybylType (const Atom &atom)
 Tells whether the Chem::AtomProperty::SYBYL_TYPE property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::perceiveSybylType (const Atom &atom, const MolecularGraph &molgraph)
 Derives the Sybyl MOL2 atom type of the atom atom from its valence environment in the molecular graph molgraph. More...
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMOL2Name (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MOL2_NAME property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMOL2Name (Atom &atom, const std::string &name)
 Sets the value of the Chem::AtomProperty::MOL2_NAME property of the atom atom to name. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2Name (Atom &atom)
 Clears the value of the Chem::AtomProperty::MOL2_NAME property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2Name (const Atom &atom)
 Tells whether the Chem::AtomProperty::MOL2_NAME property of the atom atom is set. More...
 
CDPL_CHEM_API double CDPL::Chem::getMOL2Charge (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MOL2_CHARGE property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMOL2Charge (Atom &atom, double charge)
 Sets the value of the Chem::AtomProperty::MOL2_CHARGE property of the atom atom to charge. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2Charge (Atom &atom)
 Clears the value of the Chem::AtomProperty::MOL2_CHARGE property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2Charge (const Atom &atom)
 Tells whether the Chem::AtomProperty::MOL2_CHARGE property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getMOL2SubstructureID (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_ID property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMOL2SubstructureID (Atom &atom, std::size_t id)
 Sets the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_ID property of the atom atom to id. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2SubstructureID (Atom &atom)
 Clears the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_ID property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2SubstructureID (const Atom &atom)
 Tells whether the Chem::AtomProperty::MOL2_SUBSTRUCTURE_ID property of the atom atom is set. More...
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMOL2SubstructureName (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_NAME property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMOL2SubstructureName (Atom &atom, const std::string &id)
 Sets the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_NAME property of the atom atom to id. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2SubstructureName (Atom &atom)
 Clears the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_NAME property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2SubstructureName (const Atom &atom)
 Tells whether the Chem::AtomProperty::MOL2_SUBSTRUCTURE_NAME property of the atom atom is set. More...
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMOL2SubstructureSubtype (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_SUBTYPE property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMOL2SubstructureSubtype (Atom &atom, const std::string &subtype)
 Sets the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_SUBTYPE property of the atom atom to subtype. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2SubstructureSubtype (Atom &atom)
 Clears the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_SUBTYPE property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2SubstructureSubtype (const Atom &atom)
 Tells whether the Chem::AtomProperty::MOL2_SUBSTRUCTURE_SUBTYPE property of the atom atom is set. More...
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMOL2SubstructureChain (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_CHAIN property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMOL2SubstructureChain (Atom &atom, const std::string &chain)
 Sets the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_CHAIN property of the atom atom to chain. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMOL2SubstructureChain (Atom &atom)
 Clears the value of the Chem::AtomProperty::MOL2_SUBSTRUCTURE_CHAIN property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMOL2SubstructureChain (const Atom &atom)
 Tells whether the Chem::AtomProperty::MOL2_SUBSTRUCTURE_CHAIN property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getMDLParity (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MDL_PARITY property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMDLParity (Atom &atom, unsigned int parity)
 Sets the value of the Chem::AtomProperty::MDL_PARITY property of the atom atom to parity. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMDLParity (Atom &atom)
 Clears the value of the Chem::AtomProperty::MDL_PARITY property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMDLParity (const Atom &atom)
 Tells whether the Chem::AtomProperty::MDL_PARITY property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::calcMDLParity (const Atom &atom, const MolecularGraph &molgraph)
 Computes the MDL parity of the atom atom from its 2D layout and stereo flags in the molecular graph molgraph. More...
 
CDPL_CHEM_API bool CDPL::Chem::getMDLStereoCareFlag (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MDL_DB_STEREO_CARE_FLAG property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMDLStereoCareFlag (Atom &atom, bool flag)
 Sets the value of the Chem::AtomProperty::MDL_DB_STEREO_CARE_FLAG property of the atom atom to flag. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMDLStereoCareFlag (Atom &atom)
 Clears the value of the Chem::AtomProperty::MDL_DB_STEREO_CARE_FLAG property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMDLStereoCareFlag (const Atom &atom)
 Tells whether the Chem::AtomProperty::MDL_DB_STEREO_CARE_FLAG property of the atom atom is set. More...
 
CDPL_CHEM_API unsigned int CDPL::Chem::getReactionCenterStatus (const Atom &atom)
 Returns the value of the Chem::AtomProperty::REACTION_CENTER_STATUS property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setReactionCenterStatus (Atom &atom, unsigned int status)
 Sets the value of the Chem::AtomProperty::REACTION_CENTER_STATUS property of the atom atom to status. More...
 
CDPL_CHEM_API void CDPL::Chem::clearReactionCenterStatus (Atom &atom)
 Clears the value of the Chem::AtomProperty::REACTION_CENTER_STATUS property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasReactionCenterStatus (const Atom &atom)
 Tells whether the Chem::AtomProperty::REACTION_CENTER_STATUS property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getAtomMappingID (const Atom &atom)
 Returns the value of the Chem::AtomProperty::ATOM_MAPPING_ID property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setAtomMappingID (Atom &atom, std::size_t id)
 Sets the value of the Chem::AtomProperty::ATOM_MAPPING_ID property of the atom atom to id. More...
 
CDPL_CHEM_API void CDPL::Chem::clearAtomMappingID (Atom &atom)
 Clears the value of the Chem::AtomProperty::ATOM_MAPPING_ID property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasAtomMappingID (const Atom &atom)
 Tells whether the Chem::AtomProperty::ATOM_MAPPING_ID property of the atom atom is set. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getComponentGroupID (const Atom &atom)
 Returns the value of the Chem::AtomProperty::COMPONENT_GROUP_ID property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setComponentGroupID (Atom &atom, std::size_t id)
 Sets the value of the Chem::AtomProperty::COMPONENT_GROUP_ID property of the atom atom to id. More...
 
CDPL_CHEM_API void CDPL::Chem::clearComponentGroupID (Atom &atom)
 Clears the value of the Chem::AtomProperty::COMPONENT_GROUP_ID property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasComponentGroupID (const Atom &atom)
 Tells whether the Chem::AtomProperty::COMPONENT_GROUP_ID property of the atom atom is set. More...
 
CDPL_CHEM_API const MatchConstraintList::SharedPointer & CDPL::Chem::getMatchConstraints (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MATCH_CONSTRAINTS property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMatchConstraints (Atom &atom, const MatchConstraintList::SharedPointer &constr)
 Sets the value of the Chem::AtomProperty::MATCH_CONSTRAINTS property of the atom atom to constr. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMatchConstraints (Atom &atom)
 Clears the value of the Chem::AtomProperty::MATCH_CONSTRAINTS property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMatchConstraints (const Atom &atom)
 Tells whether the Chem::AtomProperty::MATCH_CONSTRAINTS property of the atom atom is set. More...
 
CDPL_CHEM_API const MatchExpression< Atom, MolecularGraph >::SharedPointer & CDPL::Chem::getMatchExpression (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MATCH_EXPRESSION property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMatchExpression (Atom &atom, const MatchExpression< Atom, MolecularGraph >::SharedPointer &expr)
 Sets the value of the Chem::AtomProperty::MATCH_EXPRESSION property of the atom atom to expr. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMatchExpression (Atom &atom)
 Clears the value of the Chem::AtomProperty::MATCH_EXPRESSION property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMatchExpression (const Atom &atom)
 Tells whether the Chem::AtomProperty::MATCH_EXPRESSION property of the atom atom is set. More...
 
CDPL_CHEM_API MatchExpression< Atom, MolecularGraph >::SharedPointer CDPL::Chem::generateMatchExpression (const Atom &atom, const MolecularGraph &molgraph)
 Builds an atom-level match expression from the match constraint list attached to the atom atom. More...
 
CDPL_CHEM_API const std::string & CDPL::Chem::getMatchExpressionString (const Atom &atom)
 Returns the value of the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of the atom atom. More...
 
CDPL_CHEM_API void CDPL::Chem::setMatchExpressionString (Atom &atom, const std::string &expr_str)
 Sets the value of the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of the atom atom to expr_str. More...
 
CDPL_CHEM_API void CDPL::Chem::clearMatchExpressionString (Atom &atom)
 Clears the value of the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of the atom atom. More...
 
CDPL_CHEM_API bool CDPL::Chem::hasMatchExpressionString (const Atom &atom)
 Tells whether the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of the atom atom is set. More...
 
CDPL_CHEM_API void CDPL::Chem::generateMatchExpressionString (const Atom &atom, const MolecularGraph &molgraph, std::string &expr_str)
 Writes a textual representation of the atom-level match expression of the atom atom into expr_str. More...
 
CDPL_CHEM_API void CDPL::Chem::markReachableAtoms (const Atom &atom, const MolecularGraph &molgraph, Util::BitSet &atom_mask, bool reset=true)
 Sets bits in atom_mask for every atom of the molecular graph molgraph that is reachable from the atom atom through the bonds of molgraph. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getTopologicalDistance (const Atom &atom1, const Atom &atom2, const MolecularGraph &molgraph)
 Returns the topological distance between two atoms of the molecular graph molgraph. More...
 
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)
 Collects every atom of the molecular graph molgraph that is within max_dist bonds of the atom atom into the fragment env. More...
 
template<typename AtomType , typename OutputIterator >
std::size_t CDPL::Chem::getConnectedAtoms (AtomType &atom, const MolecularGraph &molgraph, OutputIterator it, AtomType *excl_atom=0)
 Writes every neighbor of the atom atom (with bonds belonging to the molecular graph molgraph) into it, skipping excl_atom. More...
 
template<typename AtomType , typename OutputIterator >
std::size_t CDPL::Chem::getIncidentBonds (AtomType &atom, const MolecularGraph &molgraph, OutputIterator it, AtomType *excl_atom=0)
 Writes every bond incident to the atom atom (with both endpoints belonging to the molecular graph molgraph) into it, skipping bonds to excl_atom. More...
 
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)
 Writes every neighbor of the atom atom and the corresponding incident bond (both filtered by the molecular graph molgraph) into the supplied output iterators. More...
 

Detailed Description

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