patch for KeyError when attempting a direct index lookup for Thermo-s… - #14
patch for KeyError when attempting a direct index lookup for Thermo-s…#14animesh wants to merge 1 commit into
Conversation
…tyle composite spectrum identifiers in mzML files where scan identifiers are formatted strictly as scan=X or integer scan numbers
There was a problem hiding this comment.
🟡 Changes recommended
The new fallback still risks KeyError because it only tries the numeric scan as a string, which may not match readers that expect an integer scan number.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR hardens spectrum lookup in preprocess_spectrum to avoid KeyError when mzML spectrum identifiers are provided in alternate “scan=X” or numeric scan-number formats.
Changes:
- Wraps
reader[spec_id]access in atry/except KeyErrorand attempts to extract a scan number fromspec_id. - Adds fallback lookups using
"scan=<n>"and<n>when the direct lookup fails.
File summaries
| File | Description |
|---|---|
| AA_stat/localization.py | Adds fallback spectrum ID parsing/lookup to handle scan-based IDs and numeric scan numbers. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Hi, Thanks for this contribution. I'm having trouble understanding the exact use case. Do you have an example of input for AA_stat that requires this fix? I would appreciate if you could show a snippet of PSM and mzML files, and what software produced them. |
|
Hi @levitsky , thanks for AA_stat, use it all the time! Huge fan!! This is just a workaround i had to employ to make my opensearch nextflow pipeline https://github.com/animesh/opensearch work on orbitrap data, otherwise i get this error |
|
Thanks for the kind words @animesh and I'm happy it is useful! Your pipeline looks great! |
|
Thanks for your kind words @levitsky 🙏 Most probably it is a local issue then, can you share the commands you are using to run AA_stat over the Fragpipe's output, maybe my pipeline is missing some argument/switches? I must note that the patch is required only for the orbitrap data, so i am assuming you tried the test.raw.tar files? |
|
I actually didn't run AA_stat manually but directly ran your Nextflow pipeline according to README instructions. I did it first on the I think the error could be triggered by specific raw files or specific version of FragPipe or its components. But in my tests the spectrum IDs in pepXML files look like |
|
Thanks for trying the pipelie @levitsky , glad that it worked fine at your end! I still need the patch though, probably something to do with my setup. Sorry for wasting your time though! I will close this and look forward to more cool updates from AA_stat 👍🏽 |
…tyle composite spectrum identifiers in mzML files where scan identifiers are formatted strictly as scan=X or integer scan numbers