* add RDKIT_CFFI_STATIC option
minimallib cmake cleanup
* clean up a lot of boost::iostreams nonsense
* find_package(boost cleanup
* update the swig wrappers
* updates to psql
* get the Qt demo working again
* fix? coordgen
* only use std::regex in moldraw2d test
this is consistent with the other tests
* cleanup the serialization stuff too
* support generalized substructure search in the SubstructLibrary
* simplify namespaces
* support the new functionality in the swig wrappers
* update mac swig version in CI
* ensure swig4
* switch mac_java ci builds to conda-forge
* change in response to review
* add copy ctor to extendedquerymol
* Back to the way it was
* Add support for Marvin files
* And MRV lib to the Java wrapper
* And MRV lib to the Java wrapper
* Removed use of void * in MarvinParser.cpp and MarvinParser.h
* Changes as per code review from Greg
* Changes for PR review - many virtual methods
* changes as per Jonathan's comments
* some suggested changes
* PR review changes and fixed unit tests
* after merge, changes to make it run
* More PR review changes
* removed unneeded std::move()s · rdkit/rdkit@b4b8b9a · GitHub
* More PR review changes
* fix a compile error
* more defensive programming
* reorder
* final? PR review updates
* Erata
---------
Co-authored-by: Tad Hurst <tad.hurst@collaborativedrug.com>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
Co-authored-by: tadhurst-cdd <112502803+tadhurst-cdd@users.noreply.github.com>
* Support tautomer queries in RGD
* Continuing RGD and tautomer development
* Python and C# tests
* Python and C# tests
* C# test
* Typo fix
* For cire tautomer query update properties instead of full sanitization
* Added query comment
* Code review change
* Support Enumeration of input cores
* Mol enumeration test
* Remove useNormalMatch from RGroupDecomp
* Added comments for handling tautomeric core
* Added comments for handling tautomeric core
* make sure we don't try to access an SG which no longer exists
* Fixes#6479
updates a bunch of tests to support this
* test ring stereo too
* update expected results from the tests
* expose RDLog to SWIG wrappers
* - added a SetTee() overload that takes a filename as parameter to simplify redirecting from wrappers that do not have interface with C++ streams (e.g., Java and C#)
- replaced some duplicate code with ClearTee() calls
- replaced RDLogger std::shared_ptr with boost::shared_ptr to make it more easily available from SWIG wrappers
- exposed the RDLogger methods to SWIG wrappers
- added Java test for RDLogger
* this should fix the segfault
* avoid issues on case-insensitive platforms
* here's a solution keeping std:;shared_ptr
* change in response to review
---------
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* wip
* - avoid leaking memory after instantiating UChar_Vect
- fix some indentation
- make it easier to read/write pickles as native byte arrays from Java and C#
- add tests
---------
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* - expose [sg]etUseLegacyStereo()
- In MolToSmiles() doIsomericSmiles should default to true as in C++ and Python
- added missing parameters to MolToSmiles() and MolToMolBlock()
- added SmilesWriteParams MolToSmiles() overload
- added and updated Java tests
* - changes in response to review
- exposed the same functionality also in MinimalLib and CFFI and added tests
---------
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
- remove redundant Point2D_Vect definition (laready defined elsewhere)
- blacklist getPositions() whose return type is not accessible from SWIG
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* add function to canonicalize enhanced stereo representations
* use enhanced stereo in canonicalization
* Fixes#6045
enables the doc tests for EnumerateStereoisomers.py
Re-enables the BRICS tests
* some things work... tests need to be updated
* c++ and python tests pass
* update expected psql results
* run the canonicalization on SMILES generation;
c++ and python tests pass
* cartridge and java tests pass
* update doctests
* Test routine working
* Fix python molzip signature clash
* Update SWIG bindings
* Add C++ and Python documentation
* Add C++ and Python documentation
* support tracking where the conformer generation code fails
* less verbose output
* tests now pass
* fix a stupid typo
* fix SWIG wrappers
* changes in response to review
* extend the allowed valences of the alkali earths
make it possible to have preferred and arbitrary valence states (I thought this already worked)
* backup
* maybe needed
* copy in some swig3 files;
at this point the tests all work
* remove SWIG version lock
* changes in response to review
* - updated outdated SWIG definitions of ROMol.generateDepictionMatching2DStructure
- added unit test
* - added strictParsing flag
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* - setenv() should be defined also for MinGW builds, not just MSVC
- fixed getBestRMS signature (ROMol& should be const)
- expose normalizeDepiction(), straightenDepiction(), getBestRMS(), CalcRMS() and getBestAlignmentTransform() to SWIG wrappers
- expose MolFromSmiles() overload taking SmilesParserParams parameter to SWIG wrappers
- expose DoubleVector class to SWIG wrappers as it is needed by alignment functions
- replace std::string with const std::string& in several SWIG wrapper signatures
- build RDKit2DotNet.dll as a 64-bit library on MinGW 64-bit
- add Java tests for the newly exposed SWIG functions
- fixed inconsistent indentation in Chemv2Tests.java
* changes in response to review
* fix typo
* reverted file committed by mistake
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* revert duplicate chunk in release notes
* replace deprecated ifdefs
This one gets rid of USE_BUILTIN_POPCNT and RDK_THREADSAFE_SS
use RDK_OPTIMIZE_POPCNT or RDK_BUILD_THREADSAFE_SSS instead
* get rid of BUILD_COORDGEN_SUPPORT from ROMol.i
* fix a stupid typo
* update release notes
* MolDraw2D refactoring
- rename setupMoleculeDraw->initMoleculeDraw
- track whether or not initDrawing() has been called
- centralize calls to initDrawing() and clearDrawing() into initMoleculeDraw()
- update svg hashes in tests
* update some expected test results
* support changing font scale and default scale
add reaction test
* does not work... this is hard
* all tests pass
* do something about legends
* docs
* more tests
* more docs
* cleanup
* going around in circles...
hopefully converging
* cleanup
* Single bond skeleton works.
* Simple bond drawing seems to be working.
* Initial addition of atom symbols.
* Stash of not-quite-working atom symbols prior to major surgery.
* Atom symbols seem to be working. Major surgery not required, just inverted Y coords at the outset.
* Add classes to atom labels.
* Renamed AtomLabel AtomSymbol.
* Add highlights.
* Fix bug from PR4839.
* Molecule note.
* Added atom notes.
* Added bond notes.
* Extract radicals.
* Annotation via new DrawAnnotation class.
* Add brackets.
* Add linknodes.
* Add close contacts.
* Add attachment points. Fix wavy lines.
* Draw molecules in grid.
* Tidy.
* Fix radicals when font has hit maxFontSize.
Make getDrawCoords work.
* Draw primitives take atom or draw coords.
* Fix legends.
* More fixing for tests. DrawMol::setScale now takes font scale as well.
* tidy debug writes
* Variable fraction of panel for legend.
* Better legend positioning.
* Fix sub- and super-script spacing.
Added spaces to Freetype strings.
* Basic reaction drawing.
* Reaction highlighting.
* Minor tweak to reacctions.
* Tweaked reaction DrawMol widths.
* Fix atomTags.
* Fix catch tests except contours.
* Contouring working in catch_tests.cpp.
* Fix catch tests.
* AtomSymbol and DrawAnnotation into MolDraw2D_detail.
* DrawMol and DrawShape into MolDraw2D_detail.
* DrawText inot MolDraw2D_detail.
* Machete out.
* DrawText goes private.
* Move some stuff about, such as StringRect to its own header.
* Python wrapper compiles (but crashes when Draw imported).
* More tidying. Python DrawArrow failing.
* Linux changes.
* Fixed error in DrawShapeArrow spotted by valgrind.
Fixed some warnings from gcc.
* Maybe fixed DrawArrow.
* Added basic argparse interface.
* Added newlines.
* Changes in response to review.
Non-const args in move constructors and operator=.
Added missing classes to MolDraw2D_detail.
Deleted move operator= where it had been forgotten.
Fixed copyright dates.
* Deleted all default c'tors in derived classes.
* Changes in response to review:
Wedge widths now a proportion of mean bond length in draw coords..
Add padding below legend when positioning it.
* Fix tests.
* Fix the private/protected mess of the new classes.
* Moved doesLineIntersect etc.
* Reinstate original alignString for non-FT drawings.
* More faffing about with reaction layouts.
* Fix font sizes in testGitHub3391.
* Fix atom notes fitting inside fat wedges.
* Fix molecule annotation font size.
* More fixes of rectangle/triangle collision detection.
* Test for highlight linewidth multiplier.
* Use push_back not emplace_back.
* Attempt at better Freetype char spacing.
* Option to turn off TEST_ASSERT. Currently off.
* Fixed embarrassing maths to do with wedge fatness.
* More tidying post-review.
* Document highlight_linewidth_multipliers.
* Expose baseFontSize to Python.
* Changes in response to review.
* Allow DrawMolecules molecules to be drawn to different scales.
* Fix bond sneaking between C:8 in, for example, reactions.
* Fix bad re-factoring.
* Fix globbing.
* Changes in response to review.
* Add invariant check.
* Add draw option to fix font size.
* suggested changes
* Update catch test results.
* Fix expected freetype results.
* Fix non-freetype drawers.
* Fin non-freetype test results.
* get the Qt drawer working too
* Fix disappearing reaction highlights.
* Changes as result of review.
* Fixed non-FreeType hash codes for reaction SVGs. Extra comment in catch_tests.
* reactant highlighting was clearning properties
* Fix for failing contour python test.
* fix a non-freetype problem
* swig wrappers working
* Bump timeouts in test.
Co-authored-by: greg landrum <greg.landrum@gmail.com>
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* 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
* add ROMol::atomBonds() and ROMol::atomNeighbors() methods
* remove some warnings
* start using the new code
* add default for those template params
* some more applications
* get the SWIG builds working
* get rid of extraneous ref
* remove extraneous comments
* preliminary first pass at SRU enumeration
* handle HH
* working
plus add a missing file... <doh!>
* passes basic tests for enumeration of multiple non-overlapping SRUs
* more SRU testing
* explore combining the SRU enumeration with enumerate()
* first step towards RepeatUnit in the python interface
* first pass at directly connected SRUs
* Fixes#4561
* make sure we don't try to enumeration SRU + LINKNODE
update python docs
* exception for ladders
* get a bit smarter about rejecting linknode enumerations
* turns out we actually *can* do ladders pretty easily
* update java wrappers
* make sure we can input from CXSMILES too
* some cleanup/documentation
* some refactoring
* response to review
* - fixes MinGW build
- make sure that supplier istream is opened in binary mode or istream::tellg() will
report wrong offsets on MinGW builds (MSVC will make no difference)
- avoid that in MSVC conda DLL builds the libboost_*.lib static
libraries are picked by cmake instead of the boost_*.lib import libraries
by defining BOOST_ALL_DYN_LINK
* - make sure that C# wrappers build with MinGW compilers
- make sure that static builds work under Windows with both MSVC and
MinGW
* - disable building static libraries on Windows also when using MinGW compilers
- fix the C# wrapper build on Windows under both MSVC and MinGW
* reverted -DSWIGWORDSIZE64 as it was originally
* reverted -DSWIGWORDSIZE64 definition
Co-authored-by: Paolo Tosco <paolo.tosco@novartis.com>
* Remove accidentally tracked files and unset x flag
* Ignore ComicNeue
* Unify test tag to `reader`
* Trivial destructors
* Bump CMAKE_CXX_STANDARD to 14 (#4165)
* linux CI modernization
- remove 16.04 python builds
- switch 16.04 java build to 20.04
* update
* update
* use dynamic libs
-fPIC never ceases to amuse
* specify swig version
* force swig3
* force swig3
* re-enable the other tests
* Support Chemical Markup Language, CML, for writing
Implement RDKit::MolToCMLBlock and RDKit::MolToCMLFile
http://www.xml-cml.org/
* a number of cleanups and fixes
1. stop writing the cml: namespace to the output. Tools like marvin can't read that and it's not nececssary
2. fix the H count
3. continue writing atom info for 2D confs
4. simplify the writing of atom parity
* make the conformer optional
write bond hash/wedge information
* update the expected python results
* Remove overloaded function
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* 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>