Giter Club home page Giter Club logo

ms-data-core-api's Issues

Question about method MzIdentMLUtils.getSpectrumId

Hi - we have been looking at different ways of parsing mzIdentML files. PRIDEs ms-data-core-api looks to be the most complete solution, for example, other libraries do not deal with the different formats used for spectrum ids.

I have a question regarding the formats used for spectrum ids and the code at:

public static String getSpectrumId(uk.ac.ebi.jmzidml.model.mzidml.SpectraData spectraData, String spectrumID) {
Constants.SpecIdFormat fileIdFormat = getSpectraDataIdFormat(spectraData);
if (fileIdFormat == Constants.SpecIdFormat.MASCOT_QUERY_NUM) {
String rValueStr = spectrumID.replaceAll("query=", "");
String id = null;
if(rValueStr.matches(Constants.INTEGER)){
id = Integer.toString(Integer.parseInt(rValueStr) + 1);
}
return id;
} else if (fileIdFormat == Constants.SpecIdFormat.MULTI_PEAK_LIST_NATIVE_ID) {
String rValueStr = spectrumID.replaceAll("index=", "");
String id;
if(rValueStr.matches(Constants.INTEGER)){
id = Integer.toString(Integer.parseInt(rValueStr) + 1);
return id;
}
return spectrumID;
} else if (fileIdFormat == Constants.SpecIdFormat.SINGLE_PEAK_LIST_NATIVE_ID) {
return spectrumID.replaceAll("file=", "");
} else if (fileIdFormat == Constants.SpecIdFormat.MZML_ID) {
return spectrumID.replaceAll("mzMLid=", "");
} else if (fileIdFormat == Constants.SpecIdFormat.SCAN_NUMBER_NATIVE_ID) {
return spectrumID.replaceAll("scan=", "");
} else {
return spectrumID;
}
}

As I read it, in the case where the fileIdFormat is Constants.SpecIdFormat.MASCOT_QUERY_NUM or Constants.SpecIdFormat.MULTI_PEAK_LIST_NATIVE_ID
then one is added to the spectrum id. I took this to mean that these formats use zero-based indexes whereas the norm for these formats is to use one based indexes.

This is the case for the multiple peak list nativeID format (MS:1000774) which says:

Index is the spectrum number in the file, starting from 0.

However, for the Mascot query number (MS:1001528) it says:

The spectrum (query) number in a Mascot results file, starting from 1.

So, finally getting to my question, why is one added to the spectrum id for Mascot query number format when the corresponding CV term says it is already one-based?

cheers,
Colin

Create more unit tests

Create more unit tests. Some users are complaining about the number of unit tests in ms-data-core-api. We should create more unit tests.

Issue with massive dataset

From Geremy

