* Fixes#1810
There's still a problem with stereo atoms (see the commented out test),
but this takes care of the basics and that's up next.
* clean up that last problematic bit.
Still needs all tests to run
* this seems to be a necessary workaround for problems with VS2017.
It's a bit ugly, but shouldn't have any performance impact, so I'm not
going to get too worked up.
* This set of changes alters what we get for some of the InChI test cases.
Adjust for that.
* 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
* backup
* Add a couple of more tests and an exclusion for triple bonds.
* expose the MDL aromaticity model to python and test it.
* exocyclic bonds should not “steal” electrons in the MDL model
* backup (partial) update for aromaticity model documentation
* add examples to testGithub1622 for aromatic and nonaromatic compounds
* updates to aromaticity model and docs based on additional information from @bannanc
* some additional examples from @bannanc
* add rule to allow exocyclic multiple bonds to disqualify an atom.
* minor doc update
* address some review comments
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.
http://sourceforge.net/tracker/index.php?func=detail&aid=1942657&group_id=160139&atid=814650
This was handled by adding error/consistency checking to Atom.calcExplicitValence()
This includes another pretty big scale modification:
the allowed valence list for atoms (in atomic_data.cpp) can now contain a -1 at the end. If this is the case, the atom will tolerate valences above the ones listed.
This is done to allow "flexible" atoms (i.e. transition metals and the like) to accept arbitrary coordination numbers without generating errors.