bioisosteric replacements

Using currently available nodes, is it possible to do bioisosteric replacements on molecules by specifying these in another input table?

Medicinal chemistry books contain some classical and non-classical bioisoteres for example. One could  generate addition rows/structures by making 1 or more of these replacements.


Now I really like that idea. A way I could imagine it to work is by doing a substructure Matcher search and choose to highlight the matched fragment. These results are then run through a "Bioisostere Enumerator" node which looks at the highlighted fragment and replaces it with all known isosteres.

So if you searched on carboxylic acids and then run it through the Bioisostere enumerator, all the acids will be replaced with tetrazoles.

Some simple bioisostere examples are below, there are many more:

Carboxylic Acid to Tetrazole

Amide to Oxazole

FluoroBenzene to CyanoBenzene to Pyridine.




This may be a bit outside of the request (since this is posted in the Indigo section), but I thought it may be of use to add an alternative strategy into the mix that uses the RDKit 'One Component Reaction' node.

Basically, the requirement will always come down to your knowledge database - in this case virtual reactions to represent the bioisosteric replacements.  The RDKit reaction node will accept either a 'reaction SMARTS' or a path to an RXN file as input.  The looping nodes can be used to iterate over either a folder of RXN files, or a table of rSMARTS definitions, and process a list of molecules, looking for functional groups that match.

I have attached a simple example workflow that demonstrates the approach with acid->tetrazole and tetrazole->acid definitions.  I hope this is of some use, and - once again - apologies for hijacking an Indigo thread(!), but it may give ideas for future nodes, as suggested by Simon above.

Kind regards


Damn. Had the same idea.

James, if you collect together a good list of literature transformations, you should definitely try and publish an article to promote KNIME to the wider med chem community.

(the other) Simon

Hi James, Simon and Simon,

Great minds think alike, etc.

I am just implementing what you described, using the RDKit reaction node + a list of transformations.

Now, the nice thing is that you can extract really interesting transformations using the ErlWood MMP detection node. This would allow you to go beyond the traditional (=boring) bioisosteric replacements.

Got the hint now?  ;)



George Papadatos

Hi George,

Great to see you are actually doing it - rather than just talking about doing it like I was!  :)

I would be very interested to see what you come-up with, using the excellent MMP node!

Kind regards



PS  I think this Indigo thread may have been well-and-truly hijacked now!  Maybe a new thread start in the RDKit (or Erl Wood?) section if you post an example, plus link from here?

Hi James,

Thanks for your feedback. A new thread for Erl Wood nodes is something that we really should provide soon.


Hi all,

I was just read this older thread and coincidentally I implemented the MedChemTransformer node last week. You can start from a complex, split it into receptor and ligand, pipe the ligand into an (also new) atom selector node which let you select the atoms to change graphically, pipe the selection into the MedChemTransformer. The reactions can be piped into the node as RxnCells and an additional pharmacophore model can be piped into the node by an optional model port. The node will be included in the next version of the MOE nodes. If you would like to test the node in advance, please send me an email :-)



Hi Guido - that sounds great!  I would definitely like to test the node, so will confirm with an email now!

Kind regards