diffuse {perturbatr} | R Documentation

## Network diffusion

### 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

    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

     data(rnaiscreen)
     hm.fit <- hm(rnaiscreen)

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

[Package perturbatr version 1.0.0 Index]