Commit Graph

235 Commits

Author SHA1 Message Date
Greg Landrum
5712176605 Implement the two deprecations that were planned for the 2020.09 release cycle (#3047)
* 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
2020-04-01 14:30:07 +02:00
David Cosgrove
ea54f66558 Commit of 2D draw annotation. (#3010)
* Commit of 2D draw annotation.

* update expected psql results

* First pass at improved radical drawing.

* Fix?

* Fixed different string draw behaviour.

* Removed vestiges of previous radical handling.

* Fixed bug with annnotation placement and added fallback postion.

* Removed unused var.

* update expected reaction svg

* Added option for always having circular highlights.

* Updated JSON to drawOptionns.

* Fixed bug in scale calculation.  Centres drawn molecule with option not to.

* Tidied up scale calculation.

* Changed atomHighlightCircles to atomHighlightsAreCircles.
Used shared_ptr for StringRect as VS barfed on unique_ptr.

* Fixed bug with reaction cruft not following now-centred molecules.

* temporary stash

* Stepped back centring of molecule by drawMolecule and fixes to drawReaction prompted by it.

* allow annotations to be disabled at the class level.
disable them for MolDraw2DCairo on win32 (where they just don't work)

* some test cleanup

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
2020-03-20 13:54:45 +01:00
David Cosgrove
774892a9ab 2ddrawenhancements2931 (#2979)
* First pass of fixing layout of OH/NH type drawing.

* Fixed scale for N/S NH type groups.

* Fixed bond end points with new display of heteroatoms.

* Fixed case where it drew aromatic dashed bonds in wrong ring for morphine.

* Minor edit.

* Fixed non-drawing of chiral bonds.

* Removed use of boost for_each.

* Modern atom traversal.

* Put in fixed scale for drawings.
Made drawMolecule() take note of prepareMolsBeforeDrawing.
Updated more iterators to modern idiom.

* Added fixed bond length for drawing.

* Fixed drawing of CH4, NH3 etc.

* Stash of working but ugly, prior to re-work.

* Better, simpler splitting of atom symbols.

* Took clang-tidy's advice about use of override.

* Tidied up drawing of text strings.

* Tweaked what is classed as vertical bond in drawing.

* fixedBondLength now down-scales if it would overflow the draw window.

* Some tidying.

* Tests for new parameters in JSON.
Fixed some existing tests where, for example, scale on picture is now different.

* Added option to rotate 2D draw coords before drawing.

* First pass at highlighting atoms in multiple colours.  Circles only at the moment.

* Line width scales if big enough.

* Tweaked SVG text drawing.

* Added highlighting with more than 1 colour on an atom.  C++ only.

* Fixed some issues with widths of highlights in a frustrating game of whackamole.
Updated some tests accordingly.

* Added Python wrapper for new drawing code.

* Removed debugging writes.

* Added C++ test for multi-coloured highlights.

* Added python test for multi-coloured highlights.

* Attempt to show radicals.

* Tidied up radicals in drawing, including a bullet instead of full stop in SVG.

* Fixed catch_tests.cpp for MolDraw2D.

* Fixed crash in Python wrappers on OSX.

* Fixed test5_2.svg bug (trailing </tspan>).
Made wavy line width scale as other lines do.

* Improved placing of charges.

* We're already in the future.

* Fixed a number of bugs that made drawMolecules not set the scales properly.

* Fixed Cairo wavy line width.

* Fixed non-closure of collision boxes.

* Added maximum font size for text, with tests.

* Addressed all Greg's first PR change requests.

* Fixed crash in extractAtomsymbols.

* stop using coordgen and adjust tests to reflect that
there's a bit of reformatting in here too

* Fixed layout of reactions.

* Fiddled with moldraw2DTest1 tests again.

* Fiddled with catch test.

* Fixed istope postion in W atom labels.

* Minor tweak to cairo,

* update expected results

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2020-03-10 17:33:59 +01:00
Ric
9188c70a64 Override what() in exceptions (Addresses #2920) (#2928)
* 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>
2020-02-05 08:20:17 +01:00
Greg Landrum
abadada1a2 Parse and handle the stereoCare or STBOX flags in CTABs (#2917)
* 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
2020-02-03 15:55:57 -05:00
Greg Landrum
d41752d558 run clang-tidy with readability-braces-around-statements (#2899)
* 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
2020-01-25 14:19:32 +01:00
Greg Landrum
857f051fff should have been fixed as part of #2869 (#2894) 2020-01-22 07:40:55 +01:00
Greg Landrum
9664a354a2 Fixes #2790 (#2869) 2020-01-10 17:34:27 +01:00
Eliane Briand
a9066a55dc Rename RDK_OPTIMIZE_NATIVE to RDK_OPTIMIZE_POPCNT as suggested in #916 (#2865) 2020-01-09 10:07:44 +01:00
Mieszko Manijak
5e012ab8d2 Improve PostgreSQL cartridge install documentation (#2870)
* patched the Makefile

* Updated PG cartridges README

* Updated PG cartridges README, link fix

* Update README

* Update README

Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
2020-01-09 10:04:23 +01:00
Greg Landrum
4932d680a6 fixes #2700 (#2767)
uses the extra_float_digits argument to fix this
2019-11-15 16:46:10 +01:00
Greg Landrum
9bd07f29a8 update expected cartridge test results 2019-10-18 06:11:24 +02:00
Greg Landrum
76629039e6 Fixes #2668 (#2670) 2019-10-10 17:57:44 -04:00
Greg Landrum
131941fc53 support the new hashing code in the cartridge (#2671)
* update expected results due to older SVG changes

* add the new molhash to the cartridge

* cartridge version bump

* changes in response to review
2019-10-10 10:13:49 -04:00
Greg Landrum
e7eca3a8a0 first pass at switching to a normal download (#2609)
The ExternalProject thing is just more trouble than it is worth
2019-08-19 13:45:25 -04:00
Greg Landrum
dd21db1b06 Integrate Unique Ring Families from RingDecomposerLib (#2558)
* 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
2019-07-30 06:41:55 -04:00
Greg Landrum
e4a739d4b7 update expected SVG output from cartridge (#2520)
The change came about because of the fixes in #2487
Thanks to @rvianello for pointing it out
2019-06-28 10:09:16 -04:00
Greg Landrum
ec31bea97b clang-tidy-7 pass (#2408) 2019-04-16 12:05:47 -04:00
Greg Landrum
6ea02fc8a0 update expected svg results (connected to #2253) 2019-03-09 04:25:13 +01:00
Brian Kelley
373a89021e Change boost int types to std types (#2233) 2019-01-22 17:45:03 +01:00
Jan Holst Jensen
6c1dc44310 Fix for Issue #2174. (#2175)
* Add test case to demonstrate GitHub issue 2174.

* Fix issue 2174.

* minor cleanup from review
2019-01-15 15:51:49 +01:00
Jan Holst Jensen
dd6165c8af Fix #2176: InChI functions should return NULL on un-InChI-able input molecules. (#2177)
* Add check of returned string from InChI helper functions and convert to NULL when blank string is returned (a valid InChI string or InChI key will never be blank).

* Since MolInchi() and MolInchiKey() will never return a NULL pointer, I have removed the check for NULL.
Hopefully the intent of the code is now clearer.
2019-01-11 04:51:25 +01:00
Petr Kubat
2c95be4c2c PgSQL: fix boolean definitions for Postgresql 11 (#2129) 2018-10-24 04:48:59 +02:00
Greg Landrum
47bcff20a1 Fixes 1916 (#2093)
* backup commit

* finish adding reaction_to_svg()
Fixes #1916
2018-10-08 22:28:29 +02:00
Pavel Raiskup
d4a17f94d2 PgSQL: add support for PostgreSQL_CONFIG cmake var (#2014)
This is useful for installations where pg_config is renamed to not
collide with the system default pg_config name.

We should drop 'find_package(PostgreSQL REQUIRED)' statement in
future because that's supposed to find PostgreSQL client library
to build against, not PostgreSQL server.  It might happen that
PostgreSQL server on the system is of different version than libpq
(Debian), but in future it will be problematic also on Fedora
(rhbz#1618698).

See also: https://gitlab.kitware.com/cmake/cmake/issues/17223
2018-10-07 05:00:19 +02:00
Greg Landrum
2f6c62ee59 update expected cartridge regression results
should have been part of #1997
2018-08-16 05:22:39 +02:00
Greg Landrum
81025953fc these should have been updated as part of #1940 (#1981) 2018-07-30 11:21:51 +02:00
Greg Landrum
2738c35178 Fixes #1903 (#1971)
* Fixes #1903

* update SWIG bindings too
2018-07-25 09:14:17 +02:00
Greg Landrum
3ff4316f05 Fixes #1886 (#1890)
* mark most cartridge functions as parallel safe

* version bumps
2018-06-17 13:33:56 +01:00
Greg Landrum
77078eac66 Add an auto-populated file with cmake config options (#1874)
* this is a rough first pass, needs to be finished and is a strong argument for changing the names of some of the #defines that are currently used

* rationalize the rest of the #defines
add something to the release notes about this
2018-06-09 05:41:28 +02:00
Paolo Tosco
97d147b3f1 - fixes the dynamic/static library CMake logic (#1875) 2018-05-27 07:13:03 +02:00
greg landrum
c75ac4fad5 update expected results from psql tests (connected to #1866) 2018-05-25 08:18:16 +02:00
Paolo Tosco
c08ea49bda - enable building DLLs on Windows (#1861)
* - enable building DLLs on Windows

* - export.h and test.h are now auto-generated by CMake
2018-05-16 08:42:41 +02:00
Matt Swain
a6354d1501 Make svg xmlns prefix use more consistent (#1866)
Set svg as the default xmlns, so no prefix is needed for every svg tag. Also remove all code in python wrappers that stripped these prefixes.
2018-05-14 17:07:55 +02:00
Greg Landrum
26f1f4cf01 builds on ubuntu 18.04 (#1858) 2018-05-10 05:04:39 +02:00
Greg Landrum
a7be90a2ae fix a problem with the cartridge tests caused by coordgen not being the default 2018-02-19 17:09:32 +01:00
Greg Landrum
42eecc664d Integrate Coordgen (#1708)
* first pass, does not yet actually work

* pass2, same problems

* pass2, same problems

* another test

* new tests; bugfix

* move the code out to a header

* add a double bond example

* enable auto-downloads of the code

* move the function to its own namespace

* first pass at a basic python wrapper

* change coordgen commit used

* try supporting bond stereo; does not currently work

* cis/trans seems to now work.

* first pass at templates; needs testing

* use the fixed flag too

* need mol align

* expand test

* initial pass at python wrapper for template

* simplify tests

* add an option to directly use a substructure match for alignment

* scaling

* add #define

* Define a cache setting for RDK_COORDGEN_LIBS to allow these to be used in other packages

* return the conformer id from addCoords

* Make CoordGen the default when it’s available.
This is a backup commit… the tests don’t even come close to passing.

* add some debugging options for a bit

* add alignment step to testing when using non-fixed coords

* Add global to allow use of CoordGen to be disabled
get the basic depictor tests working

* make coordgen the default when it is available

* make sure things continue to work when coordgen is disabled

* get windows builds working

* mods to get this building on windows.
something is screwy with the fileParsersTest1

* no need to generate coords for the 1K C string

* fix java wrappers

* works on linux

* update the (stupid) way dependencies were handled on windows.
this allows a lot of cleanup of cmake files (still more to do)
the linux build is unlikely to work due to the way _statics aren't handled

* docs

* extend forceRDKit applicability

* switch coordgen version

* try using templates

* try to get the template dir finding reasonably robust w.r.t. conda install

* continuing to iterate on the way the template file is installed

* fix a problem caused by the merge

* remove test that should never have been checked in

* update expected results for cartridge tests

* switch back to using the RDKit as the default coordinate generator
2018-02-15 05:36:03 +01:00
Paolo Tosco
2c86fbb2ec - updated the PgSQL README (#1722) 2018-01-31 08:00:40 +01:00
Paolo Tosco
fedd735d1a - cosmetic fix of an indentation (#1717)
- added dependency from Boost include files to COde/PgSQL/rdkit/CMakeLists.txt to allow conda rdkit-postgresql95 build
2018-01-21 07:16:54 +01:00
Greg Landrum
d15efc1ac9 Make the defaults for some functions less error prone. (#1690)
* auto generate coords in mol block writer if includeChirality = True

* default to include chirality when writing mol blocks/files

* make isomeric smiles the default; note that not all tests are passing at the moment

* update a reaction test

* update expected cartridge search results
at this point all python, c++, and cartridge tests pass

* docs

* update incompatibility docs

* update doctests

* these now build

* minor example update

* update expected c++

* typo

* make allowCXSMILES=true the default

* add auto perception of chirality when reading 3D structures from mol blocks

* explain changes in release notes

* further doc update
2017-12-22 08:09:36 -05:00
Greg Landrum
1efa8e696e another clang-format run 2017-10-12 06:42:15 +02:00
Greg Landrum
f94e277856 another pass of clang modernize 2017-10-12 06:35:51 +02:00
Greg Landrum
db89172bf8 handle the heavy-atom degree queries differently (#1560)
* handle the heavy-atom degree queries differently

* Fixes #1563

* add a test for the heavy atom degree option

* Support (and test) adjustHeavyDegree in the cartridge too.

* test results
2017-09-12 16:10:15 -04:00
Greg Landrum
3ddb54aeef Fix #1496 (#1517)
* switch from using `[D0]` to `[*]` to ensure single atom fragments are correctly handled in the pattern fingerprint;
Fixes #1496

* update expected reaction similarity results
2017-08-15 13:00:30 -04:00
Paolo Tosco
eec17536fb - fixes PgSQL CMakeLists.txt to enable conda build on Windows (#1457) 2017-06-29 20:31:41 +02:00
Greg Landrum
3a557df24b modify pattern fp order; update expected psql results (#1399)
* move the new pattern to the end of the list so that existing bit definitions stay constant

* update expected results for psql tests
2017-04-19 11:57:48 -04:00
Greg Landrum
c904791f26 fix compatibility with PostgreSQL 9.2 (#1189)
* fix compatibility with PostgreSQL 9.2

* get tests working on pgsql92; the Makefile does not currently work

* simplify 9.2 handling

* seems to work on 9.6 and 9.2 now
2016-12-05 14:31:42 +01:00
Riccardo Vianello
85ef5d1c2d add missing $RDKLIBS 2016-11-13 21:30:18 +01:00
Greg Landrum
5943f064f0 additional AdjustQueryParameters options for cartridge 2016-11-06 09:41:48 +01:00
Greg Landrum
1b946794f0 replaceBond and generic atoms and bonds in adjustQueryProperties() (#1141)
* first pass at RWMol::replaceBond()

* get ready for the changes

* rename some options
add bond options (not doing anything with them yet)
update tests to reflect new options

* backup

* re-enable the rest of the tests
2016-11-04 12:41:06 +01:00