PLoS ONE (Jan 2020)

A permutation method for network assembly.

  • Shawn A Means,
  • Christian Bläsche,
  • Carlo R Laing

DOI
https://doi.org/10.1371/journal.pone.0240888
Journal volume & issue
Vol. 15, no. 10
p. e0240888

Abstract

Read online

We present a method for assembling directed networks given a prescribed bi-degree (in- and out-degree) sequence. This method utilises permutations of initial adjacency matrix assemblies that conform to the prescribed in-degree sequence, yet violate the given out-degree sequence. It combines directed edge-swapping and constrained Monte-Carlo edge-mixing for improving approximations to the given out-degree sequence until it is exactly matched. Our method permits inclusion or exclusion of 'multi-edges', allowing assembly of weighted or binary networks. It further allows prescribing the overall percentage of such multiple connections-permitting exploration of a weighted synthetic network space unlike any other method currently available for comparison of real-world networks with controlled multi-edge proportion null spaces. The graph space is sampled by the method non-uniformly, yet the algorithm provides weightings for the sample space across all possible realisations allowing computation of statistical averages of network metrics as if they were sampled uniformly. Given a sequence of in- and out- degrees, the method can also produce simple graphs for sequences that satisfy conditions of graphicality. Our method successfully builds networks with order O(107) edges on the scale of minutes with a laptop running Matlab. We provide our implementation of the method on the GitHub repository for immediate use by the research community, and demonstrate its application to three real-world networks for null-space comparisons as well as the study of dynamics of neuronal networks.