Re: [Rdkit-discuss] chirality assignment

2017-02-07 Thread Greg Landrum
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

2017-02-07 Thread Suzuki, Rintarou
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

2017-02-06 Thread Greg Landrum
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

2017-02-06 Thread Suzuki, Rintarou
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