SearchException

User 870ab5b546

20-02-2016 03:03:58

Query: [H][C@@]1([#6]-[#6]-[#6@H](-[#8])-[#6]-[#6]1)[#6](-[#6])-[#6]-[#6] |r|


 


Target: [H][C:5]1([H])[C:4]([H])([H])[C@:3]([H])(C(C)CC)[C:2]([H])([H])[C:1]([H])([H])[C@@:6]1([H])O |r,lp:20:2,@:1,15,@@:3,12|



Comparing them with MolSearch here using a full or substructure search, we get an ArrayOutOfBoundsException. The stack trace:


java.lang.ArrayIndexOutOfBoundsException: 11
at chemaxon.sss.search.HigherOrderStereoMatcher.getMappings(HigherOrderStereoMatcher.java:393)
at chemaxon.sss.search.HigherOrderStereoMatcher.canStereoRecordsMatch(HigherOrderStereoMatcher.java:279)
at chemaxon.sss.search.HigherOrderStereoMatcher.refine(HigherOrderStereoMatcher.java:255)
at chemaxon.sss.search.StructureSearch.refineByMatchers(StructureSearch.java:2132)
at chemaxon.sss.search.StructureSearch.refine(StructureSearch.java:2099)
at chemaxon.sss.search.StructureSearch.findNext0(StructureSearch.java:2719)
at chemaxon.sss.search.StructureSearch.findFirst0(StructureSearch.java:2609)
at chemaxon.sss.search.StructureSearch.isMatching(StructureSearch.java:2635)
at chemaxon.sss.search.PolymerTransformer.isMatching(PolymerTransformer.java:202)
at chemaxon.sss.search.BaseMolSearchCore.findNextRawHit(BaseMolSearchCore.java:381)
at chemaxon.sss.search.BaseMolSearchCore.findNextHit(BaseMolSearchCore.java:224)
at chemaxon.sss.search.pipeline.QueryEnumeratorElement.findNextHit(QueryEnumeratorElement.java:79)
at chemaxon.sss.search.pipeline.AbstractDelegatorSearchElement.findNextHit(AbstractDelegatorSearchElement.java:56)
at chemaxon.sss.search.pipeline.AbstractDelegatorSearchElement.findNextHit(AbstractDelegatorSearchElement.java:56)
at chemaxon.sss.search.pipeline.HitFilterElement.findNextHit(HitFilterElement.java:40)
at chemaxon.sss.search.pipeline.AbstractDelegatorSearchElement.findNextHit(AbstractDelegatorSearchElement.java:56)
at chemaxon.sss.search.pipeline.TrivialSearchCaseFilter.findNextHit(TrivialSearchCaseFilter.java:77)
at chemaxon.sss.search.pipeline.TimeoutHandler.findNextHit(TimeoutHandler.java:34)
at chemaxon.sss.search.BaseMolSearch$1.call(BaseMolSearch.java:176)
at chemaxon.sss.search.BaseMolSearch$1.call(BaseMolSearch.java:172)
at chemaxon.sss.search.SearchUtil.invokeSearchWithExceptionWrapping(SearchUtil.java:528)
at chemaxon.sss.search.SearchUtil.invokeSearchWithExceptionWrapping(SearchUtil.java:522)
at chemaxon.sss.search.BaseMolSearch.findNextCoreHit(BaseMolSearch.java:179)
at chemaxon.sss.search.BaseMolSearch.isMatching(BaseMolSearch.java:155)
at chemaxon.sss.search.MolSearch$1.call(MolSearch.java:379)
at chemaxon.sss.search.MolSearch$1.call(MolSearch.java:374)
at chemaxon.sss.search.SearchUtil.invokeSearchWithExceptionWrapping(SearchUtil.java:528)
at chemaxon.sss.search.MolSearch.isMatching(MolSearch.java:382)
at org.apache.jsp.public_.compareJChem_jsp._jspService(compareJChem_jsp.java:211)

Am I missing something obvious here? The problem seems to occur only when there is a match between the structures. It also seems to be unique to the trans-1,4-disubstituted isomers.


If I delete the H from the query, then the MolSearch does not throw the exception.

ChemAxon abe887c64e

22-02-2016 08:36:41

Hi Bob,


Which version of JChem are you using?


We released some bugfixes relating higher order stereo matchers (axial stereo, cumulene or ring cis/trans stereo) in version 16.1.18 , they might solve the exception in your application as well.


Krisztina

User 870ab5b546

22-02-2016 14:59:27

Upgrading JChem to the most recent version solved the problem. Thanks.