Chemical Data Processing Library C++ API - Version 1.1.1
Public Types | Public Member Functions | List of all members
CDPL::Chem::BondSubstituentDirectionMatchExpression Class Reference

BondSubstituentDirectionMatchExpression. More...

#include <BondSubstituentDirectionMatchExpression.hpp>

+ Inheritance diagram for CDPL::Chem::BondSubstituentDirectionMatchExpression:

Public Types

typedef std::shared_ptr< BondSubstituentDirectionMatchExpressionSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated BondSubstituentDirectionMatchExpression instances. More...
 
- Public Types inherited from CDPL::Chem::MatchExpression< Bond, MolecularGraph >
typedef std::shared_ptr< MatchExpressionSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated MatchExpression instances. More...
 

Public Member Functions

bool operator() (const Bond &query_bond, const MolecularGraph &query_molgraph, const Bond &target_bond, const MolecularGraph &target_molgraph, const AtomBondMapping &mapping, const Base::Any &aux_data) const
 Checks whether the relative directions of the substituent bonds of target_bond match the bond direction constraints specified for the substituent bonds of query_bond. More...
 
bool requiresAtomBondMapping () const
 Returns true to indicate that the expression requires a query to target atom/bond mapping candidate for its evaluation. More...
 
- Public Member Functions inherited from CDPL::Chem::MatchExpression< Bond, MolecularGraph >
virtual ~MatchExpression ()
 Virtual Destructor. More...
 
virtual bool operator() (const Bond &query_obj1, const MolecularGraph &query_obj2, const Bond &target_obj1, const MolecularGraph &target_obj2, const Base::Any &aux_data) const
 Performs an evaluation of the expression for the given query and target objects. More...
 
virtual bool operator() (const Bond &query_obj1, const MolecularGraph &query_obj2, const Bond &target_obj1, const MolecularGraph &target_obj2, const AtomBondMapping &mapping, const Base::Any &aux_data) const
 Performs an evaluation of the expression for the given query and target objects under consideration of the provided candidate atom/bond mapping. More...
 
virtual bool requiresAtomBondMapping () const
 Tells whether the expression must be reevaluated after a query to target atom/bond mapping candidate has been found. More...
 

Detailed Description

BondSubstituentDirectionMatchExpression.

Daylight SMARTS [SMARTS] substructure search patterns specify cis/trans geometry constraints for a double bond by indicating the relative direction of the bonds to its substituent atoms.

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated BondSubstituentDirectionMatchExpression instances.

Member Function Documentation

◆ operator()()

bool CDPL::Chem::BondSubstituentDirectionMatchExpression::operator() ( const Bond query_bond,
const MolecularGraph query_molgraph,
const Bond target_bond,
const MolecularGraph target_molgraph,
const AtomBondMapping mapping,
const Base::Any aux_data 
) const

Checks whether the relative directions of the substituent bonds of target_bond match the bond direction constraints specified for the substituent bonds of query_bond.

The relative directions of the substituent bonds of target_bond are considered to match the direction constraints of the query_bond substituents if each match expression that is associated with a query substituent bond (taken from the property Chem::BondProperty::MATCH_EXPRESSION) evaluates to true for the respective mapped target substituent bond and its direction. The relative directions of the target substituent bonds are calculated on the fly from the target bond's cis/trans geometry and get passed to the match expressions via the aux_data argument of the function call operator (see Chem::BondDirectionMatchExpression::operator()()). If the exact cis/trans geometry of target_bond was not properly defined (i.e. the geometry is neither Chem::BondGeometry::CIS nor Chem::BondGeometry::TRANS), the direction of its substituent bonds is set to Chem::BondDirection::UNSPECIFIED.

Parameters
query_bondThe query bond.
query_molgraphThe molecular graph containing the query bond.
target_bondThe checked target bond.
target_molgraphThe molecular graph containing the target bond.
mappingThe current query to target atom/bond mapping candidate.
aux_dataAuxiliary information for expression evaluation (ignored).
Returns
true if all match expressions that are associated with the substituent bonds of query_bond evaluate to true for the calculated relative bond directions of the mapped target_bond substituents, and false otherwise.
Note
If query_bond is not a potential stereo bond or the supplied atom/bond mapping between the query and target bond environment is incomplete, the expression evaluates to true.
See also
Chem::BondDirectionMatchExpression, Chem::BondDirection

◆ requiresAtomBondMapping()

bool CDPL::Chem::BondSubstituentDirectionMatchExpression::requiresAtomBondMapping ( ) const

Returns true to indicate that the expression requires a query to target atom/bond mapping candidate for its evaluation.

Returns
true.

The documentation for this class was generated from the following file: