Re: [Rdkit-discuss] chirality assignment
Rintarou, On Tue, Feb 7, 2017 at 9:25 AM, Suzuki, Rintarou wrote: > > For the second point, atoms 6 and 8 can be inverted by RDKit_2015_03_1. > > RDKit_2015_03_1 > - > >>> mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@]13O[C@]21[C@ > @H]1C[C@H]3[C@@H]2O[C@@H]21') > >>> m=Chem.AddHs(mol) > >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) > > [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, 'S'), (8, 'S'), (9, 'R'), > (11, 'S'), (12, 'S'), (14, 'R')] > > >>> AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 1, > clearConfs = False ) > > 0 > The older version had less strict tests when checking the "reasonableness" of the embedded structure. > > >>> Chem.MolToSmiles(Chem.RemoveHs(m), isomericSmiles=True) > > 'C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@]13O[C@]21[C@@H]1C[C@H]3[C@@H]2O[C@ > @H]21' > > - > This conformation is different from that of > 'C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@@]13O[C@@]21[C@@H]1C[C@H]3[C@@H]2O[C@ > @H]21' > in previous mail. > > > It is strange at first glance that such atoms on the axis of symmetry > have chirality. > Looking at the molecule in Marvin you can see that two atoms in the middle each have four different neighbors: [image: Inline image 1] This causes them to be perceived by both Marvin and the RDKit as chiral centers. > > But RDKit judges atoms 6 and 8 as achiral in the following two isomers > with lower symmetry. > > C1[C@@H]2[C@@H]3O[C@@H]3[C@H]1C13OC21[C@@H]1C[C@H]3[C@H]2O[C@H]21 > C1[C@@H]2[C@H]3O[C@H]3[C@H]1C13OC21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21 > Here's the first of those, those two bridging atoms now have two identical neighbors: [image: Inline image 2] Best, -greg -- 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
Re: [Rdkit-discuss] chirality assignment
Hi Greg, Thanks for your quick response. I look forward to more flexible version of the command. For the second point, atoms 6 and 8 can be inverted by RDKit_2015_03_1. RDKit_2015_03_1 - >>> mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@]13O[C@]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21') >>> m=Chem.AddHs(mol) >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, 'S'), (8, 'S'), (9, 'R'), (11, 'S'), (12, 'S'), (14, 'R')] >>> AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 1, clearConfs = >>> False ) 0 >>> Chem.MolToSmiles(Chem.RemoveHs(m), isomericSmiles=True) 'C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@]13O[C@]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21' - This conformation is different from that of 'C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@@]13O[C@@]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21' in previous mail. It is strange at first glance that such atoms on the axis of symmetry have chirality. But RDKit judges atoms 6 and 8 as achiral in the following two isomers with lower symmetry. C1[C@@H]2[C@@H]3O[C@@H]3[C@H]1C13OC21[C@@H]1C[C@H]3[C@H]2O[C@H]21 C1[C@@H]2[C@H]3O[C@H]3[C@H]1C13OC21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21 Rigards, Rintarou On 2017/02/07 14:42, Greg Landrum wrote: > Hi Rintarou, > > On Tue, Feb 7, 2017 at 6:23 AM, Suzuki, Rintarou > wrote: > >> Dear All, >> >> I'm generating conformation of a molecule: >> >> C1C2C3OC3C1C13OC21C1CC3C2OC21 >> >> >> This molecule has many chiral centers and 10 possible isomers. >> >> EmbedMolecule command of RDKit_2015_03_1 can generate every isomer but >> RDKit_2016_09_3 fails in 9 of 10. >> > > There are two things going on here. > > In the first case: > > >> For example, >> >> RDKit_2015_03_1 >> - > mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@@]13O[C@ >> @]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21') > Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) >> >> [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, 'R'), (8, 'R'), (9, 'R'), >> (11, 'S'), (12, 'S'), (14, 'R')] >> > m=Chem.AddHs(mol) > AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 1, >> clearConfs = False ) >> >> 0 >> - >> >> >> RDKit_2016_09_3 >> - > mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@@]13O[C@ >> @]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21') > m=Chem.AddHs(mol) > Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) >> >> [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, 'R'), (8, 'R'), (9, 'R'), >> (11, 'S'), (12, 'S'), (14, 'R')] >> > AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 100, >> clearConfs = False ) >> >> -1 >> > > I will need to check, but this is likely due to one of the checks added in > the last release that was designed to prevent ugly structures in systems > like this one. It looks like those checks are a bit too strict and need to > be made more flexible (or, likely better, you should be able to turn them > off) I'll add something for that. Thanks for reporting the problem. > > - >> >> >> Two chiral centers in this molecule are stereo-dependent (6th and 8th >> atoms). >> Conformation of molecule without assignment for these atoms can be >> generated, but the chiralities remain unassigned. >> >> RDKit_2016_09_3 >> - > mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1C13OC21[C@ >> @H]1C[C@H]3[C@@H]2O[C@@H]21') > Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) >> >> [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'R'), >> (11, 'S'), (12, 'S'), (14, 'R')] >> > m=Chem.AddHs(mol) > AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 100, >> clearConfs = False ) >> >> 0 >> > Chem.AssignAtomChiralTagsFromStructure(m) > Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) >> >> [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'S'), >> (11, 'R'), (12, 'S'), (14, 'R')] >> > opt = AllChem.UFFOptimizeMolecule( m, maxIters = 1, confId=0) > ff = AllChem.UFFGetMoleculeForceField( m, confId = 0 ) > ff.Minimize() >> >> 0 >> > Chem.AssignAtomChiralTagsFromStructure(m) > Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) >> >> [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'R'), >> (11, 'S'), (12, 'S'), (14, 'R')] >> - >> >> How can I assign chiralities of these atoms in RDKit_2016_09_3? >> > > I believe that the current behavior is correct. Atoms 6 and 8 are not > chiral due to the dependent stereochemistry. What would you expect to > happen? > > -greg > -- -- 鈴木倫太郎E-mail: rsuz...@affrc.go.jp Tel: 029-838-7900 / Fax: 029-838-7408 国立研究開発法人 農業・食品産業技術総合研究機構 高度解析センタ
Re: [Rdkit-discuss] chirality assignment
Hi Rintarou, On Tue, Feb 7, 2017 at 6:23 AM, Suzuki, Rintarou wrote: > Dear All, > > I'm generating conformation of a molecule: > > C1C2C3OC3C1C13OC21C1CC3C2OC21 > > > This molecule has many chiral centers and 10 possible isomers. > > EmbedMolecule command of RDKit_2015_03_1 can generate every isomer but > RDKit_2016_09_3 fails in 9 of 10. > There are two things going on here. In the first case: > For example, > > RDKit_2015_03_1 > - > >>> mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@@]13O[C@ > @]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21') > >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) > > [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, 'R'), (8, 'R'), (9, 'R'), > (11, 'S'), (12, 'S'), (14, 'R')] > > >>> m=Chem.AddHs(mol) > >>> AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 1, > clearConfs = False ) > > 0 > - > > > RDKit_2016_09_3 > - > >>> mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@@]13O[C@ > @]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21') > >>> m=Chem.AddHs(mol) > >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) > > [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, 'R'), (8, 'R'), (9, 'R'), > (11, 'S'), (12, 'S'), (14, 'R')] > > >>> AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 100, > clearConfs = False ) > > -1 > I will need to check, but this is likely due to one of the checks added in the last release that was designed to prevent ugly structures in systems like this one. It looks like those checks are a bit too strict and need to be made more flexible (or, likely better, you should be able to turn them off) I'll add something for that. Thanks for reporting the problem. - > > > Two chiral centers in this molecule are stereo-dependent (6th and 8th > atoms). > Conformation of molecule without assignment for these atoms can be > generated, but the chiralities remain unassigned. > > RDKit_2016_09_3 > - > >>> mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1C13OC21[C@ > @H]1C[C@H]3[C@@H]2O[C@@H]21') > >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) > > [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'R'), > (11, 'S'), (12, 'S'), (14, 'R')] > > >>> m=Chem.AddHs(mol) > >>> AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 100, > clearConfs = False ) > > 0 > > >>> Chem.AssignAtomChiralTagsFromStructure(m) > >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) > > [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'S'), > (11, 'R'), (12, 'S'), (14, 'R')] > > >>> opt = AllChem.UFFOptimizeMolecule( m, maxIters = 1, confId=0) > >>> ff = AllChem.UFFGetMoleculeForceField( m, confId = 0 ) > >>> ff.Minimize() > > 0 > > >>> Chem.AssignAtomChiralTagsFromStructure(m) > >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) > > [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'R'), > (11, 'S'), (12, 'S'), (14, 'R')] > - > > How can I assign chiralities of these atoms in RDKit_2016_09_3? > I believe that the current behavior is correct. Atoms 6 and 8 are not chiral due to the dependent stereochemistry. What would you expect to happen? -greg -- 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
[Rdkit-discuss] chirality assignment
Dear All, I'm generating conformation of a molecule: C1C2C3OC3C1C13OC21C1CC3C2OC21 This molecule has many chiral centers and 10 possible isomers. EmbedMolecule command of RDKit_2015_03_1 can generate every isomer but RDKit_2016_09_3 fails in 9 of 10. For example, RDKit_2015_03_1 - >>> mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@@]13O[C@@]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21') >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, 'R'), (8, 'R'), (9, 'R'), (11, 'S'), (12, 'S'), (14, 'R')] >>> m=Chem.AddHs(mol) >>> AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 1, clearConfs = >>> False ) 0 - RDKit_2016_09_3 - >>> mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1[C@@]13O[C@@]21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21') >>> m=Chem.AddHs(mol) >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, 'R'), (8, 'R'), (9, 'R'), (11, 'S'), (12, 'S'), (14, 'R')] >>> AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 100, clearConfs = >>> False ) -1 - Two chiral centers in this molecule are stereo-dependent (6th and 8th atoms). Conformation of molecule without assignment for these atoms can be generated, but the chiralities remain unassigned. RDKit_2016_09_3 - >>> mol=Chem.MolFromSmiles('C1[C@H]2[C@@H]3O[C@@H]3[C@@H]1C13OC21[C@@H]1C[C@H]3[C@@H]2O[C@@H]21') >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'R'), (11, 'S'), (12, 'S'), (14, 'R')] >>> m=Chem.AddHs(mol) >>> AllChem.EmbedMolecule( m, randomSeed = 256, maxAttempts = 100, clearConfs = >>> False ) 0 >>> Chem.AssignAtomChiralTagsFromStructure(m) >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'S'), (11, 'R'), (12, 'S'), (14, 'R')] >>> opt = AllChem.UFFOptimizeMolecule( m, maxIters = 1, confId=0) >>> ff = AllChem.UFFGetMoleculeForceField( m, confId = 0 ) >>> ff.Minimize() 0 >>> Chem.AssignAtomChiralTagsFromStructure(m) >>> Chem.FindMolChiralCenters( copy(m), includeUnassigned=True ) [(1, 'S'), (2, 'S'), (4, 'R'), (5, 'R'), (6, '?'), (8, '?'), (9, 'R'), (11, 'S'), (12, 'S'), (14, 'R')] - How can I assign chiralities of these atoms in RDKit_2016_09_3? Regards, Rintarou Suzuki, Rintarou National Agriculture and Food Research Organization Tsukuba, Japan -- 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