Cartridge query leading with explcit H?

User 77bcbbb206

18-08-2005 21:31:07

Environment 1:





Oracle 9.2.0.6.0


JChem 3.0.8


Tomcat 4.1





Environment 2:





Oracle 9.2.0.6.0


JChem 3.0.12


Tomcat 4.1





I'm having a problem executing a search on environment 2 which works on enviroment 1. I think the problem pertains to a query from a smile string with a leading explicit H, but I'm not sure. Can you please attempt to replicate.





The sql used on environment 1:


select CD_ID from RMS_STRUCTURE where jc_compare(CD_SMILES, '([H]C([H])(Br)C=O)', 't:s')=1





The result from enviroment 1:


(70 rows returned - expected result).





The sql used on environment 2:


select CD_ID from RMS_STRUCTURE where jc_compare(CD_SMILES, '([H]C([H])(Br)C=O)', 't:s')=1





The result from enviroment 2:


ERROR at line 1:


ORA-29902: error in executing ODCIIndexStart() routine


ORA-29532: Java call terminated by uncaught Java exception:


java.lang.Exception: The following exception has been thrown by the servlet:


Exception: 61


ORA-06512: at "JCHEM.JCHEM_CORE_PKG", line 0


ORA-06512: at "JCHEM.JC_IDXTYPE_IM", line 309


ORA-06512: at line 1


(not expected result - should be the same as environment 1)





Thanks in advance,


Jim

ChemAxon aa7c50abf8

19-08-2005 10:54:30

Jim,





I get an error message for your query structure with both jchem3.0.8 and jchem3.0.12:





ERROR at line 1:


ORA-29902: error in executing ODCIIndexStart() routine


ORA-29532: Java call terminated by uncaught Java exception: java.lang.Exception: The following exception has been thrown by the servlet:


Exception: Line 1: java.io.IOException: Error parsing SMILES string '(C()(Br)C=O)' at character 4 (')')


ORA-06512: at "JCHEM3012.JCHEM_CORE_PKG", line 107


ORA-06512: at "JCHEM3012.JC_IDXTYPE_IM", line 309


ORA-06512: at line 1





(For my test, I used Oracle 10g, but Oracle 9i will hardly make the query work with jchem3.0.8 any better.)





I will ask my colleagues if the parsing exception here is a bug or is intended so.





Peter

ChemAxon aa7c50abf8

19-08-2005 11:32:50

I have to correct myself: the query works for me with both jchem versions.





Please, could you post the Java stack trace for the error message which can be found in the <tomcat-home>/logs/catalina.out file.





Thank you!





Peter

User 77bcbbb206

19-08-2005 15:51:34

Interesting. I have no idea how to fix it, but interesting none the less. Ideas?





WARNING: Table "JCHEM.RMS_STRUCTURE" could not fit into structure cache.


java.lang.ArrayIndexOutOfBoundsException: 61


at chemaxon.sss.search.StructureSearch.isCompatibleIdx(StructureSearch.java:3645)


at chemaxon.sss.search.StructureSearch.findNextSNforThisQN(StructureSearch.java:3698)


at chemaxon.sss.search.StructureSearch.findNext(StructureSearch.java:4326)


at chemaxon.sss.search.StructureSearch.findFirst(StructureSearch.java:4177)


at chemaxon.sss.search.StructureSearch.isMatching(StructureSearch.java:4546)


at chemaxon.sss.search.MolSearch.isMatching(MolSearch.java:666)


at chemaxon.jchem.db.JChemSearch.isMatching(JChemSearch.java:3329)


at chemaxon.jchem.db.JChemSearch.retrieveBatchAndSearch(JChemSearch.java:3270)


at chemaxon.jchem.db.JChemSearch.searchInDB(JChemSearch.java:3168)


at chemaxon.jchem.db.JChemSearch.search1(JChemSearch.java:2058)


at chemaxon.jchem.db.JChemSearch.search(JChemSearch.java:1862)


at chemaxon.jchem.db.JChemSearch.setRunning(JChemSearch.java:1740)


