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

be a little more tolerant of data variants in BlibBuild with SSL and mzML #3314

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

bspratt
Copy link
Member

@bspratt bspratt commented Jan 3, 2025

In SSL, accept "scan=" as meaning just ""
In mzML reader, accept MS2 scans that lack precursor values

per https://skyline.ms/announcements/home/support/thread.view?rowId=65625

reported by user Morgan

…5625 be a little more tolerant of data variants:

In SSL, accept "scan=<number>" as meaning just <number>
In mzML reader, accept MS2 scans that lack precursor values
@bspratt bspratt requested a review from chambm January 3, 2025 20:57
@bspratt bspratt changed the title be a little more tolerant of data variants in BlbBuild with SSL and mzML be a little more tolerant of data variants in BlibBuild with SSL and mzML Jan 3, 2025
@chambm
Copy link
Member

chambm commented Jan 3, 2025

What mzml is this that has ms2 without any precursor? That doesn't sound valid: why not just call it an ms1 in that case...

@bspratt
Copy link
Member Author

bspratt commented Jan 3, 2025

Produced by "mzR", apparently. Purely for the purposes of spectral library generation, no scan times either. Funky, but useful.

@chambm
Copy link
Member

chambm commented Jan 5, 2025

I think we should handle this as an error (rather than the crash it is now). It doesn't make sense to have a library MS2 without a precursor. MzML isn't meant to be a spectral library format but it can sort of be used as a primitive one, but MS2s still need a precursor. Let's go back to the user and ask them to create their MS2s with precursors, or to use MS1 instead.

Something like this?

if (specInfo->msLevel > 1)
{
    if (specInfo->precursors.empty())
        Verbosity::error("MS2 spectrum %s does not have a precursor", specInfo->scanNumber);
    returnData.mz = specInfo->precursors[0].mz;
}

@bspratt
Copy link
Member Author

bspratt commented Jan 5, 2025

Seems sensible. The user was in fact able to remake the mzML to include precursor information, so if we'd barked about that they'd have been able to deal with it themselves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants