compomics / reporter

Protein quantification based on reporter ions
http://compomics.github.io/projects/reporter.html
4 stars 2 forks source link

Support for MS3-based quantification #22

Open dblyon opened 2 years ago

dblyon commented 2 years ago

Hi reporter-team,

I'm encountering an error when processing PeptideShaker results. I've attached the bug report, I'd gladly share the PeptideShaker reults, but they are too big (even when compressed) to attach them here. I can send them via e.g. wetransfer. Reporter 0.9.7 log.txt Your help would be much appreciated!!

Best regards, David

dblyon commented 2 years ago

sent the file via wetransfer.

dblyon commented 2 years ago

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.ArrayList.elementData(Unknown Source) at java.util.ArrayList.get(Unknown Source) at eu.isas.reporter.gui.resultpanels.OverviewPanel.displayClusters(OverviewPanel.java:379) at eu.isas.reporter.gui.resultpanels.OverviewPanel.access$400(OverviewPanel.java:75) at eu.isas.reporter.gui.resultpanels.OverviewPanel$2.run(OverviewPanel.java:289) java.lang.NullPointerException at com.compomics.util.gui.error_handlers.HelpDialog.(HelpDialog.java:91) at com.compomics.util.gui.error_handlers.HelpDialog.(HelpDialog.java:69) at eu.isas.reporter.gui.resultpanels.OverviewPanel.ratioPlotHelpJButtonActionPerformed(OverviewPanel.java:1768) at eu.isas.reporter.gui.resultpanels.OverviewPanel.access$3000(OverviewPanel.java:75) at eu.isas.reporter.gui.resultpanels.OverviewPanel$13.actionPerformed(OverviewPanel.java:1116) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) java.lang.UnsupportedOperationException: Normalization method not implemented. at eu.isas.reporter.calculation.normalization.Normalizer.setPeptideNormalizationFactors(Normalizer.java:430) at eu.isas.reporter.gui.ReporterGUI.displayResults(ReporterGUI.java:440) at eu.isas.reporter.gui.ReporterGUI.access$100(ReporterGUI.java:81) at eu.isas.reporter.gui.ReporterGUI$2.run(ReporterGUI.java:365) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50] Message: White spaces are required between publicId and systemId. at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:652) at java.xml/com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(XMLEventReaderImpl.java:83) at com.compomics.software.autoupdater.MetaDataXMLParser.(MetaDataXMLParser.java:31) at com.compomics.software.autoupdater.WebDAO.getLatestVersionNumberFromRemoteRepo(WebDAO.java:37) at com.compomics.software.autoupdater.WebDAO.newVersionReleased(WebDAO.java:105) at com.compomics.software.CompomicsWrapper.checkForNewDeployedVersion(CompomicsWrapper.java:522) at eu.isas.reporter.gui.ReporterGUI.checkForNewVersion(ReporterGUI.java:1560) at eu.isas.reporter.gui.ReporterGUI.(ReporterGUI.java:219) at eu.isas.reporter.gui.ReporterGUI.main(ReporterGUI.java:1313) java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 12 at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) at java.base/java.util.Objects.checkIndex(Objects.java:359) at java.base/java.util.ArrayList.get(ArrayList.java:427) at eu.isas.reporter.gui.resultpanels.OverviewPanel.displayClusters(OverviewPanel.java:379) at eu.isas.reporter.gui.resultpanels.OverviewPanel.access$400(OverviewPanel.java:75) at eu.isas.reporter.gui.resultpanels.OverviewPanel$2.run(OverviewPanel.java:289)

hbarsnes commented 2 years ago

Hi David,

Thanks for letting us know about this issue.

Most of the error messages seem to be related to the check for new versions. I will look into it, but these can safely be ignored.

For the real error I would need your data, but were did you send the wetransfer link? As I cannot seem to find it? Perhaps you can send it to me at harald.barsnes@gmail.com?

Best regards, Harald

dblyon commented 2 years ago

Hi Harald,

Thank you for the quick reply and specially for looking into this!

This link should work: https://we.tl/t-mS0kq0YoUW?src=dnl https://we.tl/t-mS0kq0YoUW?src=dnl

Best, David

On Tue, Jun 7, 2022, 23:58 Harald Barsnes @.***> wrote:

Hi David,

Thanks for letting us know about this issue.

Most of the error messages seem to be related to the check for new versions. I will look into it, but these can safely be ignored.

For the real error I would need your data, but were did you send the wetransfer link? As I cannot seem to find it? Perhaps you can send it to me at @.***?

Best regards, Harald

— Reply to this email directly, view it on GitHub https://github.com/compomics/reporter/issues/22#issuecomment-1149211946, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQH35F4PL2UJSLQLFKXO63VN7AX7ANCNFSM5X64ETKA . You are receiving this because you authored the thread.Message ID: @.***>

hbarsnes commented 2 years ago

Hi again,

