RAMClustR version 1.2.4 in R version 4.2.2 (2022-10-31)) was used to normalize, filter, and group features into spectra.XCMS (Smith 2006)(Tautenhahn 2008) output data was transferred to a ramclustR object using the rc.get.xcms.data function. Feature data was extracted using the xcms featureValues function.

Features with missing values were replaced with small values simulating noise. For each feature, the minimum detected value was multiplied by 0.1. Noise was then added using a factor of 0.1. The absulute value of this value was used as the filled value to ensure that only non-negative values carried forward. Zero values were treated as missing values.

Features which failed to demonstrate signal intensity of at least 3 fold greater in QC samples than in blanks were removed from the feature dataset. 6 of 48 features were removed.

Features were normalized by linearly regressing run order versus qc feature intensities to account for instrument signal intensity drift. Only features with a regression pvalue less than 0.05 and an r-squared greater than 0.1 were corrected.  Of 42 features, 0 was corrected for run order effects.

Features were filtered based on their qc sample CV values. Only features with CV vaules less than or equal to 0.5 in MSdata set were retained. 9 of 42 features were removed.

Features were clustered using the ramclustR algorithm (Broeckling 2014). Parameter settings were as follows: st = 3.89, sr = 0.7, maxt = 389, deepSplit = FALSE, hmax = 0.3, minModuleSize = 2, and cor.method = pearson. There were too few samples to use correlational similarity, thus clustering was performed using retention time only.

Variance in quality control samples was described using the rc.qc function within ramclustR. Summary statistics are provided including the relative standard deviation of QC samples to all samples in PCA space, as well as the relative standard deviation of each feature/compound in QC samples, plotted as a histogram.