odp
performs the optimal discovery procedure, which is a framework for
optimally performing many hypothesis tests in a highdimensional study. When
testing whether a feature is significant, the optimal discovery procedure
uses information across all features when testing for significance.
1 2 3 4 5 6 7 8 9 10 11 12  odp(object, de.fit, odp.parms = NULL, weights = NULL, bs.its = 100,
n.mods = 50, seed = NULL, verbose = TRUE, ...)
## S4 method for signature 'deSet,missing'
odp(object, de.fit, odp.parms = NULL,
weights = NULL, bs.its = 100, n.mods = 50, seed = NULL,
verbose = TRUE, ...)
## S4 method for signature 'deSet,deFit'
odp(object, de.fit, odp.parms = NULL,
weights = NULL, bs.its = 100, n.mods = 50, seed = NULL,
verbose = TRUE, ...)

object 

de.fit 

odp.parms 

weights 

bs.its 

n.mods 

seed 

verbose 

... 
Additional arguments for 
The full ODP estimator computationally grows quadratically with respect to the number of genes. This becomes computationally taxing at a certain point. Therefore, an alternative method called mODP is used which has been shown to provide results that are very similar. mODP utilizes a clustering algorithm where genes are assigned to a cluster based on the KullbackLeiber distance. Each gene is assigned an moduleaverage parameter to calculate the ODP score and it reduces the computations time to approximately linear (see Woo, Leek and Storey 2010). If the number of clusters is equal to the number of genes then the original ODP is implemented. Depending on the number of hypothesis tests, this can take some time.
deSet
object
John Storey, Jeffrey Leek, Andrew Bass
Storey JD. (2007) The optimal discovery procedure: A new approach to simultaneous significance testing. Journal of the Royal Statistical Society, Series B, 69: 347368.
Storey JD, Dai JY, and Leek JT. (2007) The optimal discovery procedure for largescale significance testing, with applications to comparative microarray experiments. Biostatistics, 8: 414432.
Woo S, Leek JT, Storey JD (2010) A computationally efficient modular optimal discovery procedure. Bioinformatics, 27(4): 509515.
kl_clust
, build_models
and
deSet
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  # import data
library(splines)
data(kidney)
age < kidney$age
sex < kidney$sex
kidexpr < kidney$kidexpr
cov < data.frame(sex = sex, age = age)
# create models
null_model < ~sex
full_model < ~sex + ns(age, df = 4)
# create deSet object from data
de_obj < build_models(data = kidexpr, cov = cov,
null.model = null_model, full.model = full_model)
# odp method
de_odp < odp(de_obj, bs.its = 30)
# input a deFit object or ODP parameters ... not necessary
de_fit < fit_models(de_obj, stat.type = "odp")
de_clust < kl_clust(de_obj, n.mods = 10)
de_odp < odp(de_obj, de.fit = de_fit, odp.parms = de_clust,
bs.its = 30)
# summarize object
summary(de_odp)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.