* 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!)