![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Chem::MatchExpression implementation that constrains the substructure mapping by the query's component-level groupings. More...
#include <MolecularGraphComponentGroupingMatchExpression.hpp>
Inheritance diagram for CDPL::Chem::MolecularGraphComponentGroupingMatchExpression:Public Types | |
| typedef std::shared_ptr< MolecularGraphComponentGroupingMatchExpression > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated MolecularGraphComponentGroupingMatchExpression instances. More... | |
Public Types inherited from CDPL::Chem::MatchExpression< MolecularGraph > | |
| typedef std::shared_ptr< MatchExpression > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated MatchExpression instances. More... | |
Public Member Functions | |
| MolecularGraphComponentGroupingMatchExpression (const FragmentList::SharedPointer &comp_grouping) | |
Constructs the MolecularGraphComponentGroupingMatchExpression instance for the specified component-level grouping. More... | |
| MolecularGraphComponentGroupingMatchExpression (const MolecularGraphComponentGroupingMatchExpression &rhs) | |
Constructs a copy of the MolecularGraphComponentGroupingMatchExpression instance rhs. More... | |
| bool | operator() (const MolecularGraph &query_molgraph, const MolecularGraph &target_molgraph, 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... | |
| MolecularGraphComponentGroupingMatchExpression & | operator= (const MolecularGraphComponentGroupingMatchExpression &rhs) |
| Replaces the current component-level grouping constraints with the ones of the expression rhs. More... | |
Public Member Functions inherited from CDPL::Chem::MatchExpression< MolecularGraph > | |
| virtual | ~MatchExpression () |
| Virtual Destructor. More... | |
| virtual bool | operator() (const MolecularGraph &query_obj1, const void &query_obj2, const MolecularGraph &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 MolecularGraph &query_obj1, const void &query_obj2, const MolecularGraph &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 the substructure mapping 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<MolecularGraphComponentGroupingMatchExpression> CDPL::Chem::MolecularGraphComponentGroupingMatchExpression::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated MolecularGraphComponentGroupingMatchExpression instances.
| CDPL::Chem::MolecularGraphComponentGroupingMatchExpression::MolecularGraphComponentGroupingMatchExpression | ( | const FragmentList::SharedPointer & | comp_grouping | ) |
Constructs the MolecularGraphComponentGroupingMatchExpression instance for the specified component-level grouping.
| comp_grouping | Specifies the component-level grouping constraints that have to be fulfilled by matching target molecular graphs. |
| CDPL::Chem::MolecularGraphComponentGroupingMatchExpression::MolecularGraphComponentGroupingMatchExpression | ( | const MolecularGraphComponentGroupingMatchExpression & | rhs | ) |
Constructs a copy of the MolecularGraphComponentGroupingMatchExpression instance rhs.
| rhs | The expression to copy. |
| bool CDPL::Chem::MolecularGraphComponentGroupingMatchExpression::operator() | ( | const MolecularGraph & | query_molgraph, |
| const MolecularGraph & | target_molgraph, | ||
| 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 molecular graph atoms stored in a given Chem::Fragment instance must map to atoms that are part of the same component of the target molecular graph. 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_molgraph | The query molecular graph. |
| target_molgraph | The target molecular graph. |
| mapping | The current query to target atom/bond mapping candidate. |
| aux_data | Auxiliary information for expression evaluation (ignored). |
true if the provided query to target atom 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< MolecularGraph >.
| MolecularGraphComponentGroupingMatchExpression& CDPL::Chem::MolecularGraphComponentGroupingMatchExpression::operator= | ( | const MolecularGraphComponentGroupingMatchExpression & | rhs | ) |
Replaces the current component-level grouping constraints with the ones of the expression rhs.
| rhs | The expression to copy from. |