Skip to content

Move msPurity onto Spectra containers - #116

Merged
oss6 merged 1 commit into
feature/113/refactorfrom
feature/114/use-spectra-containers
Oct 9, 2026
Merged

oss6 merged 1 commit into
feature/113/refactorfrom
feature/114/use-spectra-containers

Conversation

@oss6

@oss6 oss6 commented Oct 9, 2026

Copy link
Copy Markdown
Member
  • Read raw data through Spectra instead of mzR, with identical results. mzRback is deprecated. Spectra, MsExperiment, BiocGenerics, S4Vectors and IRanges move to Imports and MsBackendMsp is suggested.
  • purityA gains spectra, fragSpectra and avSpectra slots. purityA() accepts Spectra, MsExperiment, XcmsExperiment and mzStack datasets and reads each file once.
  • frag4feature(), filterFragSpectra(), the averaging functions and the writers work from the Spectra slots, with each linked scan stored once.
  • purityD gains avSpectra and experiment slots and accepts an MsExperiment. msfr CSV peak lists are read through Spectra.
  • New accessors purityTable(), groupedSpectra(), allFragSpectra(), averagedSpectra() and averagedPeaks() return the legacy shapes or Spectra. options(msPurity.legacySlots = FALSE) leaves the legacy slots empty with identical outputs. updateObject() converts saved objects.
  • mzStack peaks are read through MsBackendParquet, and convertLibraryToMzstack() accepts a Spectra object.
  • allFragSpectra() names the scan of every peak correctly. The legacy all_frag_scans table and the frozen SQLite output keep the old pid numbering.
  • Fix averaging after filterFragSpectra(rmp = TRUE) when every spectrum of a feature loses all its peaks.
  • Fix createMSP(method = "max") with one passing peak, and its choice of scan when a scan is linked to a feature more than once.
  • Add parity references and tests, a purityA memory benchmark and a NEWS entry. Bump the version to 1.37.5.

@oss6
oss6 force-pushed the feature/114/use-spectra-containers branch from 5fe3ff4 to d1f43d1 Compare October 9, 2026 15:43
- Raw data is read through Spectra instead of mzR, with identical results.
  mzRback is deprecated. Spectra, MsExperiment, BiocGenerics, S4Vectors
  and IRanges move to Imports and MsBackendMsp is suggested.
- purityA gains spectra, fragSpectra and avSpectra slots. purityA()
  accepts Spectra, MsExperiment, XcmsExperiment and Parquet datasets and
  reads each file once.
- frag4feature(), filterFragSpectra(), the averaging functions and the
  writers work from the Spectra slots, with each linked scan stored once.
- purityD gains avSpectra and experiment slots and accepts an
  MsExperiment. msfr CSV peak lists are read through Spectra.
- New accessors purityTable(), groupedSpectra(), allFragSpectra(),
  averagedSpectra() and averagedPeaks() return the legacy shapes or
  Spectra. options(msPurity.legacySlots = FALSE) leaves the legacy slots
  empty with identical outputs. updateObject() converts saved objects.
- Parquet peaks are read through MsBackendParquet, and
  convertLibraryToMzstack() accepts a Spectra object.
- allFragSpectra() names the scan of every peak correctly. The legacy
  all_frag_scans table and the SQLite output keep the old pid numbering.
- Fix averaging after filterFragSpectra(rmp = TRUE), and createMSP(method
  = "max") with one passing peak or a scan linked twice.
- Add parity references, tests and a purityA memory benchmark, and merge
  the 1.37.4 NEWS entries into one section.
@oss6
oss6 force-pushed the feature/114/use-spectra-containers branch from cb608d1 to ab48c0e Compare October 9, 2026 18:17
@oss6
oss6 merged commit c61517a into feature/113/refactor Oct 9, 2026
0 of 2 checks passed
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.

1 participant