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, ...}. | |
virtual EnumerationStrategyBase * | copy () const =0 |
copy the enumeration strategy complete with current state | |
const EnumerationTypes::RGROUPS & | getPosition () const |
The current position in the enumeration. | |
boost::uint64_t | getNumPermutations () const |
virtual boost::uint64_t | getPermutationIdx () const =0 |
Returns how many permutations have been processed by this strategy. | |
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 123 of file EnumerationStrategyBase.h.
|
inline |
Definition at line 134 of file EnumerationStrategyBase.h.
|
inlinevirtual |
Definition at line 136 of file EnumerationStrategyBase.h.
|
pure virtual |
copy the enumeration strategy complete with current state
Implemented in RDKit::CartesianProductStrategy, RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleStrategy, and RDKit::RandomSampleAllBBsStrategy.
|
inline |
a result of EnumerationOverflow indicates that the number of permutations is not computable with the current rdlonglong size.
Definition at line 185 of file EnumerationStrategyBase.h.
|
pure virtual |
Returns how many permutations have been processed by this strategy.
Implemented in RDKit::CartesianProductStrategy, RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleStrategy, and RDKit::RandomSampleAllBBsStrategy.
|
inline |
The current position in the enumeration.
Definition at line 180 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 145 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 202 of file EnumerationStrategyBase.h.
References RDKit::computeNumProducts().
|
pure virtual |
The current permutation {r1, r2, ...}.
Implemented in RDKit::CartesianProductStrategy, RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleStrategy, and RDKit::RandomSampleAllBBsStrategy.
returns true if there are more permutations left random enumerators may always return true...
Implemented in RDKit::CartesianProductStrategy, RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleStrategy, and RDKit::RandomSampleAllBBsStrategy.
|
inline |
Skip the specified number of permutations (useful for resetting state to a known position)
Definition at line 192 of file EnumerationStrategyBase.h.
Reimplemented in RDKit::CartesianProductStrategy, RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleStrategy, and RDKit::RandomSampleAllBBsStrategy.
Definition at line 138 of file EnumerationStrategyBase.h.
Definition at line 210 of file EnumerationStrategyBase.h.
|
static |
Definition at line 132 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 129 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 125 of file EnumerationStrategyBase.h.
|
protected |
Definition at line 127 of file EnumerationStrategyBase.h.