Hi All, This is an interesting topic for me as I also have use for canonical hydrogens. For this reason I have made a function for prochiral assignment to RDKit (C++ side). It uses CIPRanks (from AssignStereochemistry) as starting ranks, but I think it could probably use the ranks from the new canonicalization algorithm as well. I have not tried this yet, and don't know if the pro-S/pro-R-assignment will be the same as with the CIPRank-based (personally, I don't need the "IUPAC-correct" assignments as long as the hydrogen canonicalization is consistent). Anyway, if there is interest, I can make a pull request, but I have to clean it up a little first.
Best, Juuso Lehtivarjo On Thu, Mar 10, 2016 at 9:29 PM, Brian Kelley <fustiga...@gmail.com> wrote: > No, prochiral atoms have the same rank. Your question got me thinking to > how we could detect prochiral atoms, here is the stupidest/simplest solution > I could come up with, it changes isotopes on every atom until a new chiral > center is added, this atom is considered prochiral: > > def numUnspecifiedStereoAtoms(mol): > """Return the number of unspecified stereo atoms in a molecule""" > return len([atom for atom in mol.GetAtoms() if > ("_ChiralityPossible" in atom.GetPropNames() and > atom.GetChiralTag() == > Chem.rdchem.ChiralType.CHI_UNSPECIFIED)]) > > def findProchiral(m): > """Return indices of prochiral atoms, to find prochiral hydrogens, > hydrogens must appear in the graph, see Chem.AddHs""" > indices = [ atom.GetIdx() for atom in m.GetAtoms() ] > tags = [atom.GetChiralTag() for atom in m.GetAtoms()] > num_unspecified = numUnspecifiedStereoAtoms(m) > prochiral = [] > for index in indices: > m2 = Chem.Mol(m) > m2.GetAtomWithIdx(index).SetIsotope(2) > m3 = Chem.MolFromSmiles(Chem.MolToSmiles(m2, isomericSmiles=True)) > if numUnspecifiedStereoAtoms(m3) != num_unspecified: > prochiral.append(index) > > > return prochiral > > print findProchiral(Chem.AddHs(Chem.MolFromSmiles("C1C(C(N)=O)=CNC=C1"))) > > On Thu, Mar 10, 2016 at 11:30 AM, Peter S. Shenkin <shen...@gmail.com> > wrote: >> >> Is the canonical rank of prochiral H's different or the same? (For example >> the rank of the H's on C-1 of ethyl chloride.) >> >> Thanks, >> -P. >> >> >> ------------------------------------------------------------------------------ >> Transform Data into Opportunity. >> Accelerate data analysis in your applications with >> Intel Data Analytics Acceleration Library. >> Click to learn more. >> http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140 >> _______________________________________________ >> Rdkit-discuss mailing list >> Rdkit-discuss@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss >> > > > ------------------------------------------------------------------------------ > Transform Data into Opportunity. > Accelerate data analysis in your applications with > Intel Data Analytics Acceleration Library. > Click to learn more. > http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140 > _______________________________________________ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss > ------------------------------------------------------------------------------ Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140 _______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss