Problem with substructural search

User 761d9eb85b

31-08-2011 09:52:10

Hello,


In our developement of a web application using JChemBase .NET (SQL server / C#), we have found an exception is thrown by JChemSearch when the query molecule is a small molecule (benzene, cyclohexane, ethane etc).


Strangely with more complicate molecule there is no problem. (propyl benzene no probleme, but ethyl benzene doesn't work).


The code is as following :



chemaxon.jchem.db.JChemSearch searchObject = BuildJChemSearchHandler(filter.Structure, "JChem_Reaction", filter.ExactSearch);


searchObject.run();


 And the exception is :


java.lang.IllegalArgumentException: Molecule does not contain atom MolAtom@144ce78[N]


I don't know how to resolve the problem. It is important to us.


Please help us !!


Thanks!!


Ning


 


User 761d9eb85b

31-08-2011 12:57:02

Here is more information :


JChem version : 5.4.1.1076.


Codes in BuildJChemSearchHandler :


 


private chemaxon.jchem.db.JChemSearch BuildJChemSearchHandler(string structure, string tableName, bool duplicate)


        {


            chemaxon.jchem.db.JChemSearch searchObject = new chemaxon.jchem.db.JChemSearch();


            var connHandler = JChemConnectionHandler;


            if (connHandler == null)


                throw new Exception("Error in BuildJChemSearchHandler : no JChemConnectionHandler created");


            searchObject.setQueryStructure(structure);


            searchObject.setConnectionHandler(connHandler);


            searchObject.setStructureTable(tableName);




            chemaxon.sss.search.JChemSearchOptions searchOption = new chemaxon.sss.search.JChemSearchOptions();


            searchOption.setSearchType(duplicate?chemaxon.sss.SearchConstants.__Fields.DUPLICATE:chemaxon.sss.SearchConstants.__Fields.SUBSTRUCTURE);




            searchObject.setSearchOptions(searchOption);


            searchObject.setRunMode(chemaxon.jchem.db.JChemSearch.RUN_MODE_SYNCH_COMPLETE);


            return searchObject;


        }


duplicate is false.


structure is :


 


$RXN


 


  Marvin       083101111030


 


  1  0


$MOL


 


  Marvin  08311110302D         


 


  6  6  0  0  0  0            999 V2000


   -4.8911    0.9134    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


   -5.6055    0.5009    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


   -5.6055   -0.3241    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


   -4.8911   -0.7366    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


   -4.1766   -0.3241    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


   -4.1766    0.5009    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


  1  2  1  0  0  0  0


  1  6  2  0  0  0  0


  2  3  2  0  0  0  0


  3  4  1  0  0  0  0


  4  5  2  0  0  0  0


  5  6  1  0  0  0  0


M  END


 


List of exceptions :


 


Une exception de première chance de type 'java.lang.NumberFormatException' s'est produite dans IKVM.OpenJDK.Core.dll


Une exception de première chance de type 'java.sql.SQLException' s'est produite dans jtds-1.2.2.dll


Une exception de première chance de type 'java.sql.SQLException' s'est produite dans jtds-1.2.2.dll


Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll


Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'org.xml.sax.SAXNotRecognizedException' s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'org.xml.sax.SAXNotSupportedException' s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll


Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'org.xml.sax.SAXNotRecognizedException' s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'org.xml.sax.SAXNotSupportedException' s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll


Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'org.xml.sax.SAXNotRecognizedException' s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'System.Web.HttpException' s'est produite dans System.Web.dll


Une exception de première chance de type 'org.xml.sax.SAXNotSupportedException' s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'org.xml.sax.SAXNotRecognizedException' s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'org.xml.sax.SAXNotSupportedException' s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une
exception de première chance de type
'com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException'
s'est produite dans IKVM.OpenJDK.XML.Parse.dll


Une exception de première chance de type 'System.Web.HttpException' s'est produite dans System.Web.dll


Une exception de première chance de type 'System.InvalidCastException' s'est produite dans JChem.dll


Une exception de première chance de type 'System.InvalidCastException' s'est produite dans JChem.dll


Une exception de première chance de type 'java.lang.IllegalArgumentException' s'est produite dans JChem.dll


Le thread 'Thread-7' (0x1168) s'est arrêté avec le code 0 (0x0).


Le thread 'Thread-8' (0x1b88) s'est arrêté avec le code 0 (0x0).


Une exception de première chance de type 'chemaxon.jchem.db.DatabaseSearchException' s'est produite dans JChem.dll


Une exception de première chance de type 'chemaxon.jchem.db.DatabaseSearchException' s'est produite dans JChem.dll


Une exception de première chance de type 'chemaxon.jchem.db.DatabaseSearchException' s'est produite dans JChem.dll


Inner errors :




   à chemaxon.struc.Molecule.setSgroupParent(MolAtom ma, Sgroup s, Boolean b)


   à chemaxon.marvin.io.formats.smiles.CxsmilesImport.readExtendedFeatures(Int32 , String , Molecule )


   à chemaxon.marvin.io.formats.smiles.SmilesImport.readMol(String str, Molecule m)


   à chemaxon.marvin.io.formats.smiles.CxsmilesImport.readMol(String str, Molecule m)


   à chemaxon.jchem.db.JChemSearch.ABASThread.run()


 


 


 


Thanks for help !


 



ChemAxon 42004978e8

31-08-2011 14:08:05

Hi,


The exception occurs when the target molecule is read from the database. In case of large queries the problematic target may not be read because it's screened out. 


To check the problem with your target could you send the db structures? If you can locate the problematic record it's even better to send that one. 


 


Thanks,


Robert

User 761d9eb85b

31-08-2011 15:10:15

 


Hi Robert,


Thanks for your reply.


It is difficult for us to find which record make probleme as we have more than 10000 reaction records in database.


If some of the records are problematic, JChem could not just skip them ?


 




Structures of JChem tables are generated by SQL Management studio and listed in attachment, hope it can help :


 




Thanks !


Ning


 

ChemAxon 42004978e8

31-08-2011 19:55:46

Hi Ning,


Skipping problematic records will be possible from version 5.6 through the haltOnError option. For non-markush tables the default value of this option will be, that the search is stopped. Setting to false will log the error but the search will otherwise go on. 


We can search for this problematic record if you can provide us the original inputs. The data will not be made available to any third party. 


You can send them to support _at_ chemaxon.com if they are not too large. 


Please specify us your jchem version and the table type you used. 


Thanks,


Robert

User 761d9eb85b

07-09-2011 08:14:03

Hi,


I have sent the email to support _at_ chemaxon.com.


Thanks for help !


Ning


 

ChemAxon 42004978e8

07-09-2011 09:33:56

Salut,


We've found the problematic structure and could reproduce the exception.


We will come back when it's fixed.


Thanks for reporting it!


A bientot,


Robert

ChemAxon 42004978e8

22-11-2011 20:12:26

Salut,


The issue with importing reactions with multicenter atoms and coordinate bonds will be solved in 5.8.


Regards


Robert