Error in creating cartridge index

User 55ffa2f197

02-02-2012 13:53:45

Hi,


I am indexing 8 mm mols. It takes two hours to finish, but at the end I am getting following error message as attached. The table I am indexing is a regular table with smiles having the compound smiles. Does this mean the index has not been scussfully generated?


I also tried following searching:


select count(*) from clean_unique_smiles where jc_contains(smiles, 'c1nnccc1')=1


and get this error:, BTW table clean_unique_smiles is the table I am indexing


SQL> select count(*) from clean_unique_smiles where jc_contains(smiles,'CCC')=1;
select count(*) from clean_unique_smiles where jc_contains(smiles,'CCC')=1
*
ERROR at line 1:
ORA-20101: Please, create domain index on the column referenced in the operator
JC_CONTAINS of the table with DATA_OBJECT_ID=144937. You can find out the name
of the table by executing:
SELECT owner, object_name INTO schema_name, table_name
FROM sys.dba_objects WHERE DATA_OBJECT_ID = 144937
ORA-06512: at "JCHEM.JCHEM_CORE_PKG", line 117
ORA-06512: at "JCHEM.EXEC_FUNC", line 11
ORA-06512: at "JCHEM.CONTAINS_FUNC", line 7


[pool-1-thread-23/28]: 2012-02-02 08:19:14.106 chemaxon.jchem.cartridge.servlets
.indexing.structhandlers.CalculateInsertHandler handleException
SEVERE: Error while processing ROWID=AAAjYpAAwAAAWCUABL: chemaxon.jchem.db.Updat
eHandlerException: Inserting a query or Markush structure is not allowed for tab
le: "IP.IBM_MOL_IDX_JCX", c:c:c-c1CCCCC1
[RMI TCP Connection(4)-140.176.42.174/33]: 2012-02-02 08:19:14.196 chemaxon.jche
m.cartridge.rmi.impl.RmiExceptionHandler handleError
SEVERE: 1538 structure(s) could not be indexed. Please, check the JChem Server l
ogs.
java.lang.Exception: 1538 structure(s) could not be indexed. Please, check the J
Chem Server logs.
        at chemaxon.jchem.cartridge.servlets.indexing.operations.ConcurrentIndex
Builder.handleDeferredErrors(ConcurrentIndexBuilder.java:141)
        at chemaxon.jchem.cartridge.servlets.indexing.operations.ConcurrentIndex
Builder.build(ConcurrentIndexBuilder.java:119)
        at chemaxon.jchem.cartridge.servlets.indexing.operations.JCartIndexCreat
e.buildIndexConcurrently(JCartIndexCreate.java:383)
        at chemaxon.jchem.cartridge.servlets.indexing.operations.JCartIndexCreat
e.buildIndex(JCartIndexCreate.java:338)
        at chemaxon.jchem.cartridge.servlets.indexing.operations.JCartIndexCreat
e._execute(JCartIndexCreate.java:73)
        at chemaxon.jchem.cartridge.servlets.indexing.operations.JCartIndexBase.
execute(JCartIndexBase.java:34)
        at chemaxon.jchem.cartridge.servlets.indexing.operations.JCartIndexCreat
e.execute(JCartIndexCreate.java:54)
        at chemaxon.jchem.cartridge.rmi.impl.RmiTunnelImpl.processUc(RmiTunnelIm
pl.java:72)
        at chemaxon.jchem.cartridge.rmi.impl.RmiTunnelImpl.process(RmiTunnelImpl
.java:54)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:5
35)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTranspor
t.java:790)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:649)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
        at java.lang.Thread.run(Thread.java:662)

ChemAxon 61b4fee994

02-02-2012 14:28:01

Could you send us the environment parameters with this select:


select jchem_core_pkg.getenvironment() from dual;


We also need the information how you created the index. Can you post that script too?


 


Thank you!


Tamas

User 55ffa2f197

02-02-2012 15:01:57

OK, initially I used the jchem table to store my structure, and use the jcman load my structures, and subsequently create the cart index, I can do search using SQL but having trouble to do sss in IJC, Tim suggested to drop the index, and using the regular table to index the mols. But so far looks like I am running into more troubles.  Below is the information you asked for, is there a way we can interactive debugging, i like to resolve the problem today.


Thanks


Dong


following is the result from select * from jchem_core_pkg.getenvionment()


