* Removes ATOM/BOND_SPTR in boost::graph in favor of raw pointers
* Actually delete atoms and bonds...
* RWMol::clear now calls destroy to handle atom/bond deletion
* Changes broken Atom lookup for windows/gcc
* Adds tests for running with valgrind
* Adds test designed for valgrind and molecule deletions
* Removes RNG, actually tests bond deletions
* update swig wrappers
* deal with most recent changes on the main branch
* Fixes atom documentation
* Fixes#1461
This is a complicated one. Basically URANGE_CHECK when
used on unsigned integers has a problem when the size of
the range it’s checking is 0. The standard operations is
to check
URANGE(num, size-1)
Which (for unsigned integers) obviously rolls over.
This fixes all usage cases to be
URANGE(num+1, size)
And fixes the bugs found. (addBond and the mmff tests)
* Fixes#1461 - Updates URANGE_CHECK to be 0<=x<hi
* Adds RDProps updateProps API point
* AdjustQuery now copies over original atom data to the query ato
* Preserves existing data on the replacing atom
* Exposes preserveProps to Python replaceAtom/Bond
* Adds RDProps updateProps API point
* AdjustQuery now copies over original atom data to the query ato
* Preserves existing data on the replacing atom
* Exposes preserveProps to Python replaceAtom/Bond
* first pass at RWMol::replaceBond()
* get ready for the changes
* rename some options
add bond options (not doing anything with them yet)
update tests to reflect new options
* backup
* re-enable the rest of the tests
It's very possible, that I don't understand something (apologies) but shouldn't the second loop iterate over vertices adjacent to the second end of the bond being removed?
instead of using the property map interface.
A nice side-effect is that the wart of having to use property maps to loop over bonds or atom neighbors
is now gone.
This potentially breaks lots of client C++ code.
Conformer.cpp: make sure we don't ask for space for zero atoms.
Kekulize.cpp: don't complain about marked bonds if we aren't removing markers.
molopstest.cpp: bad smiles corrected in one test.exe
ROMol.cpp, RWMol.cpp: extra preconditions added (should have been there all along)
Wrap/MolOps.cpp: docs for replacesubstructs.