33 #ifndef RDKIT_ENUMERATE_H 34 #define RDKIT_ENUMERATE_H 66 reagentMaxMatchCount(INT_MAX), sanePartialProducts(false) {
70 reagentMaxMatchCount(rhs.reagentMaxMatchCount),
71 sanePartialProducts(rhs.sanePartialProducts) {
141 std::vector<MOL_SPTR_VECT> next();
143 void toStream(std::ostream &ss)
const;
144 void initFromStream(std::istream &ss);
147 #ifdef RDK_USE_BOOST_SERIALIZATION 148 friend class boost::serialization::access;
149 template <
class Archive>
150 void save(Archive &ar,
const unsigned int )
const {
151 ar &boost::serialization::base_object<EnumerateLibraryBase>(*this);
152 size_t sz = m_bbs.size();
156 for (
size_t i = 0; i < m_bbs.size(); ++i) {
157 sz = m_bbs[i].size();
159 for (
size_t j = 0; j < m_bbs[i].size(); ++j) {
165 template <
class Archive>
166 void load(Archive &ar,
const unsigned int ) {
167 ar &boost::serialization::base_object<EnumerateLibraryBase>(*this);
174 for (
size_t i = 0; i < m_bbs.size(); ++i) {
178 for (
size_t j = 0; j < m_bbs[i].size(); ++j) {
182 m_bbs[i][j].reset(mol);
187 BOOST_SERIALIZATION_SPLIT_MEMBER();
This is a class for providing enumeration options that control.
static void pickleMol(const ROMol *mol, std::ostream &ss)
pickles a molecule and sends the results to stream ss
RWMol is a molecule class that is intended to be edited.
This is a class for running reactions on sets of reagents.
RDKIT_CHEMREACTIONS_EXPORT EnumerationTypes::BBS removeNonmatchingReagents(const ChemicalReaction &rxn, EnumerationTypes::BBS bbs, const EnumerationParams ¶ms=EnumerationParams())
Helper function, remove reagents that are incompatible.
This is a class for storing and applying general chemical reactions.
RDKIT_CHEMREACTIONS_EXPORT void pickle(const boost::shared_ptr< EnumerationStrategyBase > &enumerator, std::ostream &ss)
pickles a EnumerationStrategy and adds the results to a stream ss
EnumerateLibrary(const std::string &s)
const EnumerationTypes::BBS & getReagents() const
Return the reagents used in the library.
std::vector< MOL_SPTR_VECT > BBS
EnumerationParams(const EnumerationParams &rhs)
Base class for enumerating chemical reactions from collections of.
static void molFromPickle(const std::string &pickle, ROMol *mol)
constructs a molecule from a pickle stored in a string
#define RDKIT_CHEMREACTIONS_EXPORT
RDKIT_RDGENERAL_EXPORT std::ostream & toStream(std::ostream &)
RDKIT_CHEMREACTIONS_EXPORT bool EnumerateLibraryCanSerialize()