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