I’m not really aware of a way of doing this directly at the moment, however, it ought to be possible to achieve this in one of 3 ways:
- Using the RDKit Python API within a python snippet
- Using the RDKit Java API within a Java snippet (there is some discussion of how to access the RDKit API in this manner here and here)
- Writing a custom node based on the RDKit API
(These are at least vaguely in order of increasing deviation away from most people experience of using RDKit and/or KNIME!)
Most of the bits required are performed one way or another by our Templated Conformer Generation
node (see https://kni.me/n/wK3RJiystQYq5M9w), but not in a way that you can access directly. The source code might, however, give some clues as to how to implement using the Java API.
I think the key steps you would need are:
- Find the MCS
- ‘Paste’ the coordinates of the MCS match from each half of the pair onto 2 copies of the MCS structure (or delete all non-matching atoms from each structure)
- Calculate the RMSD
I hope that helps
Steve