deAna {EnrichmentBrowser} | R Documentation

## Differential expression analysis between two sample groups

### Description

The function carries out a differential expression analysis between two sample groups. Resulting fold changes and derived p-values are returned. Raw p-values are corrected for multiple testing.

### Usage

    deAna(
      expr,
      grp = NULL,
      blk = NULL,
      de.method = c("limma", "edgeR", "DESeq2"),
      padj.method = "BH",
      stat.only = FALSE,
      filter.by.expr = TRUE,
      assay = "auto"
    )

### Arguments

`expr` | Expression data. A numeric matrix. Rows correspond to genes, columns to samples. Alternatively, this can also be an object of class `SummarizedExperiment`.
`grp` | *BINARY* group assignment for the samples. Use '0' and '1' for unaffected (controls) and affected (cases) samples, respectively. If NULL, this is assumed to be defined via a column named 'GROUP' in the `colData` slot if 'expr' is a `SummarizedExperiment`.
`blk` | Optional. For paired samples or sample blocks. This can also be defined via a column named 'BLOCK' in the `colData` slot if 'expr' is a `SummarizedExperiment`.
`de.method` | Differential expression method. Use 'limma' for microarray and RNA-seq data. Alternatively, differential expression for RNA-seq data can be also calculated using edgeR ('edgeR') or DESeq2 ('DESeq2'). Defaults to `'limma'`.
`padj.method` | Method for adjusting p-values to multiple testing. For available methods see the man page of the stats function `p.adjust`. Defaults to `'BH'`.
`stat.only` | Logical. Should only the test statistic be returned? This is mainly for internal use, in order to carry out permutation tests on the DE statistic for each gene. Defaults to `FALSE`.
`filter.by.expr` | Logical. For RNA-seq data: include only genes with sufficiently large counts in the DE analysis? If TRUE, excludes genes not satisfying a minimum number of read counts across samples using the `filterByExpr` function from the edgeR package. Defaults to TRUE.
`assay` | Character. The name of the assay for differential expression analysis if `expr` is a `SummarizedExperiment` with *multiple assays*. Defaults to `"auto"`, which automatically determines the appropriate assay based on data type provided and DE method selected. See details.

### Details

Using a `SummarizedExperiment` with *multiple assays*:

For the typical use case within the EnrichmentBrowser workflow this will be a `SummarizedExperiment` with two assays: (i) an assay storing the *raw* expression values, and (ii) an assay storing the *norm*alized expression values as obtained with the `normalize` function.

In this case, `assay = "auto"` will *auto*matically determine the assay based on the data type provided. For microarray data, differential expression analysis will be carried out on the assay storing the *norm*alized log2 intensities. For RNA-seq data, differential expression analysis will be carried out on the assay storing the *raw* read counts.

For usage outside of the typical workflow, the `assay` argument can be used to provide the name of the assay for differential expression analysis. For differential expression analysis of microarray data with `de.method = "limma"`, this assay should contain the *norm*alized log2 intensities. For differential expression analysis of RNA-seq data with either method (limma/voom, edgeR, or DESeq2), the specified assay should contain the *raw* read counts.

### Value

A DE-table with measures of differential expression for each gene/row, i.e. a two-column matrix with log2 fold changes in the 1st column and derived p-values in the 2nd column. If 'expr' is a `SummarizedExperiment`, the DE-table will be automatically appended to the `rowData` slot.

### Author(s)

Ludwig Geistlinger <Ludwig.Geistlinger@sph.cuny.edu>

### See Also

`readSE` for reading expression data from file, `normalize` for normalization of expression data, `voom` for preprocessing of RNA-seq data, `p.adjust` for multiple testing correction, `eBayes` for DE analysis with limma, `glmQLFit` for DE analysis with edgeR, and `DESeq` for DE analysis with DESeq2.

### Examples

        # (1) microarray data: intensity measurements
        maSE <- makeExampleData(what = "SE", type = "ma")
        maSE <- deAna(maSE)
        rowData(maSE)

        # (2) RNA-seq data: read counts
        rseqSE <- makeExampleData(what = "SE", type = "rseq")
        rseqSE <- deAna(rseqSE, de.method = "DESeq2")
        rowData(rseqSE)

[Package EnrichmentBrowser version 2.20.7 Index]