run_ulm {decoupleR}R Documentation

Univariate Linear Model (ULM)

Description

Calculates regulatory activities by fitting univariate linear models (ULM).

Usage

run_ulm(
  mat,
  network,
  .source = .data$source,
  .target = .data$target,
  .mor = .data$mor,
  .likelihood = .data$likelihood,
  sparse = FALSE,
  center = FALSE,
  na.rm = FALSE
)

Arguments

mat

Matrix to evaluate (e.g. expression matrix). Target nodes in rows and conditions in columns. rownames(mat) must have at least one intersection with the elements in network .target column.

network

Tibble or dataframe with edges and it's associated metadata.

.source

Column with source nodes.

.target

Column with target nodes.

.mor

Column with edge mode of regulation (i.e. mor).

.likelihood

Column with edge likelihood.

sparse

Logical value indicating if the generated profile matrix should be sparse.

center

Logical value indicating if mat must be centered by base::rowMeans().

na.rm

Should missing values (including NaN) be omitted from the calculations of base::rowMeans()?

Details

ULM fits a (univariate) linear model to estimate regulatory activities. ULM fits a linear model that predicts the observed molecular readouts using the given weights of a regulator as a single co-variate. The obtained t-value from the fitted model is the activity of the regulator. This approach was first described in: Improved detection of tumor suppressor events in single-cell RNA-Seq data.

Value

A long format tibble of the enrichment scores for each source across the samples. Resulting tibble contains the following columns:

  1. statistic: Indicates which method is associated with which score.

  2. source: Source nodes of network.

  3. condition: Condition representing each column of mat.

  4. score: Regulatory activity (enrichment score).

See Also

Other decoupleR statistics: decouple(), run_aucell(), run_fgsea(), run_gsva(), run_mdt(), run_mlm(), run_ora(), run_udt(), run_viper(), run_wmean(), run_wsum()

Examples

inputs_dir <- system.file("testdata", "inputs", package = "decoupleR")

mat <- readRDS(file.path(inputs_dir, "input-expr_matrix.rds"))
network <- readRDS(file.path(inputs_dir, "input-dorothea_genesets.rds"))

run_ulm(mat, network, .source='tf')

[Package decoupleR version 2.0.0 Index]