Skip to content

Display LCMS data #254

Description

@Nicolass67

Summary

Add support for viewing LC/MS (liquid-chromatography / mass-spectrometry) datasets in the
spectra editor, alongside the existing NMR / IR / MS / CV layouts. An LC/MS measurement is
not a single trace but a time-resolved family of spectra: a chromatogram over retention
time, the mass spectrum at each retention time, and (optionally) a UV/Vis detector trace.
The editor should let a user navigate that family — pick a retention time and see the
mass spectrum at that time — and persist their edits through ChemSpectra.

Background / motivation

Today LC/MS data can only be stored, not inspected or processed in the editor. Users need
to read the chromatogram, locate a peak in time, and inspect the mass spectrum at that
retention time the same way they work with any other spectrum (peaks, integrations,
threshold, save). Without this, LC/MS files are opaque in the ELN.

Desired behaviour

  1. Layout. A dedicated LC/MS layout that renders the measurement as a multi-graph
    view rather than a single trace.
  2. TIC (chromatogram). Show the total-ion-current chromatogram over retention time
    (x-axis in minutes). Support both positive and negative polarity TICs.
  3. Retention-time selection → MS. When the user clicks or selects a retention time on
    the chromatogram, display the mass spectrum (m/z vs intensity) recorded at that time.
    Moving the selection updates the MS view.
  4. UV/Vis detector. When the dataset includes a UV/Vis channel, display it and let the
    user choose the wavelength to view.
  5. Editing parity. Within the LC/MS layout the standard tools work on the active
    trace: peak add/remove, integration, threshold, and decimal-precision control.
  6. Input formats. Parse LC/MS data from JCAMP, including Agilent ChemStation exports
    (TIC, m/z pages, UV/Vis). Polarity (pos/neg) and detector type are taken from the data.
  7. Persistence. Edits (peaks, integrations, selected wavelength/page) survive
    save/reload through ChemSpectra.

Acceptance criteria

  • Opening an LC/MS dataset shows the chromatogram plus a linked MS view.
  • Selecting a retention time updates the MS view to that time's spectrum.
  • Positive and negative TICs are distinguished correctly (polarity comes from the data,
    not from trace ordering).
  • UV/Vis channel is viewable with a wavelength selector when present.
  • Peaks / integrations / threshold behave on LC/MS traces and round-trip through save.
  • ChemStation JCAMP exports load without dropping pages.
  • No regression to the NMR / IR / MS / CV layouts (peak-add, integration math, CV
    current-density all unchanged for non-LC/MS spectra).

Notes / references

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

  • Status
    In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions