Harmonize adduct notations

Description

Standardizes adduct notations in a dataframe by replacing various forms with canonical representations. Uses a translation table for efficient batch replacement.

Usage

harmonize_adducts(df, adducts_colname = "adduct", adducts_translations)

Arguments

df Data frame or tibble containing adduct column
adducts_colname Character string name of the adduct column (default: "adduct")
adducts_translations Named character vector mapping original adduct notations (names) to standardized forms (values). If missing, returns dataframe unchanged.

Details

Common adduct variations like "M+H", "[M+H]", and "(M+H)+" are standardized to a consistent format (e.g., "[M+H]+"). This ensures compatibility across different MS tools and databases.

Value

Data frame with harmonized adduct column

Examples

library("tima")

df <- data.frame(adduct = c("M+H", "[M+Na]+", "(M-H)-"))
translations <- c("M+H" = "[M+H]+", "(M-H)-" = "[M-H]-")
harmonize_adducts(df, adducts_translations = translations)