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 <rsuz...@affrc.go.jp>
> 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