Also
newmol = AllChem.ReplaceSubstructs(m, patt1, patt2, useChirality=True)
doesn't help
________________________________
From: Jan Halborg Jensen
Sent: Saturday, May 27, 2017 3:11 PM
To: rdkit-discuss@lists.sourceforge.net
Subject: ReplaceSubstructs changes chirality
The code below protonates select nitrogen atoms using ReplaceSubstructs but in
some cases the chirality is changed, despite the fact that I used
MolToSmiles(xx,isomericSmiles=True)
Any help appreciated
Output
C[C@]1(c2cc(NC(=O)c3ccc(C#N)cn3)ccc2F)N=C(N)OCC1(F)F [NX2;H0] [NH+]
C[C@@]1(c2cc(NC(=O)c3ccc(C#N)cn3)ccc2F)[NH+]=C(N)OCC1(F)F
C[C@]1(c2cc(NC(=O)c3ccc(C#N)cn3)ccc2F)N=C(N)OCC1(F)F [nX2;H0] [NH+]
C[C@]1(c2cc(NC(=O)c3ccc(C#N)c[nH+]3)ccc2F)N=C(N)OCC1(F)F
code:
from rdkit import Chem
from rdkit.Chem import AllChem
smartsref = ( ('[NX2;H1]','[NH2+]'),
('[NX2;H0]','[NH+]'),
('[nX2;H0]','[NH+]'))
smiles = "C[C@]1(c2cc(NC(=O)c3ccc(C#N)cn3)ccc2F)N=C(N)OCC1(F)F"
m = Chem.MolFromSmiles(smiles)
for (smarts1, smiles2) in smartsref:
patt1 = Chem.MolFromSmarts(smarts1)
patt2 = Chem.MolFromSmiles(smiles2)
if(m.HasSubstructMatch(patt1)):
newmol = AllChem.ReplaceSubstructs(m, patt1, patt2)
for ion in newmol:
ion = Chem.MolToSmiles(ion,isomericSmiles=True)
print smiles,smarts1,smiles2,ion
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss