* Fix a hang in ResonanceMolSupplier when the computed ceMap is empty
* Fix up tests to also handle #4884
* Remove hard coded string and use the test string
Co-authored-by: Brian Kelley <bkelley@relaytx.com>
* revert duplicate chunk in release notes
* replace deprecated ifdefs
This one gets rid of USE_BUILTIN_POPCNT and RDK_THREADSAFE_SS
use RDK_OPTIMIZE_POPCNT or RDK_BUILD_THREADSAFE_SSS instead
* get rid of BUILD_COORDGEN_SUPPORT from ROMol.i
* fix a stupid typo
* update release notes
* 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 accidentally tracked files and unset x flag
* Ignore ComicNeue
* Unify test tag to `reader`
* Trivial destructors
* Bump CMAKE_CXX_STANDARD to 14 (#4165)
* fix leak in testConformerParser
* fix leaks in testMultithreadedMolSupplier
* fix leak in catch_graphmol
* pass build type to YAEHMOP
* cleanup fragments in CoordGen minimizeOnly
* fix leaking ConjElectrons stack in res mol supplier
* avoid double delete
* do not delete 'this'; clean ce not added to map
* delete mol if Multithreaded SD readMolProps throws
* fix typo
* fix typo in comment
* - major refactoring (fixes#2597)
- adds support for C++ and Python callbacks to monitor progress
- cumulated bonds should not appear in rings
- UNCONSTRAINED_CATIONS now implies ALLOW_CHARGE_SEPARATION and ALLOW_INCOMPLETE_OCTETS
as it should already have
- UNCONSTRAINED_ANIONS now implies ALLOW_CHARGE_SEPARATION
as it should already have
* removed spurious debugging messag
* changes in response to review
* run clang-tidy with modernize-use-default-member-init
* results from modernize-use-emplace
* one uniform initialization per line
otherwise SWIG is unhappy
Co-authored-by: Brian Kelley <fustigator@gmail.com>
* 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
* a round of cleanups courtesy of PVS studio
* add a test to make sure that a warning is a false alarm
* bug fix
* Fix a UFF bug
* more PVS studio cleanups
* next round of PVS studio cleanups
* completely remove the chances for that bug
* changes in response to review
* add an additional test
+ a bit of reformatting that snuck in
* 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
* Fix for issue #1730
setAromaticity() now works even if there are aromatic atoms present and the relevat test case is added
* Removed setaromaticity flag
* boost::thread mostly gone... still need to get rid of once
everything compiles
* replace boost::call_once
* remove link-time dependency on boost::thread
* first pass at using async
* switch to using async everywhere
* 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
* - fixed issue with weighted formal charges being stored as unsigned rather than as signed int
- the sum of formal charge and multiple bond indices is now used as last resort sort criterion to achieve stable sorting of degenerate resonance structures
* - added C++ and Python tests for GItHub #1166
- added threading support to the ResonanceMolSupplier-enabled
SubstructMatch() and relevant tests
- modified/removed some code in O3AAlignMolecules.cpp which doesn't
seem necessary anymore
- modified Code/GraphMol/CMakeLists.txt to allow building
on Windows
(they both were temporary data structures and there was
no real reason for them to be there, especially in view
of a possible code parallelization)
- converted most uint64_t to unsigned int since they weren't
really necessary
- fixed a couple of compilation warnings
- moved classes that do not need being exposed in Resonance.h to Resonance.cpp
- added the ALLOW_CHARGE_SEPARATION flag: now by default charge
separation structures are not displayed if there's at least one
structure with no charge separation
- TODO
* add SWIG wrappers
* add a few test tp resMolSupplierTest.cpp
as conjugated like their oxygen analogs
- fixed an issue with large numbers of resonance structures exceeding
the unsigned int allowance
- implemented the uniquify feature properly
- uniquify now defaults to false when using the ResonanceMolSupplier-
enabled SubstructMatch() version
- the concept of 'laziness' is now clearer
- TODO:
* remove some debugging info
* move classes from .h to .cpp
* SWIG wrappers
* improve resonance structure sorting for degenerate resonance
structures
I will do all of the above ASAP
in the AtomElectrons and BondElectrons constructors
- removed superfluous NULLness check in ConjElectrons destructor
- outer electrons are used instead of atomic number to
determine formal charging behaviour
- better handling of electronegativity using Allen electronegativity
instead of the number of outer electrons
- removed superfluous code in sanitizeMol() (I had missed the
"If there is a failure in the sanitization, a SanitException will be thrown"
note)
- used getOtherAtom() method whose existence I ignored (thanks Greg!)