at chemaxon.jchem.db.JChemSearch.run(JChemSearch.java:1760)


at chemaxon.jchem.cartridge.servlets.JChemCached.run(JChemCached.java:763)


at chemaxon.jchem.cartridge.servlets.JChemCached.doPerform(JChemCached.java:578)


at chemaxon.jchem.cartridge.servlets.JChemCached.process(JChemCached.java:128)


at chemaxon.jchem.cartridge.servlets.JChemServletBase.doPost(JChemServletBase.java:221)


at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)


at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)


at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)


at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)


at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)


at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)


at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)


at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)


at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)


at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)


at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)


at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)


at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)


at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)


at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)


at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)


at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)


at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)


at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)


at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)


at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)


at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)


at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)


at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)


at java.lang.Thread.run(Thread.java:534)

ChemAxon a3d59b832c

21-08-2005 11:27:06

Hi Jim,





It seems to be a bug. From the stack trace it seems to me that this is related to the component level grouping part of the query and somehow to the target.





I tried to reproduce the problem, but could not using versions 3.0.12-3.0.14.





Could you send us the molecules which were returned as a hit for your query with 3.0.8 (environment 1)?





Best regards,


Szabolcs

User 77bcbbb206

22-08-2005 15:53:54

Sorry this took so long.

ChemAxon a3d59b832c

23-08-2005 13:01:55

Jim,





Thanks for the structures.





It seems we are not in luck, the exception was not generated by these smiles. We may get closer to the root of the problem with this:





Could you execute the following query in the jchem3.0.12 environment and send the results to us:





Code:
select CD_SMILES, CD_STRUCTURE from RMS_STRUCTURE where jc_compare(CD_SMILES, '([H]C([H])(Br)C=O)', 't:f')=1






This only executes the fingerprint screening, not the atom-by-atom search, so we will get all targets which were processed by the internal search classes. (The exception occured during the atom-by-atom search.)





Thanks,





Szabolcs

User 77bcbbb206

23-08-2005 15:58:18

That statement works correctly in both environments.





I'm not really sure what to do from here. Could this be an Oracle buffer cache issue? I've just increased the DB_CACHE_SIZE parameter in both environments significantly (from 25M to 500M). It would seem strange that only one environment would complain though. ??????

ChemAxon a3d59b832c

23-08-2005 16:06:38

jamoeder wrote:
That statement works correctly in both environments.



Yes, because this does not run the whole searching, just the screening part.


I will need the output of this statement to reproduce and fix the search bug.





Could you send us the output of this statement?
Quote:
I'm not really sure what to do from here. Could this be an Oracle buffer cache issue? I've just increased the DB_CACHE_SIZE parameter in both environments significantly (from 25M to 500M). It would seem strange that only one environment would complain though. ??????
I don't think the exception is related to the cache size. I guess your original SQL statement still produces the exception.





Best regards,


Szabolcs

User 77bcbbb206

23-08-2005 16:16:09

Yes. Sorry. Here's the output.





Yes. My original statement still produces the problem.

ChemAxon a3d59b832c

23-08-2005 16:31:48

Thanks, Jim.





I could now reproduce the exception. I will investigate.





Szabolcs

ChemAxon a3d59b832c

26-08-2005 16:02:38

Jim,





I fixed the bug and the fix will appear in JChem version 3.1.1.





Thank you for the bug report.





Best regards,


Szabolcs

User 77bcbbb206

26-08-2005 16:06:15

You guys are the greatest. I was just about to ask about an update.





Do you have a target date for 3.1.1? I am going to standarize on that release for all environments.

ChemAxon 9c0afc9aaf

26-08-2005 16:30:04

Hi,





We expect 3.1.1 late next week, or the week after.





I will prepare a test version sooner though, probably Monday.


I will post a link here if it's available for download.





Best regards,





Szilard

ChemAxon 9c0afc9aaf

29-08-2005 18:06:11

Hi,





The latest test version is out, and available for download:





http://www.chemaxon.com/download.php?d=/data/download/jchem/test





Best regards,





Szilard