tag:blogger.com,1999:blog-7844526396210378482.post4252359787389846035..comments2024-01-31T09:23:26.925+00:00Comments on Noel O'Blog: Are you on my side or not? It's E/Z Part IINoel O'Boylehttp://www.blogger.com/profile/03288289351940689018noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-7844526396210378482.post-61630145435403850702010-10-07T11:06:16.857+01:002010-10-07T11:06:16.857+01:00You're right - the test case you provided is n...You're right - the test case you provided is now working correctly. I took a look at your unit tests, and will see if there's anything obvious we're missing. And BTW, I am honoured to have some named after me :-)Noel O'Boylehttps://www.blogger.com/profile/03288289351940689018noreply@blogger.comtag:blogger.com,1999:blog-7844526396210378482.post-69685345235976982382010-10-06T15:00:09.617+01:002010-10-06T15:00:09.617+01:00I should probably have been clearer. For OpenBabel...I should probably have been clearer. For OpenBabel where one of the use cases is that you are confronted with huge lists of SMILES of unknown quality your solution sounds like the better solution.<br />Ideally I guess an option/s on how strict SMILES parsing is would be optimal so power-users can curate their lists of SMILES.<br /><br />Looking through my list of test cases from<br />https://bitbucket.org/dan2097/opsin/src/tip/core/src/test/java/uk/ac/cam/ch/wwmm/opsin/SMILESFragmentBuilderTest.java<br />I came across CC1=C/F.O\1 which appears to produce the wrong result in OpenBabel 2.3. Admittedly it sounds quite plausible that in your recent work that you may have fixed this case.Daniel Lowenoreply@blogger.comtag:blogger.com,1999:blog-7844526396210378482.post-5704160419407387612010-10-05T16:43:47.355+01:002010-10-05T16:43:47.355+01:00@Daniel: That's another valid option. Another ...@Daniel: That's another valid option. Another option again, is to provide an option to enable that option. :-)<br /><br />Thanks for the example of the bad SMILES. I must admit that until now I've focussed on parsing correct SMILES correctly - handling incorrect SMILES was way down my priority list. I'll follow this up - if you have any ideas on additional ones, leave more comments...Noel O'Boylehttps://www.blogger.com/profile/03288289351940689018noreply@blogger.comtag:blogger.com,1999:blog-7844526396210378482.post-39151857077853542282010-10-05T16:32:32.086+01:002010-10-05T16:32:32.086+01:00Those are some neat examples. As a bit of fun I...Those are some neat examples. As a bit of fun I've made my SMILES parser detect whether, in cases like these, the redundant stereo chemistry is consistent or inconsistent and hence then reject or accept the SMILES.<br /><br />Another case which you have not explicitly mentioned in the category of clearly bad SMILES could be something like C/C=C1\/NC1.(OpenBabel 2.3 picks / as being the answer)Daniel Lowenoreply@blogger.com