* backup, does not work
* working on the C++ side
* backup
* fix the API
* document the new functionality
* improve that example
* final bit of cleanup
* switch to std::function
* 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
* Allow creation of Enhanced Stereo groups from Python
This wraps creation of Enhanced Stereo groups from Python. It
also allows setting enhanced stereo groups on an RWMol from
Python.
Additionally, this provides a little function to allow C++
vectors to be wrapped for Python, but allow Python list objects
or wrapped C++ vectors to be used as arguments to functions
that take vectors as inputs. I added it only to
Wrap/StereoGroup.cpp, but I _think_ that I should add this
logic to RegisterVectorConverter in RDBoost/Wrap.h. If I
did that, I'd be able to remove a couple of lines in Wrap/Mol.cpp
* enforce atom ownership in SGroups
Some cleanups to make sure you can't add an S group with bogus atoms
to a molecule
* Remove constructor for StereoGroup.
I tried very hard to convince boost Python to allow me to use
with_custodian_and_ward_postcall on an init, and it just never
worked. I've removed the constructor - folks will need to
use the factory function "CreateStereoGroup" if they want
a StereoGroup.
* first pass at adding a SubstructMatchParameter struct
* start moving the rest of the backend to use the parameters
* backend at least mostly moved over
* add aromaticMatchesConjugated
add tests
* switch over the MolBundle too
Add templates to reduce duplicated code
* support older compilers
let's see if it works...
* add SubstructMatchParameters to Python wrapper
* remove some deprecations and warnings
* damn compilers
* parameter support for bundles in python wrapper
* add the parameters to the java wrappers
* response to review
* Issue #2108: Read Enhanced Stereochemistry from Python
This wraps enhanced stereochemistry data for an ROMol for use
in Python and includes a test that demonstrates access.
* Adds test for potential memory management problems
(also fixes incorrect class name and bad docstring)
* Corrected file reading idiom and object lifetime test logic
* initial pass at pickling reaction properties
* move more of the property handling functions to props.hpp
Wouldn't be bad to rename these at some point.
* add reaction properties to python wrappers
* Adds RDProps updateProps API point
* AdjustQuery now copies over original atom data to the query ato
* Preserves existing data on the replacing atom
* Exposes preserveProps to Python replaceAtom/Bond
* Adds RDProps updateProps API point
* AdjustQuery now copies over original atom data to the query ato
* Preserves existing data on the replacing atom
* Exposes preserveProps to Python replaceAtom/Bond
* add test
* update that test
* add python version of a test
* add some preconditions before dereferencing pointers
* make data members of AtomIterators private (not sure why these were ever made public)
* Fixes#1366
* switch to using std::runtime_error
* switch python tests too
* move the tests from the C++ side to be on the python side.
This will be more useful in a later pull request I'm working on that
exposes QueryBonds to Python. Though it is usable without QueryBonds
as well, so submitting this for now.
* Adds RDAny (smaller generic holder) Updates all used dictionaries
This is an API compliant version of the current rdany system,
but uses a lot less memory in practice.
* Removes code duplication
* Converts CHECK_INVARIANT to TEST_ASSERT
* Fixes DoubleTag issue
* Adds Bool to DoubleMagic implementation
* Removes reference to property pickler
- 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
RWMol becomes a replacement for EditableMol.
It has the EditableMol interface in addition
to the ROMol interface. In the future this
may or may not grow the RWMol C++ interface.
Conflicts:
Code/GraphMol/Wrap/rough_test.py