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]