mutestim: Fluctuation Analysis parametric estimation

View source: R/flan.R

mutestimR 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 mc of final numbers of cells.

mfn

mean final number of cells. Ignored if fn is non-missing. By default empty.

cvfn

coefficient of variation of final number of cells. Ignored if fn is non-missing. By default empty.

fitness

fitness parameter: ratio of growth rates of normal and mutant cells. If fitness is NULL (default), then the fitness will be estimated. Otherwise, the given value will be used to estimate the mean mutation number mutations.

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 GF method, and for ML method under LD model.

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 model is I. See details.

method

estimation method as a character string: one of ML (default), P0, or GF. See details.

winsor

winsorization parameter: positive integer. Only used when method is ML or when method is P0 and fitness is NULL. See details.

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 fn, mfn or cvfn is non-empty)

sd.mutprob

estimated standard deviation on mutation probability

fitness

estimated fitness (if argument fitness is NULL)

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

rflan, flan.test.

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)

AdriMaz/flan documentation built on Feb. 8, 2024, 9 p.m.