In many chemical drawing programs, there exists a "2D Clean" function. This function usually has two tiers of cleaning. The first tier clean is mild: standardizing bond lengths and bond angles, but leaving the general conformation intact. The second tier is stronger: completely recomputing the 2D coordinates from scratch.
In RDKit, Generate2DCoords() does an admirable job at performing the strong version of the above. However, I haven't found anything that can perform the mild 2D Clean. What I've examined so far: 1. TransformMol(): this can scale the structure to get bond lengths close to the desired length, but doesn't help for molecules with bonds that have different lengths -- the asymmetry is preserved after the scaling. 2. Iterating through all bonds and calling SetBondLength() to a constant value: this fails for bonds that are in rings. 3. Iterating through atoms and calling SetAngleDeg() to standardize bond angles: I haven't tried this yet -- it is next on my list. However, even if this works, it won't fix the bond length part of the clean. Any other suggestions?
_______________________________________________ Rdkit-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

