Open 3D alignment node

I am having trouble with this node, in that I have a ligand with 3D coordinates (SDF & MOL2 formats) as extracted from the PDB and what I want to do is..

1. Generate an SDF library of virtual derivatives - all new virtual compounds will share the entire framework except 1 hydrogen atom, all have 3D coordinates generated using Corina.

2. Generate new 3D coordinates of these new compounds based on the bioactive conformation of the known active i.e. align in 3D.

I thought that the Open 3D alignment node would accomplish this but it never really hits the mark.....I have the SDF of the ligand library going in Port 0, then SDF of the PDB going in Port 1. 

So unless I am doing it all wrong, and despite the 3D template structure being 99% preserved in all the new molecules, it seems that the node does not do as described :-(

Any pointers at what could be going wrong?  or workarounds?

PS - it almost seems to be that post-alignment some kind of minimization is occuring. Could that be the case?

I think you're close to having it right.

The Open3DAlign node is intended to rigidly align small molecules to each other, not molecules to proteins (or ligands that are still embedded in proteins). There is no post-alignment minimization step.

If you want to align to a pdb ligand, you need a table that has an SDF (or rdkit molecule) that just contains the ligand, with proper bond types.

Once you have that, you should be able to provide your virtual derivatives (with 3D structures) on port 0 and the SDF of the ligand on port 1 and have things work.

In case you will be at next week's Knime UGM: one of the examples I will cover in the RDKit nodes workshop on Friday is doing both rigid and flexible 3D alignment with the Open3D node. Once the tutorial workflows are done (probably shortly before the workshop), I will figure out how to get them posted on the knime community server.


Thanks Greg, I tried with an alternate PDB ligand and the node seemed to work as advertised so perhaps it is just a peculiarity of the ligands that I am generating and some incompatibility with the inner workings of the alignment protocol.

The strange thing is that some of the frameworks overlap really well, others completely under-perform suggesting that there is a "whole molecule" RMSD parameter that is being met rather than a "most common substructure RMSD" parameter minimization.


The algorithm does indeed try to align as much of the molecules as possible to each other. The method by which it does this is described in the paper: