Two component reaction: chirality and Smarts

Hi everyone,


I use the Two component reaction of RDKit and it works fine except two points.

My reaction is :


The points are:

1- the chirality is not added on the product

2- my reactant n°2 can have various OH function and even with the substructure match "$(Oc1ccccc1)" the reaction is done with all the OH functions of the reactnt n°2.


If you have ideas?




Dear Lionel,

The problem with stereochemistry not being added to the product is a limitation of the RDKit. It is on the list of things that need to be fixed, but it is a challenging and not particularly well defined area, so I don't have an estimated fix date.

I am unable to reproduce the second problem: if I build a workflow using the reaction 


it only ends up being applied to OHs that are attached to phenyl rings. Can you please attach a small sample workflow that demonstrates the problem?

Dear Greg,


Thanks for your response.

Please find a protocol to demonstrate the error.

react 1 = CC(O)CC1CCCC1

react 2 = CC(O)c1cccc(O)c1

reaction = [C:1]([OH1]).[OH1;$(Oc1ccccc1):2]>>[C:1][O:2]



Dear Lionel,

The problem is with the conversion from smirks/smarts -> Rxn. The MolConverter node is removing the query information from the atoms and expressing it using a ChemAxon extension to Rxn that the RDKit doesn't support.

A solution is to use your input smirks/smarts directly via a flow variable. I've attached a reworked version of your workflow that shows how to do this.


Hi Greg,


Many thanks for your modification of the protocol, It works like a charm!