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 structure 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 value of the Chem::BondProperty::ORDER property of the bond 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 the atom atom.
CDPL_CHEM_API bool has2DStereoFlag(const Bond &bond)
Tells whether the Chem::BondProperty::STEREO_2D_FLAG property of the bond bond is set.
CDPL_CHEM_API void setRingFlag(Atom &atom, bool in_ring)
Sets the value of the Chem::AtomProperty::RING_FLAG property of the atom atom to in_ring.
CDPL_CHEM_API void clear2DStereoFlag(Bond &bond)
Clears the value of the Chem::BondProperty::STEREO_2D_FLAG property of the bond bond.
CDPL_CHEM_API bool getAromaticityFlag(const Atom &atom)
Returns the value of the Chem::AtomProperty::AROMATICITY_FLAG property of the atom atom.
CDPL_CHEM_API unsigned int getDirection(const Bond &bond)
Returns the value of the Chem::BondProperty::DIRECTION property of the bond bond.
CDPL_CHEM_API void clearRingFlag(Atom &atom)
Clears the value of the Chem::AtomProperty::RING_FLAG property of the atom atom.
CDPL_CHEM_API void clearMatchExpression(Atom &atom)
Clears the value of the Chem::AtomProperty::MATCH_EXPRESSION property of the atom 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 the atom atom into cont_frag_list.
CDPL_CHEM_API std::size_t getOrder(const Bond &bond)
Returns the value of the Chem::BondProperty::ORDER property of the bond bond.
CDPL_CHEM_API void clearOrder(Bond &bond)
Clears the value of the Chem::BondProperty::ORDER property of the bond bond.
CDPL_CHEM_API const MatchConstraintList::SharedPointer & getMatchConstraints(const Atom &atom)
Returns the value of the Chem::AtomProperty::MATCH_CONSTRAINTS property of the atom atom.
CDPL_CHEM_API bool getRingFlag(const Atom &atom)
Returns the value of the Chem::AtomProperty::RING_FLAG property of the atom atom.
CDPL_CHEM_API bool hasDirection(const Bond &bond)
Tells whether the Chem::BondProperty::DIRECTION property of the bond bond is set.
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 the Chem::AtomProperty::REACTION_CENTER_STATUS property of the atom atom is set.
CDPL_CHEM_API void setSybylType(Atom &atom, unsigned int type)
Sets the value of the Chem::AtomProperty::SYBYL_TYPE property of the atom atom to type.
CDPL_CHEM_API void clearStereoCenterFlag(Atom &atom)
Clears the value of the Chem::AtomProperty::STEREO_CENTER_FLAG property of the atom atom.
CDPL_CHEM_API void clearReactionCenterStatus(Atom &atom)
Clears the value of the Chem::AtomProperty::REACTION_CENTER_STATUS property of the atom atom.
CDPL_CHEM_API void clearCIPConfiguration(Atom &atom)
Clears the value of the Chem::AtomProperty::CIP_CONFIGURATION property of the atom 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 the atom atom.
CDPL_CHEM_API void 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.
CDPL_CHEM_API bool hasStereoCenterFlag(const Atom &atom)
Tells whether the Chem::AtomProperty::STEREO_CENTER_FLAG property of the atom atom is set.
CDPL_CHEM_API unsigned int 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...
CDPL_CHEM_API void clearStereoDescriptor(Atom &atom)
Clears the value of the Chem::AtomProperty::STEREO_DESCRIPTOR property of the atom atom.
CDPL_CHEM_API unsigned int getSybylType(const Atom &atom)
Returns the value of the Chem::AtomProperty::SYBYL_TYPE property of the atom atom.
CDPL_CHEM_API bool hasCIPConfiguration(const Atom &atom)
Tells whether the Chem::AtomProperty::CIP_CONFIGURATION property of the atom atom is set.
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 the atom 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 the atom atom.
CDPL_CHEM_API const MatchExpression< Atom, MolecularGraph >::SharedPointer & getMatchExpression(const Atom &atom)
Returns the value of the Chem::AtomProperty::MATCH_EXPRESSION property of the atom atom.
CDPL_CHEM_API void setAromaticityFlag(Atom &atom, bool aromatic)
Sets the value of the Chem::AtomProperty::AROMATICITY_FLAG property of the atom atom to aromatic.
CDPL_CHEM_API void setStereoCenterFlag(Atom &atom, bool is_center)
Sets the value of the Chem::AtomProperty::STEREO_CENTER_FLAG property of the atom atom to is_center.
CDPL_CHEM_API void setCIPConfiguration(Atom &atom, unsigned int config)
Sets the value of the Chem::AtomProperty::CIP_CONFIGURATION property of the atom atom to config.
CDPL_CHEM_API StereoDescriptor 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 molgrap...
CDPL_CHEM_API void setReactionCenterStatus(Atom &atom, unsigned int status)
Sets the value of the Chem::AtomProperty::REACTION_CENTER_STATUS property of the atom atom to status.
CDPL_CHEM_API const StereoDescriptor & getStereoDescriptor(const Atom &atom)
Returns the value of the Chem::AtomProperty::STEREO_DESCRIPTOR property of the atom 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 the atom atom into expr_str.
CDPL_CHEM_API void clearAromaticityFlag(Atom &atom)
Clears the value of the Chem::AtomProperty::AROMATICITY_FLAG property of the atom atom.
CDPL_CHEM_API void setDirection(Bond &bond, unsigned int dir)
Sets the value of the Chem::BondProperty::DIRECTION property of the bond bond to dir.
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 the atom atom qualifies as a stereo center in the context of the molecular graph molgra...
CDPL_CHEM_API void clearSybylType(Atom &atom)
Clears the value of the Chem::AtomProperty::SYBYL_TYPE property of the atom atom.
CDPL_CHEM_API void setMatchConstraints(Atom &atom, const MatchConstraintList::SharedPointer &constr)
Sets the value of the Chem::AtomProperty::MATCH_CONSTRAINTS property of the atom atom to constr.
CDPL_CHEM_API bool hasOrder(const Bond &bond)
Tells whether the Chem::BondProperty::ORDER property of the bond bond is set.
CDPL_CHEM_API void setStereoDescriptor(Atom &atom, const StereoDescriptor &descr)
Sets the value of the Chem::AtomProperty::STEREO_DESCRIPTOR property of the atom atom to descr.
CDPL_CHEM_API const std::string & getMatchExpressionString(const Atom &atom)
Returns the value of the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of the atom atom.
CDPL_CHEM_API bool hasMatchExpressionString(const Atom &atom)
Tells whether the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of the atom atom is set.
CDPL_CHEM_API bool hasRingFlag(const Atom &atom)
Tells whether the Chem::AtomProperty::RING_FLAG property of the atom atom is set.
CDPL_CHEM_API bool hasMatchExpression(const Atom &atom)
Tells whether the Chem::AtomProperty::MATCH_EXPRESSION property of the atom atom is set.
CDPL_CHEM_API bool hasStereoDescriptor(const Atom &atom)
Tells whether the Chem::AtomProperty::STEREO_DESCRIPTOR property of the atom atom is set.
CDPL_CHEM_API void clearDirection(Bond &bond)
Clears the value of the Chem::BondProperty::DIRECTION property of the bond bond.
CDPL_CHEM_API void clearMatchConstraints(Atom &atom)
Clears the value of the Chem::AtomProperty::MATCH_CONSTRAINTS property of the atom atom.
CDPL_CHEM_API bool hasMatchConstraints(const Atom &atom)
Tells whether the Chem::AtomProperty::MATCH_CONSTRAINTS property of the atom atom is set.
CDPL_CHEM_API bool getStereoCenterFlag(const Atom &atom)
Returns the value of the Chem::AtomProperty::STEREO_CENTER_FLAG property of the atom atom.
CDPL_CHEM_API void set2DStereoFlag(Bond &bond, unsigned int flag)
Sets the value of the Chem::BondProperty::STEREO_2D_FLAG property of the bond bond to flag.
CDPL_CHEM_API bool hasAromaticityFlag(const Atom &atom)
Tells whether the Chem::AtomProperty::AROMATICITY_FLAG property of the atom atom is set.
CDPL_CHEM_API unsigned int getReactionCenterStatus(const Atom &atom)
Returns the value of the Chem::AtomProperty::REACTION_CENTER_STATUS property of the atom atom.
CDPL_CHEM_API void 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_s...
CDPL_CHEM_API bool 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.
CDPL_CHEM_API void clearMatchExpressionString(Atom &atom)
Clears the value of the Chem::AtomProperty::MATCH_EXPRESSION_STRING property of the atom atom.
CDPL_CHEM_API bool hasSybylType(const Atom &atom)
Tells whether the Chem::AtomProperty::SYBYL_TYPE property of the atom atom is set.
CDPL_CHEM_API unsigned int get2DStereoFlag(const Bond &bond)
Returns the value of the Chem::BondProperty::STEREO_2D_FLAG property of the bond bond.
CDPL_CHEM_API unsigned int getCIPConfiguration(const Atom &atom)
Returns the value of the Chem::AtomProperty::CIP_CONFIGURATION property of the atom atom.
VectorArray< Vector3D > Vector3DArray
Array storing vectors of type Math::Vector3D.
Definition: VectorArray.hpp:87
The namespace of the Chemical Data Processing Library.