JChemBase fails to import SMILE unique generated by MarvinBe

User 98d11041ad

13-09-2011 22:31:30

The ChemAxon 5.5.0.0 Tool kit fails to import the following smiles:


 


C1[O]23[O]4[O@@]11[Si@@]24[O]3112C34[O]11C[O@@]23[O]4112[O]34C[O@@]11[O]3[Si@@]241


 


Which was originally generated by MarvinBeans after the standaridization process.


 


Apparently similar behviour is observed with the Oracle Cartridge on Oracle 10g

ChemAxon 9c0afc9aaf

13-09-2011 23:07:39

Hi,


This seems to be a "crazy" (impossible) structure with up to 6-valent O atoms and so forth.


This was too much to digest for our software in some versions.


JChem 5.6. has just been released, and it is now capable to read this SMILES without exception.


Best,


Szilard

User 98d11041ad

14-09-2011 17:18:55

Szilard,


Thank you for the prompt reply.


I agree that is a crazy structur, and I am still tracking the source of it.


Do you generally recoomand us upgrading to 5.6?

ChemAxon 9c0afc9aaf

14-09-2011 17:28:34

 


Do you generally recommend us upgrading to 5.6?

Yes.


Szilard

User 98d11041ad

14-09-2011 18:13:49

Szilard,


 


I have tried that crasy molecule on 5.6 and I still can not import it successfully.


in fact here is the exception out of my test case:


 


System.out.println("\t\tImporting " + linecount + " containing " + smilesLine ); 


MolHandler handler = new MolHandler();
Molecule m;


handler.setMolecule(smilesLine);


Importing line 0 containing C1[O]23[O]4[O@@]11[Si@@]24[O]3112C34[O]11C[O@@]23[O]4112[O]34C[O@@]11[O]3[Si@@]241
chemaxon.formats.MolFormatException: 1
    at chemaxon.marvin.io.MRecordImporter.readStructure(Unknown Source)
    at chemaxon.marvin.io.MRecordImporter.readMol(Unknown Source)
    at chemaxon.marvin.io.MRecordImporter.readMol(Unknown Source)
    at chemaxon.marvin.io.MRecordImporter.readMol0(Unknown Source)
    at chemaxon.marvin.io.MRecordImporter.readMol(Unknown Source)
    at chemaxon.formats.MolImporter.readMol(Unknown Source)
    at chemaxon.formats.MolImporter.read(Unknown Source)
    at chemaxon.formats.MolImporter.read(Unknown Source)
    at chemaxon.util.MolHandler.importMol(MolHandler.java:661)
    at chemaxon.util.MolHandler.setMolecule(MolHandler.java:149)
    at com.ibm.simple.standardization.InchiKeyFix.main(InchiKeyFix.java:43)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
    at chemaxon.marvin.modules.Parity.compareLevel(Unknown Source)
    at chemaxon.marvin.modules.Parity.digraphTopoComparison(Unknown Source)
    at chemaxon.marvin.modules.Parity.orderCIPTopographical(Unknown Source)
    at chemaxon.marvin.modules.Parity.calculateTHChirality(Unknown Source)
    at chemaxon.marvin.modules.Parity.stereogenicCenterCalculation(Unknown Source)
    at chemaxon.marvin.modules.Parity.getChirality(Unknown Source)
    at chemaxon.marvin.modules.Parity.modfunc(Unknown Source)
    at chemaxon.struc.MoleculeGraph.getChirality(Unknown Source)
    at chemaxon.marvin.io.formats.smiles.SmilesImport.setChiralFlag(Unknown Source)
    at chemaxon.marvin.io.formats.smiles.SmilesImport.readMol0(Unknown Source)
    at chemaxon.marvin.io.formats.smiles.SmilesImport.readMol(Unknown Source)
    at chemaxon.marvin.io.formats.smiles.SmilesImport.readMol(Unknown Source)


 

ChemAxon 9c0afc9aaf

14-09-2011 18:46:43

Hi,


A similar code works for me with 5.6 just fine.


I suggest to double-check which version is in the classpath of your application:


 



System.err.println("Jchem version:" + chemaxon.jchem.version.VersionInfo.JCHEM_VERSION);

        MolHandler handler = new MolHandler();

        handler.setMolecule("C1[O]23[O]4[O@@]11[Si@@]24[O]3112C34[O]11C[O@@]23[O]4112[O]34C[O@@]11[O]3[Si@@]241");

        Molecule m=handler.getMolecule();

        System.err.println(m.toFormat("smiles"));




User 98d11041ad

14-09-2011 19:31:19

Szilard,


 


You were aboslutely right, it was my classpath which contained residual 5.5 references.


 


Thank you so much.