MSGFPlus / msgfplus

MS-GF+ (aka MSGF+ or MSGFPlus) performs peptide identification by scoring MS/MS spectra against peptides derived from a protein sequence database.
Other
72 stars 36 forks source link

java.lang.IndexOutOfBoundsException when opening mzML file #121

Open BBBBunnyZ opened 3 years ago

BBBBunnyZ commented 3 years ago

Describe the question or problem Error: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 when opening mzML file I met this error report when using MS-GF+ for .mzML. I tested about 1000 .mzML file from the same experiment using the same database and parameters, most of which can run successfully, while only small part of .mzML files failed. And I also tested different databases of the failed .mzML files, still failed with the same error.

Details MS-GF+ Release (v2021.01.08) (8 January 2021) Java 1.8.0_252 (Oracle Corporation) Linux (amd64, version 3.10.0-1062.el7.x86_64) Loading database files... Warning: Sequence database contains 72 counts of letter 'U', which does not correspond to an amino acid. Counting number of distinct peptides in xxx.revCat.csarr using xxx.revCat.cnlcp Counting distinct peptides: 20.64% complete. Counting distinct peptides: 47.87% complete. Counting distinct peptides: 79.49% complete. Loading database finished (elapsed time: 10.83 sec) Reading spectra... Opening mzML file xxx.mzML java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:657) at java.util.ArrayList.get(ArrayList.java:433) at psidev.psi.tools.xxindex.index.ByteBuffer.get(ByteBuffer.java:26) at psidev.psi.tools.xxindex.index.XmlXpathIndexer.getTagName(XmlXpathIndexer.java:380) at psidev.psi.tools.xxindex.index.XmlXpathIndexer.buildIndex(XmlXpathIndexer.java:206) at psidev.psi.tools.xxindex.index.XmlXpathIndexer.buildIndex(XmlXpathIndexer.java:94) at psidev.psi.tools.xxindex.StandardXpathAccess.(StandardXpathAccess.java:108) at psidev.psi.tools.xxindex.StandardXpathAccess.(StandardXpathAccess.java:75) at uk.ac.ebi.jmzml.xml.xxindex.MzMLIndexerFactory$MzMlIndexerImpl.(MzMLIndexerFactory.java:82) at uk.ac.ebi.jmzml.xml.xxindex.MzMLIndexerFactory$MzMlIndexerImpl.(MzMLIndexerFactory.java:52) at uk.ac.ebi.jmzml.xml.xxindex.MzMLIndexerFactory.buildIndex(MzMLIndexerFactory.java:49) at uk.ac.ebi.jmzml.xml.io.MzMLUnmarshaller.(MzMLUnmarshaller.java:121) at uk.ac.ebi.jmzml.xml.io.MzMLUnmarshaller.(MzMLUnmarshaller.java:100) at edu.ucsd.msjava.mzml.MzMLAdapter.(MzMLAdapter.java:27) at edu.ucsd.msjava.msutil.SpectraAccessor.getSpecMap(SpectraAccessor.java:54) at edu.ucsd.msjava.ui.MSGFPlus.runMSGFPlus(MSGFPlus.java:266) at edu.ucsd.msjava.ui.MSGFPlus.runMSGFPlus(MSGFPlus.java:113) at edu.ucsd.msjava.ui.MSGFPlus.main(MSGFPlus.java:61)

Useful extras java -Xmx3500M -jar xxx/MSGFPlus_v20210108/MSGFPlus.jar -d xxx.fasta -t 10ppm -e 1 -m 3 -ntt 2 -inst 3 -thread 1 -tda 1 -ti 0,1 -n 1 -decoy REV -maxLength 50 -maxMissedCleavages 2 -mod xxx.txt -s xxx.mzML -o ./test.mzML.mzid

FarmGeek4Life commented 3 years ago

Where you were able to run most mzML files, and only some failed, and still failed with a different database: It appears that those mzML files have some issue that is causing the error.

We can't really help much beyond that unless you are able to send one of the data files our way.