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.