calculateIndividualLogFC {sparrow} | R Documentation

## Utility function to run limma differential expression analysis

### Description

Utility function to run limma differential expression analysis

### Usage

    calculateIndividualLogFC(
      x,
      design,
      contrast = ncol(design),
      robust.fit = FALSE,
      robust.eBayes = FALSE,
      trend.eBayes = FALSE,
      treat.lfc = NULL,
      weights = NULL,
      confint = TRUE,
      with.fit = FALSE,
      use.qlf = TRUE,
      ...,
      xmeta. = NULL,
      as.dt = FALSE
    )

### Arguments

`x` | The expression object. This can be 1 column matrix if you are not running any analysis, and this function essentially is just a "pass through"
`design` | The design matrix for the experiment
`contrast` | The contrast you want to test and provide stats for. By default this tests the last column of the `design` matrix. If you want to test a custom contrast, this can be a contrast vector, which means that it should be as long as `ncol(design)` and it most-often sum to one. In the future, the user will be able to specify a range of coefficients over `design` to perform an ANOVA analysis, cf. Issue #11 (https://github.com/lianos/multiGSEA/issues/11).
`robust.fit` | The value of the `robust` parameter to pass down to the `limma::lmFit()` function. Defaults to `FALSE`.
`robust.eBayes` | The value of the `robust` parameter to pass down to the limma::eBayes()] function.
`trend.eBayes` | The value of the `trend` parameter to pass down to the `limma::eBayes()` function.
`treat.lfc` | If this is numeric, this activates limma's "treat" functionality and tests for differential expression against this specified log fold change threshold. This defaults to `NULL`.
`weights` | an option matrix of weights to use in `limma::lmFit()`. If `x` is an EList already, and `x$weights` is already defined, this argument will be ignored.
`confint` | add confidence intervals to `topTable` output (default `TRUE`)? Ignored if `x` is a `DGEList`.
`with.fit` | If `TRUE`, this function returns a list object with both the fit and the table of logFC statistics, otherwise just the logFC statistics table is returned.
`use.qlf` | If `TRUE` (default), will use edgeR's quasilikelihood framework for analysis, otherwise uses glmFit/glmTest.
`...` | parameters passed down into the relevant limma/edgeR based functions.
`xmeta.` | a data.frame to add meta data (symbol, primarly) to the outgoing logFC data.frame. This is used when `x` was a vector (pre-ranked).
`as.dt` | If `FALSE` (default), the data.frame like thing that this funciton returns will be set to a data.frame. Set this to `TRUE` to keep this object as a `data.table`

### Details

This function fits linear modles (or glms) to perform differential expression analyses. If the `x` object is a `DGEList` the analysis will be performed using edgeR's quasi-likelihood framework, otherwise limma will be used for all other scenarios.

If `x` is a `edgeR::DGEList()` we require that `edgeR::estimateDisp()` has already been called. If you prefer to analyze rnaseq data using voom, be sure that `x` is the object that has been returned from a call to `limma::voom()` (or `limma::voomWithQualityWeights()`.

The documentation here is speaking the language of a "limma" analysis, however for each parameter, there is an analagous function/parameter that will be delegated to.

Lastly, if `x` is simply a single column matrix, we assume that we are just passing a single pre-ranked vector of statistics through sparrow::seas's analysis pipelines (for use in methods like "fgsea", "cameraPR", etc.), and a logFC-like data.frame is constructed with these statistics in the `logFC` and `t` columns.

### Value

If `with.fit == FALSE` (the default) a `data.table` of logFC statistics for the contrast under test. Otherwise, a list is returned with `$result` containing the logFC statistics, and `$fit` has the limma fit for the data/design/contrast under test.

### Examples

    vm <- exampleExpressionSet(do.voom = TRUE)
    lfc <- calculateIndividualLogFC(vm, vm$design, "tumor")

[Package sparrow version 1.0.3 Index]