Several utility functions to work with adducts.
GenFormAdducts()
MetFragAdducts()
as.adduct(x, format = "generic", isPositive = NULL, charge = NULL, err = TRUE)
calculateIonFormula(formula, adduct)
calculateNeutralFormula(formula, adduct)The object that should be converted. Should be a character
string, a numeric MetFrag adduct identifier
(adduct_mode column obtained with MetFragAdducts) or an
adduct object (in which case no conversion occurs).
A character that specifies the source format.
"generic" is an internally used generic format that supports full
textual conversion. Examples: "[M+H]+", "[2M+H]+",
"[M+3H]3+".
"sirius" Is the format used by SIRIUS. It is similar to
generic but does not allow multiple charges/molecules. See the
SIRIUS manual for more details.
"genform" and "metfrag" support fixed types of adducts
which can be obtained with the GenFormAdducts and
MetFragAdducts functions, respectively.
"openms" is the format used by the MetaboliteAdductDecharger tool.
"cliquems" is the format used by cliqueMS.
A logical that specifies whether the adduct should be
positive. Should only be set when format="metfrag" and x is a
numeric identifier.
The final charge. Only needs to be set when format="openms".
If TRUE then an error will be thrown if conversion fails,
otherwise returns without data.
A character vector with formulae to convert.
An adduct object (or something that can be converted to it with as.adduct).
Examples: "[M-H]-", "[M+Na]+".
GenFormAdducts returns a table with information on adducts
supported by GenForm.
MetFragAdducts returns a table with information on adducts
supported by MetFrag.
as.adduct Converts an object in to an adduct
object.
calculateIonFormula Converts one or more neutral formulae to
adduct ions.
calculateNeutralFormula Converts one or more adduct ions to
neutral formulae.
as.adduct("[M+H]+")
as.adduct("[M+H2]2+")
as.adduct("[2M+H]+")
as.adduct("[M-H]-")
as.adduct("+H", format = "genform")
as.adduct(1, isPositive = TRUE, format = "metfrag") # MetFrag adduct ID 1 --> returns [M+H]+
calculateIonFormula("C2H4O", "[M+H]+") # C2H5O
calculateNeutralFormula("C2H5O", "[M+H]+") # C2H4O