* add option to track atoms involved in each bit for morgan FP
Needs test still
* support similarity maps using fingerprint generators
* support RDKit, AP, and TT
still need tests
* add some testing
* response to review
* Fixes#8379
* check in some working tests
* test passes
* test passes
* test passes
* test passes
* test passes
* ensure that the invariants flush the streams on failure
* tests pass
* test passes
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* Fixes#8391
* tests pass
* fix a test with legacy
not clear why this was not causing problems before
* make a test work
* Fixes#8396
* gcc builds work
* fingerprint tests pass
* mention backwards incompatible change
* fix a problem with FindMolChiralCenters
* more testing details
* enable the test status output
* Fixes#8432
fix a bug in double-bond stereo handling for template matching
* all depictor tests pass
* use the new-stereo chiral ranks in the depiction code
* always assign new-stereo chiral ranks
* make _ChiralAtomRank a computed property
This is analogous to _CIPRank
* tweak to the way the atom ordering is computed for 2D coordinate generation
* update two expected results
* backup
* response to review
* tests pass
* tests pass
---------
Co-authored-by: = <=>
* FingerprintGenerator improvements
1. simplify construction by adding ctors taking FingerprintArguments
2. remove inexplicable boost::noncopyable from FingerprintArguments
* Switch FingerprintType to be an enum class
* Fixes#7521
* dumb mistake
* initialize everything
* get the defaults right
* Update Code/GraphMol/ChemReactions/ReactionFingerprints.cpp
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
---------
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* fixleak in CIP labels catch test
* fix leak in Murtagh clustering
* do not leak writers in streambuf
* fix leaks in fingerprintgeneratorwrapper
* remove 'minor leak' comments
* fixes
* do not leak MolCatalogParams
* do not leak points on align failures
* give python ownership of pointers returned in getFingerprintsHelper
* clean up ScaffoldNetwork ptr if createNetworkHelper fails
* manage FF ptrs during construction
* wire in ownsBondInvGenerator in getMorganGenerator
* manage weights in rdMolAlign CalcRMS
* fix ownership of matches list/tuple in generateRmsdTransMatchPyTuple
* manage stream in createForwardSupplier during construction
* drop redundant Point3D allocations in GetUSRDistributionsFromPoints
* fix signed comparison mismatch
Fingerprinting is improved via the following changes:
* Neighborhoods are stored in a map rather than a vector
* Removed an extraneous neighborhood lookup that was already covered elsewhere in the code
* Pull vectors out of loops and preallocate where possible
* Use swap on current and next level invariants.
The aggregate speedup on a random sample of Chembl molecules was about ~60% on radius = 2, and 100% on radius = 3
* Fixes#7533
Fixes problem with SparseIntVect and SparseBitVect where the intention is to
be able to store all possible values of the index type: in these cases
you could not store (or access) the final element.
* increase the verbosity of the DataStructs tests
so that we can see what's going on
* atropisomer handling added
* fixed non-used variables, linking directives
* BOOST LIB start/stop fixes, linking fix
* Fixes for RDKIT CI errors
* minimalLib fix
* changed vector<enum> for java builds
* check for extra chars in CIP labeling
* removed wrong deprecated message
* fix ostrstream output error?
* restored _ChiralAtomRank to lowercase first letter
* changes for merged master
* Fixed catch label for new Catch package
* update expected psql results
* get swig wrappers building
* restore MolFileStereochem to FileParsers
* fix java wrapper for reapplyMolBlockWedging
* some suggestions
* move a couple functions out of Bond
* Merge branch 'master' into pr/atropisomers2
* merged master
* Renamed setStereoanyFromSquiggleBond
* atropisomers in cdxml, rationalize atrop wedging, stereoGroups in drawMol
* fix for CI build
* attempt to fix java build in CI
* attempt to fix java build in CI #2
* New routine to remove non-explicit 3D-geneated chirality
* changed to use pair for atrop atoms and related bonds
* Changes as per PR reviews
* PR review respnses
* PR review reponse - more
* Fix merge from master
* fixing java ci after merge
* Updated the help doc for atripisomers
* update the atropisomer docs
* improve the images
* add the source CXSMILES
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* Compile time and runtime deprecation warnings
* Used [[deprecated]] attribute to mark deprecation on cpp side
* Used RDLog to escalate deprecation warnings to python
* deprecated non fingerprint generator fingerprint generation functions
* Address build errors
* suppress deprecation warnings in cpps and tests
* experiment with new SWIG versions in the mac azure pipeline
* More deprecation suppression
* revert mac java experiment
* Fix SWIG syntax errors
* Attempt to fix windows unit test
* Remove test because of logging behavior
* Change linux java build to SWIG 4.1
- removes the need for preprocessor interaction
* Change mac java build to SWIG 4.1
* try updating the CI buid
* lock cmake version
needed to find JNI correctly
* update compiler versions
needed for the boost
* Fix typo and unavailable version
* Fix version conflict
* update mac build
* get linux build working?
---------
Co-authored-by: Patrick Penner <patrick@ppenner.com>
with cmake --build . --target stubs (also make stubs on *NIX)
- improved the patching script to do a better assignment of
overloaded constructor parameters, whcih results in a number
of docstring fixes
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* - added gen_rdkit_stubs Python module to generate rdkit-stubs
- added patch_rdkit_docstrings Python module to patch existing C++ sources to fix docstrings missing self parameter and add named parameters taken from C++ signatures where possible
- added rdkit-stubs/CMakeLists.txt to build rdkit-stubs as part of the RDKit build
- added an option to CMakeLists.txt to enable building rdkit-stubs as part of the RDKit build (defaults to OFF)
* fixed CMakeLists.txt, rdkit-stubs/CMakeLists.txt and a doctest
* - added missing cmp_func parameter
- fixed case with overloads with optional parameters
- do not trim params if expected_param_count == -1
- add dummy parameter names if we could not find any
- keep into account member functions when making up parameter names
- address __init__ and make_constructor __init__ functions
- fix incorrectly assigned staticmethods
* patched sources
* address residual few remarks
---------
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* compiles and runs, not tested
backup commit before I break it
* complete the implementation
* add the MT implementation to the C++ library
* tests pass
* remove old code
* release the GIL
* linux builds
* remove some warnings on macos
* changes in response to review
* - Fix a couple of docstrings that were confusing boost::python
- Python keywords should not be used as parameter names
* changes in response to review
* removed two leftover BOOST_PYTHON_FUNCTION_OVERLOADS
---------
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* backup
* does not work
* backup
* passes all tests
send more tests!
* backup
* seems to mostly work
needs cleanup still
* more tests + python wrappers
* more testing
* some cleanup
* fix problem with newer boost
* be more expansive about unsaturation
* be symmetric in choosing the starting bond
fix a test error
* passes all tests;
passes ChEMBL regression test
* docs
* update cookbook
* expose the new hash function to the cartridge too
* support v2 hash in the registration hash
* better testing
* alternate, simpler approach for that
* remove vestigial docs
* add test making sure that multiple bits per feature works with other fp types
* simplification
* expose base options class
* remove redundant df_includeChirality from TT generator
* expose the fingerprint arguments (i.e. options) to python
* typo
* Update `testMHFP.py` to check distance to self is zero
* Fix `MHFPEncoder::Distance` to compute a distance instead of a similarity
* Fix distance used for testing `MHFPEncoder::Distance` in `testMHFP.py`
* Fix expected distance values in `testMHFPFingerprint.cpp`
* Fix undeclared variable in `testMHFP.py`
* Fix C++ documentation of `MHFPEncoder::Distance` to mention Hamming instead of Jaccard distance
* add FingerprintFuncArguments() to simplify things
* getFingerprintHelper() also uses FingerprintFuncArguments
* port atompairs and tts to use new code
* not working yet
* all tests pass
* move the includeChirality flag to the global arguments
ensure stereochemistry is assigned when calculating fingerprints using chirality (#1993)
* migrate legacy morgan fp code to use generators
* refactoring the way bit info is handled
* all tests pass
* all tests pass
* expose getArguments()
* rename getArguments->getOptions
* copyright updates
* update a test
* remove template from FingerprintArguments
some other refactoring and cleanup
* hopefully fix the windows dll builds
* partial docs update
* improve docs and API
* more docs
* more docs
* a bit of modernization
* more doc tweaks
* changes in response to review