The EFDR for a given threshold is equal to the sum over all proteins that exceed that threshold of one minus the posterior probability of differential localisations, divides by the total number of proteins with probabilities of differential localisation greater than that threshold.
EFDR(prob, threshold = 0.9)
A numeric indicating probabilities of differential localisation
A numeric indicating the probability threshold. The default is 0.90.
The expected false discovery rate for a given threshold
library(pRolocdata)
#>
#> This is pRolocdata version 1.34.0.
#> Use 'pRolocdata()' to list available data sets.
data("tan2009r1")
set.seed(1)
tansim <- sim_dynamic(object = tan2009r1,
numRep = 6L,
numDyn = 100L)
gpParams <- lapply(tansim$lopitrep, function(x)
fitGPmaternPC(x, hyppar = matrix(c(0.5, 1, 100), nrow = 1)))
d1 <- tansim$lopitrep
control1 <- d1[1:3]
treatment1 <- d1[4:6]
mcmc1 <- bandle(objectCond1 = control1, objectCond2 = treatment1, gpParams = gpParams,
fcol = "markers", numIter = 10L, burnin = 1L, thin = 2L,
numChains = 1, BPPARAM = SerialParam(RNGseed = 1))
#> You haven't provided a seed, you may wish to provide a seed
#>
|
| | 0%
|
|======= | 10%
|
|============== | 20%
|
|===================== | 30%
|
|============================ | 40%
|
|=================================== | 50%
|
|========================================== | 60%
|
|================================================= | 70%
|
|======================================================== | 80%
mcmc1 <- bandleProcess(mcmc1)
dp <- diffLocalisationProb(mcmc1)
EFDR(dp, threshold = 0.5)
#> [1] 0.05818182