* Fix a hang when trying to read mols from a directory not a file on linux
* thrown an exception at construction time
* clarify the readme
* update release notes
* Refactor the stream opening and checking code to a common method
Co-authored-by: Brian Kelley <bkelley@relaytx.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
Although these are probably nonsense, I've seen some pretty
big [r#] expressions in SMARTS expressions. In particular, for
SMARTS generated for toolkits that don't have the range
extension, people do this to mean "in rings bigger than 6" or
whatever:
[r7,r8,r9,r10
* backup
* rearrange the network to make it cleaner
- GenericBond scaffolds are now directly connected to the corresponding Generic scaffold
- Attachment points are no longer removed from Generic (or GenericBond) scaffolds
* remove dead code
* 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
* [WIP] Add BCUT 2D descriptors
* Use the standard RDKit license
* Add Check for EIGEN3
* Add vector param, fix some formatting, remove debug print
* Add make_burden function, optimize symmetric eigenvalues
* Add some tests, finalize API
* Make the python API return tuples
* Updates docs
* Remove unused variable
* Fixed up C++ tests
* Remove std::pair wrapper, don't build BCUT when missing EIGEN
* Add bigger test case for BCUTs
* Accidentally removed the wrong code
* backup
* backup
* backup
* getting close to v0.1
* switch to using node indices
* add pruning and flattening
* support multiple mols
* example notebook
* backup
* initial commit
Just includes the basic API and flatten
* add the pruning step
* add removeAttachmentPoints()
* add makeScaffoldGeneric()
* improve compilation speed by adding catch_main.cpp
* add getMolFragments()
* doc cleanup
* actually add the network building code
* first pass at python wrapper
* allow edges to be nicely converted to strings
* get node counts working
* backup python notebook
* switch example notebook to use wrapped C++ code
* add BRICS fragmentation option
* fix a bug with removing attachment points to aromatic heteroatoms
* add provisional attachment point merger to notebook
* fix a bug with includeScaffoldsWithAttachments=false
* backup of efforts to get this working on windows
* backup of efforts to get this working on windows
* does not work. backup
* Fix a substructure crash on Windows
* re-enable tests
* adjust to the new BRICS form
* in-code documentation
* more doc updates
* reformat
* change the string output format for edges
* remove old python implementation
* remove obsolete test
* include a generic scaffold for the pruned structure too
* default to keepOnlyFirstFragment=false with BRICS params
* bug in removal of attachment points from generic scaffolds
* more testing
* support working from std::shared_ptr as well as boost::shared_ptr
* more testing
* disable debug printing
* use memo-ization in getMolFragments() to avoid duplicate work
* add SWIG wrapper and basic testing
* add define for RDK_USE_BOOST_SERIALIZATION
* add serialization at the C++ level
* add a string ctor for a scaffold networks
* add pickle support on the python side
* formatting
* remove old notebook
* move the fantastically useful iterable_convertor to RDBoost/Wrap.h
* expose parameter constructor with std::vector<std::string>
* add scaffoldnetwork to documentation
* add overrides for what()
* translation fot KeyErrorException; update tests
* Switch all exceptions to `const char *` as a return type from message() (#4)
* switch return type of message() from std::string to const char *
* adjust one test to the new return type from message()
remove unnecessary verbosity from some tests
* fix cartridge build: update call to message().c_str()
* rebase agains master; fix another issue in cartridge build
* add deprecation note for message() and getMessage()
* amend Release notes
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* 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
* get fileparsers catch tests building faster
should use this same approach across all of the catch2 tests
* Fixes#2916
* support parsing of STBOX for atoms and bonds in v3K mol files
add molStereoCare to common_properties
STBOX is translated to the molStereoCare property
* add stereocare support to adjustQueryProperties
make building the catch2 tests faster for the GraphMol package
* copy in AdjustQueryParameters JSON parsing from adapter.cpp
(That still needs to be ported to use the new code)
* get the cartridge using the new parsing code
* update test to reflect new parser behavior
* add a v2000 test
* changes in response to review
* first cleanup
* next round of changes. all tests pass
* Fixes#2909
* Fixes#2910
* further cleanup
* some cleanup/refactoring of the Dict class
* remove now extraneous calls to hasProp() before clearProp()
* minor refactoring of RDProps.h
* Switch from using our own version of round() to std::round()
* replace some boost::math stuff with the equivalents from std::
* cleanups in SmartsWrite
* refactor out a bunch of duplicated code
* fix an instance of undefined behavior
* changes in response to review
* 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
* a round of cleanups courtesy of PVS studio
* add a test to make sure that a warning is a false alarm
* bug fix
* Fix a UFF bug
* more PVS studio cleanups
* next round of PVS studio cleanups
* completely remove the chances for that bug
* changes in response to review
* add an additional test
+ a bit of reformatting that snuck in
* first pass at implementing molvs-style tautomer scoring
This isn't optimal in terms of performance, but all the MolVS tests pass.
* clang format
* A bit of refactoring of the tautomer stuff
* first pass at python wrappers
* allow specifying the tautomer scoring function from C++
* EFF: use boost::flyweight so SMARTS is only parsed once
* improve the python API
* switch to boost::function instead of using function pointers
* allow user-provided tautomer scoring functions
* documentation and scorer version
* change in response to review
* backup commit; won't even compile
* backup commit
* Fixes#2848
* A few changes
- add a bunch of tests
- some fixes
- add ROMol version to API
* add python wrapper and associated tests
* add RemoveAllHs()
* changes in response to review
- add removedMapped option
- add docstrings for options
* changes in response to review