The check for new versions has now been fixed and a new release is available: https://genesis.ugent.be/maven2/eu/isas/reporter/Reporter/0.9.8/Reporter-0.9.8.zip

Thanks for sharing the PeptideShaker project. However, to reproduce the error I will also need the FASTA and spectrum files. The easiest option is to use "Export > PeptideShaker Project As > Zip File" when having the project open in PeptideShaker.

Could you also make sure that you are using the latest versions of both PeptideShaker and Reporter? As there are definitely some versions of the two tools that are not compatible with each other.

Best regards, Harald

dblyon commented 2 years ago

Good morning Harald,

Thanks for the link and the quick feedback !

I've downloaded the latest build of Reporter and tried re-running Reporter. As you anticipated it crashed with the following error message:

jshortcut.dll loaded via tmp generated pathname: C:\Users\SA_MRT~1\AppData\Local\Temp\2\jshortcut-1001257037006933067.dll java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 12 at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) at java.base/java.util.Objects.checkIndex(Objects.java:359) at java.base/java.util.ArrayList.get(ArrayList.java:427) at eu.isas.reporter.gui.resultpanels.OverviewPanel.displayClusters(OverviewPanel.java:379) at eu.isas.reporter.gui.resultpanels.OverviewPanel.access$400(OverviewPanel.java:75) at eu.isas.reporter.gui.resultpanels.OverviewPanel$2.run(OverviewPanel.java:289)

