mutestim: Fluctuation Analysis parametric estimation

Description Usage Arguments Details Value References See Also Examples

View source: R/flan.R

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

1
2
3
4
  mutestim(mc,fn=NULL,mfn=NULL,cvfn=NULL,              # user's data
                  fitness=NULL,death=0,                # user's parameters
                  method=c("ML","GF","P0"),winsor=512, # estimation method
                  model=c("LD","H"))                   # clone growth model

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.

cvfn

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

fitness

fitness parameter: ratio of growth rates of normal and mutant cells. Default 1. If fitness is NULL, 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.

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.

model

statistical lifetime model as a character string: one of LD (default) for Luria-Delbrück model (exponential lifetimes), or H for Haldane model with (constant lifetimes).

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 fitness is computed by maximum likelihood.

Method GF uses the empirical generating function of mc. Since it is a very fast method, "GF" is used to initialize the values of the estimates for methods "ML" and "P0" (if the fitness is estimated).

If fn is non-empty, then with.prob is TRUE. If method is P0 or GF, then mfn and cvfn are computed from fn, and the estimate of mutprob is computed from the estimate of mutations. If method is ML, the estimate of mutprob is first computed and the estimate of mutations is deduced.

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 with.prob=TRUE)

sd.mutprob

estimated standard deviation on mutation probability

fitness

estimated fitness (if argument fitness is NULL)

sd.fitness

estimated standard deviation on fitness

References

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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
x <- rflan(100,mutprob=1e-9,mfn=1e9,cvfn=0.3,fitness=0.9,death=0.05)

# 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")

# compare results
rbind(meanfn,withfn,Hmodel,GFmethod,P0method,withdeaths)

# use known value of fitness
mutestim(x$mc,x$fn,fitness=0.9)

# extreme example
x <- rflan(10000,mutations=50,fitness=0.5,dist=list(name="exp",rate=1))$mc
summary(x)
mutestim(x,method="GF")
mutestim(x)
mutestim(x,winsor=2000)
mutestim(x,method="P0")

rcqls/flanRcpp documentation built on May 27, 2019, 3:05 a.m.