-
Notifications
You must be signed in to change notification settings - Fork 7
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
Add nativeID output in mzIdentML/pepXML[/mzML/PIN] #324
Comments
Hi Matt, Sorry for the long delay. I finally got a chance to implement this feature. If there is not too much trouble, could you share some typical Waters and Sciex mzML files with me to test?
I don't want to change the Also, may I ask if there is any harm to make the "index" not starting from 0 and not continuous? I would like to use Thanks, Fengchao |
I'm glad to hear this is almost done! Unfortunately AFAIK the mzML index must be 0-based and contiguous: As far as I can tell from that, there should be a string PsmId column and a numeric ScanNr column. It seems pretty typical for the ScanNr column to be missing though. I can understand not wanting to change the PsmId format you've been using, but that's really the only column suitable for the nativeID. :( Maybe easiest would just be to guarantee that the number and order of lines in the pepXML is the same in the PIN? |
Here's an example Waters DDA file. |
Mapping the mzML/pepXML to the pin file is actually OK as long as we have a consistent way to extract the scan number (from native ID if it is encoded in 1-D such as Thermo's, or The problem is that if there is a mzML file that is a subset of the original mzML file, and its native ID does not encode the scan number in 1-D, like what Waters and Sciex have. Then, since the Maybe in the future, the mzML schema can have a Best, Fengchao |
You could use a userParam. Those are arbitrary and basically unlimited. But I think nativeID is specifically intended and useful for mapping across different tools, and for remaining valid when files are filtered or subsetted. It's why I started putting spectrumNativeID in my pepXML output, even though that wasn't an official attribute. :) |
Yes, but then, I need to maintain Best, Fengchao |
In my tools I made nativeID a field in the Spectrum class and had a map from nativeID to Spectrum*. When possible, I dropped scan number entirely because it wasn't universally applicable, and when not possible, I parsed it out of the nativeID (or used index if not parseable). |
Hi Fengchao, has this change made it into a released MSFragger? |
For Thermo data, the Best, Fengchao |
To preserve Waters and Sciex source spectrum links, writing nativeID in the output pepXML/mzIdentML is necessary. Please read in the nativeID when reading spectra and pass it through when writing pepXML/mzIdentML elements for those spectra. It would be good to preserve it in mzML as well, but that's not as important. If the format allows, it might be helpful to write it in Percolator PIN format as well so it's simple to map PIN lines to the mzIdentML/pepXML equivalent.
Thanks!
The text was updated successfully, but these errors were encountered: