Learn R Programming

SANTA (version 2.10.2)

Knode: Rank vertices by their strength of association with high-weight vertices

Description

Rank vertices by their strength of association with high-weight vertices using a modified version of Ripley's K-statistic. Vertex weights can either be binary or positive and continuous.

Usage

Knode(g, dist.method=c("shortest.paths", "diffusion", "mfpt"), vertex.attr="pheno", edge.attr=NULL, correct.factor=1, nsteps=1000, B=NULL, verbose=TRUE)

Arguments

g
igraph object, the network to work on.
dist.method
String, the method used to calculate the distance between each vertex pair.
vertex.attr
Character vector, the name of the vertex attributes under which the vertex weights to be tested are stored. The vector can contain one or more elements.
edge.attr
String, the name of the edge attribute to be used as distances along the edges.
correct.factor
Numeric value, if the network contains unconnected vertices, then the distance between these vertices is set as the maximum distance between the connected vertices multiplied by correct.factor.
nsteps
Integer value, the number of bins into which vertex pairs are placed.
B
Symmetric numerical matrix. A precomputed distance bin matrix for g output by the BinGraph function. If NULL, then B is computed within the Knode function.
verbose
Logical, if TRUE messages about the progress of the function are displayed.

Value

A sorted named numerical vector of Knode AUKs for each vertex.If one vertex attribute is input, then the Knode AUKs are calculated and a single numerical vector is returned. If more than one vertex attribute is input, then a list of vectors, one for each set of vertex weights, is returned.

Details

Using the inner sum of the Knet equation, it becomes possible to prioritise vertices by how well they are connected, or associated, with high-weight vertices. The inner sum of the Knet equation is

$$K^{node}_i[s]=\frac{2}{p} \sum_j (p_j - \bar{p}) I(d^g(i,j)<=s)$$< p="">

where $p_j$ is the weight of vertex $j$, $\bar{p}$ is the mean vertex weight across all vertices, and $I(dg[i,j]<=s)$ 1="" is="" an="" identity="" function,="" equaling="" if="" vertex="" $i$="" and="" $j$="" are="" within="" distance="" $s$="" $0$="" otherwise.="" <="" p="">

If the name of each vertex is stored within a vertex attribute called name, then the returned scores are labelled with these names.

Vertex weights should be greater than or equal to 0, or equal to NA if the weight is missing. The Knode statistic is still computed for vertices with missing weights.

If an edge attribute with this name is not found, then each edge is assumed to have a distance of 1. Smaller edge distances denote stronger interactions between vertex pairs

References

Cornish, A.J. and Markowetz, F. (2014) SANTA: Quantifying the Functional Content of Molecular Networks.. PLOS Computational Biology. 10:9, e1003808.

See Also

Knet

Examples

Run this code
# create a network with a single cluster of high-weight vertices
# rank all vertices by their strength of association with the high-weight vertices
g1 <- erdos.renyi.game(15, p.or.m=0.3, directed=FALSE)
g1 <- SpreadHits(g1, h=3, lambda=10)
Knode(g1, vertex.attr="hits")
plot(g1)

Run the code above in your browser using DataLab