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

Reply via email to