← Batches Calibration wizard Peak deconvolution (MCR-ALS via NMF)

Peak Deconvolution

Mathematically deconvolve co-eluting GCMS peaks in a (retention-time window × m/z subset) of one .D folder. The algorithm factors the data matrix D ≈ W · H where W are the pure mass spectra and H are the elution profiles, one per co-eluting component. This is a standalone diagnostic tool — it does not modify the quant pipeline. It will be incorporated into the wizard as a later step.

Method: MCR-ALS (Multivariate Curve Resolution — Alternating Least Squares), implemented as iterative scikit-learn NMF with NNDSVDa initialisation, multiplicative-update solver, and a unimodal projection step on each ALS iteration (real GCMS peaks don't have shoulders). Per-component areas, heights, S/N, and Gaussian-fit widths are computed from the rows of H.

PyMassSpec note: PyMassSpec (pyms) does not ship co-elution deconvolution. Its BillerBiemann, TopHat, and Simulator modules are peak-picking / forward-synthesis primitives, not co-elution resolvers. This page uses scikit-learn NMF directly instead.

Inputs

idle
Pick a .D, adjust the RT window / m/z list, and click Run deconvolution to see the deconvolved components here.