SDF Writer Outputs Original SDFile Property Columns even when not selected for output

I used the SDF Reader to input an SDFile with Structure and 2 properties. I then immediately wrote it back out with SDF Write and only asked for the Structure column (I left the two input property columns as not selected).  The output SDFile however had all the input columns (Structure and 2 Properties). Remarkably this is true even if I put a column filter in between the Input and Output nodes completely removing the property columns from the pipeline.   It is as if the SDFile writer knows about all the input property columns and outputs them regardless, even though they are not in the pipeline anymore.  [Knime V 2.7.1]

 [ I discovered this because in the real work flow I had renamed one of the properties with Column Rename.  I then matched with a right outer join to another input file and row split to get match and no match.  When I then output an SDFile asking for the renamed column I also got a duplicate column with the original column name.  A little detective work led to the much simpler statement of the issue given above. ]


The structure column contains the unaltered input structure, i.e. including all properties. Therefore of you write the molecule out it will still contain the properties. See also this post.

Convert your sdf to a mol format molecule first. This removes the hidden properties from the sdf block.


Or check the 'extract mol blocks' option and uncheck the 'extract sdf blocks' on the sdf reader node - then you structure column will not contain those extra 'hidden' properties.


Thanks all - that was the kind of help I was hoping to get.  I understand now.  :-)