* add SVG parsing to python
re-enable the moldraw2d tests
* A couple of fixes connected to #2029
* handle problems parsing atom/bond SMILES
* wrap the whole thing in the <metadata> tag
* patch a memory allocation problem in the maeparser v1.0.0 (#2044)
* add atoms
* add bonds
* backup
* Fixes#2029
* Get metadata working for drawMolecules()
* add to python wrapper
const correctness
* also connected to #2029: make sure bond direction also ends up in the output
* initial version of an SVG->ROMol parser
this is in the wrong place, but I wanted to make sure it actually works
* move svg parser to a more reasonable location
there is still some work to be done here
* add conformer parsing
* 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
* 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
* boost::thread mostly gone... still need to get rid of once
everything compiles
* replace boost::call_once
* remove link-time dependency on boost::thread
* first pass at using async
* switch to using async everywhere
* 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
* 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
* 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