* remove some more deprecated numpy stuff
* workaround for changes to random.shuffle in python 3.11
* fix pickling of rdkit mols in python 3.11
* add py311 build to CI
* update py311 CI
* remove qt for py311 for the moment
* only use the new code with pyversion >=3.11
* use the new logic for all pickle_suites
* need to work with older py too
The example for KeyFromPropHolder in the documentation here:
https://www.rdkit.org/docs/source/rdkit.Chem.rdSubstructLibrary.html
doesn't render the example correctly. I don't know if the extra new line fixes it, but it looks like that is the only difference to the previous code blocks.
* Support for logging via Python's logging module.
* Avoid the Python 3.9+ PyObject_CallOneArg function.
* Move logging functions to RDBase; Python logger by default; clean up tests.
* See if removing NOGIL fixes the Windows stall.
* get tests running on windows
* Reset to using C++ logging; whiespace tweaks.
* Longer timestamp grace period; try tempfile vs Windows logging stall.
* Clean up commented code; get details for log count bug.
* SubstructLibrary: Fix c++ threads calling into python
* FilterCatalog: Fix c++ threads calling into python
* Release notes; make sure Jupyter still logs to sys.stderr.
* Always use thread-local log buffers.
* de-verbosify a test
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
Co-authored-by: Brian Kelley <fustigator@gmail.com>
* fix a crashing bug in SubstructLibrary
* fix a bunch of other potential seg faults
These are all places where the result from pyObjectToVect(),
which can legitimately return a nullptr, is not checked before
being dereferenced.
* document behavior
clear the result vector for the other pythonObjectToVect() overload
* change error message
in response to review
* Adds KeyFromPropHolder to hold user defined indices
* Add missing file
* I hate swig. Had to move keyholder classes into main header file, yuck.
But I added tests, so yay?
* Remove removed dependency
* Fix borked test
* Make consistent getKeys function, fix constness
* Fix overloaded call
* Remove GetKey/s from SubstructLibrary
* support MolBundles in the SubstructLibrary
* support SubstructMatchParameters in SubstructLibrary
* expose those methods to the python wrapper
* fix non-threadsafe build problem
* be explicit about sorting
* add the option to set the search order
* add example functions for setting the search order
* Fixes#3797
* [WIP] Add tautomer queries to the substruct library
* Add TautomerQuery to CMake
* Add missing TautomerQuery functions, python wrapper and tests
* Add python wrappers for Substruct Library Tautomer Queries
* Explictly label non-const pattern function now that we have both
* Use boost::shared_ptr not std::shared_ptr
* Fix java builds
* One more try to fix java builds
* Fix Java Tests
* Run clang format
* Reenable tests
* Fix annoyingly stupid bug and annoying commit of debug code
* Fix documentation
* reenable ifdef threadsafe check
* Throw warning and perform tautomer search instead of bailing with incorrect fingerprints
* Simplfy api with templates
* Fix SubstructLibrary java issues
* minor API cleanup
* simplify the SWIG wrappers
Co-authored-by: Brian Kelley <bkelley@relaytx.com>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* - added some missing const keywords
- added an addFingerprint overload to allow passing pointers
- added a test
* changes in response to review
* removed print
* added missing shared_ptr declaration
* added PatternNumBitsHolder serialization
* - merged with upstream changes and resolved conflicts
- got rid of PatternNumBitsHolder and leveraged the serialization version to get the PatternHolder to be backwards-compatible
* built substructLibV1.pkl with an older version of boost
* reverted serialization version to 1
only write numBits if != 2048 and only read numBits if it exists in the archive
* bogus commit just to trigger a rebuild
* Add threaded pattern generator to help speed up library creation
* Add size to FPHolderBase
* Add more complete python wrapper, fix leak in doctest
* Add basic usage test for addPatterns, fix I/O leak
* Add basic test for trusted smiles
* Actually add the new code
* Export addPatterns on windows
* Try fixing the cartridge build
* Change pattern_factory to PatternFactory
* Change boost::ref to std::ref
* Exposes the stream interface for the substruct library
* Update SubstructLibraryWrap.cpp
* Adds docs
* Fix doctests
* Fixes another doc test
* More doc test fixes
* WIP - Substruct Library Serialization
* Add serialization to SubstructLibrary
* Add SubstructLibraryDefs
This holds the definition of whether the substruct
library is serializable
* Wrap serialization in python
* Remove .h file, add .h.in file
* Configure header file into source dir
* Use RDConfig.h to configure serialization
* Move serialization code to seperate header file
* Fixes for review comments
* Removes some code redundancy
* Make pickling mols less memory intensive
* Check if molholders come back as the right types
* First entry of the SubstructLibrary module
* Switch to shared_ptrs for memory safety
* run clang-format and add a test
* only build when threadsafe_sss is enabled, only test when test_multithreaded is enabled
* Adds PRECONDITION
* Adds exceptions for out of range errors
* Changes getQueryBits to makeQueryBits for clarity
* Adds API point to add Binary and Smiles directly
* Replaces 0 with NULL for clarity.
* Removes debugging code.
* Makes endIdx non-inclusive
* Adds substruct searching options
* Adds preconditions
* Small documentation cleanup and removes a line of code.
* Add DataStructs library dependency
* Actually uses passed in parameters
* Adds TrustedSmiles/Binary inputs
* Adds more api testing options/trusted smiles and binary inputs
* Finalizes API adds docs and doctests
* Minor copyright fixes and such