Skip to content

Add LC/MS visualization support for OpenLab and Chemstation data#289

Draft
Nicolass67 wants to merge 42 commits intomasterfrom
231-display-lcms-data
Draft

Add LC/MS visualization support for OpenLab and Chemstation data#289
Nicolass67 wants to merge 42 commits intomasterfrom
231-display-lcms-data

Conversation

@Nicolass67
Copy link
Copy Markdown
Contributor

@Nicolass67 Nicolass67 commented Mar 6, 2026

Description

This PR introduces LC/MS visualization support in Spectra Editor.

We now support two LC/MS sources:

  • OpenLab
  • Chemstation

What users can do in LC/MS

In LC/MS layouts, users can now:

  • Open and visualize OpenLab and Chemstation LC/MS datasets.

  • Work across the 3 synchronized views:

    • UV/Vis view (main editable spectrum),
    • TIC view (multi-curve context),
    • MS view (mass profile linked to current context).
  • Switch TIC polarity (PLUS / MINUS / NEUTRAL when available).

  • Switch UV/Vis wavelength and update the active spectrum context.

  • Use zoom and zoom reset reliably.

  • Add/edit interactions in LC/MS workflows (peaks and integration actions) across UV-VIS wavelength.

  • Change the displayed MS spectrum via Peak group select: click on the TIC (Total Ion Chromatogram) to select a retention time; the MS view updates to show the mass spectrum at that time.

Tests

Unit tests

  • Added/updated unit coverage for LC/MS logic and reducers/components, including:
  • extractEntityLCMS classification and grouping behavior,
  • reducer_hplc_ms state transitions,
  • LCMS action helpers,
  • LCMS extraction parameter behavior,
  • LCMS viewer component behavior.

E2E tests

Extended Cypress coverage in cypress/e2e/lcms_spec.cy.ts, including:

  • OpenLab and Chemstation rendering checks,
  • wavelength and TIC polarity reducer updates,
  • interaction flows and layout transition/zoom stability.

Lan Le and others added 30 commits March 4, 2026 13:03
- Add the integration feature.
- Add the peak picking feature.
- Add the correct write peaks output.
- Fix a few bugs
…nents; update format.js for improved HPLC UV/VIS output
Update failing unit tests to match the current getArea input shape, extractPeaksEdit LCMS signature, and reducer default empty-curve behavior.

Made-with: Cursor
…Focus components; add store reference to window object
… TIC selection handling in d3_line_rect component
@Nicolass67 Nicolass67 linked an issue Mar 6, 2026 that may be closed by this pull request
Made-with: Cursor
@Nicolass67 Nicolass67 force-pushed the 231-display-lcms-data branch from df63c41 to c8567d5 Compare March 6, 2026 15:36
…y and clarity; enhance parsing and extraction logic
…ance unit definitions and streamline data handling
…do/redo functionality for UVVIS edits, streamline data export options, and improve layout management (sylvia feedbacks)
… add loading indicators and improve state management for MS features
…elength selection, improve MS page request logic, and streamline parsing for better performance and clarity
… request logic in componentDidUpdate and streamline Cypress tests for request validation
… cover normalization, inference, and data structure handling for peaks and integrals
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.

Display LCMS data

1 participant