Molecule Cleanup Node


Please can introduce a node which will recalculate the 2D coordinates of a molecule for when the molecule is not drawn correctly with different length bonds and wrong angles.



We have added the "Generate 2D Coordinates" node. The node has no options at the moment but we are going to add some features, e.g. layout for highlighted atoms, align for given structures, etc. If you have any special requests for the node, please let us know.

Best regards,


GGA Software Services LLC

Hi Alexander,

Many thanks for this cleanup node, it works great. Just what I needed!

For sure, the "align for given structures" would be a nice addition so all the compounds in the list are aligned in the same manner.



Hi Simon,

Do you need an additional input with a base structure for alignmet, or do you a field in the settings with the SMILES molecules, like it is done in RDKit?

Also alighnment can be done via substructure matcher node connected with a joiner node.


Hi Mikhail,

My personal preference would be an optional additional input with a base structure for alignment. This gives the user the most options I feel.

Any compounds which dont match the base structure are just passed out to the output without any alignment.


Hi Mikhail,

In fact what would be really exciting, is if you can supply multiple base structures to the optional second input port. The node will work by aligning structures to the first base structure, if the first base structure does not match the structure to be aligned, then it goes to the second base structure to see if this matches for alignment, if not, it moves to the 3rd base structure etc. If none match, then the structure remains unaligned, but the node does not fail.

The reason this will be useful as inevitably there are always sub platform series in an SAR dataset which undoubtedly will have different core substructures. Therefore it would be useful to have this option of multiple base structures so the entire SAR dataset can be aligned to the chemists preference.

Is this possible?