* support read-only access to cstates from python
* expose GetBrackets
* expose getAttachPoints too
remove vestigial SubstanceGroupCState_VECT
* backup
* backup
* basics working
* backup
* add label_mol_abbreviations
* fix a bug in the chirality handling
* add linkers, needs more testing
* add another peptide test
* sanitize results by default
* just need rings
* getting started with the C++ form of abbreviations
* a bit of error handling
* add findApplicableMatches
* actually apply the abbreviations
* make the getDefault functions more efficient
* add labeling (creating s groups)
* docs
* basic python wrappers (maybe this is enough?)
* add _displayLabel and _displayLabelW support to MolDraw2D
update the docs for that
* use displayLabel props
* add more default abbrevs
* change default linker defns
add parseLinkers convenience function
* make sure attachment point atoms aren't aromatic
* change the color of dummies to be darker gray
* remove python implementation
* support abbreviations in the java wrappers
* add abbreviations to the csharp wrappers
* add abbreviations to the js wrappers
* add molParity to the list of atom props not written to CXSMILES
* support condensing SUP substance groups
* add that to the python wrappers
* Update testAbbreviations.py
* clear ring info if we added it
* document that the molecules with abbreviations removed have not been sanitized
* backup
* compiles
* progress, but not there yet
* basics now working
* start towards adding another test
* test having two variation points
* add actual enumeration and the corresponding tests
* docs and cleanup
* cleanups to get the mac build working
* attempt to get win32 dll builds to work
* dlls are fun
* Add FixedMolSizeMolBundle class
* changes in response to review
Also: add warnings for bad input in ParseV3000Array
* a bit of refactoring
* additional testing
* does not work, backup
* LINKNODES work now
* cleanup
* allow silencing reaction validation warnings during initialization
* docs
* fix (and test) handling of empty enumerations
* silence warnings when doing alchemy
* first pass at a Python wrapper for the enumerator
* Add Java wrappers for MolBundle and the MolEnumerator
* cleanup some comment formatting
* TautomerQuery class
* working test
* Comment header
* Merge with master. Greg's suggestions. More tests. Python wrapper
* Updated Pattern Fingerprints to merge with master. Reset email
* Java/C# wrappers. Java test
* Java/C# wrappers. Java test
* Java/C# wrappers. Java test
* Greg suggestions of 6_2_2020
* Explicit types in Java TautomerQueryTests class
* Update Code/GraphMol/QueryOps.h
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* get windows dll builds working
* Removed tautomer query wrappers from RDKit namespace
* Fixes from evaluation
* Template molecule identification fix. Greg's suggestion
* Final check search functor for evaluating template matches as they are found
Co-authored-by: Gareth Jones <gjones@glysade.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* First working version with DrawText classes, original functionality only. No font scaling.
* Added font scaling.
* Added atom colours.
* First stab at freetype text drawing. A stash prior to major surgery.
* Freetype seems to be working. On to whack-a-mole.
* Added class flag to atom labels and annotations.
* Another intermim commit whilst re-factoring all string drawing code from MolDraw2D.
* Fixed scaling and implemented max font size.
* Fixed bugs in non-FT Cairo and SVG drawing.
* More re-factoring of drawStrings - now creates StringRwct for each char in all strings.
* More re-factoring of string drawing - all mentions removed from MolDraw2D, I think..
* Working native Cairo, simple tests.
* Working native Cairo, simple tests.
* Padding roumd rectangles.
* Working FT Cairo, FT SVG, native SVG, simple tests.
* Two line labels mostly sorted. Native SVG wrong.
* Two line SVG labels sorted.
* Two line SVG labels sorted.
* Tidied out debug writes.
* Tweaked merge.
* Annotations working, radicals now failing.
* Fixed radicals crash.
* All tests passed for freetype drawings. Grid drawings not right.
* Fixed bug in grid drawings.
* Better font size.
* Fixed legends in grids.
* Fixed rect intersection bug.
* Tidied up font sizes.
* moldraw2DTest1 all passing.
* All catch tests pass.
* Few rixes, and reactions look ok.
* Added minimum font size.
* Fixed radical drawing when max/min font size hit.
* Interim cmmmit, most test1.cpp working.
* Fixed uninitialised min_font_size_ in DrawText. Took out use of MolDraw2D::setFontSize() which probably needs to go back in at some point.
* More test1.cpp passing.
* test1.cpp all pass, freetype and non-freetype
* Fixed superscripts hitting min font size in test860. Made superscripts and subscripts same size.
* testc.pp all pass.
* Fixed bug in freetype text. All testt1.cpp pass.
* All tests passed.d
* Added option for different font.
* Added option for explicit terminal methyls.
* Added option to explicitly not use Freetype in drawers. Used same in catch_tests.cpp.
* Got sense of NO_FREETYPE wrong in catch_tests.cpp. D'oh!
* Fixed Python draw tests.
* Added new options to JSON interpreter.
* Fixed scale of text in contoured plots.
* Added optional molecule to grid drawer to help set scale.
* Fixed Python wrappers for drawing 2D grids .
* Added Greg's CMakeLists.txt
* Moved fonts out of code tree.
Improved handling of font files not found, including logging to rdWarningLog.
* Interim commit.
* Tidied up some namespace std issues.
* Reverted to previous version.
Took out 'using namespace std;'
* update expected java results
* Added multi-line legends. Also carves out a reserved bit for the legend, and sets the font size so the legend will fit.
* enable annotations on windows with freetype
* Removed stray font file.
* Removed stray font file.
* Re-instanted fontSize() and setFontSize(), though with change of units.
* Added RDK_BUILD_FREETYPE_SUPPORT to cmake.
* re-expose the fontsize controls to python.
document API change w.r.t. font size
* Update ReleaseNotes.md
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* change minimal cmake version to a consistent 3.5
* progress towards a cleanup
* get the basic python deps working
* two more libs
* another round of changes
all tests pass at this point
* next round of changes
all tests pass at this point
* close to done
all tests pass
* very close
* almost done
* shift the RDBoost dependencies around a bit
* remove an extraneous python linkage
this is trying to get the mac builds working again
* Only link to python if it was built shared (#3091)
* change in response to review
Co-Authored-By: Ric <ricrogz@users.noreply.github.com>
* move that suppression of the maybe-uninitialized warning to BoostStartInclude.h
Co-authored-by: Brian Kelley <fustigator@gmail.com>
Co-authored-by: Ric <ricrogz@users.noreply.github.com>
* Deprecation: planned removal of .message() and .getMessage() methods
* Deprecation: planned removal of old MolHash code
* document deprecations
* output the diffs when the psql tests fail
* remove .message() from SWIG wrappers
note that the KeyError doesn't work properly. We should clean up the the exceptions here anyway
* typo
* improvements for smal anr large ring conformer generation
* add documentation and reorder parameters in EmbedParam
* resolve merge conflict due to coordMap null pointer
* minor changes to address merge comments
* reorder variables in EmbedParameters
* add regression test for small ring and macrocycle torsion preferences
* not apply small ring torsions to bridged ring systems
* fix and test for bridged small rings torsion pattern exclusion
* add ETKDGv3 and srETKDGv3 option to keep compatiblity for original ETKDG
* EKTDG version 3 related minor fix
* add reference to doc string
* Java wrapper for ETKDGv3
* fix doc
* change CPCI to shared_ptr, but it seems to be much slower
* minor modifications to small bridged ring systems, and share_ptr from previous commit is fine
* rollback from shared_ptr(map) to just map
* run clang-format
Co-authored-by: Shuzhe Wang <shuwang@eu-login-10.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-14.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-17.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-45.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-05.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-15.euler.ethz.ch>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* 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
* output bond stereoAtoms in debugMol()
* stop removing STEREOCIS/STEREOTRANS markers in setDoubleBondNeighborDirections()
* Re-establish bond dirs in reaction products.
* test all that
(the first set of tests, should do more)
* cleanups
* add SetDoubleBondNeighborDirections() to python API and test it
* add more tests
* changes in response to review
* add another c++ test, fix the java tests
* Add threaded runner for the filter catalog
* Add test for bad input smiles
* Remove old boost dependencies, update java swig api
* Add bad smiles filter for RunFilterCatalog
* documentation and copyright updates
* Make numThreads=1 the C++ default
* Bad smiles is now no valid RDKit molecule
* add AtomValenceException
* refactor a bit and add KekulizeException
* add copy ctor and copy() method
* add detectChemistryProblems
* add getType() method
want to be able to get the type of the exception without requiring doing a bunch of dynamic casts
* first pass at exception inheritance/translation
needs some cleanup and expansion, but this does pass all tests.
* cleanup and finish the python wrappers for the new exceptions
* make sure things are truly polymorphic
* wrap shared_ptrs of the new exception types
* expose DetectChemistryProblems()
* get the java wrappers building again
* transfer those changes to the c# wrapper
* add detectChemistryProblems()
and deal with the fun fun exception inheritance things that ensue
* response to review
* add the ring decomposer lib (temporarily?)
* simplify makefile
* very basics work
* backup
* basics working
* builds and basic tests pass
* get this building again
* expose the ring families
* add tests on the python side
* make the pywrapper for this optional
* remove some extra bits
* cleanup
* switch to using RDL as an external project
* make sure this still works if we do not use the URF code
* remove BUILD_ALWAYS
* fix linkage of Java wrapper and cartridge (hopefully)
* fix cmake for wrappers (hopefully)
* forgot a semicolon
* try to force URF lib to build first
* improve memory management and interface
* fix dependency specifier
* make pointer initialization explicit
This may not be necessary, but it feels safer.
* not pleasing and needs to be cleaned up
but it builds
* not pleasing and needs to be cleaned up
but it builds
* cleanup in preparation for merging
* cleanup in preparation for merging
* switch to rareylab repo
* fix updated copyright date
* Fix updated copyright date
* switch to a specific library tag
Co-Authored-By: Florian Flachsenberg <flachsenberg@zbh.uni-hamburg.de>
* change in response to review
* basic conrec integration
* basic conrec integration
* add molecule contouring
* update
* add an alpha channel to the color
* allow filling the grid
* cleanup
* remove some debugging output
* first pass at getting similarity maps to actually work
* updates
* add another test
explicitly set linewidth to 1
* some SVG cleanup
* add option for extra padding
* update expected test results
* efficiency
* at least something of a test
* forgot an import
* fix SWIG wrappers
* cleanups in response to review
* allow calling the functions without providing levels
* allow contouring numpy grids
* Remove out_1 and out_2, only need for directed graphs.
* Variable renaming, no other changes.
* Fix a couple things that were forgotten during the rename
* Only one of these counts is updated now.
* Add ifdef to enable/disable VF2Pruning
* Add degree bound check, could be pushed down to the generic VertexCheck predicate.
* The stack knows at each point what was added, by passing these into the Backtrack call the clone allocation can be removed.
* Indent and rename added_node1 to node1.
* Now the clone is removed we can add a member function to handle the recursion cleanly.
* Also make for MatchAll a member function.
* Set lim=0 to mean infinity.
* VF2Plus optimisation, when candidate is in the terminal set select from a mapped neighbours adjacency list.
* Optimisation hint.
* Use a struct for the Pair removing the need for double pointer and heap alloc/delete of the iterators.
* disable pruning by default (it's a bit quicker to not do this)
* update expected test results
The updated VF2 code can return symmetric results in a different order
than we were getting previously. The results are still correct, but they
change some of the downstream things that don't do symmetrization
* update expected java results
* Added rankAtoms to ROMol wrapper and added Java test case
* Added missing argument to rankMolAtoms call in wrapper
* Update ROMol.i
* Update ROMol.i
Removed circular reference to Canon
* Update ROMol.i
* Update ROMol.i
* Update SmilesTests.java
* minor stuff to force the CI builds to run again
* Update the test to match the current code
* updated atomic radii to follow the Blue Obelisk Data Repository
Ubuntu package bodr version 10-1; radii are from file
/usr/share/bodr/elements.xml
* typo
* use 2.0 as default VDW radius instead of 1.7
for elements missing from the Blue Obelisk Data Repository
* Document the atomic_data
* update expected test results
* update java tests
* allow a bit more slop when comparing confs
For cross-platform stability
* Wrapper fixes: Tversky for De Morgan and java byte functions for ExplicitBitVect
* Wrapper fixes: Tversky for De Morgan and java byte functions for ExplicitBitVect
* add linux_java build
* trigger azure pipelines builds on dev/ branches
* make sure boost::iostreams gets linked in the SWIG wrappers
* updates to get static boost builds working on mac
* update linux a bit and add mac build
* forgot to save the mac file
* install version of boost with -fPIC
* try to force use of the boost installed in /usr
* typo
* add library hint
* diagnosing a failing build
* be explicit about CXX version
* try to force use of the system compilers
instead of the ones from conda
* stop using conda
* typp
* re-enable full build
* disable the appveyor builds
* Move RDBoostStreams to RDStreams
* RDBoostStreams->RDStreams
* RDBoostStreams->RDStreams
* Wrap SWIG (with Java test)
* Fix missing declaration
* Use the file that already exists
* Revert to original version
* Revert to CXSMiles version
* Update boost version
* Remove redundant code
* Add zlib
* check for win32
* FileParsers now builds static on windows
* change to make the SWig builds work on windows
* add the wrapper. Still needs tests
* first rgd java wrapper test, does not pass
* get static builds working on windows