RDKit - rxn
Chemical Reactions
SMARTS-based language similar to Daylight’s Reaction SMILES
from rxn template
rxn = AllChem.ReactionFromSmarts('[C:1](=[O:2])-[OD1].[N!H0:3]>>[C:1](=[O:2])[N:3]')
rxn.GetNumProductTemplates() # 1
ps = rxn.RunReactants((Chem.MolFromSmiles('CC(=O)O'),Chem.MolFromSmiles('NC')))
len(ps) # 1 -> one entry for each possible set of products
len(ps[0]) # 1 -> each entry contains one molecule for each product
Chem.MolToSmiles(ps[0][0]) # 'CNC(C)=O'ps = rxn.RunReactants((Chem.MolFromSmiles('C(COC(=O)O)C(=O)O'),Chem.MolFromSmiles('NC')))
len(ps) # 2
Chem.MolToSmiles(ps[0][0]) # 'CNC(=O)OCCC(=O)O'
Chem.MolToSmiles(ps[1][0]) # 'CNC(=O)CCOC(=O)O'from MDL
rxn = AllChem.ReactionFromRxnFile('data/AmideBond.rxn')
rxn.GetNumReactantTemplates() # 2
rxn.GetNumProductTemplates() # 1
ps = rxn.RunReactants((Chem.MolFromSmiles('CC(=O)O'), Chem.MolFromSmiles('NC')))
len(ps) # 1
Chem.MolToSmiles(ps[0][0]) # 'CNC(C)=O'use cano-smiles to find unique set.
molecules that are produced by the chemical reaction processing code are not sanitized
sanitized <-> kekulize
Protecting Atoms from react
Molecule fragmentation
Recap
BRICS
Chemical Features and Pharmacophores
Chemical Features
2D Pharmacophore Fingerprints
Combining a set of chemical features with the 2D (topological) distances between them gives a 2D pharmacophore.
https://www.rdkit.org/docs/GettingStartedInPython.html#d-pharmacophore-fingerprints
Last updated
Was this helpful?