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.