backbone: backbone: Extracts the Backbone from Weighted Graphs

Description Details References


Provides methods for extracting from a weighted graph a binary or signed backbone that retains only the significant edges. The user may input a weighted graph, or a bipartite graph from which a weighted graph is first constructed via projection. Backbone extraction methods include:


To decide whether an edge of a bipartite projection B*t(B) is statistically significant, we compare the edge's observed weight to the distribution of weights expected in a projection obtained from a random bipartite graph under a null model. Given a null model that can generate a distribution of an edge's weights, we can then compute the probability that the observed weight is in the upper or lower tail of that distribution. The 'backbone' package provides several different null models to use, all of which define different constraints on the row degrees and column degrees of a random bipartite graph in their corresponding distribution.

Once one of these models is computed, use backbone.extract to return the backbone graph for a chosen alpha value.

In addition to these methods, one can also use universal to return a backbone graph in which edge weights are set to 1 if above the given upper parameter threshold, and set to -1 if below the given lower parameter threshold, and are 0 otherwise.

Additional functions that aid in the use of the above models are exported:

For additional documentation and background on the package functions, see vignette("backbone", package = "backbone"). For updates, papers, presentations, and other backbone news, please see


Domagalski, R., Neal, Z. P., and Sagan, B. (2021). backbone: An R Package for Backbone Extraction of Weighted Graphs. PLoS ONE. doi: 10.1371/journal.pone.0244363

backbone documentation built on Sept. 18, 2021, 1:07 a.m.