Dear RDKit Community,

I hope you are all doing well!


Before I state the specifics of my question, I want to thank Dr. Gregory 
Landrum for creating and developing (and maintaining) RDKit, and other users of 
RDKit who have contributed directly in some form to the continual development 
and maintenance of RDKit.


As a recent newcomer to the world of cheminformatics and as a new user of 
RDKit, I have been struggling for many days on the following two questions:

1) How can I precisely define using SMARTS the reaction sites on four different 
reaction components in order to convert the original single reaction into three 
reactions?

2) Can I write a generic SMARTS query of both the reagents used and the product 
formed in the Ugi Condensation reaction?


The particular reaction (and the general description of the four reagents) is 
the Ugi Condensation:

amine + carboxylic acid + aldehyde + isonitrile


What I would like to be able to do is to convert the above single reaction into 
three reactions:

Reaction 1: amine + carboxylic acid --> Product 1

Reaction 2: Product 1 + aldehyde --> Product 2

Reaction 3: Product 2 + isonitrile --> Final Product


I am given the following: The Ugi Condensation reaction using SMARTS (for the 
SMILES-formatted chemical database I am working with) is defined as:

[U][#7:1][Np] . [#6:2][U] . [Np][#6:3][Pu] . [#6:4][Pu]  >>  
[*:2]-[*:1]-[*:3]-[*:4]


I have been encountering difficulties to break into three reactions the above 
reaction. The closest that I got is by writing the reactions as:


Reaction 1: [U][#7:1][Np] . [#6:2][U]  >>  [*:2]-[*:1][Np]

Reaction 2: [#7:1][Np] . [Np][#6:3][Pu]  >>  [*:1]-[*:3][Pu]

Reaction 3: [#6:3][Pu] . [#6:4][Pu]  >>  [*:3]-[*:4]


Essentially, the SMARTS query specifies the reactions sites based upon matching 
the Uncommon/Heavy atoms, i.e. Uranium, Neptunium, and Plutonium.


Unfortunately, these three reactions combined don't give the same product as 
the original single reaction. I am currently trying to solve it for a single 
example (all other reagents used are formatted in the same way).


I have copy-pasted the Python code I am using below.


```

# One-step Reaction Assembly of Ugi Condensation is described below
rxn_all = 
AllChem.ReactionFromSmarts('[U][#7:1][Np].[#6:2][U].[Np][#6:3][Pu].[#6:4][Pu]>>[*:2]-[*:1]-[*:3]-[*:4]')

products_all = rxn_all.RunReactants((
                             
Chem.MolFromSmiles('FC(F)(F)c1ccc(CN([U])[Np])cc1'),
                             Chem.MolFromSmiles('[U]C(=O)c1ccccc1'),
                             Chem.MolFromSmiles('[Np]C([Pu])c1cccnc1'),
                             Chem.MolFromSmiles('CC(C)(C)NC([Pu])=O')))

# Three-Step Reaction Assembly of Ugi Condensation is described below
# Step 1
rxn_step_1 = 
AllChem.ReactionFromSmarts('[U][#7:1][Np].[#6:2][U]>>[*:2]-[*:1][Np]')

products_step_1 = rxn_step_1.RunReactants((
                                           
Chem.MolFromSmiles('FC(F)(F)c1ccc(CN([U])[Np])cc1'),
                                           
Chem.MolFromSmiles('[U]C(=O)c1ccccc1')))

# Step 2
rxn_step_2 = 
AllChem.ReactionFromSmarts('[Np][#7:1].[Np][#6:3][Pu]>>[*:1]-[*:3][Pu]')
products_step_2 = rxn_step_2.RunReactants((
                               
Chem.MolFromSmiles(Chem.MolToSmiles(products_step_1[0][0])),
                                           
Chem.MolFromSmiles('[Np]C([Pu])c1cccnc1')))

# Step 3
rxn_step_3 = AllChem.ReactionFromSmarts('[#6:3][Pu].[#6:4][Pu]>>[*:3]-[*:4]')
products_step_3 = rxn_step_3.RunReactants((
Chem.MolFromSmiles(Chem.MolToSmiles(products_step_2[0][0])),
                                           
Chem.MolFromSmiles('CC(C)(C)NC([Pu])=O')))

```


I have tried to search for a solution to my question by searching through 
previous mails in the rdkit-discuss mailing list. I have been trying to get 
more familiar with the Daylight SMILES/SMARTS documentation. I have used the 
RDKit documentation to see if there is a different way I could solve these two 
questions. I have also tried ideas using R-group decomposition by following a 
few blog posts by Dr. Landrum.


All this to say, I did try to solve this question on my own. Thank you all for 
taking the time to read through my question and for taking the time to try to 
help me!



Sincerely,

Aditya Kumar
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to