Skip to content

feat(ms): import mzML chromatograms and MRM transitions - #77

Merged
nmrtist merged 1 commit into
mainfrom
feat/ms-mzml-chromatograms
Aug 29, 2026
Merged

feat(ms): import mzML chromatograms and MRM transitions#77
nmrtist merged 1 commit into
mainfrom
feat/ms-mzml-chromatograms

Conversation

@nmrtist

@nmrtist nmrtist commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Import mzML chromatogramList data, including TIC, BPC, SIM, and SRM channels, and support valid chromatogram-only acquisitions that contain no spectra.
  • Preserve chromatogram kind, polarity, and structured transition metadata (precursor/product m/z, collision energy, and activation method) through the existing field, chart, project, and scientific-summary paths. The unpublished v1 mass-spec payload is updated in place, with no draft-format compatibility reader.
  • Avoid rebuilding the complete mass-spec field catalog for each field lookup. This keeps a 722-channel scheduled-MRM run responsive instead of performing allocation-heavy quadratic work on the UI thread.
  • Treat declared mzML non-standard data arrays as optional auxiliary data while retaining warnings for genuinely unknown required arrays. Update the English and Simplified Chinese import documentation accordingly.

Validation

  • cargo pr-check
  • cargo test -q -p plotx-io mzml -- --nocapture (14 passed)
  • cargo test -q -p plotx-core mass_spec -- --nocapture (31 passed)
  • Inspected public PXD066465 scheduled-MRM mzML: 0 streams, 0 scans, 722 chromatograms (TIC, BPC, and 720 SRM transitions), with no auxiliary-array import warnings.
  • Inspected public MTBLS12824 negative-mode mzML: 1 stream, 1,231 MS1 scans, negative polarity, TIC, and BPC.
  • Manually opened and exercised the scheduled-MRM fixture: channel/transition summaries, plotting, project round-trip, sidebar/canvas interaction, and UI responsiveness behaved as expected.

UI display logic

  • No new or changed global actions; command-catalog behavior is unchanged.
  • No Ribbon visibility or transient command-state changes.
  • No background-driven layout changes or automatic panel closing.
  • Existing mass-spec views retain their established empty-state behavior.
  • Docs updated in docs/ (English and zh-CN) for user-visible behavior.

Import TIC, BPC, SIM, and SRM channels from mzML, including chromatogram-only acquisitions, and preserve structured transition metadata through the unpublished v1 model.

Reuse the existing field, chart, project, and summary paths; avoid full field-descriptor rebuilds for large MRM runs; and skip declared optional auxiliary arrays without hiding genuinely unknown required arrays.
@nmrtist
nmrtist merged commit 4820aa4 into main Aug 29, 2026
11 checks passed
@nmrtist
nmrtist deleted the feat/ms-mzml-chromatograms branch August 29, 2026 11:06
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant