cartrige cannot index polymer

User 8139ea8dbd

07-02-2009 01:09:56

I played with your suggested workaround, I try to register a polymer (MOL file attached) to our compound table. Our jc_smiles column currently store smiles strings.





INSERT into cpd(cpd_sid, jc_smiles, created, created_by) VALUES(SEQ_SID_CPD.NEXTVAL, ?, SYSDATE, 'my name')





I am using the latest cartridge, it throws an exception:





 Error> ORA-29875: failed in the execution of the ODCIINDEXINSERT routine


ORA-29532: Java call terminated by uncaught Java exception: java.lang.NullPointerException


ORA-06512: at "JCHEM_CART.JCHEM_CORE_PKG", line 241


ORA-06512: at "JCHEM_CART.JC_IDXTYPE_IM", line 526





== my system information ===





"Oracle environment:


Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi


PL/SQL Release 10.2.0.3.0 - Production


CORE    10.2.0.3.0      Production


TNS for Solaris: Version 10.2.0.3.0 - Production


NLSRTL Version 10.2.0.3.0 - Production





JChem Server environment:


Java VM vendor: Sun Microsystems Inc.


Java version: 1.5.0_17


Java VM version: 1.5.0_17-b04


JChem version: 5.1.4


JChem Index version: 50103


JDBC driver version: 10.2.0.3.0

ChemAxon 9c0afc9aaf

07-02-2009 01:13:19

Hi,





- You did not attach the mol file.


- Probably you wanted to post this to an other topic ?





Best regards,





Szilard

ChemAxon a3d59b832c

09-02-2009 16:13:32

Hi,





We will try to reproduce the exception in the cartridge. (JChem Base seems OK currently.)





Please note that from JChem 5.2 we will support storage and searching of polymer structures in molecule tables. (JChem 5.2 will be available soon.)





Best regards,





Szabolcs

ChemAxon aa7c50abf8

09-02-2009 16:45:02

Hi,





I've been unable to reproduce the error. With a "molecule" index (the default tableType)








Code:
create index jcxmole on mole(s) indextype is pkovacs_514.jc_idxtype parameters('tableType=molecules')








, I get this error message:





Quote:
java.rmi.RemoteException: Inserting a query or Markush structure is not allowed
. With an "any structure" index








Code:
create index jcxmole on mole(s) indextype is pkovacs_514.jc_idxtype parameters('tableType=anyStructures')






, I can successfully insert the molecule.





Please, could you post the corresponding Java stack trace from the JChem Server log file? (in the jchem/cartridge/logs directory).





Thanks





Peter

ChemAxon aa7c50abf8

09-02-2009 17:01:07

Maybe you didn't drop and re-create the index on this table after upgrade. There is a bug in JChem Cartridge 5.1.4, which makes any structure INSERT to abort with a NullPointerException, if the index was upgraded with ALTER INDEX REBUILD. This bug will be fixed in the next release.





Thanks





Peter

User 8139ea8dbd

11-02-2009 18:47:01

Yes, you are right. We recreated the index and insertion now works.





I know I cannot use head-to-tail to constructure a substructure search in this version (Szilard said something in post #19118), besides that, what are the limitations in supporting polymer in a compound registration system (mainly rely on perfect match to assign a unique compound identifier for each unique polymer) using current version 5.1.4.





I registered a polymer, then perfect search located it correctly, it appears 5.1.4 is ready for supporting polymer registration. But I know something must be missing.  What is missing for the purpose of polymer registration, and will the missing features be available in 5.2?





Thanks.

ChemAxon a3d59b832c

12-02-2009 10:09:09

Quote:
I registered a polymer, then perfect search located it correctly, it appears 5.1.4 is ready for supporting polymer registration. But I know something must be missing. What is missing for the purpose of polymer registration, and will the missing features be available in 5.2?





Currently all bracket information is just ignored. So if you just remove the brackets from the above molecule (by ungrouping), then it will be recognized as duplicate.





In 5.2, we will handle the bracket information (in molecule tables also) and different aspects of polymers will be supported, like:
  • Search option to match/ignore polymer endgroups
  • Handling of star atoms (when the endgroups are unknown)
  • Different types of polymers - SRU, monomer
  • Embedded copolymers: block, random, alternating, graft, etc.
  • Bracket connectivity check: head to tail, head to head, unknown, flip
  • Attached data matching - to handle additional properties of polymers (or other molecules.)
  • Ladder type polymers
Best regards,





Szabolcs

User 8139ea8dbd

12-02-2009 18:16:52

> Currently all bracket information is just ignored. So if you just remove the brackets from the above molecule (by ungrouping), then it will be recognized as duplicate.





I am not sure about your comments. CCC(C)Cl is the result of ungrouping the polymer I attached to the first post.





select jc_compare(MyPolymerMOL, 'CCC(C)Cl', 't:p') from dual


returns 0. Jchem knows these are two different structures.






Could you shed some light on that? Thanks.

ChemAxon a3d59b832c

12-02-2009 19:42:10

It is because of the star atoms used for the unknown polymer endgroups. Those do not match carbon atoms.

User 8139ea8dbd

12-02-2009 21:29:11

I tested it again, indeed as you described.

User 8139ea8dbd

12-02-2009 21:31:52

I assume in 5.2, extended smiles will be able to describe polymers, right?

ChemAxon a3d59b832c

12-02-2009 21:55:17

No, unfortunately we will not have time to implement that. Instead, cd_smiles will be set to NULL for polymer records. (This latter solution is already implemented in our development version.)