![]() |
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 strategies 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 121 of file EnumerationStrategyBase.h.
|
inline |
Definition at line 132 of file EnumerationStrategyBase.h.
|
inlinevirtual |
Definition at line 135 of file EnumerationStrategyBase.h.
|
pure virtual |
copy the enumeration strategy complete with current state
Implemented in RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, 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 181 of file EnumerationStrategyBase.h.
|
pure virtual |
Returns how many permutations have been processed by this strategy.
Implemented in RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, and RDKit::CartesianProductStrategy.
|
inline |
The current position in the enumeration.
Definition at line 176 of file EnumerationStrategyBase.h.
|
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 143 of file EnumerationStrategyBase.h.
|
pure virtual |
|
inlineprotected |
Initialize the internal data structures i.e. RGROUPS = {10,40,50};
Definition at line 196 of file EnumerationStrategyBase.h.
References RDKit::computeNumProducts().
|
pure virtual |
The current permutation {r1, r2, ...}.
Implemented in RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, and RDKit::CartesianProductStrategy.
|
pure virtual |
returns true if there are more permutations left random enumerators may always return true...
Implemented in RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, and RDKit::CartesianProductStrategy.
|
inline |
Skip the specified number of permutations (useful for resetting state to a known position)
Definition at line 188 of file EnumerationStrategyBase.h.
|
inlinevirtual |
Reimplemented in RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, and RDKit::CartesianProductStrategy.
Definition at line 137 of file EnumerationStrategyBase.h.
|
friend |
Definition at line 204 of file EnumerationStrategyBase.h.
|
static |
Definition at line 130 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 127 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 123 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 125 of file EnumerationStrategyBase.h.