nem {nem}R Documentation

Nested Effects Models - main function

Description

The main function to infer a phenotypic hierarchy from data

Usage

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, ...)

Arguments

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

Details

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.

Value

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

Author(s)

Florian Markowetz <URL: http://genomics.princeton.edu/~florian>, Holger Froehlich <URL: http:/www.dkfz.de/mga2/people/froehlich>

See Also

nemModelSelection, nem.jackknife, nem.bootstrap, nem.consensus, score, moduleNetwork, nem.greedy, triples.posterior, pairwise.posterior, nem.greedyMAP, local.model.prior, enumerate.models, plot.nem

Examples

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

[Package nem version 2.6.0 Index]