Version numbers of programs used (they are the latest versions as far as I know, comparing to what's stated here: http://compomics.github.io/projects )

Please find the files I've used for processing here: https://monterosatx.egnyte.com/fl/JljRUjGEXS Password: YCE3f2NSRqYN

Thank you very much for your support !!

Best, David

On Wed, Jun 8, 2022 at 12:46 AM Harald Barsnes @.***> wrote:

Hi again,

The check for new versions has now been fixed and a new release is available: https://genesis.ugent.be/maven2/eu/isas/reporter/Reporter/0.9.8/Reporter-0.9.8.zip

Thanks for sharing the PeptideShaker project. However, to reproduce the error I will also need the FASTA and spectrum files. The easiest option is to use "Export > PeptideShaker Project As > Zip File" when having the project open in PeptideShaker.

Could you also make sure that you are using the latest versions of both PeptideShaker and Reporter? As there are definitely some versions of the two tools that are not compatible with each other.

Best regards, Harald

— Reply to this email directly, view it on GitHub https://github.com/compomics/reporter/issues/22#issuecomment-1149246078, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQH35G7ZDPPUOUI6Z5OHBTVN7GOBANCNFSM5X64ETKA . You are receiving this because you authored the thread.Message ID: @.***>

hbarsnes commented 2 years ago

Hi David,

Thanks for sharing the rest of the data. I can confirm that I now have all I need to reproduce the error. I will look into it as soon as I get the chance and get back to you.

Best regards, Harald

hbarsnes commented 2 years ago

Hi again,

Seems like I was wrong when stating that I had everything I needed to reproduce the error, as I did not consider that you could have custom PTMs.

Could you please also send me the file called modificationFactory-X.Y.Z.json found in your "user_home".compomics folder? It contains the details of the user-defined PTMs.

Also, which Reporter Method are you using and which sample(s) do you select as the reference channel(s)?

Best regards, Harald

hbarsnes commented 2 years ago

Could you please also send me the file called modificationFactory-X.Y.Z.json found in your "user_home".compomics folder?

Most likely the most recent version will be modificationFactory-5.0.1.json.

dblyon commented 2 years ago

Hi Harald,

Sorry about that. I wasn't aware these parameters weren't included.

I've attached the modificationFactory-5.0.1.json, but had to change the file extension to txt in order to upload it here on github. modificationFactory-5.0.1.txt

Thank you for your help!

Best, David

dblyon commented 2 years ago

PS: I've used the default settings from Reporter for quantification.

hbarsnes commented 2 years ago

Hi David,

I've had a closer look at your data and noticed that none of your spectra seem have any TMT reporter ions? You can check this by zooming in on the 126 to 135 range of your spectra. There should be report ions there but does not seem to be any? Which is strange given that most (if not all) of your peptides are labeled with TMT tags. Any idea why this would be the case? Perhaps the mass spectrometer was not set up correctly for TMT?

In any case, this could explain why Reporter is struggling and throwing the exception above. I can try to dig deeper into that error later, but probably worth figuring out the missing TMT reporter ions issue first, as without these there is not much for Reporter to quantify on...

Best regards, Harald

dblyon commented 2 years ago

Hi Harald,

The MS2 level is used for identification only (CID fragmentation). We're quantifying using the MS3 level (using HCD fragmentation and SPS (Synchronous Precursor Selection)). So in MS2 in the low m/z region (< 200 m/z) you will not find the reporter ions, but you should find them in the MS3 level. The MS2 level fragmentation is run in a way that is "too soft" to produce nice reporter ion signals. The MS3 level is run in way that produces good reporter ion signals (and is used only for quant). I hope this helps/makes sense.

Best, David

hbarsnes commented 2 years ago

Hi David,

Thanks for clearing that up. I am however afraid that Reporter only supports MS2-based TMT quantification. Hence it will not provide much help for processing your data. Hopefully you'll be able to find other tools that support this and can use those instead?

Best regards, Harald

dblyon commented 2 years ago

Hi Harald,

Thanks for the quick reply and the clarification!
Can you suggest another tool that is capable of this?

May I ask if you plan to support MS3 in the near future? Would you accept pull requests to support this feature? If so, could you hint at the best way to tackle this?

Thank you for your support !!

Best, David

hbarsnes commented 2 years ago

Hi David,

Can you suggest another tool that is capable of this?

I'm not sure, but I think Proteome Discoverer supports MS3 quantification? There should also be open source alternatives, but as I do not have any experience with these I'm hesitant to recommend a particular one.

May I ask if you plan to support MS3 in the near future?

We may add it at some point, but I cannot guarantee it as Reporter as not been at the top of our priority list for a long time.

Would you accept pull requests to support this feature? If so, could you hint at the best way to tackle this?

We're always happy for other developers to contribute! Not sure how easy it would be for someone else to implement this though. The first thing that would have to be added is support for mzML as the input for the spectra. We already support this in PeptideShaker, but as far as I remember Report only supports mgf input which generally only contain the MS2 spectra. At least Reporter currently only makes use of the MS2 spectra.

I will be occupied with other stuff until the end of next week, but the week after I will have a closer look at the code and see what would be required to also support MS3 quantification. I'll keep you posted.

Best regards, Harald

hbarsnes commented 2 years ago

Hi David,

I've had a look at how difficult it would be to add support for MS3-based TMT-quantification.

The main challenge will be to separate the MS2-based identification from the MS3-based quantification, and then later link the results. First we would need to actually store the MS3 spectra, as at the moment we kick out everything but the MS2 spectra when reading spectrum files.

The good news is that we already support mzML has input, however we would have to extend our Spectrum class with a spectrum level parameter and then make sure that we use this when selecting which spectra to use for identification and which to use for quantification. We would also need to actually connect the two levels, as at the moment we have no way of knowing which MS3 spectrum that is originating from which MS2 spectrum. All we store are the MS1 precursor details (mz, rt and charges) for the MS2 spectra.

With this information in place we can finally look into how to use the MS3 spectra in the quantification (which should be relatively straightforward) and then finally link this quantitative information to the correct MS2-based identification (which also should not be too difficult).

All of this will require a bit of code restructuring that I do not think I will have the time to look into until after the summer holidays. But if you want to have a go at the code on your own, I can of course provide you with more specific pointers to the relevant classes and methods.

Best regards, Harald

dblyon commented 2 years ago

Hi Harald,

Thank you very much for these insights! I'll check back with my team how we want to proceed.

Kind regards, David

hbarsnes commented 1 year ago

Hi David,

I finally managed to get some time to look into this and just deployed a new beta release of Reporter with support for MS3-based quantification: https://genesis.ugent.be/maven2/eu/isas/reporter/Reporter/0.10.0/Reporter-0.10.0.zip.

Please note that you will also have to update both SearchGUI and PeptideShaker, and that you will have to research and reprocess the data in SearchGUI and PeptideShaker before loading them in this latest version of Reporter.

Also note that in order to utilize the TMT reporters in the MS3 spectra you have to change the default setting in the Reporter Ion Selection Settings:

image

I am assuming that you have already moved on to other tools, but would be great if you could still give it a go on your data?

Best regards, Harald

dblyon commented 1 year ago

Hi Harald,

Thank you so much for developing this feature and getting back to me! We'll test it and provide you with feedback.

Best, David

On Tue, Mar 7, 2023 at 11:49 AM Harald Barsnes @.***> wrote:

Hi David,

I finally managed to get some time to look into this and just deployed a new beta release of Reporter with support for MS3-based quantification: https://genesis.ugent.be/maven2/eu/isas/reporter/Reporter/0.10.0/Reporter-0.10.0.zip .

Please note that you will also have to update both SearchGUI and PeptideShaker, and that you will have to research and reprocess the data in SearchGUI and PeptideShaker before loading them in this latest version of Reporter.

Also note that in order to utilize the TMT reporters in the MS3 spectra you have to change the default setting in the Reporter Ion Selection Settings:

[image: image] https://user-images.githubusercontent.com/13151214/223400725-495b33b4-ff13-4528-82c3-83102a046392.png

I am assuming that you have already moved on to other tools, but would be great if you could still give it a go on your data?

Best regards, Harald

— Reply to this email directly, view it on GitHub https://github.com/compomics/reporter/issues/22#issuecomment-1457954205, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQH35ELF47E6SY67YJMIM3W24HEPANCNFSM5X64ETKA . You are receiving this because you authored the thread.Message ID: @.***>