sirius icon indicating copy to clipboard operation
sirius copied to clipboard

Index does not contain mzML root!

Open sb855 opened this issue 1 year ago • 5 comments

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 avatar Oct 09 '24 19:10 sb855

Hi,

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

MartinHoffmannJena avatar Oct 10 '24 08:10 MartinHoffmannJena

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

sb855 avatar Oct 10 '24 12:10 sb855

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?

MartinHoffmannJena avatar Oct 10 '24 12:10 MartinHoffmannJena

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 avatar Oct 10 '24 12:10 sb855

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.

sb855 avatar Oct 10 '24 20:10 sb855