There is a new KNIME forum. You can still browse and read content from our old forum but if you want to create new posts or join ongoing discussions, please visit our new KNIME forum:

Comparing molecules by Tversky similarity

Member for

4 years 10 months evert.homan_sc…


I would like to compare molecule files A and B and find all molecules in file B that have a Tversky similarity >0.8 to any molecule in file A, using structural fingerprints for comparison.

Any tips for an efficient workflow are highly appreciated!


Wed, 03/15/2017 - 04:05

Member for

5 years 3 months


Hi Evert,

I think that the following workflow should do what you need, with the following caveats.

a) The row splitter simulates File A and File B (I didn't have two SDF files with similar enough compounds).

b) Similarity calculated here is tanimoto. If you really need Tversky I think you'll need to use the Java Distance node to define the Tversky distance, and pass the output port into the Similarity Search node.



Tue, 04/04/2017 - 02:06

Member for

5 years 1 month


The Indigo 2 fingerprint similarity node will directly calculate a Tversky similarity for you.

Mon, 01/15/2018 - 04:49

Member for

4 years 10 months

I managed to combine the 2 proposed solutions, and made a workflow that generates a Tversky similarity column for each molecule of the reference molecules, by looping over them one at a time. This is still suprisingly fast.

Hopefully this is useful for other user.