Integration thoughts on JChem & private system?

User 9d2c03e26a

28-05-2010 15:35:37

Hi:


We are developing a chemical web system, and part of it integrates with ChemAxon products.


We've successfully displayed the 2D structure using MarvinView applet, since the only required parameter is a SMILES string. However, problem occurs when things come to structure search.


Some facts:



Now we are trying to integrate with JChemBase (for substructure search), and the problem is about data consistency.


We have our own web page to modify the chemical properties like smiles, formula, etc. However, if Jchem is introduced into the system, it means we also have to synchronize the changes with its structure tables (and also update other Jchem-proprietary fields like cd_fp*, hash, etc). We don't know if certain interface are available to update the structure table by specifying the SMILES string only (some piece of code snippet are appreciated if any).


On the other side, if we merge the JChem structure table with ours, we are facing the following problems:



I don't know if all the points are listed above, but really get confused in selecting the best way to get things done.


Do you have any suggestion for my case?


Thanks in advance.

User 9d2c03e26a

30-05-2010 14:59:05

Hello, anyone has any idea for this?

ChemAxon a3d59b832c

31-05-2010 14:55:18

Dear Urs,


 


We do not provide a ready Hibernate interface to JChem Base, but some users have gone that route.


You can read about their experiences in these documents, presented on our user group meetings:


https://www.chemaxon.com/2010/03/11/making-developing-chemistry-based-systems-easier-new-and-old-languages-and-frameworks-on-the-java-virtual-machine/


https://www.chemaxon.com/forum/chemaxon_java_server_centric_env_116-download413.ppt


https://www.chemaxon.com/forum/download4719.pdf


 


Regarding your other concerns: JChem Cartridge for Oracle seems to be the most suitable product for your environment.


- It allows arbitrary table structure (we call these regular tables, as opposed to JChem tables). You can put a JChem index on your smiles column, and the index will be
automatically updated when the value in the smiles column changes.


- Native SQL can be used for data and search operations.


- The JChem upgrades will be restricted to the JChem index, it will not affect your table structure.


- The JChem Cartridge server will also hide the cache and the registration from your client application, so you will not need to deal with that separately.


 


Most of the above mentioned users also used JChem Cartridge, although JChem Base integration with Hibernate is also possible.


See for more info and links to doc on the Cartridge product page: https://www.chemaxon.com/products/jchem-cartridge/


Many Java and SQL code snippets are available in the Developers Guides:


https://www.chemaxon.com/dev_guide_land.html


Please see the JChem Base and JChem Cartridge guides.


 


Let us know if you have any further questions.


 


Best regards,


Szabolcs

User 9d2c03e26a

31-05-2010 17:16:08

Hi Szabolcs:



Thanks for the reply. I will go through the documents you provided.


We plan to running on a public machine, so the database will be mysql, not oracle. As far as I know, JChem Cartridge is for oracle only, so that will not be an option. correct me if I am wrong.



We are planning to do the following:



By doing this, we keep the two system as loose coupled as possible (For future JChem update, only need to update the four tables and update code if necessary). Hope we are going towards the right position.


Any comments or suggestions will be appreciated.

ChemAxon fa971619eb

02-06-2010 15:55:43

Hi, the topic is complex and a siimple answer will not sufice. We will follow this up separately outside the forum, and then post back any answers that might be useful to others.


Tim