Menu

#509 Reading InChI fails silently for metal containing molecules

2.2.x
open
nobody
5
2012-10-23
2009-05-14
No

Reported by Jeff Lerman on the discuss list (jlerman@ingenuity.com).

openbabel silently fails when "converting" the following InChI descriptors (for heme and friends), though it's possible to get valid SMILES codes for them (also supplied):

InChI=1/C34H34N4O4.ClH.Fe/c1-7-21-17(3)25-13-26-19(5)23(9-11-33(39)40)31(37-26)16-32-24(10-12-34(41)42)20(6)28(38-32)15-30-22(8-2)18(4)27(36-30)14-29(21)35-25;;/h7-8,13-16H,1-2,9-12H2,3-6H3,(H4,35,36,37,38,39,40,41,42);1H;/q;;+3/p-3/b25-13-,26-13-,27-14-,28-15-,29-14-,30-15-,31-16-,32-16-;
[Cl-].[Fe+3].C=CC1=C(C)C2=NC1=Cc1[n-]c(C=C3N=C(C=c4[n-]c(=C2)c(C=C)c4C)C(=C3CCC(=O)O)C)c(CCC(=O)O)c1C

InChI=1/C34H34N4O4.Fe/c1-7-21-17(3)25-13-26-19(5)23(9-11-33(39)40)31(37-26)16-32-24(10-12-34(41)42)20(6)28(38-32)15-30-22(8-2)18(4)27(36-30)14-29(21)35-25;/h7-8,13-16H,1-2,9-12H2,3-6H3,(H4,35,36,37,38,39,40,41,42);/q;+4/p-2/b25-13-,26-13-,27-14-,28-15-,29-14-,30-15-,31-16-,32-16-
[Fe+2].C=CC1=C(C)C2=CC3=NC(=Cc4[n-]c(C=c5[n-]c(=CC1=N2)c(C)c5CCC(=O)O)c(CCC(=O)O)c4C)C(=C3C=C)C

InChI=1/C49H60N4O5.CH4.Fe/c1-10-35-31(6)40-26-45-49(46(54)19-13-18-30(5)17-12-16-29(4)15-11-14-28(2)3)34(9)41(53-45)24-38-32(7)36(20-22-47(55)56)43(51-38)27-44-37(21-23-48(57)58)33(8)39(52-44)25-42(35)50-40;;/h10,14,16,18,24-27,46,54H,1,11-13,15,17,19-23H2,2-9H3,(H4,50,51,52,53,55,56,57,58);1H4;/q;;+2/p-4/b29-16+,30-18+,38-24-,39-25-,40-26-,41-24-,42-25-,43-27-,44-27-,45-26-;
[Fe+2].C=CC1=C(C)C2=Cc3[n-]c(C=C4N=C(C=c5[n-]c(=CC1=N2)c(C)c5CCC(=O)[O-])C(=C4C)CCC(=O)[O-])c(C)c3C(O)CC/C=C(\C)/CC/C=C(\C)/CCC=C(C)C.[H+].[H+]

InChI=1/C49H58N4O6.Fe/c1-9-34-31(6)39-25-45-49(46(55)18-12-17-30(5)16-11-15-29(4)14-10-13-28(2)3)33(8)40(52-45)24-44-37(27-54)36(20-22-48(58)59)43(53-44)26-42-35(19-21-47(56)57)32(7)38(51-42)23-41(34)50-39;/h9,13,15,17,23-27,46,55H,1,10-12,14,16,18-22H2,2-8H3,(H4,50,51,52,53,54,56,57,58,59);/q;+4/p-2/b29-15+,30-17+,38-23-,39-25-,40-24-,41-23-,42-26-,43-26-,44-24-,45-25-
[Fe+4].C=CC1=C(C)C2=Cc3[n-]c(C=C4N=C(C=c5[n-]c(=CC1=N2)c(C)c5CCC(=O)O)C(=C4C=O)CCC(=O)O)c(C)c3C(O)CC/C=C(\C)/CC/C=C(\C)/CCC=C(C)C

Finally, Openbabel seems to have trouble with some other metal-containing compounds (generates invalid SMILES strings when converting their InChI strings, an arguably more problematic type of silent failure) - I can find some and send them to you as well, but perhaps the symptom there would be fixed by the same patch that would correct the above problems.

Discussion