diff --git a/Code/GraphMol/MolEnumerator/MolEnumerator.cpp b/Code/GraphMol/MolEnumerator/MolEnumerator.cpp index e741c9d0a..9274b42a3 100644 --- a/Code/GraphMol/MolEnumerator/MolEnumerator.cpp +++ b/Code/GraphMol/MolEnumerator/MolEnumerator.cpp @@ -60,6 +60,7 @@ MolBundle enumerate(const ROMol &mol, const MolEnumeratorParams ¶ms) { enumerateVariations(variations, variationCounts, params); for (const auto &variation : variations) { auto newMol = (*op)(variation); + newMol->updatePropertyCache(false); res.addMol(ROMOL_SPTR(newMol.release())); } return res; diff --git a/Code/GraphMol/MolEnumerator/enumerator_catch.cpp b/Code/GraphMol/MolEnumerator/enumerator_catch.cpp index 188783349..fd0ff2f42 100644 --- a/Code/GraphMol/MolEnumerator/enumerator_catch.cpp +++ b/Code/GraphMol/MolEnumerator/enumerator_catch.cpp @@ -134,6 +134,10 @@ M END new MolEnumerator::PositionVariationOp()); auto bundle = MolEnumerator::enumerate(*mol1, ps); CHECK(bundle.size() == 3); + + CHECK(bundle.getMols()[0]->getAtomWithIdx(0)->getDegree()==3); + CHECK(bundle.getMols()[0]->getAtomWithIdx(0)->getImplicitValence()==0); + std::vector tsmis = {"COc1ccncc1", "COc1ccccn1", "COc1cccnc1"}; std::vector smis; for (const auto molp : bundle.getMols()) {