Commit Graph

136 Commits

Author SHA1 Message Date
Ricardo Rodriguez
73e91a6344 Fixes #7318 (#7319)
* fix hybridization for atoms with outgoing dative bonds

* expose and wrap C++ numPiElectrons

* deprecate AtomPairs.Utils.NumPiElectrons

* add & update tests

* fix draw2d test

* update expected hash

* add hybridization test

* move numPiElectrons to Atom.h

* take reference instead of ptr
2024-04-03 15:34:37 +02:00
Greg Landrum
716b38a2d8 Fixes #7140 (#7150)
* Fixes #7140

deprecates the old version and creates a new one in Chirality.h
adds it to the python wrappers

* changes in response to review

* backup

* support custom labels with templates
2024-02-12 15:50:02 +01:00
Greg Landrum
d1b9331a36 Fixes #7122 (#7126) 2024-02-03 06:47:28 +01:00
David Cosgrove
6b916c3e48 Fixes 7036 - middle line of triple bond meeting wedge (#7046)
* Before making a wedged bond meet a single bond, check if they're co-linear and skip if so.

* Write the file before the test so we can still look at it if the test fails.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2024-01-16 06:27:50 +01:00
tadhurst-cdd
d5d4d194ec atropisomer handling added (#6903)
* atropisomer handling added

* fixed non-used variables,  linking directives

* BOOST LIB start/stop fixes, linking fix

* Fixes for RDKIT CI errors

* minimalLib fix

* changed vector<enum> for java builds

* check for extra chars in CIP labeling

* removed wrong deprecated message

* fix ostrstream output error?

* restored _ChiralAtomRank to lowercase first letter

* changes for merged master

* Fixed catch label for new Catch package

* update expected psql results

* get swig wrappers building

* restore MolFileStereochem to FileParsers

* fix java wrapper for reapplyMolBlockWedging

* some suggestions

* move a couple functions out of Bond

* Merge branch 'master' into pr/atropisomers2

* merged master

* Renamed setStereoanyFromSquiggleBond

* atropisomers in cdxml, rationalize atrop wedging, stereoGroups in drawMol

* fix for CI build

* attempt to fix java build in CI

* attempt to fix java build in CI #2

* New routine to remove non-explicit  3D-geneated chirality

* changed to use pair for atrop atoms and related bonds

* Changes as per PR reviews

* PR review respnses

* PR review reponse - more

* Fix merge from master

* fixing java ci after merge

* Updated the help doc for atripisomers

* update the atropisomer docs

* improve the images

* add the source CXSMILES

---------

Co-authored-by: greg landrum <greg.landrum@gmail.com>
2023-12-22 04:58:18 +01:00
David Cosgrove
fbd548ecdd Github6968 (#6979)
* Fix bond highlighting of linear system.

* Hash code & un-comment out code.

* Response to review.
2023-12-18 06:25:23 +01:00
David Cosgrove
a868986c98 Better lasso highlighting (#6936)
* Diatomic tests working.

* Working with simple multi-atom tests.

* Most tests not working.

* Minor tidy.

* Almost working.  Failure in lasso_highlights_6.svg.

* Intersecting circles looks ok for same radius.

* All seems to be working.

* Better tests.

* Tidy up.

* More tidying.

* Fix warnings.

* Fix warnings.

* Change REQUIRE to CHECK.

* Changes after review.
2023-11-28 06:54:13 +01:00
Greg Landrum
2957ab4576 switch to catch2 v3 (#6898)
* switch to catch2 v3
Fixes #6894

* fix a couple of problems noticed in the CI builds

* more warning cleanup

* changes in response to review
2023-11-15 06:45:42 +01:00
David Cosgrove
24c11d780f Bad lasso (#6751)
* Better separation of lines.

* Only put atoms in colour list once.

* Test.

* Hash codes.

* Response to review.

* First attempt at fixing stray line.

* Tidier.

* Squared distances.
2023-10-13 15:22:29 +02:00
Greg Landrum
83cf752eb0 extract continuous lines from the conrec code (#6676) 2023-09-15 09:00:26 +02:00
David Cosgrove
9249ca5cc8 Make reaction drawings deal with padding properly. (#6686)
* Make reaction drawings deal with padding properly.

* Move large lambdas into anonymous namespace.
Correct totWidth after scaling plusWidth.

* Update some hashcodes.

* Take out debugging setting.  Bugger.

* Padding on height as well.

* Hash codes.

* Delay padding use in flexiCanvas.

* More centring.

* Light grey background in side_by_side table.

* Tweak agents layout for testReactionCoords.

* Fully ignore missing reagents and products.

* Hash codes.

* Const references.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-09-09 06:46:35 +02:00
David Cosgrove
e4419675c1 Catch meanBondLen of 0.0 (#6699)
* Catch meanBondLen of 0.0

* Change PRECONDITION to ValueErrorExecption.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-09-08 14:18:26 +02:00
Ric
8176f5c962 Fail CI builds on compiler warnings + some fixes (#6675)
* enable Werror on Mac and Linux

* do not fail on boost multiprecision pessimizing move

* fix eigen array_bounds warning

* Fix unused arg in Rascal MCS

* fix range-loop-construct warning in Rascal MCES

* fix sign mismatched comparison

* drop unused lambda capture

* allow FMCS timeout test more time under Debug (not a warning!)

* fix fwd declaration of struct RascalClusterOptions

* fix deallocator mismatch

* fix two minor leaks

* fix a real leak

* more minor leaks

* fix another real leak, plus some potential ones

* fix std::move preventing copy ellision

* allow longer run time for debug builds

* make maxBondMatchPairs and getLargestFragSize unsigned int

* make snake case camel case

* update to current master, fix new warnings

* update again and more fixes

* add #include <optional>

* fix char array deallocation

* update and fixes in Marvin writer

* unsigned int

* more copy ellision fixes

* more copy ellision fixes, and typos

* and some more
2023-09-02 04:38:45 +02:00
David Cosgrove
6fcd3b2798 Lasso highlights (#6653)
* First working lasso.

* Adjust lasso radii in non-overlapping sets of atoms.

* Move MultiColourHighlightStyle enum out of MolDrawOptions class.
Add Python wrappers.

* Update copyright notices.

* Fix bug where order of lines off arc wasn't clockwise, so circle wasn't trimmed properly.

* Use highlight_bond_map in lassos.

* Fix bug in colour selection for multi-coloured lasso bonds.

* Response to review.

* Attempt to add new option to JSON input.

* Fix bug with larger radii.

* Fix yet another bug with the arc tidying.

* Remove separate colouring of bond highlights in Lasso.

* Fix intersection between line and arc not on end of line.

* Another pernickety fix.

* Tidy.

* I should know better than to use the web editor

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2023-08-31 14:50:49 +02:00
David Cosgrove
6f70dc2a7d Github6400 (#6553)
* Fix bug where large padding gave a legend font size of 0.
The padding is now implemented by making a smaller, offset drawing area within the width_ and height_, dimensions drawWidth_, drawHeight_.  The previous drawHeight_ has been replaced by molHeight_.

* Update test results.

* Update hash codes.

* Update test results.

* Update test results for no freetype.

* Update hash codes for no freetype.

* Update hash codes for freetype.

* Update hash codes for no freetype.

* Update hash codes for freetype.

* Update expected test results.

* Update hash codes.

* Fix contour plots not being lined up with atoms.

* Fix shrinkToFit.

* Update expected test result.

* Fix typo in test name.

* Update expected test result.

* Update expected test result.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2023-08-30 12:35:33 +02:00
David Cosgrove
64550f0a26 Check for very close atoms and act accordingly. (#6583)
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-08-03 18:53:00 +02:00
Ric
d033aee043 Optionally forward Enhanced Stereo Group ids (#6560)
* add id members to StereoGroup class

* add optional read id argument to StereoGroup constructors

* add functions forward Stereo Group Ids and assign the missing ones

* update ops updating stereogroups to forward read id

* update CX Smiles to parse/write stereogroup ids

* Add test cases for stereo group id forwarding/canonicalization

* update mol block (V3K only) to parse/write stereogroup ids

* update pickling to parse/write stereogroup ids

* update cdxml parser to store stereogroup ids

* update mol interchange to parse/write stereogroup ids

* update draw code with new stere group ids

* update test

* add some tests

* Update Code/GraphMol/Wrap/rdmolfiles.cpp

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>

* Update Code/GraphMol/Wrap/rdmolfiles.cpp

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>

* Update Code/GraphMol/Canon.cpp

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>

* Update Code/GraphMol/SmilesParse/CXSmilesOps.cpp

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>

* review

---------

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2023-07-27 18:53:40 +02:00
David Cosgrove
a8d9e6de9c Don't call bondNonRing with a 2-label double bond. (#6571) 2023-07-23 06:48:40 +02:00
David Cosgrove
1e16a86648 Fix clash of molecule note with molecule. (Github 6397). (#6444)
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-06-17 06:00:27 +02:00
Paolo Tosco
a11a9ce607 fixes #6416 (#6425)
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
2023-06-02 09:33:07 +02:00
Greg Landrum
3b3f613830 Fix #6336 (#6389)
* fixes #6336

* apply the same fix to MolDraw2DJS (it is a no-op at the moment, but still)
2023-05-23 17:38:59 +02:00
Paolo Tosco
fb878bdbe4 exposed queryColour in MolDrawOptions (#6282)
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
2023-04-14 04:52:59 +02:00
Greg Landrum
93428d5048 Do not include dative bonds in ring finding by default (#6231)
* change default behavior so that dative bonds are not included in ring finding

* make sure that generating 2D coords does not lose the rings

* cleanup some leftover problems
2023-03-30 18:09:24 +02:00
David Cosgrove
0eacf48248 Github6200 (#6213)
* Multi-coloured highlights are polylines.

* Better explanation.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2023-03-23 10:57:25 +01:00
Greg Landrum
cde573d621 add features to allow drawing molecules in arbitrary positions on a large canvas (#6210)
* drawMolecule and drawMolecules should not be virtual

* clarity

* add getMolSize() and flexiMode

* changes in response to review
2023-03-22 17:27:10 +01:00
David Cosgrove
187814e77b Uncross accidentally crossed bonds. (#6187)
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-03-14 06:39:58 +01:00
David Cosgrove
8d859469c5 Fix drawing of Aminosulfimine Take 2 (#6169)
* Test for Github6160

* Basic fix.  Problem caused by 4 coordinate sulfur.

* Get the test right.

* Fix truncation of double bonds to atom symbols.

* Fix double bond lines if both ends have atomic symbol.

* Tidy.
Add hash codes.

* Response to review.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-03-06 17:37:29 +01:00
David Cosgrove
ec5d922eee Github6112 (#6113)
* drawMolACS1996 should not throw with no coords.

* Only calculate coords once.

* Scrub the last bit, it loses the coords again when changing back to ROMol *.

* Hash code check.

* Doh!

* Only generate coords once.

* Always generate 2D coords if needed.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-03-01 04:52:34 +01:00
David Cosgrove
cf52e537cb Fix small ACS1996 drawing being cropped. (#6114) 2023-02-20 23:08:45 +01:00
Greg Landrum
ac8cb939d8 Fixes #6106 (#6107) 2023-02-19 10:46:07 -05:00
Paolo Tosco
5a9a79c787 set the useComplexQueryAtomSymbols default value to true (#6102)
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
2023-02-18 13:15:16 +01:00
Paolo Tosco
53800c616c Enable optional visualization of complex query atoms in a more compact form (#6056)
* enable optional visualization of complex query atoms in a more compact form

* disable alpha channel support on legacy browsers

* - changes in response to review
- added metal queries
- fixed a docstring

* fix Windows build

* gave up and tested indirectly as I really do not want to export internal functions

---------

Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
2023-02-16 12:34:05 +01:00
David Cosgrove
d4085c6e84 Draw at least 3 dashes for a dashed wedge. (#6043)
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2023-02-06 21:21:53 +01:00
Paolo Tosco
90c7d3c5d2 fixes #6054 (#6055)
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
2023-02-05 08:14:56 +01:00
David Cosgrove
e4ece1b0f7 Bad double bond in linear group (#6028)
* Adapt allene drawing code to cope with other linear groups.

* Remove stray debugging write.

* Over-eager tidying remove key aspect of the fix.  Doh.

* Changes after review.

* Better solution that doesn't change the public API.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-02-02 04:51:37 +01:00
David Cosgrove
085e20eda8 Fix bug drawing double bond on very small canvas. (#6026)
* Fix bug drawing double bond on very small canvas.

* Changes after review.

---------

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-01-31 17:33:05 +01:00
Greg Landrum
aa1735705d Swap MolDraw2D from KekulizeMol() to KekulizeIfPossible() (#5976)
* Fixes #5974
Fixes #2164
Fixes #5971

* change in response to review
plus switch off the logging while kekulizing
2023-01-16 09:31:51 +01:00
David Cosgrove
dee548eacb Github5963 (#5978)
* Setup tests.

* Fix bug.

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-01-15 08:10:49 +01:00
David Cosgrove
6df3da0966 Fixes Github 5949 (#5950)
* Make arrowhead of dative bond a consistent number of pixels in size, based on doubleBondOffset.

* Improve test.

* Clang noticed incorrect order of panelWidth, panelHeight for some tests.

* Fix some hash codes.

* Give correct github issue number.

* Update hash codes.

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-01-11 09:37:47 +01:00
David Cosgrove
3e2af9309d Fix ellipse extremes calculation. (#5948)
* Fix ellipse extremes calculation.

* Fix tests.

* fix a typo I made during the merge

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2023-01-10 12:19:44 +01:00
David Cosgrove
4903b8ea06 Fix drawing of circles in extractVariableBonds. (#5946)
* Fix drawing of circles in extractVariableBonds.

* Prefer absolute test over relative.

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2023-01-09 17:41:42 +01:00
David Cosgrove
9657cc6d53 Draw type of SGroups (STY) in picture. (#5775)
* Draw type of SGroups (STY) in picture.

* Move drawBottomLabel from lambda to anonymous namespace.

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2022-11-26 17:30:00 +01:00
David Cosgrove
4b0a61de27 Fix right-pointing last bracket in SGroup. (#5776)
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2022-11-24 16:52:12 +01:00
Greg Landrum
cfe512ea47 Fixes #5704 (#5705)
* Fixes #5704

* update expected java results
2022-11-14 16:59:26 +01:00
David Cosgrove
eca3f4e67f Github5592 (#5596)
* Use convex hull to order points in bond highlights polygon.

* Extra comment after review.

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
2022-09-26 10:58:12 +02:00
David Cosgrove
58cdf03097 Fix 5534 (#5535)
* Fix crash in brackets extraction.

* Add hashcode, tidy.

* Remove unused variable.

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2022-09-13 15:41:52 +02:00
David Cosgrove
cbdec52048 Fixed scale (#5519)
* Make ACS mode work properly in fixed size drawers.

* Extra comment.

* Update hash codes.

* Export doLinesIntersect.

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2022-09-13 12:18:20 +02:00
David Cosgrove
40e27a65bd Fixed drawing of O in aldehydes. (#5515)
* Fixed drawing of O in aldehydes.

* Added DrawColour::operator!=.

* Remove unused variable.

* Export doLinesIntersect for test.

Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2022-09-12 04:23:38 +02:00
David Cosgrove
383af8895c Fix trans double bonds in large rings. (#5493) 2022-09-06 15:54:56 +02:00
Paolo Tosco
22e99f5e6e MolDraw2D::drawMolecules() should not crash on null molecules (#5503)
* MolDraw2D::drawMolecules() should not crash on null molecules

* changes in response to review

Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
2022-09-06 14:42:47 +02:00