The main issue we are concerned with is this: when trying to convert an example file from one of our public datasets (ftp://massive.ucsd.edu/MSV000079538/result/20140326_C04A.mzid), we get this stack trace:


java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
at java.util.ArrayList.get(ArrayList.java:411)
at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.getDatabaseName(MzIdentMLMzTabConverter.java:968)
at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.loadProtein(MzIdentMLMzTabConverter.java:775)
at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.fillData(MzIdentMLMzTabConverter.java:186)
at uk.ac.ebi.pride.jmztab.utils.convert.ConvertProvider.getMZTabFile(ConvertProvider.java:82)
at edu.ucsd.mztab.converters.MzIdToMzTabConverter.convert(MzIdToMzTabConverter.java:56)

at edu.ucsd.mztab.ui.MzTabConverter.main(MzTabConverter.java:30)

It looks like a bug related to internal bookkeeping of protein databases. I'm not sure what about the file is causing this problem, but you can examine it at the download link provided above. In any case, it doesn't look like it's an issue we can easily work around by just overriding methods in our subclass of your converter.

Review The following methods:

  • Number of Peptides identified: Total number of peptide Sequences identified.
  • Number of PeptidoForms: Number of Peptides + modifications + position of the modification.
  • Number of Unique Peptides: Peptides that map uniquely to a Protein ID.
  • Number of identified Spectra: Number of MS/MS with at least one peptide identification.
  • List of anchor proteins: Here we need to report only the proteins that are the anchor of the protein group in mzidentml. We will create another column with other members of the group. Additional Proteins.

These numbers need to be equal in ms-data-core-api and jmzTab.

Using this API in MATLAB

Hello,
I've been trying to use ms-data-core-api in MATLAB to process mzXML and mzML data but have been unsucessful.

I downloaded the newest version from Github and built it with Maven in Eclipse, goal was set to "assembly:assembly". It seems that log4j was not included in the POM so I added it in the "dependency" section.

MATLAB version is R2017b, running "Java 1.8.0_121-b13 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode".

The issues I encountered are:

  1. When reading a mzML file (MzMLFile_7_compressed.mzML in \test\resources), in MATLAB I imported "java.io.File" and "uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.MzMLControllerImpl". When running "MzMLControllerImpl(file)", the error appeared as "java.lang.NoClassDefFoundError: Could not initialize class uk.ac.ebi.jmzml.xml.Constants".

  2. When reading a mzXML file (our own data), after following a similar routine, when running "MzXmlControllerImpl(file)", the error appeared as "java.lang.IllegalStateException: Could not initialize unmarshaller".

Please don't hesitate to ask if you need any more information to help me solve this problem.

I sincerely appreciate your kindly help. Thank you very much!

Parsing of some assays seems to hang

Hello,

I discovered that some projects cause the parsing to hang indefinitely. This seems the case on my end for example for assay 42095.

Cheers,

Kenneth

Can we add a Controller like the sum of different controllers

It would be interesting to have multiple mzIdentMLs in the same file. One the way is using a multiple Id Controller that can access to the specific protein id depending on the protein selected. Possibles uses cases Experiment data analysis (charts, etc), Protein inference at Experiment level.. etc

CachedDataAccessController.getSpectrumById() ClassCastException

In class: CachedDataAccessController

L166

Spectrum getSpectrumById(Comparable id, boolean useCache) {
    return useCache ? (Spectrum) cache.get(CacheEntry.SPECTRUM, id) : null;
}

This method is being used by the PX submission pipeline:

Spectrum spectrum = dataAccessController.getSpectrumById(specId);

java.lang.ClassCastException: java.util.Collections$SynchronizedMap cannot be cast to uk.ac.ebi.pride.utilities.data.core.Spectrum

So the cache.get() is returning a SynchonizedMap instead of just one Spectrum object.

Tobias

issue reported by Massive team

Reported by @jjcarver

We got the latest version of ms-data-core-api (2.0.21) working on our cluster, but it seems the issue we were having (way back with version 2.0.6) has not been resolved yet. Hopefully, this is caused by a bug that you or someone on your team can fix without much difficulty.

Specifically, all we're trying to do is convert a user-uploaded mzid file (found here) to mzTab. We use our own simple Java application to do this, though it doesn't do anything special; it just wraps basic ms-data-core-api code to convert in a standard way:

File mzIdFile = <some input file>;
File mzTabFile = <some output file>;
FileOutputStream output = new FileOutputStream(mzTabFile);
new MzIdentMLMzTabConverter(new MzIdentMLControllerImpl(mzIdFile)).getMZTabFile().printMZTab(output);

When running this simple code on the above mzid file, we get the following log output from ms-data-core-api (before it throws its final exception):

E|RawXMLListener                          |Error trying to instantiate reference resolver: uk.ac.ebi.jmzidml.xml.jaxb.resolver.PeptideEvidenceRefResolver
java.lang.NullPointerException: null
        at java.io.StringReader.<init>(StringReader.java:50)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.AbstractReferenceResolver.unmarshal(AbstractReferenceResolver.java:89)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.PeptideEvidenceRefResolver.updateObject(PeptideEvidenceRefResolver.java:24)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.PeptideEvidenceRefResolver.afterUnmarshal(PeptideEvidenceRefResolver.java:39)
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.referenceResolving(RawXMLListener.java:187)
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.afterUnmarshal(RawXMLListener.java:52)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.fireAfterUnmarshal(Loader.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.leaveElement(StructureLoader.java:265)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement(UnmarshallingContext.java:585)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.endElement(SAXConnector.java:165)
        at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
        at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:273)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.AbstractReferenceResolver.unmarshal(AbstractReferenceResolver.java:89)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.SpectrumIdentificationItemRefRefResolver.updateObject(SpectrumIdentificationItemRefRefResolver.java:24)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.SpectrumIdentificationItemRefRefResolver.afterUnmarshal(SpectrumIdentificationItemRefRefResolver.java:39)
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.referenceResolving(RawXMLListener.java:187)
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.afterUnmarshal(RawXMLListener.java:52)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.fireAfterUnmarshal(Loader.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.leaveElement(StructureLoader.java:265)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement(UnmarshallingContext.java:585)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.endElement(SAXConnector.java:165)
        at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
        at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:273)
        at uk.ac.ebi.jmzidml.xml.io.MzIdentMLUnmarshaller.generateObject(MzIdentMLUnmarshaller.java:323)
        at uk.ac.ebi.jmzidml.xml.io.MzIdentMLUnmarshaller.unmarshal(MzIdentMLUnmarshaller.java:255)
        at uk.ac.ebi.pride.utilities.data.io.file.MzIdentMLUnmarshallerAdaptor.getIdentificationById(MzIdentMLUnmarshallerAdaptor.java:164)
        at uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.MzIdentMLControllerImpl.getProteinById(MzIdentMLControllerImpl.java:518)
        at uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.CachedDataAccessController.getProteinById(CachedDataAccessController.java:235)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.loadSearchEngineScores(AbstractMzTabConverter.java:299)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.convertMetadata(AbstractMzTabConverter.java:109)
        at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.convertMetadata(MzIdentMLMzTabConverter.java:1056)
        at uk.ac.ebi.pride.jmztab.utils.convert.ConvertProvider.createArchitecture(ConvertProvider.java:53)
        at uk.ac.ebi.pride.jmztab.utils.convert.ConvertProvider.<init>(ConvertProvider.java:39)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.<init>(AbstractMzTabConverter.java:54)
        at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.<init>(MzIdentMLMzTabConverter.java:69)
E|RawXMLListener                          |Error trying to instantiate reference resolver: uk.ac.ebi.jmzidml.xml.jaxb.resolver.SpectrumIdentificationItemRefRefResolver
java.lang.IllegalStateException: Could not instantiate reference resolver: uk.ac.ebi.jmzidml.xml.jaxb.resolver.PeptideEvidenceRefResolver
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.referenceResolving(RawXMLListener.java:191)
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.afterUnmarshal(RawXMLListener.java:52)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.fireAfterUnmarshal(Loader.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.leaveElement(StructureLoader.java:265)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement(UnmarshallingContext.java:585)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.endElement(SAXConnector.java:165)
        at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
        at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:273)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.AbstractReferenceResolver.unmarshal(AbstractReferenceResolver.java:89)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.SpectrumIdentificationItemRefRefResolver.updateObject(SpectrumIdentificationItemRefRefResolver.java:24)
        at uk.ac.ebi.jmzidml.xml.jaxb.resolver.SpectrumIdentificationItemRefRefResolver.afterUnmarshal(SpectrumIdentificationItemRefRefResolver.java:39)
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.referenceResolving(RawXMLListener.java:187)
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.afterUnmarshal(RawXMLListener.java:52)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.fireAfterUnmarshal(Loader.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.leaveElement(StructureLoader.java:265)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement(UnmarshallingContext.java:585)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.endElement(SAXConnector.java:165)
        at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
        at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:273)
        at uk.ac.ebi.jmzidml.xml.io.MzIdentMLUnmarshaller.generateObject(MzIdentMLUnmarshaller.java:323)
        at uk.ac.ebi.jmzidml.xml.io.MzIdentMLUnmarshaller.unmarshal(MzIdentMLUnmarshaller.java:255)
        at uk.ac.ebi.pride.utilities.data.io.file.MzIdentMLUnmarshallerAdaptor.getIdentificationById(MzIdentMLUnmarshallerAdaptor.java:164)
        at uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.MzIdentMLControllerImpl.getProteinById(MzIdentMLControllerImpl.java:518)
        at uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.CachedDataAccessController.getProteinById(CachedDataAccessController.java:235)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.loadSearchEngineScores(AbstractMzTabConverter.java:299)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.convertMetadata(AbstractMzTabConverter.java:109)
        at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.convertMetadata(MzIdentMLMzTabConverter.java:1056)
        at uk.ac.ebi.pride.jmztab.utils.convert.ConvertProvider.createArchitecture(ConvertProvider.java:53)
        at uk.ac.ebi.pride.jmztab.utils.convert.ConvertProvider.<init>(ConvertProvider.java:39)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.<init>(AbstractMzTabConverter.java:54)
        at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.<init>(MzIdentMLMzTabConverter.java:69)
----------

Then ms-data-core-api throws this exception, which our application catches:
----------
uk.ac.ebi.pride.utilities.data.controller.DataAccessException: Failed to retrieve protein identification: PROTEINDETECTIONHYPOTHESIS_IGHG4_HUMAN
        at uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.MzIdentMLControllerImpl.getProteinById(MzIdentMLControllerImpl.java:555)
        at uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.CachedDataAccessController.getProteinById(CachedDataAccessController.java:235)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.loadSearchEngineScores(AbstractMzTabConverter.java:299)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.convertMetadata(AbstractMzTabConverter.java:109)
        at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.convertMetadata(MzIdentMLMzTabConverter.java:1056)
        at uk.ac.ebi.pride.jmztab.utils.convert.ConvertProvider.createArchitecture(ConvertProvider.java:53)
        at uk.ac.ebi.pride.jmztab.utils.convert.ConvertProvider.<init>(ConvertProvider.java:39)
        at uk.ac.ebi.pride.utilities.data.exporters.AbstractMzTabConverter.<init>(AbstractMzTabConverter.java:54)
        at uk.ac.ebi.pride.utilities.data.exporters.MzIdentMLMzTabConverter.<init>(MzIdentMLMzTabConverter.java:69)
Caused by: java.lang.IllegalStateException: Could not instantiate reference resolver: uk.ac.ebi.jmzidml.xml.jaxb.resolver.SpectrumIdentificationItemRefRefResolver
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.referenceResolving(RawXMLListener.java:191)
        at uk.ac.ebi.jmzidml.xml.jaxb.unmarshaller.listeners.RawXMLListener.afterUnmarshal(RawXMLListener.java:52)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.fireAfterUnmarshal(Loader.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.leaveElement(StructureLoader.java:265)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement(UnmarshallingContext.java:585)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.endElement(SAXConnector.java:165)
        at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
        at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:221)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:273)
        at uk.ac.ebi.jmzidml.xml.io.MzIdentMLUnmarshaller.generateObject(MzIdentMLUnmarshaller.java:323)
        at uk.ac.ebi.jmzidml.xml.io.MzIdentMLUnmarshaller.unmarshal(MzIdentMLUnmarshaller.java:255)
        at uk.ac.ebi.pride.utilities.data.io.file.MzIdentMLUnmarshallerAdaptor.getIdentificationById(MzIdentMLUnmarshallerAdaptor.java:164)
        at uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.MzIdentMLControllerImpl.getProteinById(MzIdentMLControllerImpl.java:518)
        ... 11 more

