| nem {nem} | R Documentation |
The main function to infer a phenotypic hierarchy from data
nem(D,inference="nem.greedy",models=NULL,type="mLL",para=NULL,hyperpara=NULL,Pe=NULL,Pm=NULL,Pmlocal=NULL,local.prior.size=length(unique(colnames(D))),local.prior.bias=1,triples.thrsh=0.5,lambda=0,delta=1,selEGenes=FALSE,trans.close=TRUE,verbose=TRUE) ## S3 method for class 'nem': print(x, ...)
D |
data matrix with experiments in the columns (binary or continious) |
inference |
search to use exhaustive enumeration, triples for triple-based inference, pairwise for the pairwise heuristic, ModuleNetwork for the module based inference, nem.greedy for greedy hillclimbing, nem.greedyMAP for alternating MAP optimization using log odds or log p-value densities |
models |
a list of adjacency matrices for model search. If NULL, enumerate.models is used for exhaustive enumeration of all possible models. |
type |
mLL or FULLmLL or CONTmLL or CONTmLLBayes or CONTmLLMAP. CONTmLLDens and CONTmLLRatio are identical to CONTmLLBayes and CONTmLLMAP and are still supported for compatibility reasons. mLL and FULLmLL are used for binary data (see BoutrosRNAiDiscrete) and CONTmLL for a matrix of effect probabilities. CONTmLLBayes and CONTmLLMAP are used, if log-odds ratios, p-value densities or any other model specifies effect likelihoods. CONTmLLBayes refers to an inference scheme, were the linking positions of E-genes to S-Genes are integrated out, and CONTmLLMAP to an inference scheme, were a MAP estimate for the linking positions is calculated. |
para |
vector of length two: false positive rate and false negative rate for binary data. Used by mLL |
hyperpara |
vector of length four: used by FULLmLL() for binary data |
Pe |
prior of effect reporter positions in the phenotypic hierarchy (same dimension as D) |
Pm |
prior over models (n x n matrix) |
Pmlocal |
local model prior for pairwise and triple learning. For pairwise learning generated by local.model.prior according to arguments local.prior.size and local.prior.bias |
local.prior.size |
prior expected number of edges in the graph (for pairwise learning) |
local.prior.bias |
bias towards double-headed edges. Default: 1 (no bias; for pairwise learning) |
triples.thrsh |
threshold for model averaging to combine triple models for each edge |
lambda |
regularization parameter to incorporate prior assumptions. Default: 0 (no regularization) |
delta |
regularization parameter for automated E-gene subset selection (CONTmLLMAP only) |
selEGenes |
automated E-gene subset selection (includes tuning of delta for CONTmLLMAP) |
trans.close |
Should always transitive closed graphs be computed? Default: TRUE. NOTE: This has only an impact for the nem.greedyMAP method. |
verbose |
do you want to see progression statements? Default: TRUE |
x |
nem object |
... |
other arguments to pass |
nem is an interface to the functions score, pairwise.posterior, triple.posterior, moduleNetwork, nem.greedy and nem.greedyMAP.
If Pm != NULL and lambda == 0, a Bayesian approach to include prior knowledge is used. Alternatively, the regularization parameter lambda can be tuned in a model selection step via the function nemModelSelection using the BIC criterion.
If automated E-gene subset selection is used and type == CONTmLLMAP, the regularization parameter delta is tuned via the AIC model selection criterion. Otherwise, an iterative algorithm is executed, which in an alternating optimization scheme reconstructs a network given the current set of E-gene and then selects the E-genes having the highest likelihood under the given network. The procedure is run until convergence.
The function plot.nem plots the inferred phenotypic hierarchy as a directed graph, the likelihood distribution of the models (only for exhaustive search) or the posterior position of the effected genes.
graph |
the inferred directed graph (graphNEL object) |
mLL |
log posterior marginal likelihood of final model |
pos |
posterior over effect positions |
mappos |
MAP estimate of effect positions |
type |
as used in function call |
para |
as used in function call |
hyperpara |
as used in function call |
lambda |
as in function call |
delta |
as in function call |
selected |
selected E-gene subset |
LLperGene |
likelihood per selected E-gene |
Florian Markowetz <URL: http://genomics.princeton.edu/~florian>, Holger Froehlich <URL: http:/www.dkfz.de/mga2/people/froehlich>
nemModelSelection, nem.jackknife, nem.bootstrap, nem.consensus, score, moduleNetwork, nem.greedy, triples.posterior, pairwise.posterior, nem.greedyMAP, local.model.prior, enumerate.models, plot.nem
data("BoutrosRNAi2002")
D <- BoutrosRNAiDiscrete[,9:16]
p <- c(.13,.05)
res1 <- nem(D,para=p,inference="search")
res2 <- nem(D,para=p,inference="pairwise")
res3 <- nem(D,para=p,inference="triples")
res4 <- nem(D,para=p,inference="ModuleNetwork")
res5 <- nem(D,para=p,inference="nem.greedy")
res6 = nem(BoutrosRNAiLods, inference="nem.greedyMAP")
par(mfrow=c(2,3))
plot(res1,main="exhaustive search")
plot(res2,main="pairs")
plot(res3,main="triples")
plot(res4,main="module network")
plot(res5,main="greedy hillclimber")
plot(res6,main="alternating MAP optimization")