![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Chem::MatchExpression that constrains reaction substructure matches by a required reactant-to-product atom mapping. More...
#include <ReactionAtomMappingMatchExpression.hpp>
Inheritance diagram for CDPL::Chem::ReactionAtomMappingMatchExpression:Public Types | |
| typedef std::shared_ptr< ReactionAtomMappingMatchExpression > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated ReactionAtomMappingMatchExpression instances. More... | |
Public Types inherited from CDPL::Chem::MatchExpression< Reaction > | |
| typedef std::shared_ptr< MatchExpression > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated MatchExpression instances. More... | |
Public Member Functions | |
| ReactionAtomMappingMatchExpression (const AtomMapping::SharedPointer &atom_mapping) | |
Constructs a ReactionAtomMappingMatchExpression instance for the specified reactant to product atom mapping. More... | |
| bool | operator() (const Reaction &query_rxn, const Reaction &target_rxn, const AtomBondMapping &mapping, const Base::Any &matched_rxn_roles) const |
| Checks whether the reactant to product atom mapping of the target reaction matches the query atom mapping specified in the constructor. 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< Reaction > | |
| virtual | ~MatchExpression () |
| Virtual Destructor. More... | |
| virtual bool | operator() (const Reaction &query_obj1, const void &query_obj2, const Reaction &target_obj1, const void &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 Reaction &query_obj1, const void &query_obj2, const Reaction &target_obj1, const void &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... | |
Chem::MatchExpression that constrains reaction substructure matches by a required reactant-to-product atom mapping.
The expression is evaluated by a reaction substructure search (RSSS) and requires that every reactant/product atom pair of the query atom mapping is mirrored by a corresponding pair of mapped atoms in the same atom class of the target reaction. Useful for enforcing role-preserving mappings such as those derived from Daylight SMIRKS reaction patterns.
| typedef std::shared_ptr<ReactionAtomMappingMatchExpression> CDPL::Chem::ReactionAtomMappingMatchExpression::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated ReactionAtomMappingMatchExpression instances.
| CDPL::Chem::ReactionAtomMappingMatchExpression::ReactionAtomMappingMatchExpression | ( | const AtomMapping::SharedPointer & | atom_mapping | ) |
Constructs a ReactionAtomMappingMatchExpression instance for the specified reactant to product atom mapping.
| atom_mapping | Specifies the reactant to product atom mapping constraint that has to be fulfilled by matching target reactions. |
| bool CDPL::Chem::ReactionAtomMappingMatchExpression::operator() | ( | const Reaction & | query_rxn, |
| const Reaction & | target_rxn, | ||
| const AtomBondMapping & | mapping, | ||
| const Base::Any & | matched_rxn_roles | ||
| ) | const |
Checks whether the reactant to product atom mapping of the target reaction matches the query atom mapping specified in the constructor.
The query reactant to product atom mapping that was specified at construction time (see constructor) restricts the allowed correspondences between reactant and product atoms of the evaluated target reaction. The atom mapping of the target reaction is considered to match the query mapping only if each reactant/product atom pair of the query mapping matches a pair of target reactant/product atoms that belong to the same atom class (according to the target reaction's atom mapping retrieved from the property Chem::ReactionProperty::ATOM_MAPPING). If the mapping of a query reactant atom is not unique (i.e. maps to multiple product atoms of the same class), then the target reaction has to match only one of the specified mappings for that query atom.
| query_rxn | The query reaction . |
| target_rxn | The checked target reaction. |
| mapping | The current query to target atom/bond mapping candidate. |
| matched_rxn_roles | Holds a bitwise OR combination of the flags defined in namespace Chem::ReactionRole specifying the reaction roles that were considered in the performed reaction substructure search. |
true if the reactant to product atom mapping of the target reaction matches the query atom mapping, and false otherwise. true.
|
virtual |
Returns true to indicate that the expression requires a query to target atom/bond mapping candidate for its evaluation.
true. Reimplemented from CDPL::Chem::MatchExpression< Reaction >.