I have no idea what these errors mean, so hopefully you can help us with this. This is a standard user-uploaded mzid file which should not pose any problem converting to mzTab.

Thanks,
Jeremy

Scanlists and precursors are null

Dear,

I am trying to cache MS2 spectra for MS1 spectra of interest. To do this, I convert RAW files into mzml format using msConvert. However, when I'm using the ms-data-core-api to parse the resulting file, it seems all scans/precursors are empty. The spectra are there though...

Could you help me resolve this?

Cheers,

Kenneth

Compress existing mzml file?

Hi,

i have a multiple .mzml files where the spectrum data is not compressed.
Is it possible to load the files with ms-data-core-api and save it with (e.g.) zlib compression ?

Return the Modifications identified

@sureshhewabi One of the things we need to guarantee in the following implementations is that we return the Set of PTMs for all the identified peptides, not the ones defined for search parameters. This needs to be consistent, we need to have a function that retrieves as CVterms all the modifications, not the one that was used for identification but the actual identified ones.

Issue with Spectrum Reader

Good morning,

I’ve made a few modifications to the ms-data-core-api (2.0.8-SNAPSHOT version). I, then, ran "mvn install" to get it on my local machine and added this version to my pom file, which is working with the 2.0.8-SNAPSHOT version.

I do, however, get some weird behavior when using 2.0.8-SNAPSHOT instead of the 2.0.5 fat jar from github’s release. Weird behavior include:

When debugging my application, I get the following errors during initial setup:
java.io.FileNotFoundException: /home/.m2/repository/edu/ucar/netcdf4/4.5.5/jcl-over-slf4j-1.7.7.jar
java.io.FileNotFoundException: /home/.m2/repository/edu/ucar/netcdf4/4.5.5/ehcache-core-2.6.2.jar
Whenever I use uk.ac.ebi.pride.utilities.data.controller.impl.ControllerImpl.MzXmlControllerImpl.getSpectrumById(Comparable id), the id value gets outputted to stdout, which doesn’t occur on 2.0.5. This can’t be ignored because it slows down considerably the program. I traced this to here.
I do get a lot of logback warnings that I don’t get using 2.0.5

Is there something that I’m missing here, regarding the warnings and the file not found exception? Should I be making a fat jar to use locally as well? I didn’t think that’d be necessary. Maybe I’m not building the lib correctly?

Thank you very much for your assistance

Standardising the the modifications to UNIMOD

We need to standardize the modifications from all the submissions using the pride-mod library. If one modification is not found then we should be thrown an exception.

All the modifications will be finally represented as UNIMOD Terms.

Related with this issue: #35

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.