Skip to contents

Calculates regulatory activities using VIPER.

Usage

run_viper(
  mat,
  network,
  .source = source,
  .target = target,
  .mor = mor,
  .likelihood = likelihood,
  verbose = FALSE,
  minsize = 5,
  pleiotropy = TRUE,
  eset.filter = 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

Deprecated argument. Now it will always be set to 1.

verbose

Logical, whether progression messages should be printed in the terminal.

minsize

Integer indicating the minimum number of targets per source.

pleiotropy

Logical, whether correction for pleiotropic regulation should be performed.

eset.filter

Logical, whether the dataset should be limited only to the genes represented in the interactome.

...

Arguments passed on to viper::viper

dnull

Numeric matrix for the null model, usually generated by nullTtest

nes

Logical, whether the enrichment score reported should be normalized

method

Character string indicating the method for computing the single samples signature, either scale, rank, mad, ttest or none

bootstraps

Integer indicating the number of bootstraps iterations to perform. Only the scale method is implemented with bootstraps.

adaptive.size

Logical, whether the weighting scores should be taken into account for computing the regulon size

pleiotropyArgs

list of 5 numbers for the pleotropy correction indicating: regulators p-value threshold, pleiotropic interaction p-value threshold, minimum number of targets in the overlap between pleiotropic regulators, penalty for the pleiotropic interactions and the method for computing the pleiotropy, either absolute or adaptive

cores

Integer indicating the number of cores to use (only 1 in Windows-based systems)

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

Details

VIPER (Alvarez et al., 2016) estimates biological activities by performing a three-tailed enrichment score calculation. For further information check the supplementary information of the decoupler manuscript or the original publication.

Alvarez M.J.et al. (2016) Functional characterization of somatic mutations in cancer using network-based inference of protein activity. Nat. Genet., 48, 838–847.

See also

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

Examples

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

mat <- readRDS(file.path(inputs_dir, "mat.rds"))
net <- readRDS(file.path(inputs_dir, "net.rds"))

run_viper(mat, net, minsize=0, verbose = FALSE)
#> # A tibble: 72 × 5
#>    statistic source condition score p_value
#>    <chr>     <chr>  <chr>     <dbl>   <dbl>
#>  1 viper     T1     S01        1.45  0.147 
#>  2 viper     T1     S02        1.45  0.147 
#>  3 viper     T1     S03        1.45  0.147 
#>  4 viper     T1     S04        1.84  0.0662
#>  5 viper     T1     S05        1.22  0.224 
#>  6 viper     T1     S06        1.25  0.209 
#>  7 viper     T1     S07        1.62  0.106 
#>  8 viper     T1     S08        1.76  0.0783
#>  9 viper     T1     S09        1.62  0.106 
#> 10 viper     T1     S10        1.62  0.106 
#> # ℹ 62 more rows