* This makes assignStereochemistry cleanIt=True not remove CIS/TRANS
bond stereo chemistry that was manually added as described in issue #1614.
Incorrect CIS/TRANS stereochemistry will still be removed by
'cleanIt=true' if symmetry is detected. However, this symmetry
detection doesn't work in more complex pseudo-stereo chemistry cases:
bond stereo that depends on other bond stereo to break symmetry; and
bond stereo that depends on other atom stereo centers to break
symmetry. Test cases for these cases have been added ifdef'd in based
on USE_NEW_STEREOCHEMISTRY.
However, getting USE_NEW_STEREOCHEMISTRY to work in a copacetic way is
not trivial, I tried a little bit here to no avail. I'm leaving the
test cases checked in as they should be useful when we decide to make
the plunge into using Canon::chiralRankMolAtoms for symmetry detection
instead of the CIP ranks.
So this fixes at least the glaring issue of STEREOCIS and STEREOTRANS
being incorrectly removed by 'cleanIt=true' when it is indeed valid
stereo. The checks made for symmetry are rudimentary, but don't feel
complete.
* add another test; make what's being tested explicit
* test smiles generation and function when Hs have been added
* add a test that fails
* I think that it's ok to remove this
* backup
* At this point all tests pass.
Bond wedging is now handled even if sanitization is turned off when mol files are read
* adjust to code changes
* fix a couple problems caused by rebase
* update docs
* first steps towards flexible colour palettes
* add B&W palette and a test for it
* add python support;
this is, once again, not the best API due to the inability to auto-translate boost::tuples at this point
* more palette control from python
* rename some of the swig-wrapped types to make them more consistent
* handle palettes that do not have a default value
* expose and test GetDrawCoords()
* very basics are working; still loads of work to do
* very basics are working; still loads of work to do
* symbols and arrows kind of work
* switch to Nadine's approach for drawing
needs more work (like arrows and pluses) but already is not too bad
* better, but agents still to close to arrow and arrow is too short
* add a test for rxns without agents
* fix picking of cid;
drawing reactions without reactants or without products should in theory now work, but additional work is needed to get the arrows to show up
* make reactions without reactants or without products draw properly
* tweak vshift a bit; would be good to have a better solution to this
* do not draw H2O as OH2
* add option to use highlighting to show atom maps
* highlight bonds too
* cleanup
* add drawReaction to the python wrapper
* docs
* remove some printing
* fix (for real) the drawing of degree zero atoms
* ensure ring finding gets done; add some more tests
* add some SMARTS-based tests; these do not work
* improve reactant highlighting in rxn drawing
- define default colors for highlighting of reactants, atom or bonds
in the drawing options
- make highlighting colors customizable through the API
* rename to test4 in prep for merge
* temporarily disable test4 since it does not work anyway
* fix some kekulization problems
* fix YA unicode problem
* remove a stupid typo
* Fixes#1271
* add a comment or two
* fix single-atom molecules too
* add a test for grid drawing too
* simplification of the special cases; no need to make things so complex
* a bit of header cleanup
* Fixes#1106
* First pass, basics.
Still need tests and handling of parameters.
* initial pass at including JSON parsing of options (not complete)
* handle errors while parsing json instead of just crashing the server
* updated (and working) JSON configuration
* first drawing tests
* document the new function
* it helps to save before committing
* Add an initial version of wavy bonds
Used for attachment points and unknown stereochem
This is not a perfect implementation, but is a decent place to start
Currently only supports SVG and Cairo canvases.
* code review cleanup
* Fixes#982
also changes bond-wedging algorithm to favor lighter non-ring bonds
* prefer wedging bonds to lower-degree atoms
* Fixes#983
* small fixes
- Fix a problem where a chiral atom is selected to draw a wedge to instead of a ring atom
- Fix a problem where two calls to PrepareMolForDrawing() led to two wedged bonds from an atom.
* Fixes#985
This isn't the most satisfying solution (the wedged bonds are sometimes a bit too large), but it gives reasonable results on the test cases I've tried.
* A big step towards solving #910
1) Rank atoms by inverse atomic number (ensures Hs go last)
2) Use heavy-atom degree when doing layout (ensures Hs do not change gross geometry)
* basic testing
* take degree into account with ranks too
* further improvements of relative ranking.
definitely need some cleanup of this now
* some cleanup
* add an explicit test
* Fixes#852
The test added is the usual thing for the drawing code: produce some files for visual inspection.
* limit the number of lines in a short wedge