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