* enable Werror on Mac and Linux
* do not fail on boost multiprecision pessimizing move
* fix eigen array_bounds warning
* Fix unused arg in Rascal MCS
* fix range-loop-construct warning in Rascal MCES
* fix sign mismatched comparison
* drop unused lambda capture
* allow FMCS timeout test more time under Debug (not a warning!)
* fix fwd declaration of struct RascalClusterOptions
* fix deallocator mismatch
* fix two minor leaks
* fix a real leak
* more minor leaks
* fix another real leak, plus some potential ones
* fix std::move preventing copy ellision
* allow longer run time for debug builds
* make maxBondMatchPairs and getLargestFragSize unsigned int
* make snake case camel case
* update to current master, fix new warnings
* update again and more fixes
* add #include <optional>
* fix char array deallocation
* update and fixes in Marvin writer
* unsigned int
* more copy ellision fixes
* more copy ellision fixes, and typos
* and some more
* Fix canonically correct single to dative bond conversion for organometallics.
* Cleanups from review.
* Process atoms in canonical order.
Extra test.
* Only do the expensive bit if there's something to fix.
---------
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* Fix end points.
* Set common_properties::_MolFileBondAttach as well.
* Response to review.
---------
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* un/signed comparisons in molops
* reference in loop in EmbeddedFrag.cpp
* un/signed comparison in filtercatalogtest.cpp
* un/signed comparison in Descriptors/catch_tests.cpp
* un/signed comparisons in DetermineBonds.cpp
* drop unused 'params' arg from static functions in MolInterchange/Writer.cpp
* un/signed comparisons in MolDraw2D/catch_tests.cpp
* unused var in SubgraphUtils.cpp
* 'move' preventing copy ellision in CDXMLParser.cpp
* fix infinite recursive call in SubstructLibraryWrap.cpp
* First stab at disconnecting organometallics the Syngenta way.
* Add support for Li and Na compounds, with tests.
* Correct docstrings.
* Add -1 valence to sodium.
* Add changes from PR 5997.
* Move declaration of disconnectOrganometallics.
* Re-factor tests for disconnectOrganometallics to read V3000 files rather than hard-code in file.
* Add optional options to constructor.
* Python wrapping for disconnectOrganometallics.
* Python tests.
* Correct docString.
* Test using in place overload of disconnect free function.
* options_ should not be a reference.
* Re-work the wrappers.
* Added test MOL files.
* Correct charge on iron atoms.
* Fix tests for charged iron.
* Added some more test complexes.
* Port Marco's oxidation number Python to C++ Descriptor.
* Rename functions.
* Another test.
* Python wrappers.
* Comment in test.
* Throws exception if atom-based function called with non-kekulized parent.
* Fix typo.
* Allow potassium as well.
* Whole molecule calculations for oxidation number only.
Rename prop to OxidationNumber.
* Add OxidationNumber to common_properties.
* Extra comment.
* When deleting atom, update any ENDPTS props on bonds.
Copied in from stale PR ExtraDoc.
* Added hapticBondsToDative with python wrapper.
* Extra test.
* Re-factor endpts parsing.
* Typo.
* Add function for haptic end points inc. Python wrapper.
* Add dative bonds in separate step.
* C++ version of dativeBondstoHaptic.
* Update test mols.
* Python wrapper.
* Fix indents in Python test script.
* Corrected expected test result.
* Only do non-metal to metal conversion of single bond to dative if the explicit valence of the non-metal allows it.
* Fix test broken in a non-material way by previous change.
* Export for DLL.
* Remove redundant function declaration.
* Dave hates Windows.
* Move hapticBondEndpoints to Molops::details.
* And take it out of the Python wrappers.
* Run yapf on reformatted test script.
* Get the DLL builds going.
* addDativeBond -> addHapticBond.
* Batch edits.
* Position arithmetic.
* setQuery.
* Dummy positions for all confs.
* Fix tests for dummy positions for all confs.
* Move tests to catch_organometallics.cpp.
* Modern docString.
* Change member variable names.
* sProp length, bonus batchEdit.
* Add options object to disconnectOrganometallics.
* Tidied license.
Atom precondition.
* GetIntProp.
* Test opts aren't defaults.
* Python wrapper for disconnectOrganometallics with options.
* Minor edit.
* Slightly random attempt to fix Java build.
* Response to review.
* Another stab at the doc strings.
---------
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Fixes#4642
We should consider whether or not it's right to remove stereo from atoms which were in stereo groups but are not any longer.
* split stereogroups across fragments
* cleanup
* Changes in response to review
* 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