diffuse-methods: Network diffusion

Description Usage Arguments Value Examples

Description

Propagate the estimated gene effects from a previous analysis over a network using network diffusion. First the estimated effects are normalized and mapped to a given genetic network, for instance a PPI or co-expression network. Then the normalized effects are propagated across the edges of the network using a Markov random walk with restarts. By that the initial ranking of genes (as given by their absolute effect sizes) is re-evaluated and the genes are reordered. Thus network diffusion potentially reduced false negative hits.

Usage

1
2
3
4
5
6
7
8
diffuse(obj, graph = NULL, r = 0.5, delete.nodes.on.degree = 0,
  do.bootstrap = FALSE, take.largest.component = TRUE,
  correct.for.hubs = TRUE)

## S4 method for signature 'HMAnalysedPerturbationData'
diffuse(obj, graph = NULL, r = 0.5,
  delete.nodes.on.degree = 0, do.bootstrap = FALSE,
  take.largest.component = TRUE, correct.for.hubs = TRUE)

Arguments

obj

HMAnalysedPerturbationData object

graph

a data.frame or tibble with three columns representing a symbolic edge list. The first two columns contain node ids. The third column has to be called weight and is the non-negative weight of the edge between the two nodes.

r

restart probability of the random walk

delete.nodes.on.degree

delete nodes from the graph with a degree of less or equal than delete.nodes.on.degree

do.bootstrap

run a diffusion on every bootstrap sample in case bootstrap samples are available

take.largest.component

if true takes only the largest connected component of the graph and discards all nodes that are not in the largest component. If false takes the compete graph.

correct.for.hubs

if true corrects for the fact that the stationary distribution of the random walk is biased towards hubs.

Value

returns a NetworkAnalysedPerturbationData object

Examples

1
2
3
4
5
6
 data(rnaiscreen)
 hm.fit <- hm(rnaiscreen)

 graph <- readRDS(system.file(
   "extdata", "graph_small.rds", package = "perturbatr"))
 res <- diffuse(hm.fit, graph=graph, r=1)

perturbatr documentation built on May 6, 2019, 2:59 a.m.