Problems with Marvin and RDKit

Hey folks,

I stumbled across a really strange problem with the Marvin and the RDKit nodes:

First, I am using the SDF Reader node to load a molecule with a salt into my workflow (please see moleculewithsalt.sdf within the moleculewithsalt.zip as well as 01.png attached to this forum post). I am using the Marvin renderer as my default renderer for SDF files.

Thereafter, I am using the RDKit Salt Stripper node to remove the salt and this seems to work perfectly fine (as you can see in 02.png attached to this forum post). The only conspicuity is, that the output table is now using the RDKit 2D depiction renderer which I don't really like. The question is: why is it ignoring my default setting?

And now things are getting really strange:

When manually switching back to my default renderer, the input molecule cannot be depicted anymore (as you can see in 03.png attached to this forum post). This makes absolutely no sense to me since the cell's content shouldn't be changed by the RDKit Salt Stripper node?! Curiously the salt stripped molecule can be depicted by the Marvin renderer.

The usage of the Renderer to Image node (please see 04.png and 05.png attached to this forum post) might shed some light on this issue. The input molecule cannot be rendered, while the salt stripped molecule can be rendered (so this is basically the same behavior as in the table view). The corresponding error message is:

Execute failed: No adapter for interface jp.co.infocom.cheminfo.marvin.type.MrvValue

The workflow illustrating the issue is attached to this post. These are the essential questions of my long post:

  • Why is the RDKit Salt Stripper node manipulating the input cell?
  • Why is the RDKit Salt Stripper node ignoring my default renderer settings?
  • Why is the RDKit icon remaining when manually switching (back) to a different renderer?

Best,
Marc 

How does it render with the multi line string? Can you copy the string out and paste it into marvin fine? 

It works on my machine running KNIME 2.10.1, RDKit 2.4.0.201408270739 and ChemAxon 2.6.3.v0135

 

The RDKit logo probably stays because RDKit has converted the column to "RDKitAdapterCell" for the molecule and "RDKitMolCell2" for the Salt stripped molecule. The renderer isn't what controls the logo on the cell, the cell type is. 

It looks like RDKit is using the new functionality where you can select any structure type (note that it is actually asking for a RDKit molecule as an input not an SDF...). So it does the conversion on the fly and keeps the SDF value in the cell also. 

Can you convert the RDKit molecule back to an SDF and then render with Marvin?

Cheers

Sam

I am using the following versions:

  • KNIME 2.11.0
  • RDKit 2.5.0.201412081840
  • ChemAxon 2.8.2.v0300

This is the multi-line string of the input molecule (cell type SdfCell), which is exactly the same in the outport of the RDKit node (cell type RDKitAdapterCell):

  SciTegic07311412382D

 21 21  0  0  0  0            999 V2000
   10.1333   -3.7792    0.0000 N   0  3
    6.0167   -3.8000    0.0000 C   0  0
    5.9792   -4.8042    0.0000 N   0  0
    2.8500   -3.0167    0.0000 C   0  0
    7.5125   -4.3417    0.0000 N   0  0
    3.0375   -4.0000    0.0000 O   0  0
    4.4542   -3.2250    0.0000 C   0  0  2  0  0  0
    5.4958   -3.0708    0.0000 C   0  0
    6.9167   -5.1458    0.0000 C   0  0
    3.7292   -2.5375    0.0000 C   0  0  2  0  0  0
    6.9417   -3.5125    0.0000 C   0  0
    9.7167   -3.0708    0.0000 O   0  5
   10.9583   -3.7792    0.0000 O   0  0
    4.0250   -4.1250    0.0000 C   0  0
    2.1667   -2.8208    0.0000 O   0  0
    9.7250   -4.4958    0.0000 O   0  0
    5.3792   -5.6042    0.0000 C   0  0
    3.1333   -1.5792    0.0000 C   0  0
    2.0000   -1.6083    0.0000 C   0  0
    4.2333   -1.7833    0.0000 H   0  0
    5.0042   -2.4250    0.0000 H   0  0
  3  2  1  0
  4 10  1  0
  5 11  1  0
  6 14  1  0
  7  8  1  1
  8  2  1  0
  9  3  1  0
 10  7  1  0
 11  2  2  0
 12  1  1  0
 13  1  2  0
 14  7  1  0
 15  4  2  0
 16  1  1  0
 17  3  1  0
 10 18  1  1
 19 18  1  0
 10 20  1  6
  7 21  1  6
  5  9  2  0
  6  4  1  0
M  CHG  2   1   1  12  -1
M  END

$$$$

This is the multi-line string of the salt stripped molecule (cell type RDKitMolCell2, in the outport of the RDKit node):

CC[C@@H]1C(=O)OC[C@@H]1Cc1cncn1C

Yes, when using the RDKit To Molecule node and SDF as destination format, rendering with Marvin works fine. Output column type is SdfCell.

I think the reason for my confusion is the fact, that the RDKit Salt Stripper node is changing the input's cell type/cell content. This is not the way a node should work in this case.

That is a (very useful) feature of RDKit that you don't have to transform into RDKit prior to using the RDKit nodes unless you want to - if you want to keep the original contents of the cell, just use an "RDKit from Molecule" node prior to the salt stripper.

Alastair