RDKit - transform

Deleting

m = Chem.MolFromSmiles('CC(=O)O')
patt = Chem.MolFromSmarts('C(=O)[OH]')
rm = AllChem.DeleteSubstructs(m,patt)
Chem.MolToSmiles(rm) # 'C'

Replacing

repl = Chem.MolFromSmiles('OC')
patt = Chem.MolFromSmarts('[$(NC(=O))]')
m = Chem.MolFromSmiles('CC(=O)N')
rms = AllChem.ReplaceSubstructs(m,patt,repl)
rms # (<rdkit.Chem.rdchem.Mol object at 0x...>,)
Chem.MolToSmiles(rms[0]) # 'COC(C)=O'

maximum common substructure (MCS)

from rdkit.Chem import rdFMCS
mol1 = Chem.MolFromSmiles("O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C")
mol2 = Chem.MolFromSmiles("CC(C)CCCCCC(=O)NCC1=CC(=C(C=C1)O)OC")
mol3 = Chem.MolFromSmiles("c1(C=O)cc(OC)c(O)cc1")
mols = [mol1,mol2,mol3]
res=rdFMCS.FindMCS(mols)
res # <rdkit.Chem.rdFMCS.MCSResult object at 0x...>
res.numAtoms # 10
res.smartsString # '[#6]1(-[#6]):[#6]:[#6](-[#8]-[#6]):[#6](:[#6]:[#6]:1)-[#8]'

Fingerprinting and Molecular Similarity

Morgen / Circular fp

Explain FP

Similarity Maps = atomic contributions to the similarity between a molecule and a reference molecule.

Descriptor

ExactMolWt, HeavyAtomCount, MolLogP

contribution in sim_map

Last updated

Was this helpful?