Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Index does not contain mzML root! #208

Open
sb855 opened this issue Oct 9, 2024 · 5 comments
Open

Index does not contain mzML root! #208

sb855 opened this issue Oct 9, 2024 · 5 comments
Assignees
Labels
probable bug Marks bug reports where the reported issue has not yet been confirmed/reproduced

Comments

@sb855
Copy link

sb855 commented Oct 9, 2024

I have a set of MS2 spectra I'm trying to import into Sirius, using .mzml format. These files were converted from SCIEX's .wiff2, from a QTOF (X500B) using MSConvert. The MS1 spectra from this instrument appears to import properly, but I get the following error for my MS2 data:

Error when importing data! Cause: java.lang.Exception: java.lang.IllegalStateException: Index does not contain mzML root!
java.lang.Exception: java.lang.IllegalStateException: Index does not contain mzML root!
	at io.sirius.ms.sdk.jjobs.SseProgressJJob.updateAndCheckIfDone(SseProgressJJob.java:128)
	at io.sirius.ms.sdk.jjobs.SseProgressJJob$1.onNext(SseProgressJJob.java:75)
	at io.sirius.ms.sdk.jjobs.SseProgressJJob$1.onNext(SseProgressJJob.java:64)
	at io.sirius.ms.sse.FluxToFlowBroadcast.lambda$onNext$7(FluxToFlowBroadcast.java:103)
	at java.base/java.lang.Iterable.forEach(Unknown Source)
	at io.sirius.ms.sse.FluxToFlowBroadcast.onNext(FluxToFlowBroadcast.java:99)
	at io.sirius.ms.sdk.SiriusClient.lambda$enableEventListening$3(SiriusClient.java:203)
	at reactor.core.publisher.LambdaSubscriber.onNext(LambdaSubscriber.java:160)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.runAsync(FluxPublishOn.java:446)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.run(FluxPublishOn.java:533)
	at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
	at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

The file opens in Wiley's KnowItAll, with all the spectral information as expected. Based on the "Index does not contain mzML root!", I imagine this could be a MSConvert issue, but I get different parsing errors with .mgf and .txt conversions as well. Happy to give one of the data files, but will defer to a file upload service of anyone's choosing. Let me know if this is something any of you have experienced.

Additional (perhaps the issue?) context: My MS2 data is a CE ramp, so I increase the CE by 5 eV every 30 seconds. Each file contains 10 different CEs.

I'm on Windows 11, Sirius 6.0.6. Intel i9 12900H, 32 GB RAM.

Thanks!

@sb855 sb855 added the probable bug Marks bug reports where the reported issue has not yet been confirmed/reproduced label Oct 9, 2024
@MartinHoffmannJena
Copy link
Collaborator

Hi,

are you able to share an .mzML file that procudes this issue?

@MartinHoffmannJena MartinHoffmannJena self-assigned this Oct 10, 2024
@sb855
Copy link
Author

sb855 commented Oct 10, 2024

@MartinHoffmannJena
Copy link
Collaborator

Sure: https://drive.google.com/file/d/1XHlxkvW6RYfs7VVuwmZXwlCDwNprzGnU/view?usp=sharing

Thank you, I don't get that error that you reported, however there are still no spectra imported.

The reason is, that the file contains no MS1 information, every spectrum contained has "msLevel="2"". For .mz(X)ML files SIRIUS requires MS1 information to be present, so that we can pick the peaks. Did you maybe not the the ms level to "1-2" in msconvert?

@sb855
Copy link
Author

sb855 commented Oct 10, 2024

Sure: https://drive.google.com/file/d/1XHlxkvW6RYfs7VVuwmZXwlCDwNprzGnU/view?usp=sharing

Thank you, I don't get that error that you reported, however there are still no spectra imported.

The reason is, that the file contains no MS1 information, every spectrum contained has "msLevel="2"". For .mz(X)ML files SIRIUS requires MS1 information to be present, so that we can pick the peaks. Did you maybe not the the ms level to "1-2" in msconvert?

I have a separate MS1 file- I suppose I should combine the files then? Or can I import MS1 before, then import MS2?

Presumably, since you can import it, I have an access issue or something funky with my install then?

EDIT: Just checking, was there any setup you needed to do to import this data? I asked my colleague to install the MacOS version, and she also gets the issue
EDIT 2: I got it to work by merging MS1 and MS2 together.

@sb855
Copy link
Author

sb855 commented Oct 10, 2024

If you're willing (importing issue, but happy to post a new issue if that's the procedure).

I'm able to read the MS2 spectra from my merged file for 5-20 eV, but I have CEs spanning up to 45 eV. I can't seem to get any of the CEs above 20 to display. I've tried splitting the files into CE-independent chunks, but it doesn't seem to register.

I was wondering if you notice anything weird about this data:
https://drive.google.com/file/d/1FOvOOvK9oIKYeDg3q4XkxrSRRJpi99Rg/view?usp=sharing

Thank you for your help! I appreciate it greatly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
probable bug Marks bug reports where the reported issue has not yet been confirmed/reproduced
Projects
None yet
Development

No branches or pull requests

2 participants