Maybe when you have a toolkit as blazingly fast as RDKit it captures the
chirality of N center before it has time to interconvert....

-P.

On Wed, Aug 19, 2015 at 10:17 PM, John M <[email protected]>
wrote:

> More odd is the carbon stereocentre with two methyls...
>
> Generally trivalent nitrogens are not considered chiral due to inversion
> of the lone-pair. The two usual exceptions are when they are a bridgehead
> or in a tight ring (cyclopropane). This is the same in most toolkits, the
> InChI technical documentation provides useful examples.
>
> InChI actually only sees one stereo centre since it strips the proton off:
>
> InChI=1S/C13H26N2/c1-4-14-8-5-12(6-9-14)15-10-7-13(15)11(2)3/h11-13H,4-10H2,1-3H3/p+1/t13-/m1/s1
>
> It may well be chiral in this case but since it's not you should also
> strictly remove the other stereocentre in the para position to the nitrogen
>
> For the record just tested and ChemAxon/CDK/OpenBabel do the same.
>
> John
>
> Regards,
> John W May
> [email protected]
>
> On 19 August 2015 at 09:00, Rob Smith <[email protected]> wrote:
>
>> Dear RDKit community,
>>
>> I'm trying to use RDKit to read in Corina generated stereoisomers (from a
>> Mol file), assign chiral tags and stereochemistry to the structure and
>> output the canonical smiles string for each isomer of a given molecule (in
>> Python), when I do this, half the canonical smiles strings are not unique.
>>
>> When I read in the output from Corina into an Indigo instance, then use
>> the canonical smiles from Indigo to create an RDKit molecule, canonical
>> smiles strings generated from the molecule objects are all unique.
>>
>> I may be missing an option to enable RDKit to 'visualise' the chiral
>> centre adjacent to the protonated nitrogen, so if someone can spot where
>> I've made a mistake, I'd really appreciate it. I've included the output and
>> Python script below. If you require any further information, please let me
>> know.
>>
>> Many thanks,
>> Rob
>>
>> Output:
>>
>> RDKit Read in of Molecule
>> RDKit Output -  CCN1CC[C@@H]([N@@H+]2CC[C@@H]2[C@H](C)C)CC1
>> RDKit Output -  CCN1CC[C@@H]([N@@H+]2CC[C@@H]2[C@H](C)C)CC1
>> RDKit Output -  CCN1CC[C@@H]([N@H+]2CC[C@@H]2[C@H](C)C)CC1
>> RDKit Output -  CCN1CC[C@@H]([N@H+]2CC[C@@H]2[C@H](C)C)CC1
>> RDKit Output -  CCN1CC[C@@H]([N@@H+]2CC[C@H]2[C@H](C)C)CC1
>> RDKit Output -  CCN1CC[C@@H]([N@@H+]2CC[C@H]2[C@H](C)C)CC1
>> RDKit Output -  CCN1CC[C@@H]([N@H+]2CC[C@H]2[C@H](C)C)CC1
>> RDKit Output -  CCN1CC[C@@H]([N@H+]2CC[C@H]2[C@H](C)C)CC1
>>
>> INDIGO Read in of Molecule
>> RDKit Output -  CC[N@]1CC[C@@H]([N@@H+]2CC[C@@H]2C(C)C)CC1
>> RDKit Output -  CC[N@]1CC[C@H]([N@@H+]2CC[C@@H]2C(C)C)CC1
>> RDKit Output -  CC[N@]1CC[C@@H]([N@H+]2CC[C@@H]2C(C)C)CC1
>> RDKit Output -  CC[N@]1CC[C@H]([N@H+]2CC[C@@H]2C(C)C)CC1
>> RDKit Output -  CC[N@]1CC[C@@H]([N@@H+]2CC[C@H]2C(C)C)CC1
>> RDKit Output -  CC[N@]1CC[C@H]([N@@H+]2CC[C@H]2C(C)C)CC1
>> RDKit Output -  CC[N@]1CC[C@@H]([N@H+]2CC[C@H]2C(C)C)CC1
>> RDKit Output -  CC[N@]1CC[C@H]([N@H+]2CC[C@H]2C(C)C)CC1
>>
>> Python script :
>>
>> from rdkit import Chem
>> import subprocess # Used to run Corina
>> from indigo import *
>>
>> def runCorinaTest(inputMol):
>>     indigo = Indigo()
>>
>>     molFile = Chem.MolToMolBlock(inputMol)
>>
>>     corinaCommand = "echo \'" + molFile + "\' | "
>>     # Then Corina - generate stereoisomers...
>>     corinaCommand = corinaCommand + "/apps/corina/corina -t n -d
>> canon,stergen,preserve,names,wh,flapn,msc=7,msi=128 -i t=sdf"
>>     corinaResult = subprocess.check_output([corinaCommand], shell=True) #
>> Gives the stereoisomer species as an SDF string
>>
>>     allMoleculeObjects = []
>>     allMolecules = corinaResult.split("$$$$\n") # Separate Corina output
>> into individual molecules
>>     allMolecules = allMolecules[0:len(allMolecules)-1]
>>
>>     print("RDKit Read in of Molecule")
>>
>>     for eachMolecule in allMolecules:
>>         eachMolecule = eachMolecule + "$$$$\n"
>>         mol = Chem.MolFromMolBlock(eachMolecule, sanitize=True,
>> removeHs=True, strictParsing=False)
>>         Chem.rdmolops.AssignAtomChiralTagsFromStructure(mol,
>> replaceExistingTags=True)
>>         Chem.rdmolops.AssignStereochemistry(mol)
>>         print("RDKit Output -  " + Chem.MolToSmiles(mol,
>> isomericSmiles=True))
>>
>>     print("INDIGO Read in of Molecule")
>>     for eachMolecule in allMolecules:
>>         eachMolecule = eachMolecule + "$$$$\n"
>>         mol = indigo.loadMolecule(eachMolecule)
>>         # print("Indigo Output - " + mol.canonicalSmiles())
>>         # Use Indigo Canonical Smiles to create RDKit molecule
>>         mol = Chem.MolFromSmiles(mol.canonicalSmiles())
>>         if mol is not None:
>>             print("RDKit Output -  " + Chem.MolToSmiles(mol,
>> isomericSmiles=True))
>>
>>     return 0
>>
>> mol = Chem.MolFromSmiles("CC(C)C1[NH+](C2CCN(CC)CC2)CC1")
>> z = runCorinaTest(mol)
>>
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> Rdkit-discuss mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>
>>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Rdkit-discuss mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
>
------------------------------------------------------------------------------
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to