On Tue, Dec 3, 2019 at 9:58 PM Rasmus "Termo" Lundsgaard <
termope...@gmail.com> wrote:

> Hi Greg.
>
> Thks for your gist. I guess the line:
>
> nbrs = [(x.GetOtherAtomIdx(1),x.GetIdx()) for x in atom.GetBonds()]
>
> should be:
> nbrs = [(x.GetOtherAtomIdx(atom.GetIdx()),x.GetIdx()) for x in 
> atom.GetBonds()]
>
>
You're absolutely right, thanks for catching that. I  updated the gist.

-greg



>
> On Tue, Dec 3, 2019 at 5:38 PM Greg Landrum <greg.land...@gmail.com>
> wrote:
>
>> What's going on here is that the RDKit defines stereochemistry based on
>> the ordering of bonds, not atom indices.
>> This has come up on the list multiple times, a relatively recent instance
>> is here:
>>
>> https://www.mail-archive.com/rdkit-discuss@lists.sourceforge.net/msg08955.html
>>
>> Here's a gist that I have laying around that may help here:[1]
>> https://gist.github.com/greglandrum/9f0e068e53171174b6797348eca64b3e
>>
>>
>> -greg
>> [1] Now if only I could find *why* have that gist laying around...
>>
>>
>> On Tue, Dec 3, 2019 at 3:32 PM Rasmus "Termo" Lundsgaard <
>> termope...@gmail.com> wrote:
>>
>>> Hi Pablo,
>>>
>>> thank you for the heads up on that removeHs is not honorred when not
>>> sanitizing (and that removeH has to be done to solve that issue here).
>>>
>>> Now I tried with the same molecule but where I also move around on the
>>> order of the atoms (attached as Ran1_neworder.sdf), and here I still get a
>>> different isomeric smiles, eventhough the chiral tag is the same:
>>> for f in ['Ran1.sdf','Ran2.sdf', 'Ran1_neworder.sdf']:
>>>     m = Chem.MolFromMolFile(f, sanitize=False)
>>>     m = Chem.RemoveHs(m, sanitize=False)
>>>     print( Chem.MolToSmiles(set_correct_Chiral_flags(m),
>>> isomericSmiles=True) )
>>>
>>>
>>> C[C@@H](N)C(=O)O
>>> C[C@@H](N)C(=O)O
>>> C[C@H](N)C(=O)O
>>>
>>>
>>> On Tue, Dec 3, 2019 at 2:58 PM Paolo Tosco <paolo.tosco.m...@gmail.com>
>>> wrote:
>>>
>>>> Hi Rasmus,
>>>>
>>>> the problem is that, as stated in the rdmolfiles.MolFromMolFile()
>>>> docs, the removeHs option is only honored when sanitize is True.
>>>>
>>>> So to obtain sensible results without sanitizing you should rather do
>>>> something like:
>>>>
>>>> m1 = Chem.MolFromMolFile('Ran1.sdf', sanitize=False)
>>>> m1 = Chem.RemoveHs(m1, sanitize=False)
>>>> print( Chem.MolToSmiles(set_correct_Chiral_flags(m1),
>>>> isomericSmiles=True) )
>>>> m2 = Chem.MolFromMolFile('Ran2.sdf', sanitize=False)
>>>> m2 = Chem.RemoveHs(m2, sanitize=False)
>>>> print( Chem.MolToSmiles(set_correct_Chiral_flags(m2),
>>>> isomericSmiles=True) )
>>>>
>>>> You may check the individual sanitization operations here:
>>>>
>>>> https://www.rdkit.org/docs/source/rdkit.Chem.rdmolops.html?highlight=rdmolops%20sanitizeflags#rdkit.Chem.rdmolops.SanitizeFlags
>>>>
>>>> Cheers,
>>>> p.
>>>>
>>>> On 03/12/2019 12:46, Rasmus "Termo" Lundsgaard wrote:
>>>>
>>>> Hi all
>>>>
>>>> I would like to avoid sanitizing the sdf files, as information in these
>>>> files should be seen as the ground truth.
>>>>
>>>> I however have some problems in figuring out how to read and set chiral
>>>> information from the file and also have RDkit behave the same always.
>>>> Attached are two sdf files with no 3d information and only stereo
>>>> information in the atoms section for R-Aniline. The only difference as I
>>>> see it is the order of the lines of the bond information.
>>>> Even so I get two different smiles back with isomeric information when
>>>> not sanitizing.
>>>>
>>>> Attached is also the minimal python code: which for me at least outputs:
>>>>
>>>> not setting chiral flags
>>>>> CC(N)C(=O)O
>>>>> CC(N)C(=O)O
>>>>>
>>>>> setting chiral flags
>>>>> [H]OC(=O)[C@]([H])(N([H])[H])C([H])([H])[H]
>>>>> [H]OC(=O)[C@@]([H])(N([H])[H])C([H])([H])[H]
>>>>>
>>>>> setting chiral flags and sanitize
>>>>> C[C@@H](N)C(=O)O
>>>>> C[C@@H](N)C(=O)O
>>>>>
>>>>
>>>> Any ideas to why this happens and how I can handle it strictly. Also
>>>> what does the sanitizing exactly do?
>>>>
>>>> Regards Rasmus
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Rdkit-discuss mailing 
>>>> listRdkit-discuss@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>>>
>>>> _______________________________________________
>>> Rdkit-discuss mailing list
>>> Rdkit-discuss@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>>
>>
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to