estimate.LT: Estimation of time to death

Description Usage Arguments Details Value Examples

View source: R/src_routine_estimation_t_mort.R

Description

Estimation of time to death

Usage

1
2
estimate.LT(y, t, threshold.value = NULL, offset.dead = NULL,
  offset.alive = NULL, verbose = F, ndeps = 0.01)

Arguments

y

The signal to analize

t

The time values

threshold.value

Detection threshold below which signal is considered as pure noise

offset.dead

Offset derived from variance in signal in dead insects

offset.alive

Offset derived from variance in signal in living insects

verbose

If true additionnal informations on computations are displayed

ndeps

Step size used in optim to estimate parameters

Details

The model adjusted in this procedure assumes that random variance in signal drops after insect death, because insect has ceased to move. The time value at which this drop occurs can therefore be used as an estimate of lethal time. First guess of variance estimates can be provided as offset.dead (for dead insects) or offset.alive (for living insects).

Value

A vector with TL estimate for the given sample, corresponding log-likelihood and number of values used in the computation.

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
##Loading data
data("galleria")
## dataset may contain NA if microplate reader has been stoped before the programmed
## end of the experiment
d <- subset(galleria,!is.na(value))
l  <- lapply(split(d,d$well),extract.well)

data(setup)
setup <- setup[match(setup$well,names(l)),]

## Computes rough estimates of variance in autofluorescence signal for dead and living insects
## These values serve as initial guess to fit the model.
offset.alive <- estimate.offset(l,"1_330_405",min.t=1,max.t=5)
    # all insects are assumed to be alive during the
    # first five hours that follow injection

offset.dead <- estimate.offset(l[which(setup$dead==1)],"1_330_405",min.t=72-5)
    # insects that were dead at the end of the experiment are
    # assumed to have died earlier than 5 hours before then
    # end of the experiment


## LT estimation or for a single well
## Check out well D9, to see what happens when an insect stayed alive.
well <- "A3"
plot(log(value_1_485_535,10)~t_1_485_535,type="l",col="green",ylim=c(2,5),data=l[[well]])
points(log(value_1_330_405,10)~t_1_330_405,type="l",col="gray",data=l[[well]])
    # Rough estimate obtained using no offsets
est1 <- with(l[[well]], estimate.LT(value_1_330_405,t_1_330_405,threshold.value=3))
abline(v=est1[["LT"]],lty=2,col="red")
    # Much better estimate obtained using offset for dead insects
est2 <- with(l[[well]], estimate.LT(value_1_330_405,t_1_330_405,
                                         offset.dead = offset.dead,threshold.value=3))
abline(v=est2["LT"],lty=3,col="red")
    # Using offset.alive does not change anything to the estimate for well A3
    # It may help for insect that have a larger variance in signal than others even after death
est3 <- with(l[[well]], estimate.LT(value_1_330_405,t_1_330_405,
                                         offset.dead = offset.dead,
                                         offset.alive = offset.alive,threshold.value=3))
abline(v=est3["LT"],col="red")
    # Detection of significant GFP fluorescence (i.e. log fluorescence exceed
    # by 5% the maximum value observed during the first five hours)
with(l[[well]],abline(v=when.threshold(t_1_485_535,log(value_1_485_535,10),
                                                            threshold=0.1),col="green"))


##LT estimation for all wells
if(FALSE) { #example takes time! Set to TRUE if you want to run it
   res <- sapply(l,function(x) estimate.LT(x$value_1_330_405,x$t_1_330_405,
                                               threshold.value=2,offset.dead=offset.dead,
                                               offset.alive=offset.alive))
  res <- as.data.frame(t(res))
##Adds LT estimates to the experimental setup data.frame
  setup <- cbind(setup,res[match(setup$well,rownames(res)),])
## Time of injection is added to LT, so that LT really corresponds to time post injection
  time <- with(setup,strptime(as.character(time_injection),format="%H:%M:%S"))
  time <- as.numeric((max(time)-time)/(60^2))
  setup$LT <- setup$LT+time


## Survival curves by dilution of bacterial culture injected
  library(survival)
  plot(survfit(Surv(LT,dead)~dilution,data=setup),
     lwd=c(3:1,1),lty=c(1,1,1,2),
     xlab="hours post injection",ylab="proportion of surviving insects")
  abline(h=0.5,col="red")
  legend("topright",lwd=c(1,3:1),lty=c(2,1,1,1),legend=c("LB",10^(3:1)))

## When does scepticemia start?
  res <- sapply(l,function(x) when.threshold(x$t_1_485_535,log(x$value_1_485_535,10),
                                                                    threshold=0.1))
  setup$T_gfp <- res[match(setup$well,names(res))]
  setup$T_gfp <- setup$T_gfp + time

## Relation between time of death and moment when scepticemia is detected.
## Only points where scepticemia has been detected are represented here.
  plot(LT~T_gfp,data=setup,col=ifelse(dead,1,2),pch=as.numeric(dilution))
  abline(0,1)
  with(setup,legend("topleft",legend=levels(dilution),pch=1:4))
  # Most insects have died after scepticemia has started.
  }

fluoSurv documentation built on May 2, 2019, 2:18 p.m.