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

1
2
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.

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] = 2/p * sum_j(p_j - bar{p}) (dg(i,j)<=s)

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) is an identity function, equaling 1 if vertex i and vertex j are within distance s and 0 otherwise.

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

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.

Author(s)

Alex J. Cornish a.cornish12@imperial.ac.uk and Florian Markowetz

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

1
2
3
4
5
6
# 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)