Package for pre-processing of high-resolution, untargeted, centroid LC-MS data.
massFlowR
detects and aligns structurally-related spectral peaks
across LC-MS experiment samples.
Each LC-MS file in the experiment is processed independently.
-
Chromatographic peak detection enabled by the centWave algorithm from
xcms
package. -
Grouping structurally-related chromatographic peaks into pseudo chemical spectra (PCS).
Individual samples can be processed in real-time during LC-MS spectra
acquisition, or in parallel, using backend provided by doParallel
package.
To align chromatographic peaks across all samples in LC-MS experiment, an algorithm, which compares the overall similarity of pseudo chemical spectra is implemented (see Peak alignment).
Once pseudo chemical spectra are aligned across samples, the obtained features are validated. Intensity values for each feature in a PCS are correlated across all samples to identify sets of features with similar correlation pattern.
Final step in the pipeline is to re-integrate intensity values for chromatographic peaks that were not detected by the centWave using raw LC-MS files. m/z and rt integration regions are estimated for each sample separetely through cubic smoothing spline interpolation.
In the generated feature table, each feature is assigned to a pseudo chemical spectra, which can be used in manual metabolite annotations.
If in-house chemical reference database is available, obtained PCS are annotated. For more details how to build a database file, see annotation using database).
More information is available in vignettes:
# To install dependencies
install_dependencies <- function () {
dependencies <- c("xcms", "MSnbase", "faahKO", "igraph", "doParallel", "foreach", "ggplot2", "viridis", "gridExtra")
installed <- installed.packages()
to_install <- subset(dependencies, !(dependencies %in% installed[, "Package"]))
if (length(to_install) != 0) {
if (!requireNamespace("BiocManager", quietly = TRUE)) {
install.packages("BiocManager")
}
message("Installing packages: ", to_install, " ...")
BiocManager::install(to_install)
} else {
message("All dependencies are already installed.")
}
}
install_dependencies()
# To install development version
devtools::install_github("lauzikaite/massflowR", dependencies = FALSE)