findMAIN | R Documentation |
findMAIN
will evaluate an ESI spectrum for the potential main adducts,
rank obtained suggestions and allow the deduction of the neutral mass of the measured
molecule.
findMAIN(
spec,
adductmz = NULL,
ionmode = c("positive", "negative")[1],
adducthyp = NULL,
ms2spec = NULL,
rules = NULL,
mzabs = 0.01,
ppm = 5,
mainpkthr = 0.005,
collapseResults = TRUE
)
spec |
A mass spectrum. Either a matrix or data frame, the first two columns of which are assumed to contain the 'mz' and 'intensity' values, respectively. |
adductmz |
Manually specified peak for which |
ionmode |
Ionization mode, either "positive" or "negative". Can be abbreviated. |
adducthyp |
Adduct hypotheses to test for each main peak. Defaults to
|
ms2spec |
Second spectrum limiting main peak selection. If available, MS^E or bbCID spectra may allow further exclusion of false positive adduct ions, as ions of the intact molecule (protonated molecule, adduct ions) should have lower intensity in the high-energy trace than in low-energy trace. |
rules |
Adduct/fragment relationships to test, e.g. |
mzabs |
Allowed mass error, absolute (Da). |
ppm |
Allowed mass error, relative (ppm), which is _added_ to 'mzabs'. |
mainpkthr |
Intensity threshold for main peak selection, relative to base peak. |
collapseResults |
If a neutral mass hypothesis was found more than once (due to multiple
adducts suggesting the same neutral mass), return only the one with the highest adduct peak.
Should normally kept at |
Electrospray ionization (ESI) mass spectra frequently contain a number of different
adduct ions, multimers and in-source fragments [M+H]+, [M+Na]+, [2M+H]+, [M+H-H2O]+
,
making it difficult to decide on the compound's neutral mass. This functions aims
at determining the main adduct ion and its type (protonated, sodiated etc.) of a spectrum,
allowing subsequent database searches e.g. using MS-FINDER, SIRIUS or similar.
A list-like 'findMAIN' object for which 'print', 'summary' and 'plot' methods are available.
Jaeger C, Meret M, Schmitt CA, Lisec J (2017), <doi:10.1002/rcm.7905>.
utils::data(esi_spectrum, package = "InterpretMSSpectrum")
fmr <- InterpretMSSpectrum::findMAIN(esi_spectrum)
plot(fmr)
head(summary(fmr))
InterpretMSSpectrum(fmr[[1]], precursor=263, param="ESIpos")
fmr <- InterpretMSSpectrum::findMAIN(esi_spectrum[6:9,], adducthyp = "[M+H]+")
plot(fmr)
# set up a spectrum containing a double charged peak
spec <- data.frame(mz = c(372.1894, 372.6907, 373.1931, 380), int = c(100, 40, 8, 2))
InterpretMSSpectrum:::findiso(spec)
# allow a double charged adduct hypothesis (not standard)
fmr <- InterpretMSSpectrum::findMAIN(spec, adducthyp = c("[M+H]+", "[M+2H]2+"))
summary(fmr)
plot(fmr, rank = 1)
plot(fmr, rank = 2)
# add the correct M+H to this spectrum as a minor peak
spec <- rbind(spec, c(742.3648+1.007, 10))
(fmr <- InterpretMSSpectrum::findMAIN(spec, adducthyp = c("[M+H]+", "[M+2H]2+")))
summary(fmr)
plot(fmr, rank = 1)
plot(fmr, rank = 2)
# compare specific hypotheses manually
# get correct result
InterpretMSSpectrum::findMAIN(spec, adductmz = 743.3718, adducthyp = "[M+H]+")
# enforce wrong result
InterpretMSSpectrum::findMAIN(spec, adductmz = 743.3718, adducthyp = "[M+2H]2+")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.