mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-04 21:54:27 +08:00
* update AvalonTools to version 2.0.1 * Improvements to 2D depiction and alignment/RMSD calculation - Refactored the straightenDepiction code which is now much simpler and more readable and supports a minimizeRotation parameter - added C++, Python and JS tests for the new minimizeRotation parameter - refactored tests to use CalcRMS rather than an internal implementation to compute RMS deviations - Removed duplicated code in CalcRMS() and getBestRMS() and made their APIs consistent with respect to supported parameters IMPORTANT NOTE: for backwards compatibility I set the CalcRMS() default for the new symmetrizeConjugatedTerminalGroups to false as this parameter was not originally supported. @greg: I would be very much in favor of setting this to true instead if you agree, even though it might change results for existing scripts, as I think it is a much more sensible default. - Improved documentation to clarify the difference between CalcRMS() and getBestRMS() - Added unit tests for CalcRMS() as there was none previously - Added tests for the additional CalcRMS() and getBestRMS() parameters - Added a new getBestAlignmentTransform() function - The CFFI function set_2d_coords_aligned() now returns the matching atoms similarly to the C++, Python and JS counterparts IMPORTANT NOTE: this required an API change for the additional char ** parameter used to return the match. Existing code using set_2d_coords_aligned() will fail to compile and will require a last NULL parameter to be added to compile again - Removed duplicated code between CFFI set_2d_coords_aligned() and JS generate_aligned_coords() - Added has_2d_coords() to the CFFI library - generate_aligned_coords() now supports JSON parameters and the previous versions are deprecated - set_2d_coords_aligned() and generate_aligned_coords() both support an alignOnly parameter (which defaults to false). If set to true, rather than re-generating a fresh 2D layout around templateMol, the existing coordinates (if any) are simply aligned to the provided templateMol. If the molecule has no coordinates, a set of 2D coordinates is generated independently of templateMol and then aligned to the provided templateMol - avoid that when acceptFailure is false set_2d_coords_aligned() and generate_aligned_coords() overwrite existing coordinates * - explicitly link testDepictor to MolAlign library * - add MolAlign dependency to testDepictor (rather than to the catch test as in the previous commit) - add a couple of tweaks * suppress compiler warnings (1st pass) * warnings: 2nd pass * warnings: 3rd pass * - alignOnly mode should also support allowRGroups * - fixed C++ build - added tests for allowRGroups+alignOnly combination * changes in response to review * added an entry to backward incompatible changes regarding set_2d_coords_aligned() Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
11 KiB
11 KiB