* 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
* 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>
* 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>
* Revert "Revert "Removed some code duplication between Depictor.cpp and common.h (#6368)" (#6797)"
This reverts commit 824616c5b9.
* security blanket: add back tests of the current usage pattern
* - fixed bug in get_sss_json() (#6806)
- added unit test for the above
Co-authored-by: ptosco <paolo.tosco@novartis.com>
---------
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* - implemented alignOnly mode into RDDepict::generateDepictionMatching2DStructure()
- the allowRGroups option now also supports potentially missing R groups (i.e., R groups that do not match any atom, such as those connected to generic aromatic atoms)
- added the adjustMolBlockWedging parameter (which defaults to true) to invert/clear molblock wedging information as appropriate
- added unit tests for the above new features
- added RDDepict::generateDepictionMatching2DStructure() overloads taking RDDepict::ConstrainedDepictionParams parameter for convenience
- removed some redundant RDDepict:: namespace specifications
* Fix chirality handling when the chiral atom is the first one in a SMARTS (#6730)
* Set _SmilesStart when parsing SMARTS.
* SmartsWriter should also invert first atoms, like SMILES.
* Update test cases now these SMILES match themselves as SMARTS.
* rerun bison
* cleanup a possible repeated define
* When an atom moves from the first to second position winding should flip in SMARTS (i.e. same as SMILES).
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* Some small cleanups from the UGM Hackathon (#6744)
* move definition of a couple global constants from a .h to a .cpp
* careful removal of some redundant atom PRECONDITIONS
* careful remove of some redundant ROMol PRECONDITIONS
a bit of additional cleanup
* optimization masquerading as modernization
* some more tidying
* a bit more atom cleanup
* change in response to review
* Fixes#6756 (#6780)
* update release notes and cmakelists for beta (#6788)
* move problematic functions to Chirality namespace
* - implemented alignOnly mode into RDDepict::generateDepictionMatching2DStructure()
- the allowRGroups option now also supports potentially missing R groups (i.e., R groups that do not match any atom, such as those connected to generic aromatic atoms)
- added the adjustMolBlockWedging parameter (which defaults to true) to invert/clear molblock wedging information as appropriate
- added unit tests for the above new features
- added RDDepict::generateDepictionMatching2DStructure() overloads taking RDDepict::ConstrainedDepictionParams parameter for convenience
- removed some redundant RDDepict:: namespace specifications
* move problematic functions to Chirality namespace
* added missing dependency
* let's check what is going wrong
* CoordGen tests should not run if CoordGen support is not available in the build
---------
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
Co-authored-by: John Mayfield <john@nextmovesoftware.com>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* Fixed typo in comment.
* Fixed tests that were failing on Raspberry pi. Highlight rectangle corners coming out in different orders.
* Tidy up a bit.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* Draw type of SGroups (STY) in picture.
* Move drawBottomLabel from lambda to anonymous namespace.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* First draft.
Polyline round bond joins is smaller.
Continuous highlight bonds mitre.
* Remove historical and now misleading comment.
* Mitre the continuous bond highlights.
* Better bond highlighting with not continuous highlighting.
* Updated hash codes. Extra test.
* Updated hash codes.
* Script to update hash codes automatically.
* Fix test.
* Fix test.
* Remove debugging file write.
* Removed redundant code.
* More auto.
* Removed newly redundant function.
* More explanation and an extra example/test.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* Fix bug in smoothBondJoins caused by not clearing singleBondLines_ in resetEverything.
Updated test results.
* Changes as result of review.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* Draws a hydrogen atom light blue if not drawing labels.
* Newline at end of file.
* Changes requested from review.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* make 2D coord gen more robust w.r.t. sanitization
* Fixes#5156
prepareMolForDrawing() was being called for mols without coords even if the option was disabled
This resolves that
* update expected hashes
* Started on ACS 1996 drawing mode.
Significant change (not by itself, sadly) is that MolDrawOptions::lineWidth has changed from int to double to allow for ACS requirement of 0.6px bond widths.
* Wavy lines and dashed wedges.
* Better dashed wedges.
* Rounder wavy bonds, same as SVG.
* Added FreeSans font for ACS1996 mode.
* Add help functions to write enum classes to ostream.
* Dashed wedge separation now 2.5px between line edges rather than line middles. Therefore wider gap between lines.
* Increase offset for wavy bond. Get classes for atoms and bonds in wavy bond correct.
* For SMILES input, option to force wavy and crossed bonds for unspecified stereochem.
* Tidy debugging.
* Extra space round atom labels.
* Extra space between chars in freetype string.
* Reformats.
* Change double bond offset.
* Improve ring double bonds.
* Simple non-ring double bonds all working.
* Tidy.
* All double bonds seem good.
* Remove redundant function.
Move calcTripleBondLines into DrawMol for consistency with calcDoubleBondLines.
Use doubleBondOffset for wavy lines.
* Correct spacing between FT chars.
* Tidying.
* Use MolBlock wedging if there is any. Needs to be made an option.
* If dashed wedge thick end has bonds of it, stop one dash short.
* Adjust solid wedge ends to line with attached bonds.
* Width of wedge ends now based on double bond separation.
* Change catch_tests.cpp
* Rounder waves in wavy lines.
* Dashed wedges same width even if one dash less..
* Embedded Roboto-Regular font in code.
* Fix docstrings.
* doubleBondTerminal swapped ends.
Deal with O2 - 2 terminal atoms of degree 1.
* Fix terminal double bonds.
* Slightly fatter truncated wedge bonds.
* Fix crash on complicated double bonds.
* Control more assert tests with DO_TEST_ASSERT.
* Fix 2 colour solid wedges.
Fix slanted wedge for morphine (test1_5).
* Change definittion of multipleBondOffset to fraction of mean bond length.
* Don't slant end of solid wedge to atom symbol.
* Fix wiggle separation.
* Fix 2-colour terminal double bonds.
* Fix colours on triple bonds.
* Don't attempt to draw non-existent points in triangle..
* Symmetric bond for P=O and like.
* Fix query bonds.
* Reformatting.
* Tidy up use of font.
* Add FreeSans font and license to $RDBASE/Data/Fonts.
* Draw unspecified stereo as unknown.
* Add check_file_hash.
* Tidying.
* Tidying.
* Start Python wrappers.
* Fix solid wedges for 3-connected atoms.
* Docstrings.
* Tidying.
* Alter width of bond highlights in ACS 1996 mode.
* Expose setACS1996Options and mean BondLength in Python.
* Expose drawMolACS1996Cairo in Python.
Docstrings.
* Extra padding between legend and picture in flexicanvas.
* Python tests.
* Tidy catch tests.
* Tidying.
* Fix catch tests.
* Fix no Freetype tests.
* Draw solid wedge more sensibly..
* Fix bond end at solid wedge.
* Tidy.
* Fix Python Cairo build issues.
* Fix wedge end shape for terminal double bonds.
* Hide the joins at the bond ends.
* Fix gcc pickiness.
* Extra test for no atom labels.
* Change where it looks for FreeSans.ttf for ACS1996 drawings.
* Same number of waves for wavy bonds in SVG and Cairo.
* Same number of waves for wavy bonds in SVG and Cairo.
* rename unspecifiedStereoIsUnknown to markUnspecifiedStereoAsUnknown and move to MolFileStereochem.h
* refactor use of iterators
* py docs update
* undo a bunch of bad formatting changes
* remove FreeSans
* get windows builds working
* Fix problem with Windows build.
* Changes in response to review.
* Align description of unspecifiedStereoIsUnknown in C++ to match Python.
* Still working on file open modes.
* Took out extraneous functions for drawing in ACS1996 mode, including the one that was breaking the windows build.
* Add RDKIT_MOLDRAW2D_EXPORT.
* Fix expected test results.
* Clarified warning.
* RDKIT_MOLDRAW2D_EXPORT missing.
* Windows!
* Update Code/GraphMol/MolDraw2D/rxn_test1.cpp
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* Fix#5420.
* Tidy.
* Highlights stay parallel to bonds.
* Change way DrawShapeEllipse is defined, to make it same as DrawShapeArc.
* Change way DrawShapeEllipse is defined, to make it same as DrawShapeArc.
* Make highlight circles bigger when the bond highlights missed initially.
* Update expected test result.
* Update expected test result.
* Turn on check hash code.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* Add draw option to force use of wedge information in MolBlock if present.
* Add check_file_hash.
* Move reapplyMolBlockWedging to MolFileStereochem and test case.
Expose to Python as ReapplyMolBlockWedging.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* Add test for string rectangle clashing with vector bwtween bonded atoms.
* Restrict the test to double bonds.
* Fix test for no-Freetype build.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>