Hi all, we've been looking at migrating our OB2 code to OB3 and we have found differences in how to deal with chirality, which I don't know how to sort out. I wrote the test code below, which returns different results for "C(Br)(Cl)F" depending on the version. In particular, with v2, the first carbon atom is:
0 True IsChiral() 0 True HasTetrahedralStereo() while for v3: 0 False IsChiral() 0 False HasTetrahedralStereo() While it would make more sense that no tetrahedral configuration is defined, I would expect the atom to be perceived as chiral. I've read the latest documentation I could find from Noel (https://open-babel.readthedocs.io/en/latest/Stereochemistry/stereo.html) with no success. Since it seems that the OBMol.IsChiral() method does not exist anymore, I have no clues on how to detect if a molecule is chiral, and if so, which atoms are chiral. Any suggestions? Thanks, S ---------- import sys try: # 3 from openbabel import openbabel as ob except: # 2 import openbabel as ob print(ob.OBReleaseVersion()) conv = ob.OBConversion() conv.SetInFormat("smi") mol = ob.OBMol() conv.ReadString(mol, "C(Br)(Cl)F") try: # not available anymore in OB3 print(mol.IsChiral(), "IsChiral()") except: pass facade = ob.OBStereoFacade(mol, True) for a in ob.OBMolAtomIter(mol): idx = a.GetId() print(idx, a.IsChiral(), "IsChiral()") print(idx, facade.HasTetrahedralStereo(idx), "HasTetrahedralStereo()") ---------- -- Stefano Forli, PhD Assistant Professor Dept. of Integrative Structural and Computational Biology, MB-112A Scripps Research 10550 North Torrey Pines Road La Jolla, CA 92037-1000, USA. tel: +1 (858)784-2055 email: fo...@scripps.edu http://www.scripps.edu/faculty/forli/ _______________________________________________ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss