Thank you for the workaround! It's working correctly now with the SMILES solution. Also, I realized my predicted output from my original question was incorrect; it should read:
2 0
2 1
1 1

Cheers,
-daniel

Daniel Hitchcock, PhD
www.linkedin.com/pub/daniel-hitchcock/24/7b8/858/
Research Scientist I
Metabolomics Platform
The Broad Institute of MIT and Harvard
415 Main St, Cambridge, 02142

On 9/14/2017 11:52 AM, Greg Landrum wrote:
Hi Daniel,
this is some oddity that happens with molecules constructed from InChIs. CalcNumAtomStereoCenters() returns sensible results if you call it on the molecules constructed from SMILES: In [24]: mol_list2 = [Chem.MolFromSmiles(Chem.MolToSmiles(mol,True)) for mol in mol_list]

In [25]: [CalcNumUnspecifiedAtomStereoCenters(mol) for mol in mol_list2]
Out[25]: [0, 1, 1]

In [26]: [CalcNumAtomStereoCenters(mol) for mol in mol_list2]
Out[26]: [2, 2, 1]


I will try to track this down.

-greg


On Thu, Sep 14, 2017 at 4:47 PM, Daniel Hitchcock <dhi...@broadinstitute.org <mailto:dhi...@broadinstitute.org>> wrote:

    Hi All,

    I have a list of compounds (InChi strings) that I need to filter.
    Basically I need to identify which molecules are missing stereo
    information.

    I came across the "CalcNumUnspecifiedAtomStereoCenters" which
    sounded exactly like what I needed, but unfortunately all it does
    it return 0s, as well as the "CalcNumAtomStereoCenters" function.
    I've viewed the molecules using MolToImage(mol).show() to verify
    the stereo information is accurate, and it's all there.

    Here is the code I used. It's in python 3.5.2, and
    rdkit.Chem.rdMolDescriptors._CalcNumUnspecifiedAtomStereoCenters_version
    is 1.0.0

    """
    Three molecules with stereochemistry.
    stereo_inchi - 2 stereocenters specified
    am_inchi - 1 sterecenter sepcified, the other ambiguous
    unspec_inchi - 1 stereocenter, unmentioned in the InChi string

    Program should output:
    2 0
    1 1
    0 1
    """
    from rdkit.Chem import MolFromInchi, MolToInchi
    from rdkit.Chem.AllChem import CalcNumAtomStereoCenters,
    CalcNumUnspecifiedAtomStereoCenters
    stereo_inchi =
    
'InChI=1S/C10H10O6/c1-5(9(12)13)16-8-4-6(10(14)15)2-3-7(8)11/h2-4,7-8,11H,1H2,(H,12,13)(H,14,15)/t7-,8-/m1/s1'
    am_inchi =
    
'InChI=1S/C11H21NO5/c1-8(13)5-11(16)17-9(6-10(14)15)7-12(2,3)4/h8-9,13H,5-7H2,1-4H3/t8?,9-/m1/s1'
    unspec_inchi =
    
'InChI=1S/C14H27NO4/c1-5-6-7-8-9-14(18)19-12(10-13(16)17)11-15(2,3)4/h12H,5-11H2,1-4H3'
    mol_list = [stereo_inchi, am_inchi, unspec_inchi]
    mol_list = [MolFromInchi(mol) for mol in mol_list]
    for mol in mol_list:
        print(CalcNumAtomStereoCenters(mol),
    CalcNumUnspecifiedAtomStereoCenters(mol))

    Thanks in advance!

    Cheers,

    -daniel

-- Daniel Hitchcock, PhD
    www.linkedin.com/pub/daniel-hitchcock/24/7b8/858/
    <http://www.linkedin.com/pub/daniel-hitchcock/24/7b8/858/>
    Research Scientist I
    Metabolomics Platform
    The Broad Institute of MIT and Harvard
    415 Main St, Cambridge, 02142


    
------------------------------------------------------------------------------
    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
    <mailto:Rdkit-discuss@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
    <https://lists.sourceforge.net/lists/listinfo/rdkit-discuss>



------------------------------------------------------------------------------
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

Reply via email to