Files
rdkit/Code/MinimalLib/docker
Paolo Tosco 79037b767f Enable building MinimalLib as a plain JS file for usage in legacy/headless browsers (#5999)
* - fix indentation
- fix regex check (which currently always fails)

* wip

* - added clearMolBlockWedgingInfo()
- added invertMolBlockWedgingInfo()
- MinimalLib::generate_aligned_coords() now inverts stereochemistry if a rigid-body alignment transformation caused chiality inversion
- MinimalLib::generate_aligned_coords() now clears stereochemistry if coordinates changed
- added JSMol::clear_prop() to the already existing JSMol::get_prop() and JSMol::set_prop()
- renamed commonchem to rdkitjson in JS unit test
- added relevant unit tests

* fixed mistake in logic

* - added add_hs_in_place() and remove_hs_in_place() to the JS MinmalLib
- added relevant tests

* - removed check for existence of a property ahead of clearing it as it is not necessary; updated the clearProp docstring to reflect this
- updated the MolFileStereochem.h docstrings based on review comments and fixed a typo
- fixed two (legitimate) compiler warnings as get_molblock() and get_v3kmolblock() should return nullptr and not a pointer to an empty string; added tests for this as there was none
- in MinimalLib/common.h, moved the check of whether a molecule has undergone a flip around the Z axis to a function in the anonymous namespace
- in MinimalLib/common.h, added logic to preserve original wedging (and eventually invert it) also when alignOnly is set to false, in case the wedging is all within the constrained scaffold
- added thourough testing of the wedging logic on both CFFI and JS sides

* - added equality operator to CXXAtomIter and CXXBondIter classes such that they can used with implicit loop STL algorithms
- added relevant unit tests

* fix Windows build

* - enable building MinimalLib as a plain JS file for usage in legacy/headless browsers
- support alternative way to draw an ellipse on legacy canvas without ellipse support
- update tests.js to test both the standard and the legacy version of MinimalLib
- update demo.html to work with both versions of the library and automatically select one based on browser support of WebAssembly
- fix a regression in demo.html caused by a change in signature of generate_aligned_coords

* reverted most changes

* changes in response to review

* restored demo.html
added a comment to Dockerfile_legacy_browsers explaining how to test in a legacy browser

Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
2023-01-27 10:28:48 +01:00
..