![]() |
RDKit
Open-source cheminformatics and machine learning.
|
#include <EnumerationStrategyBase.h>
Public Member Functions | |
EnumerationStrategyBase () | |
virtual | ~EnumerationStrategyBase () |
virtual const char * | type () const |
void | initialize (const ChemicalReaction &reaction, const EnumerationTypes::BBS &building_blocks) |
virtual void | initializeStrategy (const ChemicalReaction &reaction, const EnumerationTypes::BBS &building_blocks)=0 |
virtual | operator bool () const =0 |
virtual const EnumerationTypes::RGROUPS & | next ()=0 |
The current permutation {r1, r2, ...}. More... | |
virtual EnumerationStrategyBase * | copy () const =0 |
copy the enumeration strategy complete with current state More... | |
const EnumerationTypes::RGROUPS & | getPosition () const |
The current position in the enumeration. More... | |
boost::uint64_t | getNumPermutations () const |
virtual boost::uint64_t | getPermutationIdx () const =0 |
Returns how many permutations have been processed by this strategy. More... | |
bool | skip (boost::uint64_t skipCount) |
Static Public Attributes | |
static const boost::uint64_t | EnumerationOverflow |
Protected Member Functions | |
void | internalInitialize (const EnumerationTypes::RGROUPS &rgroups) |
Protected Attributes | |
EnumerationTypes::RGROUPS | m_permutation |
EnumerationTypes::RGROUPS | m_permutationSizes |
boost::uint64_t | m_numPermutations |
Friends | |
class | boost::serialization::access |
Base Class for enumeration strageties Usage: EnumerationStrategyBase must be initialized with both a reaction and the building block (molecule) vector to be sampled.
//! EnumerationStrategyBase &eb = ... //! if(eb) { // can we get another entry //! const std::vector<int> &v = eb.next(); //! v[0] // RGroup 0 position //! v[1] // RGroup 1 position... //! } //!
Definition at line 117 of file EnumerationStrategyBase.h.
|
inline |
Definition at line 128 of file EnumerationStrategyBase.h.
|
inlinevirtual |
Definition at line 131 of file EnumerationStrategyBase.h.
|
pure virtual |
copy the enumeration strategy complete with current state
Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.
|
inline |
a result of EnumerationOverflow indicates that the number of permutations is not computable with the current rdlonglong size.
Definition at line 173 of file EnumerationStrategyBase.h.
|
pure virtual |
Returns how many permutations have been processed by this strategy.
Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.
|
inline |
The current position in the enumeration.
Definition at line 168 of file EnumerationStrategyBase.h.
|
inline |
Initialize the enumerator based on the reaction and the supplied building blocks This is the standard API point.
Definition at line 138 of file EnumerationStrategyBase.h.
References RDKit::computeNumProducts(), and RDKit::getSizesFromBBs().
Referenced by RDKit::CartesianProductStrategy::CartesianProductStrategy(), RDKit::RandomSampleAllBBsStrategy::RandomSampleAllBBsStrategy(), RDKit::RandomSampleStrategy::RandomSampleStrategy(), and RDKit::EvenSamplePairsStrategy::type().
|
pure virtual |
|
inlineprotected |
Initialize the internal data structures i.e. RGROUPS = {10,40,50};
Definition at line 188 of file EnumerationStrategyBase.h.
References RDKit::computeNumProducts().
|
pure virtual |
The current permutation {r1, r2, ...}.
Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.
|
pure virtual |
returns true if there are more permutations left random enumerators may always return true...
Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.
|
inline |
Skip the specified number of permutations (useful for resetting state to a known position)
Definition at line 180 of file EnumerationStrategyBase.h.
|
inlinevirtual |
Reimplemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.
Definition at line 133 of file EnumerationStrategyBase.h.
|
friend |
Definition at line 196 of file EnumerationStrategyBase.h.
|
static |
Definition at line 126 of file EnumerationStrategyBase.h.
Referenced by RDKit::CartesianProductStrategy::copy().
|
protected |
Definition at line 123 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 119 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 121 of file EnumerationStrategyBase.h.