![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Chem::MatchExpression implementation that constrains reaction substructure matches by the query's component-level groupings. More...
#include <ReactionComponentGroupingMatchExpression.hpp>
Inheritance diagram for CDPL::Chem::ReactionComponentGroupingMatchExpression:Public Types | |
| typedef std::shared_ptr< ReactionComponentGroupingMatchExpression > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated ReactionComponentGroupingMatchExpression 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 | |
| ReactionComponentGroupingMatchExpression (const FragmentList::SharedPointer &comp_grouping) | |
Constructs the ReactionComponentGroupingMatchExpression instance for the specified component-level grouping. More... | |
| ReactionComponentGroupingMatchExpression (const ReactionComponentGroupingMatchExpression &rhs) | |
Constructs a copy of the ReactionComponentGroupingMatchExpression instance rhs. More... | |
| bool | operator() (const Reaction &query_rxn, const Reaction &target_rxn, const AtomBondMapping &mapping, const Base::Any &aux_data) const |
| Checks whether the provided query to target atom/bond mapping candidate statisfies the component-level grouping constraints 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... | |
| ReactionComponentGroupingMatchExpression & | operator= (const ReactionComponentGroupingMatchExpression &rhs) |
| Replaces the current component-level grouping constraints with the ones of the expression rhs. 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 implementation that constrains reaction substructure matches by the query's component-level groupings.
Required component groupings are passed as a Chem::FragmentList instance: query atoms inside the same fragment must map to a single target component, and query atoms in different fragments must map to different target components. Component groupings are typically specified via parenthesization of dot-separated Daylight SMARTS pattern sequences [SMARTS].
| typedef std::shared_ptr<ReactionComponentGroupingMatchExpression> CDPL::Chem::ReactionComponentGroupingMatchExpression::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated ReactionComponentGroupingMatchExpression instances.
| CDPL::Chem::ReactionComponentGroupingMatchExpression::ReactionComponentGroupingMatchExpression | ( | const FragmentList::SharedPointer & | comp_grouping | ) |
Constructs the ReactionComponentGroupingMatchExpression instance for the specified component-level grouping.
| comp_grouping | Specifies the component-level grouping constraints that must be fulfilled by matching target reactions. |
| CDPL::Chem::ReactionComponentGroupingMatchExpression::ReactionComponentGroupingMatchExpression | ( | const ReactionComponentGroupingMatchExpression & | rhs | ) |
Constructs a copy of the ReactionComponentGroupingMatchExpression instance rhs.
| rhs | The expression to copy. |
| bool CDPL::Chem::ReactionComponentGroupingMatchExpression::operator() | ( | const Reaction & | query_rxn, |
| const Reaction & | target_rxn, | ||
| const AtomBondMapping & | mapping, | ||
| const Base::Any & | aux_data | ||
| ) | const |
Checks whether the provided query to target atom/bond mapping candidate statisfies the component-level grouping constraints specified in the constructor.
Component-level grouping constraints are specified as a list of Chem::Fragment instances (see constructor argument comp_grouping). The expression evaluates to true only if for each of the specified fragments the provided query to target atom/bond mapping candidate is able to satisfy the following conditions: All query reaction atoms stored in a given Chem::Fragment instance must map to atoms that are part of the same molecular graph component of the target reaction. Query atoms in different Chem::Fragment instances must also map to atoms in different target molecular graph components. If the provided mapping candidate fails to fulfill one of these requirements, the expression evaluates to false.
| query_rxn | The query reaction. |
| target_rxn | The target reaction. |
| mapping | The currrent query to target atom/bond mapping candidate. |
| aux_data | Auxiliary information for expression evaluation (ignored). |
true if the provided query to target mapping fulfills the component-level grouping constraints, and false otherwise. nullptr or empty fragment list), the expression will always evaluate to 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 >.
| ReactionComponentGroupingMatchExpression& CDPL::Chem::ReactionComponentGroupingMatchExpression::operator= | ( | const ReactionComponentGroupingMatchExpression & | rhs | ) |
Replaces the current component-level grouping constraints with the ones of the expression rhs.
| rhs | The expression to copy from. |