/midar

Small Molecule Mass Spectrometry Data Post-Processing, Quality Control, Exploration and Reporting

Primary LanguageROtherNOASSERTION

MiDAR

Lifecycle: experimental Codecov test coverage

IMPORTANT NOTE

This current version in the main branch is outdated. A considerably revised version will be made available by End of October 2024. Please wait until then. Thank you for your interest and feel free to contact me anytime!

MiDAR is an R package to reproducibly manage, post-process, visualize, apply quality control, and analyze small-molecule mass spectrometry (MS) datasets, e.g. from targeted lipidomics and metabolomics experiments.

MiDAR is tailored to handle different analytical designs, data types and data processing strategies. As such, this package provides functions to import data files from from different commercial and open-source tools. Data processing functions include, internal standard and sample amount-based normalization, quantification, as well as drift and batch corrections. Quality control (QC) functions provide QC metrics and plots of raw and processed data, and QC-based feature filtering.

Datasets and processing steps are tracked, and can be saved as MiDAR S4 class object (RDS) files, Excel, PowerPoint and interactive HTML-based reports, enabling sharing and reporting the of all data, metadata and applied data processing steps.

Installation

MiDAR is currently only available via installation from GitHub:

if (!require("remotes")) install.packages("remotes")
remotes::install_github("SLINGhub/midar")

Example

library(midar)

# Get paths of example files included with this package
masshunter_file <- system.file("extdata", "Example_MHQuant_1.csv", package = "midar", mustWork = TRUE)
metadata_file <- system.file("extdata", "Example_Metadata_1.xlsm", package = "midar", mustWork = TRUE)

# Create a MidarExperiment object (S4)
mexp <- MidarExperiment()

# Load data and metadata
mexp <- read_masshunter_csv(data = mexp, filename = masshunter_file)
mexp <- read_msorganizer_xlm(data = mexp, filename = metadata_file)

# Normalize and quantitate each feature by internal standards
mexp <- normalize_by_istd(mexp)
mexp <- quantitate_by_istd(mexp)

# Get QC metrics for each feature
mexp <- calculate_qc_metrics(mexp)

# Filter features according to QC criteria
mexp <- apply_qc_filter(data = mexp,
                        CV_BQC_max = 30,
                        Intensity_BQC_min = 100,
                        SB_RATIO_min = 5,
                        R2_min = 0.8,
                        RQC_CURVE = 1)

Contributor Code of Conduct

Please note that the midar project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.