HotNet2 is a Python based software to identify subnetworks of gene interaction network with mutation infomation.

I read the Algorithm last month and got a basic knowledge of random walk.

## Random walk with restart

### concept

For gene(protein) interaction network, random walk starts from a protein g and at each time step moves to one of the neighbors with the probability $1-\beta$ ($0 \leq \beta \leq 1$).

The walk can also restarts from g with probability $\beta$. This process is defined by a transition matrix $W$.

$deg(j)$ is the number of neighbors (the degree) of protein $g_{i}$ in the interaction network.

$\beta$ represent the probability with which the walk starting at $g_{i}$ is forced to restart from $g_{i}$.

The random walk will reaches a stationary discribution described by the vector $\vec{s}_{i}$

When $\vec{s}^{\prime}_{i}=\vec{s}_{i}$, we can get

where$\vec{e}_{i}$ is the vector with a 1 in position $i$ and 0 is in the remaining positions.

This part $\beta(I-(1-\beta)W)^{-1}$ is called diffusion matrix $F$.

Note that $\vec{s}_{i}$ is the $i^{th}$ column of $F$.

### parameter

To calculate the diffusion matrix, we need know the value of $\beta$. In HotNet2, they chose $\beta$ to balance the amount of heat that diffuses from a protein to its immediate neighbors and to the rest of the network.

There is another parameter $\delta$, it is the edge wight parameter. It’s used to make sure the HotNet2 will not find large subnetworks using random data.

For more detail of these parameters, please see the supplementary of this paper.