* start to add some human-readable regression-test like examples for RGD
* small examples from JMedChem
* add helper viewer
* make that generate actual JSON
* use JSON of full output for tests
move JSON generation to RGroupUtils.h
* switch to using JSON from files
* add test notebook
* add jupyter testing to the code
* add nbval to linux test env
* add notebook tests to mac and windows too
* add toJSON for columns too
* Improve consistency in R-group tables involviing symmetric groups
* applied clang-format
* much simpler fix
* use equivalent but simpler regex
* changes in response to review
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* Include Winsock2.h instead of Windows.h in DebugTrace.h
Including `Winsock2.h` has a number of advantages:
* It is much smaller than `Windows.h`, improving build time.
* It allows rdkit to be used in environments where `WIN32_LEAN_AND_MEAN` is set.
* It is [the recommended way to get `timeval`](https://docs.microsoft.com/en-us/windows/win32/api/winsock/ns-winsock-timeval) (rdkit doesn't actually use `timeGetTime`).
* Fix build break in test code
* Fix test failures
* 3D MCS
* Move test data to dedicated directory
* 3D MCS: changes based on code review
* Replace conformer generation code in MCS 3D test with mol blocks
* removeNonimplicit is the opposite of the deprecated option implicitOnly, fix the comment to reflect that.
* fix docstring to match function argument type
Co-authored-by: Jason Biggs <jasonb@wolfram.com>
* - eliminate some documentation ambiguity about the role of the strictParsing flag
- fix some inconsistencies between SGroup parsing function prototype declarations and implementations
- add a workaround for accepting malformed V2000 'M SAP' entries affecting older version of MarvinJS (only if strictParsing is set to false)
- if strictParsing is set to false, malformed V2000/V3000 SGroups are ignored rather than causing the parsing to fail
- fix a couple typos in warnings
* changes in response to review
* Add context managers for writers
Allow calling close() on already closed Writers
Fixes#2217
* add a close method to MolSuppliers
* modernize the way we handle presence/absence of MAEPARSER support
* add context managers to suppliers
* changes in response to review
* some cleanup
* more cleanup
* Exploration
* Initial work on GA fro Rgroup Symmetry
* GA for rgroup decomp and fingerprint rgroup symmetry scoring
* Continuing development
* Exploration
* Initial work on GA fro Rgroup Symmetry
* GA for rgroup decomp and fingerprint rgroup symmetry scoring
* Continuing development
* Further development
* Continued tweaks
* Function rename
* Continued tweaks
* Bug fix for variance calculation
* Copyright notices. Remove Eigen dependency. RdKit logging. Clock fix.
* Changes to fix build failures
* Fixes for Windows dynamic DLL build
* Included GA export.h file
* Fixed RGroupDecomp CMakeLists.txt
* Notebooks working, GGroup labelling bug fixed
* Fix windows build. More options for example GA program
* More bugs found and tests adjusted
* Fixed Python rgroup test
* Trivial change to trigger CI
* OSX java and windows build fixes
* Windows DLL fix
* Fix segmentation error
* proposed change
* Possible fix for segmentation fault
* CR fixes
* CR fixes
* CR fixes
* Recreates molecules from rgroups where possible
Co-authored-by: greg landrum <greg.landrum@gmail.com>
Co-authored-by: Brian Kelley <fustigator@gmail.com>
* adding a void pointer as a member for the EmbedParameters struct to allow aborting molecule embedder
* revert whitespace chage
* tabs->spaces
* have the callback function receive the iteration number as an argument, for progress monitoring
Co-authored-by: Jason Biggs <jasonb@wolfram.com>
* First pass at MolZip (sans bond stereo)
* Add support for bond stereo zipping
* Add molzip swig wrappers
* Add simple python wrapper/tests
* Remove smiles round tripping now that fragmentOnBonds is fixed
* Responses to review
* AtomMaps and Isotopes must explicitly be set
* Add molzip single molecule api isotope test
* Add missing %newobject
* Add better python docs, label test
* fix docs add a test for molzip
* Update Code/GraphMol/ChemTransforms/MolFragmenter.cpp
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Add missing case breaks
* Add more preconditions, move mark and restore to private functions
* Remove unused and redunddant code
* optimize get_other_atom
* Add single arg molzip test
* Update Code/GraphMol/Wrap/rough_test.py
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* break out the LinkNode processing code
* initial version of linknode rendering
* add another test and fix a minor issue
* boost::format
* fix a bad merge
* first basic pass at molecule notes
FIX problem with updating bounding box based on non-centered annotations
* add chiral flags and simplified stereo annotations
* tests
* molecule annotations are the same font size as atom labels
* Fix bondstereo when fragmenting molecules with cis/trans E/Z
* Apply suggestions from code review
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Add more tests for bond stereo
* Add test to ensure non-stereo atom bond breaks are preserved
* Remove extraneous test, fix another
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Fixes#3648
Code now builds without either MAEParser or coordgen integration enabled.
* add CI build with minimal dependencies
* remove doctests from the new CI build
they need the cairo support
* - replaced set with vector for SMILES-based R-group equivalence
- the first GreedyChunk is constituted by chunkSize+1 mols
- labeled R-groups may not be extracted when onlyMatchAtRGroups==false
- labeled geminal R-groups are incorrectly scored
- my attempt to introduce consistency in R-group labeling was buggy
- added a DEBUG pre-processor directive to the tests to make debugging easier
- added a unit test
- fixed unit test results which were inconsistent with the expected behavior
* changes in response to review