Loading...
Searching...
No Matches
RDKit::CartesianProductStrategy Class Reference

`#include <CartesianProduct.h>`

Inheritance diagram for RDKit::CartesianProductStrategy:

## Public Member Functions

| CartesianProductStrategy ()
void | initializeStrategy (const ChemicalReaction &, const EnumerationTypes::BBS &) override
const char * | type () const override
const EnumerationTypes::RGROUPS & | next () override
| The current permutation {r1, r2, ...}.
boost::uint64_t | getPermutationIdx () const override
| Returns how many permutations have been processed by this strategy.
| operator bool () const override
EnumerationStrategyBase * | copy () const override
| copy the enumeration strategy complete with current state
void | initialize (const ChemicalReaction &reaction, const EnumerationTypes::BBS &building_blocks)
Public Member Functions inherited from RDKit::EnumerationStrategyBase
| EnumerationStrategyBase ()
virtual | ~EnumerationStrategyBase ()
void | initialize (const ChemicalReaction &reaction, const EnumerationTypes::BBS &building_blocks)
const EnumerationTypes::RGROUPS & | getPosition () const
| The current position in the enumeration.
boost::uint64_t | getNumPermutations () const
bool | skip (boost::uint64_t skipCount)

## Additional Inherited Members

Static Public Attributes inherited from RDKit::EnumerationStrategyBase
static const boost::uint64_t | EnumerationOverflow
Protected Member Functions inherited from RDKit::EnumerationStrategyBase
void | internalInitialize (const EnumerationTypes::RGROUPS &rgroups)
Protected Attributes inherited from RDKit::EnumerationStrategyBase
EnumerationTypes::RGROUPS | m_permutation
EnumerationTypes::RGROUPS | m_permutationSizes
boost::uint64_t | m_numPermutations {}

## Detailed Description

This is a class for enumerating reagents using Cartesian Products of reagents.

CartesianProductStrategy produces a standard walk through all possible reagent combinations:

(0,0,0), (1,0,0), (2,0,0) ...

basic usage:

      std::vector<MOL_SPTR_VECT> bbs;
      bbs.push_back( bbs_for_reactants_1 );
      bbs.push_back( bbs_for_reactants_2 );

      RGRUOPS num_bbs;
      num_bbs.push_back(bbs[0].size());
      num_bbs.push_back(bbs[1].size());

      CartesianProductStrategy rgroups(num_bbs);
      for(size_t i=0; i<num_samples && rgroups; ++i) {
        MOL_SPTR_VECT rvect = getReactantsFromRGroups(bbs, rgroups.next());
        std::vector<MOL_SPTR_VECT> lprops = rxn.RunReactants(rvect);
        ...
      }

See EnumerationStrategyBase for more details and usage.

Definition at line 70 of file CartesianProduct.h.

## Constructor & Destructor Documentation

## CartesianProductStrategy()

RDKit::CartesianProductStrategy::CartesianProductStrategy | ( |  | ) |

inline

Definition at line 75 of file CartesianProduct.h.

References RDKit::EnumerationStrategyBase::EnumerationStrategyBase().

Referenced by copy().

## Member Function Documentation

## copy()

EnumerationStrategyBase * RDKit::CartesianProductStrategy::copy | ( |  | ) | const

inline override virtual

copy the enumeration strategy complete with current state

Implements RDKit::EnumerationStrategyBase.

Definition at line 103 of file CartesianProduct.h.

References CartesianProductStrategy(), and RDKit::EnumerationStrategyBase::EnumerationStrategyBase().

## getPermutationIdx()

boost::uint64_t RDKit::CartesianProductStrategy::getPermutationIdx | ( |  | ) | const

inline override virtual

Returns how many permutations have been processed by this strategy.

Implements RDKit::EnumerationStrategyBase.

Definition at line 97 of file CartesianProduct.h.

## initialize()

void RDKit::EnumerationStrategyBase::initialize | ( | const ChemicalReaction & | reaction,
|  | const EnumerationTypes::BBS & | building_blocks )

inline

Initialize the enumerator based on the reaction and the supplied building blocks This is the standard API point. This calls the derived class's initializeStrategy method which must be implemented

Definition at line 145 of file EnumerationStrategyBase.h.

## initializeStrategy()

void RDKit::CartesianProductStrategy::initializeStrategy | ( | const ChemicalReaction & | ,
|  | const EnumerationTypes::BBS & | )

inline override virtual

Implements RDKit::EnumerationStrategyBase.

Definition at line 79 of file CartesianProduct.h.

## next()

const EnumerationTypes::RGROUPS & RDKit::CartesianProductStrategy::next | ( |  | ) |

inline override virtual

The current permutation {r1, r2, ...}.

Implements RDKit::EnumerationStrategyBase.

Definition at line 87 of file CartesianProduct.h.

References RDKit::EnumerationStrategyBase::m_permutation.

## operator bool()

RDKit::CartesianProductStrategy::operator bool | ( |  | ) | const

inline override virtual

returns true if there are more permutations left random enumerators may always return true...

Implements RDKit::EnumerationStrategyBase.

Definition at line 101 of file CartesianProduct.h.

## type()

const char * RDKit::CartesianProductStrategy::type | ( |  | ) | const

inline override virtual

Reimplemented from RDKit::EnumerationStrategyBase.

Definition at line 84 of file CartesianProduct.h.

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

- CartesianProduct.h