MolEnumerator::enumerate() should call updatePropertyCache() (#3420)

This commit is contained in:
Greg Landrum
2020-09-23 23:28:45 +02:00
committed by GitHub
parent d65d47189c
commit 9bcd28a4ff
2 changed files with 5 additions and 0 deletions

View File

@@ -60,6 +60,7 @@ MolBundle enumerate(const ROMol &mol, const MolEnumeratorParams &params) {
enumerateVariations(variations, variationCounts, params);
for (const auto &variation : variations) {
auto newMol = (*op)(variation);
newMol->updatePropertyCache(false);
res.addMol(ROMOL_SPTR(newMol.release()));
}
return res;

View File

@@ -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<std::string> tsmis = {"COc1ccncc1", "COc1ccccn1", "COc1cccnc1"};
std::vector<std::string> smis;
for (const auto molp : bundle.getMols()) {