jchem cartridge update question

User 55ffa2f197

05-10-2012 12:32:29

Hi,


I have added a number of new structures as smiles to a standard table which has the cartridge index on smiles column. After the SQL insertion, I thought the cartridge index should be updated automatically, therefore I should be able to do substructure search to find the structures I just inserted. I tried the sss in IJC and SQL using jc_compare, however I was not able to find the new structures. 


Did I miss something?


Thanks


Dong

ChemAxon aa7c50abf8

05-10-2012 12:40:43

Hi Dong,


You have to commit your changes, if you want them to be included in the search. Except for duplicate search with the requireCommit:n (http://www.chemaxon.com/jchem/doc/dev/cartridge/cartapi.html#jc_compare_requireCommit) option.


Peter

User 55ffa2f197

05-10-2012 12:51:07

Hi Peter, Do you mind to do a quick webex/live meeting


Thanks


Dong

ChemAxon aa7c50abf8

05-10-2012 13:07:46

webex about what?

User 55ffa2f197

05-10-2012 13:11:50

Hi Peter,


I do not quite understand what do you mean commit the change? I did sql insertion to add the smiles to the table and commit the insertion in Oracle. I did not specifically update the index.


Thanks


Dong 

ChemAxon aa7c50abf8

05-10-2012 13:18:15

Yes, that was what I meant. Commit the insert. You shouldn't have to do anything else.


You inserted and committed the structures using SQL*Plus or Toad? Can you retrieve them using the same tool? Can you retrieve them from the table simply by their ID without substructure search?


Peter

User 55ffa2f197

05-10-2012 13:25:30

I did insertion in SQLPlus. Commit the change there as well.


I can retrieve the new smiles from the table.


I can see the the new smiles as structure in IJC through the grid view

ChemAxon aa7c50abf8

05-10-2012 13:36:54

And you can't retrieve the structure with jc_compare either using SQL*Plus nor IJC, correct?


Peter

User 55ffa2f197

05-10-2012 13:42:32

right, none of it works.


struture index is OK since I can still do search return hits. I also checked the cartridge log did not see any error in indexing

ChemAxon aa7c50abf8

05-10-2012 13:47:30

Does jc_compare find the structure when you specify it as a literal target:


select jc_compare('Br', 'C') from dual;


? (Replace Br with your structure.) Getting 1 means "found", 0 means "not found".


Thanks


Peter

User 55ffa2f197

05-10-2012 13:54:16

supposedly 'C1=NC=C2C=NC=NN12' is the new structure I added, following



SELECT



 



 



* FROM chemdata_single WHERE jc_compare(smiles, 'C1=NC=C2C=NC=NN12','t:s') = 1;


did not find the structure


ChemAxon aa7c50abf8

05-10-2012 14:07:28

The complete sequence is then:


insert into chemdata_single (..., smiles) values(..., 'C1=NC=C2C=NC=NN12');


commit;


select * from chemdata_single where jc_compare(smiles,  'C1=NC=C2C=NC=NN12', 't:s') = 1;


Correct?


And the same applies to a very minimalistic structure such a single carbon atom:



insert into chemdata_single (..., smiles) values(..., 'C');


commit;


select * from chemdata_single where jc_compare(smiles,  'C', 't:s') = 1;



correct?


Please, could you post the output of the following command:


select jchem_core_pkg.getenvironment() from dual;


?


Thanks,


Peter

User 55ffa2f197

05-10-2012 14:12:51

right the insertion statement just like what you wrote


 


Here is the result with


select jchem_core_pkg.getenvironment() from dual;


 



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.


Java version: 1.6.0_32


Java VM version: 20.7-b02


JChem version: 5.9.3


JChem Index version: 5080100


JDBC driver version: 11.1.0.7.0-Production


ChemAxon aa7c50abf8

05-10-2012 17:31:22

Dong,


Are you able to retrieve structures with jc_compare which have been already in the table for some time (since as long as, say, last week)?


Another test could be to open a new database connection and see if you can find the structures (newly inserted in the other session) there using a simple SQL query (e.g. searching by id).


Another informative test could be to restart the JChem Cartridge server and see if you can retrieve the maverick structures with jc_compare after restart.


The only thing I can think of causing a similar behaviour is that the JChem Cartridge server may have been configured to connect back to a different but similarly structured database.


Peter

User 55ffa2f197

09-10-2012 13:51:30

Hi Peter,


Afer restart jchem server I was able to retrive the newly added structures using both jc_compare and sss in IJC. I restarted jchem server on 9/25 after a server shutdown. A couple of days ago I updated IJC to 5.11, when I was in IJC as admin it prompt me to update the schema meta information, I did that. I have attched jchemproperty as csv file and jchem server configuration files. This is a single host server, both Oracle and JChem on the same box. Hope this information would help debug


Thanks


Dong

ChemAxon aa7c50abf8

09-10-2012 14:00:38

Hi Dong,


Many thanks for this information. We will work with the IJC team to figure out what the problem may be.


Thanks


Peter

ChemAxon aa7c50abf8

09-10-2012 14:04:07

Did inserts work before the IJC (schema) upgrade? (Did searches retrieve newly inserted structures before the upgrade?)


Thanks


Peter

User 55ffa2f197

09-10-2012 14:07:38

after the initial built in July added two small batches of structures, I did not test on the first batch, but tested this time, then I found the problem ...

ChemAxon aa7c50abf8

09-10-2012 14:13:55

Insert may have never worked, correct?


Peter

User 55ffa2f197

09-10-2012 14:18:17

base on recent insertion, I would say structures got inserted ( i can see them in the Oracle table, and in IJC), and fp generated ?, but structure cache was not refreshed when I did sss.

ChemAxon aa7c50abf8

09-10-2012 15:59:12

Dong,



I think we've now reached the point where a webex might be in order to help you obtain detailed diagnostic infomation potentially relevant to the issue. The following steps would need to be performed:



1. Add the following lines to jchem/cartridge/conf/logging.properties:


chemaxon.jchem.level = FINEST


2. Restart the JChem Cartridge server


3. Execute the following SQL:


call jcart_logger.set_log_level('chemaxon', 4);


4. Insert a structure into the table chemdata_single.


5. Obtain the content of the "update log" table associated with the JChem index created on chemdata_single.smiles:


select * from <index-name>_jcx_ul;


6. Obtain the content of the jchemproperties_cr table:


select * from jchemproperies_cr;


7. Commit the insert.


8. Execute a structure search which is supposed to retrieve the newly inserted structure.


9. Provide us the following data eventually through e-mail (pkovacs at chemaxon dot com):


9a. The content of the update log table obtained in step #5.


9b. The content of the jchemproperties_cr table obtained in step #6.


9c. The log files found in the jchem/cartridge/logs directory


9d. The corresponding Oracle session trace file from the Oracle trace directory


9e. The SQL used to create the JChem index on chemdata_single.smiles.


Thanks


Peter