mutestim {flan} | R Documentation |
Fluctuation Analysis parametric estimation
Description
Estimates mean number of mutations, mutation probability, and fitness parameter, with different methods, under different models. Returns the estimated means and standard deviations for each parameter.
Usage
mutestim(mc, fn = NULL, mfn = NULL, cvfn = NULL,
fitness = NULL, death = 0., plateff = 1.,
model = c("LD", "H", "I"), muinf = +Inf,
method = c("ML", "GF", "P0"),
winsor = 2000)
Arguments
mc |
a (non-empty) numeric vector of mutants counts. |
fn |
an optional (non-empty) numeric vector with same length as |
mfn |
mean final number of cells. Ignored if |
cvfn |
coefficient of variation of final number of cells. Ignored if |
fitness |
fitness parameter: ratio of growth rates of normal and mutant cells. If |
death |
death probability. Must be smaller than 0.5. By default 0. |
plateff |
plating efficiency parameter. Must be non-larger than 1. By default 1. Available for |
model |
statistical lifetime model. Must be one of "LD" (default) for Luria-Delbrück model (exponential lifetimes), "H" for Haldane model (constant lifetimes), or "I" for Inhomogeneous model |
muinf |
parameter used only if |
method |
estimation method as a character string: one of |
winsor |
winsorization parameter: positive integer. Only used when |
Details
Method ML
is the classic maximum likelihood estimation method. The maximum is computed with a BFGS (bounded) algorithm.
Method P0
uses the number of null values in the sample, therefore it can be applied only if there is at least one zero in mc
.
The estimate of the fitness is computed by maximum likelihood.
Method GF
uses the empirical generating function of mc
.
Since this method is the fastest, "GF"
is used to initialize the values of the estimates for methods "ML"
and "P0"
(if the fitness is estimated).
If fn
, mfn
or cvfn
is non-empty, then the mutation probability is estimated instead of the mean number of mutations.
If fn
is non-empty and method
is P0
or GF
, then mfn
and cvfn
are computed from fn
, and the estimate of
of the mutation probability is deduced from the estimate of the mean number of mutations.
If fn
is non-empty and method
is ML
, the estimate of the mutation probability is directly computed.
muinf
corresponds to the cumulative division rate on the interval [0 ; +Inf).
If model
is I
, muinf
has to be finite, else model
is set to "LD"
The winsorization parameter winsor
is used as a threshold for values in mc
when maximum likelihood estimates are computed.
Value
A list containing the following components:
mutations |
mean number of mutations |
sd.mutations |
estimated standard deviation on mean number of mutations |
mutprob |
mutation probability (if |
sd.mutprob |
estimated standard deviation on mutation probability |
fitness |
estimated fitness (if argument |
sd.fitness |
estimated standard deviation on fitness |
References
A. Mazoyer: Fluctuation analysis on mutation models with birth-date dependence. Math. Biosci 303(9): 83-100 (2018)
B. Ycart and N. Veziris: Unbiased estimates of mutation rates under fluctuating final counts. PLoS one 9(7) e101434 (2014)
B. Ycart: Fluctuation analysis with cell deaths. J. Applied Probab. Statist, 9(1):12-28 (2014)
B. Ycart: Fluctuation analysis: can estimates be trusted? One PLoS one 8(12) e80958 (2013)
A. Hamon and B. Ycart: Statistics for the Luria-Delbrück distribution. Elect. J. Statist., 6:1251-1272 (2012)
See Also
Examples
# realistic random sample of size 100: mutation probability 1e-9,
# mean final number 1e9, coefficient of variation on final numbers 0.3,
# fitness 0.9, lognormal lifetimes, 5% mutant deaths, plating efficiency 80%
x <- rflan(100, mutprob = 1e-9, mfn = 1e9, cvfn = 0.3, fitness = 0.9, death = 0.05, plateff = 0.8)
# maximum likelihood estimates with mean final number
meanfn <- mutestim(x$mc, mfn = 1e9)
# maximum likelihood estimates with final numbers
withfn <- mutestim(x$mc, x$fn)
# change model
Hmodel <- mutestim(x$mc, x$fn, model = "H")
# faster methods
GFmethod <- mutestim(x$mc, x$fn, method = "GF")
P0method <- mutestim(x$mc, x$fn, method = "P0")
# take deaths into account
withdeaths <- mutestim(x$mc, x$fn, death = 0.05, method = "GF")
# with plateff
withpef <- mutestim(x$mc, x$fn, death = 0.05, plateff = 0.8, method = "GF")
# compare results
rbind(meanfn, withfn, Hmodel, GFmethod, P0method, withdeaths, withpef)
# extreme example
x <- rflan(1000, mutations = 50, fitness = 0.5, dist = "exp")$mc
summary(x)
mutestim(x, method = "GF")
mutestim(x)
mutestim(x, winsor = 5000)
## Not run:
# None null count in the sample: P0 can not be used.
mutestim(x, method = "P0")
## End(Not run)