JCHEM_CORE_PKG.GETENVIRONMENT()
--------------------------------------------------------------------------------
Oracle environment:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE    11.1.0.7.0      Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production


JChem owner: JCHEM


JChem Server environment:
Java VM vendor: Sun Microsystems Inc.


JCHEM_CORE_PKG.GETENVIRONMENT()
--------------------------------------------------------------------------------
Java version: 1.6.0_27
Java VM version: 20.2-b06
JChem version: 5.8.0
JChem Index version: 5080000
JDBC driver version: 11.1.0.7.0-Production


=====================================================


here is my create index command


create index IBM_MOL_IDX on clean_unique_smiles (smiles)
 indextype is jchem.jc_idxtype parameters('structureType=molecules,fp_size=16,haltOnError=n');

ChemAxon 61b4fee994

02-02-2012 15:45:25

Hello,


We think that there can be some confusion in this index creation and it hasn't been generated successfully. We suggest you drop the jchem table and the regular table, after that you can recreate the regular table and the index. We think that this will solve your problem and you can use the index afterwards.


Regards,


Tamas

User 55ffa2f197

02-02-2012 15:58:07

OK, I will drop the JChem Table. I do not understand why do I have to drop the regular table. I can drop the index created from regular table

User 55ffa2f197

02-02-2012 16:09:34










tvarga81 wrote:

Hello,


We think that there can be some confusion in this index creation and it hasn't been generated successfully. We suggest you drop the jchem table and the regular table, after that you can recreate the regular table and the index. We think that this will solve your problem and you can use the index afterwards.


Regards,


Tamas




Hi Tamas,


Do I need to touch JCHEMPROPERTIES table after dropping jchem table? I thought the jchem table entry is remembered in JCHEMPROPERTIES table?


I did not drop the rgular table, but dropped its index, now I have restarted indexing using following command


as before:


create index IBM_MOL_IDX on clean_unique_smiles (smiles)
indextype is jchem.jc_idxtype parameters('structureType=molecules,fp_size=16,haltOnError=n');


will let you how it works in two hours


Dong

User 55ffa2f197

02-02-2012 19:39:54










tvarga81 wrote:

Hello,


We think that there can be some confusion in this index creation and it hasn't been generated successfully. We suggest you drop the jchem table and the regular table, after that you can recreate the regular table and the index. We think that this will solve your problem and you can use the index afterwards.


Regards,


Tamas




dropped the jchem table, and rebuild the regular table with smiles, and indexed on the smiles columns, sss still does not work. Then I took 20 smiles from the regular table and put the index on the table, sss worked both in SQL, and IJC. I think the error message from indexing process complaining invalid 1537 mols chocked the index process,as such the index does not function at all. Now I need to take those 1537 mols out, and index on this big 8 million rows structure table

ChemAxon 9c0afc9aaf

02-02-2012 23:00:18

Hi Dong,


In a "Molecule" type index or JChem table unspecific (query or Markush) structures are not allowed.


For example a structure with an any atom or R-group will be rejected.


I suggest to use the "anyStructures" index type instead.


For example in your case:


create index IBM_MOL_IDX on clean_unique_smiles (smiles) 
indextype is jchem.jc_idxtype parameters('structureType=anyStructures,fp_size=16,haltOnError=n')


http://www.chemaxon.com/jchem/doc/dev/cartridge/index.html#create_index


Please let us know if this helps.


Best regards,


 


Szilard

User 55ffa2f197

03-02-2012 15:20:52










Szilard wrote:

Hi Dong,


In a "Molecule" type index or JChem table unspecific (query or Markush) structures are not allowed.


For example a structure with an any atom or R-group will be rejected.


I suggest to use the "anyStructures" index type instead.


For example in your case:


create index IBM_MOL_IDX on clean_unique_smiles (smiles) 
indextype is jchem.jc_idxtype parameters('structureType=anyStructures,fp_size=16,haltOnError=n')


http://www.chemaxon.com/jchem/doc/dev/cartridge/index.html#create_index


Please let us know if this helps.


Best regards,


 


Szilard




I removed those 1538 structures that cause the problem with indexing. Thse mols actually have wrong aromaticity, it should not be in the database in the first place anyway. I removed them from the 'regular' table and indexing goes fine (structuretype=molecules), both sss from SQL and IJC both works fine.


Thanks for your help.


Dong