Calculate m/z from neutral mass (inverse operation)

Description

This is the inverse of calculate_mass_of_m. Given a neutral mass and adduct, it calculates the expected m/z value.

Usage

calculate_mz_from_mass(
  neutral_mass,
  adduct_string,
  electron_mass = ELECTRON_MASS_DALTONS
)

Arguments

neutral_mass Numeric neutral mass (M) in Daltons
adduct_string Character string representing the adduct
electron_mass Numeric electron mass in Daltons

Value

Numeric m/z value in Daltons

Examples

library("tima")

# Calculate m/z for a protonated molecule
calculate_mz_from_mass(neutral_mass = 122.45, adduct_string = "[M+H]+")
# Expected: ~123.4567

# Verify round-trip calculation
mass <- 122.45
adduct <- "[M+H]+"
mz <- calculate_mz_from_mass(mass, adduct)
mass_back <- calculate_mass_of_m(mz, adduct)
all.equal(mass, mass_back) # Should be TRUE