![]() |
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 120 of file EnumerationStrategyBase.h.
|
inline |
Definition at line 131 of file EnumerationStrategyBase.h.
|
inlinevirtual |
Definition at line 134 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 180 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 175 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 142 of file EnumerationStrategyBase.h.
References RDKit::computeNumProducts(), and RDKit::getSizesFromBBs().
|
pure virtual |
|
inlineprotected |
Initialize the internal data structures i.e. RGROUPS = {10,40,50};
Definition at line 195 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 187 of file EnumerationStrategyBase.h.
|
inlinevirtual |
Reimplemented in RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, and RDKit::CartesianProductStrategy.
Definition at line 136 of file EnumerationStrategyBase.h.
|
friend |
Definition at line 203 of file EnumerationStrategyBase.h.
|
static |
Definition at line 129 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 126 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 122 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 124 of file EnumerationStrategyBase.h.