Skip to content

patch for KeyError when attempting a direct index lookup for Thermo-s… - #14

Open
animesh wants to merge 1 commit into
SimpleNumber:masterfrom
animesh:master
Open

patch for KeyError when attempting a direct index lookup for Thermo-s…#14
animesh wants to merge 1 commit into
SimpleNumber:masterfrom
animesh:master

Conversation

@animesh

@animesh animesh commented Sep 2, 2026

Copy link
Copy Markdown

…tyle composite spectrum identifiers in mzML files where scan identifiers are formatted strictly as scan=X or integer scan numbers

…tyle composite spectrum identifiers in mzML files where scan identifiers are formatted strictly as scan=X or integer scan numbers
Copilot AI lite review requested due to automatic review settings September 2, 2026 15:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 a try/except KeyError and attempts to extract a scan number from spec_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.

Comment thread AA_stat/localization.py
Comment on lines +159 to +163
scan_num = match.group(1)
try:
original = reader[f"scan={scan_num}"]
except KeyError:
original = reader[scan_num]
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