RDKit two component reaction issues

Hi I have a reaction enumeration where I am reacting a set of acids to 1 amine and have 2 issues:

  1. The amine is reacting with esters as well as amines (I want to leave the esters in as a possible substituent)
  2. I get an error or “A product molecule could not be sanitized successfully - skipping it”

In general I get all the right compounds out with a few reacting at the ester instead.
Amide enumeration.knwf (99.8 KB)

Thanks for reporting, @AlisonDS,

I’ll tag @manuelschwarze who can maybe help out here :slight_smile:



1 Like

Sorry, I guess this requires too much chemistry know-how, which I do not possess. Adding @greglandrum … could you please help here?

1 Like

@AlisonDS, would you please provide the starting acids? Otherwise, troubleshooting this is going to be almost impossible.

It would be easiest if you uploaded the workflow along with the sd file to your public KNIME Hub space.

Hi @elsamuel I have added the work flow and my sdf to the KNIME public forum.

Thanks very much with any help you can provide. I am new to KNIME and just getting to grips with setting up workflows.

Thanks Alison

@AlisonDS, your workflow also includes a reference to an Amide formation4.rxn file which you didn’t provide, so I can’t really tell what went wrong in your case.

I got this reaction to work:

Some of the acids are diacids, and so the product list contains a product for the reaction of each acid group.

For this exercise I used the reaction SMARTS string:


I tend to use these instead of rxn files, but a rxn file could work as long as it’s constructed properly.

I assume you already know how SMARTS strings work, but for the sake of people who come across this post in the future and are trying to interpret this, here are some things to note:

  1. I’ve specified atoms using their symbols in most cases, but for carbon I use its atomic number. This will match both aromatic and aliphatic carbons. This can be modified if you want to be more specific with the reaction scheme.

  2. I’m defining the carboxylic acid as [#6:1](=[O:2])[OX2H1:3]

    • [OX2H1:3] specifies that the non-carbonyl oxygen must have 2 connections, including 1 hydrogen. This rules out esters.
  3. I’m defining the amine as [NX3;H2:4][#6:5]

    • here I’m specifying that the amine nitrogen must be primary. If this is not desired behaviour, you can modify this
  4. The reactants are separated by a period/full stop.

  5. The reaction arrow is >>

  6. The product amide is [#6:1](=[O:2])[N:4][#6:5]

  7. I’ve assigned a number to each important atom, which helps when stitching the product molecule together.

You can use this online tool to visualize SMARTS strings:

The workflow is here:


Thanks @elsamuel - This has been really helpful and I think it was the Rxn file that was causing issues. I will look to take some time to learn more about SMARTS and your guide has been super helpful.