Exception in name2structure conversion using cartridge

User 8139ea8dbd

27-07-2011 22:21:07

I don't have access to the latest cartridge, could you help check the following SQL?


select jcf.molconvert('Lipopolysaccharides', 'smiles:a') FROM dual;

It crashes on our server with error:


Error> ORA-29532: Java call terminated by uncaught Java exception: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
        java.rmi.RemoteException: Cannot create record reader for the "chime" format
ORA-06512: at "JCHEM_CART.JCHEM_CORE_PKG", line 278
ORA-06512: at "JCHEM_CART.JCF", line 459
ORA-06512: at "JCHEM_CART.JCF", line 444

A related question is molconvert thinks the input format is "chime", how do I tell the function that the input is actually a "name" format?


Thanks

ChemAxon aa7c50abf8

27-07-2011 22:47:24

Doesn't work with 5.5.1:


SQL> select jcf.molconvert('Lipopolysaccharides', 'smiles:a') FROM dual;
select jcf.molconvert('Lipopolysaccharides', 'smiles:a') FROM dual
       *
Hiba a(z) 1. sorban:
ORA-29532: a Java hÝvßs nem kezelt Java kivÚtellel Úrt vÚget:
java.rmi.ServerException: RemoteException occurred in server thread; nested
exception is:
chemaxon.jchem.cartridge.rmi.StructureFormatException: Cannot create record
reader for the "chime" format
ORA-06512: a(z) "PKOVACS_R551.JCHEM_CORE_PKG", helyen a(z) 298. sornßl
ORA-06512: a(z) "PKOVACS_R551.JCF", helyen a(z) 731. sornßl
ORA-06512: a(z) "PKOVACS_R551.JCF", helyen a(z) 716. sornßl

You can specify the input format through the second parameter of the three-parameter version of the function, but this doesn't appear to work either:


SQL> select jcf.molconvert('Lipopolysaccharides', 'name', 'smiles:a') FROM dual;
select jcf.molconvert('Lipopolysaccharides', 'name', 'smiles:a') FROM dual
       *
Hiba a(z) 1. sorban:
ORA-29532: a Java hÝvßs nem kezelt Java kivÚtellel Úrt vÚget:
java.rmi.ServerException: RemoteException occurred in server thread; nested
exception is:
chemaxon.jchem.cartridge.rmi.StructureFormatException: Unknown token:
lipopolysaccharides
ORA-06512: a(z) "PKOVACS_R551.JCHEM_CORE_PKG", helyen a(z) 298. sornßl
ORA-06512: a(z) "PKOVACS_R551.JCF", helyen a(z) 731. sornßl

Works with another name:


SQL> select jcf.molconvert('morphine', 'name', 'smiles:a') FROM dual;

JCF.MOLCONVERT('MORPHINE','NAME','SMILES:A')
--------------------------------------------------------------------------------
CN1CC[C@@]23[C@H]4Oc5c2c(C[C@@H]1[C@@H]3C=C[C@@H]4O)ccc5O

Peter

User 8139ea8dbd

27-07-2011 22:50:29

Thanks for the hint on the syntax.


I assume the correct behavior is the function returns NULL instead of throwing an exception, right?

ChemAxon aa7c50abf8

27-07-2011 23:11:01

In general, I'd say the function should return NULL, if the result is uknown, and should fail with an error message for incorrect input. Since I am not a chemist, let alone an expert in IUPAC names, I cannot tell whether 'Lipopolysaccharides' is a correct input or not. I let my more knowledgeable colleagues handle these subtle details.


Peter

User 8139ea8dbd

27-07-2011 23:59:23

It is not a valid name, I posted it b/c I was expecting NULL.  Okay, for now, I catch the exception and loop over it.

ChemAxon aa7c50abf8

20-01-2012 09:30:37

5.8.0 has been released with the haltOnError option to the molconvert function:


 


select jcf.molconvert('Lipopolysaccharides', 'name', 'smiles:a', 'haltOnError:n') FROM dual;

will return NULL.