| calcScores | R Documentation |
Calculates a pairwise similarity (between 0 & 1) between all
grouped features in metabCombiner object. The similarity score
calculation is described in scorePairs.
calcScores(
object,
A = 75,
B = 10,
C = 0.25,
groups = NULL,
fit = c("gam", "loess"),
mzshift = FALSE,
mzfit = mzfitParam(),
useAdduct = FALSE,
adduct = 1.25,
usePPM = FALSE,
brackets_ignore = c("(", "[", "{")
)
object |
metabCombiner object. |
A |
Numeric weight for penalizing m/z differences. |
B |
Numeric weight for penalizing differences between fitted & observed retention times |
C |
Numeric weight for differences in Q (abundance quantiles). |
groups |
integer. Vector of feature groups to score. If set to NULL (default), will compute scores for all feature groups. |
fit |
Character. Choice of fitted rt model, "gam" or "loess." |
mzshift |
Logical. If TRUE, shifts the m/z values (mzx) before scoring. |
mzfit |
List of parameters for shifting m/z values; see ?mzfitParam |
useAdduct |
logical. Option to penalize mismatches in (non-empty, non-bracketed) adduct column annotations. |
adduct |
numeric. If useAdduct is TRUE, divides score of mismatched, non-empty and non-bracked adduct column labels by this value. |
usePPM |
logical. Option to use relative (as opposed to absolute) m/z differences in score computations. |
brackets_ignore |
If useAdduct = TRUE, bracketed adduct character strings of these types will be ignored according to this argument |
This function updates the rtProj, score, rankX, and
rankY columns in the combinedTable report. First, using the
RT mapping model computed in the previous steps, rtx values are
projected onto rty. Then similarity scores are calculated based on
m/z, rt (rtProj vs rty), and Q differences, with multiplicative weight
penalties A, B, and C.
If the datasets contain representative set of shared identities (idx = idy),
evaluateParams provides some guidance on appropriate A,
B, and C values to use. In testing, the best values for
A should lie between 50 and 120, according to mass accuracy; if using
ppm (usePPM = TRUE), the suggested range is between 0.01 and 0.05.
B should be between 5 and 15 depending on fitting accuracy (higher
if datasets processed under roughly identical conditions) ; C should
vary between 0 and 1, depending on sample similarity. See examples below.
Some input datasets exhibit systematic m/z shifts
If using adduct information (useAdduct = TRUE), the score is divided
by the numeric adduct argument if non-empty and non-bracketed adduct
values do not match. Be sure that adduct annotations are accurate before
using this functionality.
metabCombiner object with updated combinedTable.
rtProj column will contain fitted retention times determined from previously
computed model; score will contain computed pairwise similarity scores of
feature pairs; rankX & rankY are the integer ranks of scores for x & y
features in descending order.
evaluateParams, scorePairs
data(plasma30)
data(plasma20)
p30 <- metabData(plasma30, samples = "CHEAR")
p20 <- metabData(plasma20, samples = "Red", rtmax = 17.25)
p.comb <- metabCombiner(xdata = p30, ydata = p20, binGap = 0.0075)
p.comb <- selectAnchors(p.comb, tolmz = 0.003, tolQ = 0.3, windy = 0.02)
p.comb <- fit_gam(p.comb, k = 20, iterFilter = 1, family = "gaussian")
#example: moderate m/z deviation, accurate rt fit, high sample similarity
p.comb <- calcScores(p.comb, A = 90, B = 14, C = 0.8, useAdduct = FALSE,
groups = NULL, fit = "gam", usePPM = FALSE)
cTable <- combinedTable(p.comb) #to view results
#example 2: high m/z deviation, moderate rt fit, low sample similarity
p.comb <- calcScores(p.comb, A = 50, B = 8, C = 0.2)
#example 3: low m/z deviation, poor rt fit, moderate sample similarity
p.comb <- calcScores(p.comb, A = 120, B = 5, C = 0.5)
#example 4: using ppm for mass deviation; note different A value
p.comb <- calcScores(p.comb, A = 0.05, B = 14, C = 0.5, usePPM = TRUE)
#example 5: limiting to specific m/z groups 1-1000
p.comb <- calcScores(p.comb, A = 90, B = 14, C = 0.5, groups = seq(1,1000))
#example 6: using adduct information
p.comb <- calcScores(p.comb, A = 90, B = 14, C = 0.5, useAdduct = TRUE,
adduct = 1.25)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.