Skip to content
Matthias Mailänder edited this page Nov 22, 2022 · 14 revisions

MCR-AR Peak Detection and Deconvolution

MCR-AR is a commercially available extension, that features a peak detection and deconvolution based on Multivariate Curve Resolution with Alternating Regression.

This extension is strongly inspired by work of Karjalainen in the 80's and later implementations of Karjalainens algorithms by other groups (Jonsson et al. 2005, Anal. Chem. 2005, 77, 17, 5635-5642), (Gerber et al. 2012, JAAP 95:95–100). A significant difference to the aforementioned implementations is that the extension offered by Lablicate provides peak detection and deconvolution in individual, single chromatograms.

Overview of the MCR-AR Algorithm

flowchart

Input Data

MCR-AR uses as input data segments of 50 to 500 scans. The main property of a 'good' such segment is that it should not cut a potential peak apart. Currently two main methods are available to automatically determine appropriate analysis segments:

  1. Noise Segements

    There are a number of methodologies to identify segments of an analytical signal as noise. The noise segment detection currently implements two algorithms, from 'Dyson' and from 'Stein'. They determine segments in the chromatogram where the signal is considered to consist only of noise, hence such segments are well suited as edge of an MCR-AR analysis segment.

  2. Local Minima Scans

    This classifier detects local minima in the total ion chromatogram using the first derivate of the signal. A couple of parameters can be used to adjust the sensitivity of this algorithm.

Both Noise Segments and First Derivate Local Minima algorithms are implemented as OpenChrom Chromatogram Classifier that can be run independently of the MCR-AR method. The results are presented in the OpenChrom Measurement Results Tab and when selected, visualised in the chromatogram view. On starting MCR-AR, the processor checks whether analysis segments have been determined already. If not, the Local Minima Scans classifier is used by default to obtain edges for setting analysis segments. The only settings for Analysis Segment determination is the Minimum Analysis Segment Width that can be chosen between 50 and 500 scans.

The data for each analysis segment is then preprocessed with background removal, linear baseline correction and removal of mass channels that contain only noise. The latter can be adjusted through the Channel Noise Level setting. Valid values for this setting are between 0 and 10 where 0 will not remove any m/z channel.

Prior to starting the main loop, a QR Decomposition of the data matrix is run to determine its rank. The rank is here considered as the metric that defines the maximum number of peaks that should be looked for in each respective analysis segment.

SIMPLISMA - Determination of Pure Components

The first step in the main loop of the MCR-AR algorithm is the determination of the pure spectra. In each full round of the main loop, one additional pure spectra is determined until the maximum number of peaks is reached, or in the later steps, drop out conditions occur. The drop out conditions will be explained later on. The actual algorithm to determine pure spectra is called SIMPLISMA and was published 1991 in the Journal of Analytical Chemistry by Windig and Guilment.

SIMPLISMA has a setting to reduce the influence from pure spectra that are close to the noise level. The setting Pure Noise Percent can be varied between 0.001 and 1. Small values will increase the possibility of pure components close to the noise level being proposed to integrate in the model. The effect of this depends on actual property of the data: In some cases, a small setting will allow a noisy but correct component to be integrated. In other cases, the potential component was noise and will be detected as such in the latter part of the MCR-AR algorithm.

Alternating Least Square (ALS)

The ALS part of MCR-AR is an iteration loop that runs for each additional peak added in the main loop. The term alternating refers to the fact that in each round of iteration, both the chromatographic profile and the matrix with the peak spectra are adjusted to fit the model against the original data. The ALS iteration stops when the increase of R2 between to consecutive iterations falls below a certain value. To speed up the processing, the setting MCR-AR Max Iteration allows to limit the number of iteration to values larger than 1.

In each round of iteration, non-negativity and unimodal constraints are applied to the data: Eventual negative values are set to zero. and peaks have to be unimodal eg. can have only one peak top.

Check Exit Conditions

Before the maximum number of peaks is obtained, the main loop can also stopped when exit conditions are met: In each round of the main loop, the R2 value is stored as reference for the next iteration round. The first part of the exit condition check consist of comparing the current round R2 with the prior. If R2 did not increase, the current round is marked as failed. The setting MCR-AR Fault Runs tolerance allows determining how many consecutive failed iteration rounds are tolerated before exiting the main loop. When the main loop finally exits, the model consists of the last not failed iteration round.

Output Data

The raw output from the MCR-AR algorithm consists of two data tables with chromatographic profiles and mass-spectra. From these tables, the peak table in OpenChrom is populated.


MCR-AR is a commercial OpenChrom extension. A license and download link can be requested at the Lablicate Marketplace.