* Change atom to metal bonds from single to dative if appropriate.
* Pedantic change whilst I was in the area.
* Reinstate all tests, leave in debugging writes to see failing tests.
* Re-did it. Failing tests now pass.
* Move any positive charge from the non-metal to the metal.
Fix expected test results.
* Write dative bond to JSON.
* Bump currentRDKitJSONVersion to 11, but allow parser to still read 10.
* Only move 1 unit of charge at a time from non-metal to metal.
* Greg's hack to not do it for O+ and N+ etc.
Explicitly exclude H, He, F, Ne from dative bonds.
Fix tests.
* Update expected PostGres json version to 11.
* suggestions for PR
* Correct comment.
---------
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* add ROMol::atomBonds() and ROMol::atomNeighbors() methods
* remove some warnings
* start using the new code
* add default for those template params
* some more applications
* get the SWIG builds working
* get rid of extraneous ref
* remove extraneous comments
* remove include from headers
* update implementation files
* completely remove BOOST_FOREACH (#7)
* convert those changes to use auto
* get rid of all usage of BOOST_FOREACH
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Fix ROMol->RWMol static casts
* Fix accessing of end-iterator.
* Fix some test build issues I saw while compiling with Clang.
* Add build settings for sanitizers.
* Revert "Add build settings for sanitizers."
This reverts commit 5dc84374f0.
* run clang-tidy with readability-braces-around-statements
clang-format the results
clean up all the parts that clang-tidy-8 broke
* fix problem on windows
* add AtomValenceException
* refactor a bit and add KekulizeException
* add copy ctor and copy() method
* add detectChemistryProblems
* add getType() method
want to be able to get the type of the exception without requiring doing a bunch of dynamic casts
* first pass at exception inheritance/translation
needs some cleanup and expansion, but this does pass all tests.
* cleanup and finish the python wrappers for the new exceptions
* make sure things are truly polymorphic
* wrap shared_ptrs of the new exception types
* expose DetectChemistryProblems()
* get the java wrappers building again
* transfer those changes to the c# wrapper
* add detectChemistryProblems()
and deal with the fun fun exception inheritance things that ensue
* response to review
* first round of cleanups based on PVS-studio suggestions
* a couple more
* a few more cleanups
* another round of cleanups
* undo one of those cleanups
we want the integer rounding behavior here
* add a comment to make that clear
* Fix for filter catalog PRECONDITION redundancy
* 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.