Network Backboning
Download Backboning Code and Data (Python 2, Networkx 1 version)
Backboning code for Python 3 & Networkx 2
The archive contains a Python module to perform network backboning, which is the filtering of non-significant edges from a very dense and noisy network.
The module provides several utilities and the following methods:
- Noise Corrected: New methodology published at ICDE 2017 developed by Frank Neffke and me (please cite: Coscia & Neffke “Network Backboning with Noisy Data”, ICDE 2017 — Paper, Bibtex);
- Disparity Filter: http://www.pnas.org/content/106/16/6483.full;
- High Salience Skeleton: http://www.nature.com/articles/ncomms1847;
- Doubly Stochastic Transformation: http://www.pnas.org/content/106/26/E66.full.pdf;
- Maximum Spanning Tree: https://en.wikipedia.org/wiki/Minimum_spanning_tree;
- Naive Thresholding.
The module requires the following Python packages:
- Pandas
- Numpy
- Networkx
The archive contains data and example code that should get you up and running. A minimal working example is provided here. I will assume you either have the backboning.py module in your running directory or in a directory of your Python path:
import backboning table, nnodes, nnedges = backboning.read("/path/to/input", "column_of_interest") nc_table = backboning.noise_corrected(table) nc_backbone = backboning.thresholding(nc_table, threshold_value) backboning.write(nc_backbone, "network_name", "nc", "/path/to/output")
Easy!
Download Backboning Code and Data(Python 2, Networkx 1 version)