29 #ifndef CDPL_CHEM_BONDFUNCTIONS_HPP
30 #define CDPL_CHEM_BONDFUNCTIONS_HPP
48 class StereoDescriptor;
319 bool check_term_n =
true,
bool check_order =
true, std::size_t min_ring_size = 8);
Definition of the preprocessor macro CDPL_CHEM_API.
#define CDPL_CHEM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of class CDPL::Chem::FragmentList.
Definition of class CDPL::Chem::MatchConstraintList.
Definition of class CDPL::Chem::MatchExpression.
Definition of class CDPL::Math::VectorArray.
Abstract base class representing a chemical bond between two Chem::Atom instances.
Definition: Bond.hpp:54
Data type for the storage of Chem::Fragment objects.
Definition: FragmentList.hpp:49
std::shared_ptr< MatchConstraintList > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MatchConstraintList instances.
Definition: MatchConstraintList.hpp:211
Generic boolean expression interface for the implementation of query/target object equivalence tests ...
Definition: MatchExpression.hpp:75
Abstract base class for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
Data structure for the storage and retrieval of stereochemical information about atoms and bonds.
Definition: StereoDescriptor.hpp:102
CDPL_CHEM_API void setOrder(Bond &bond, std::size_t order)
Sets the Chem::BondProperty::ORDER property of bond to order.
CDPL_CHEM_API std::size_t getSizeOfSmallestContainingFragment(const Atom &atom, const FragmentList &frag_list)
Returns the size (in atoms) of the smallest fragment in frag_list that contains atom.
CDPL_CHEM_API bool has2DStereoFlag(const Bond &bond)
Tells whether bond carries the Chem::BondProperty::STEREO_2D_FLAG property.
CDPL_CHEM_API void setRingFlag(Atom &atom, bool in_ring)
Sets the Chem::AtomProperty::RING_FLAG property of atom to in_ring.
CDPL_CHEM_API void clear2DStereoFlag(Bond &bond)
Removes the Chem::BondProperty::STEREO_2D_FLAG property from bond.
CDPL_CHEM_API bool getAromaticityFlag(const Atom &atom)
Returns the Chem::AtomProperty::AROMATICITY_FLAG property of atom.
CDPL_CHEM_API unsigned int getDirection(const Bond &bond)
Returns the Chem::BondProperty::DIRECTION property of bond (see namespace Chem::BondDirection).
CDPL_CHEM_API void clearRingFlag(Atom &atom)
Removes the Chem::AtomProperty::RING_FLAG property from atom.
CDPL_CHEM_API void clearMatchExpression(Atom &atom)
Removes the Chem::AtomProperty::MATCH_EXPRESSION property from atom.
CDPL_CHEM_API void getContainingFragments(const Atom &atom, const FragmentList &frag_list, FragmentList &cont_frag_list, bool append=false)
Collects the fragments in frag_list that contain atom into cont_frag_list.
CDPL_CHEM_API std::size_t getOrder(const Bond &bond)
Returns the Chem::BondProperty::ORDER property of bond.
CDPL_CHEM_API void clearOrder(Bond &bond)
Removes the Chem::BondProperty::ORDER property from bond.
CDPL_CHEM_API const MatchConstraintList::SharedPointer & getMatchConstraints(const Atom &atom)
Returns the Chem::AtomProperty::MATCH_CONSTRAINTS property of atom.
CDPL_CHEM_API bool getRingFlag(const Atom &atom)
Returns the Chem::AtomProperty::RING_FLAG property of atom.
CDPL_CHEM_API bool hasDirection(const Bond &bond)
Tells whether bond carries the Chem::BondProperty::DIRECTION property.
CDPL_CHEM_API unsigned int 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.
CDPL_CHEM_API bool hasReactionCenterStatus(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::REACTION_CENTER_STATUS property.
CDPL_CHEM_API void setSybylType(Atom &atom, unsigned int type)
Sets the Chem::AtomProperty::SYBYL_TYPE property of atom to type (see namespace Chem::SybylAtomType).
CDPL_CHEM_API void clearStereoCenterFlag(Atom &atom)
Removes the Chem::AtomProperty::STEREO_CENTER_FLAG property from atom.
CDPL_CHEM_API void clearReactionCenterStatus(Atom &atom)
Removes the Chem::AtomProperty::REACTION_CENTER_STATUS property from atom.
CDPL_CHEM_API void clearCIPConfiguration(Atom &atom)
Removes the Chem::AtomProperty::CIP_CONFIGURATION property from atom.
CDPL_CHEM_API std::size_t getNumContainingFragments(const Atom &atom, const FragmentList &frag_list)
Returns the number of fragments in frag_list that contain atom.
CDPL_CHEM_API void setMatchExpression(Atom &atom, const MatchExpression< Atom, MolecularGraph >::SharedPointer &expr)
Sets the Chem::AtomProperty::MATCH_EXPRESSION property of atom to expr.
CDPL_CHEM_API bool hasStereoCenterFlag(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::STEREO_CENTER_FLAG property.
CDPL_CHEM_API unsigned int perceiveSybylType(const Atom &atom, const MolecularGraph &molgraph)
Derives the Sybyl atom type of atom from its valence environment in molgraph.
CDPL_CHEM_API void clearStereoDescriptor(Atom &atom)
Removes the Chem::AtomProperty::STEREO_DESCRIPTOR property from atom.
CDPL_CHEM_API unsigned int getSybylType(const Atom &atom)
Returns the Chem::AtomProperty::SYBYL_TYPE property of atom (see namespace Chem::SybylAtomType).
CDPL_CHEM_API bool hasCIPConfiguration(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::CIP_CONFIGURATION property.
CDPL_CHEM_API std::size_t getSizeOfLargestContainingFragment(const Atom &atom, const FragmentList &frag_list)
Returns the size (in atoms) of the largest fragment in frag_list that contains atom.
CDPL_CHEM_API MatchExpression< Atom, MolecularGraph >::SharedPointer generateMatchExpression(const Atom &atom, const MolecularGraph &molgraph)
Builds an atom-level match expression from the match-constraint list attached to atom.
CDPL_CHEM_API const MatchExpression< Atom, MolecularGraph >::SharedPointer & getMatchExpression(const Atom &atom)
Returns the Chem::AtomProperty::MATCH_EXPRESSION property of atom.
CDPL_CHEM_API void setAromaticityFlag(Atom &atom, bool aromatic)
Sets the Chem::AtomProperty::AROMATICITY_FLAG property of atom to aromatic.
CDPL_CHEM_API void setStereoCenterFlag(Atom &atom, bool is_center)
Sets the Chem::AtomProperty::STEREO_CENTER_FLAG property of atom to is_center.
CDPL_CHEM_API void setCIPConfiguration(Atom &atom, unsigned int config)
Sets the Chem::AtomProperty::CIP_CONFIGURATION property of atom to config (see namespace Chem::CIPDes...
CDPL_CHEM_API StereoDescriptor calcStereoDescriptor(const Atom &atom, const MolecularGraph &molgraph, std::size_t dim=1)
Computes the stereo descriptor for atom based on the geometry of molgraph.
CDPL_CHEM_API void setReactionCenterStatus(Atom &atom, unsigned int status)
Sets the Chem::AtomProperty::REACTION_CENTER_STATUS property of atom to status.
CDPL_CHEM_API const StereoDescriptor & getStereoDescriptor(const Atom &atom)
Returns the Chem::AtomProperty::STEREO_DESCRIPTOR property of atom.
CDPL_CHEM_API void generateMatchExpressionString(const Atom &atom, const MolecularGraph &molgraph, std::string &expr_str)
Writes a textual representation of the atom-level match expression of atom into expr_str.
CDPL_CHEM_API void clearAromaticityFlag(Atom &atom)
Removes the Chem::AtomProperty::AROMATICITY_FLAG property from atom.
CDPL_CHEM_API void setDirection(Bond &bond, unsigned int dir)
Sets the Chem::BondProperty::DIRECTION property of bond to dir (see namespace Chem::BondDirection).
CDPL_CHEM_API bool 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 atom qualifies as a stereo center in the context of molgraph.
CDPL_CHEM_API void clearSybylType(Atom &atom)
Removes the Chem::AtomProperty::SYBYL_TYPE property from atom.
CDPL_CHEM_API void setMatchConstraints(Atom &atom, const MatchConstraintList::SharedPointer &constr)
Sets the Chem::AtomProperty::MATCH_CONSTRAINTS property of atom to constr.
CDPL_CHEM_API bool hasOrder(const Bond &bond)
Tells whether bond carries the Chem::BondProperty::ORDER property.
CDPL_CHEM_API void setStereoDescriptor(Atom &atom, const StereoDescriptor &descr)
Sets the Chem::AtomProperty::STEREO_DESCRIPTOR property of atom to descr.
CDPL_CHEM_API const std::string & getMatchExpressionString(const Atom &atom)
Returns the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of atom.
CDPL_CHEM_API bool hasMatchExpressionString(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::MATCH_EXPRESSION_STRING property.
CDPL_CHEM_API bool hasRingFlag(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::RING_FLAG property.
CDPL_CHEM_API bool hasMatchExpression(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::MATCH_EXPRESSION property.
CDPL_CHEM_API bool hasStereoDescriptor(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::STEREO_DESCRIPTOR property.
CDPL_CHEM_API void clearDirection(Bond &bond)
Removes the Chem::BondProperty::DIRECTION property from bond.
CDPL_CHEM_API void clearMatchConstraints(Atom &atom)
Removes the Chem::AtomProperty::MATCH_CONSTRAINTS property from atom.
CDPL_CHEM_API bool hasMatchConstraints(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::MATCH_CONSTRAINTS property.
CDPL_CHEM_API bool getStereoCenterFlag(const Atom &atom)
Returns the Chem::AtomProperty::STEREO_CENTER_FLAG property of atom.
CDPL_CHEM_API void set2DStereoFlag(Bond &bond, unsigned int flag)
Sets the Chem::BondProperty::STEREO_2D_FLAG property of bond to flag (see namespace Chem::BondStereoF...
CDPL_CHEM_API bool hasAromaticityFlag(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::AROMATICITY_FLAG property.
CDPL_CHEM_API unsigned int getReactionCenterStatus(const Atom &atom)
Returns the Chem::AtomProperty::REACTION_CENTER_STATUS property of atom (see namespace Chem::Reaction...
CDPL_CHEM_API void setMatchExpressionString(Atom &atom, const std::string &expr_str)
Sets the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of atom to expr_str.
CDPL_CHEM_API bool isInFragmentOfSize(const Atom &atom, const FragmentList &frag_list, std::size_t size)
Tells whether atom is a member of any fragment in frag_list whose size matches size.
CDPL_CHEM_API void clearMatchExpressionString(Atom &atom)
Removes the Chem::AtomProperty::MATCH_EXPRESSION_STRING property from atom.
CDPL_CHEM_API bool hasSybylType(const Atom &atom)
Tells whether atom carries the Chem::AtomProperty::SYBYL_TYPE property.
CDPL_CHEM_API unsigned int get2DStereoFlag(const Bond &bond)
Returns the Chem::BondProperty::STEREO_2D_FLAG property of bond (see namespace Chem::BondStereoFlag).
CDPL_CHEM_API unsigned int getCIPConfiguration(const Atom &atom)
Returns the Chem::AtomProperty::CIP_CONFIGURATION property of atom (see namespace Chem::CIPDescriptor...
VectorArray< Vector3D > Vector3DArray
Array storing vectors of type Math::Vector3D.
Definition: VectorArray.hpp:85
The namespace of the Chemical Data Processing Library.