Maximum Entropy
Hub

The hub of maximum-entropy null models
for network randomization

Click on the name of the code to be directed to the relevant webpage. 

by Giulio Virginio Clemente

Language: Python 3
Last update: February 2024
Networks: monopartite, undirected, dynamical
Null models: UBCM with persistent degrees
Github: https://github.com/VirginioClemente/Temporal-networks-with-node-specific-memory
Paper: Giulio Virginio Clemente, Claudio J. Tessone, and Diego Garlaschelli. "Temporal networks with node-specific memory: unbiased inference of transition probabilities, relaxation times and structural breaks" (https://arxiv.org/abs/2311.16981).
Notes: This repository contains the code for the maximum entropy configuration model with additional temporal constraints (persistent links, persistent degrees, persistent edges).

by Marzio di Vece 

Language: Python 3
Last update: May 2023
Networks: monopartite: directed,  directed AND weighted
Null models: DBCM, RBCM, DBCM+CReMa, RBCM+CRWCM
Pypi: https://pypi.org/project/NuMeTriS/

Github: https://github.com/MarsMDK/NuMeTriS
Paper: Marzio di Vece, Frank Pijpers, Diego Garlaschelli, https://arxiv.org/abs/2305.12179
Notes: NuMeTriS is a package for Pattern Detection of the 13 triadic connected sub-graphs using maximum-entropy models with directed and reciprocated constraints on network data.

by Tancredi Caruso, Giulio Virginio Clemente, 

Matthias C Rillig, Diego Garlaschelli 

Language: Python, R
Last update: August 2022
Networks: bipartite binarybipartite weighted
Null models: BiCM, WBiCM
FigShare: this URL
Paper: Tancredi Caruso, Giulio Virginio Clemente, Matthias C Rillig, Diego Garlaschelli, Methods Ecol Evol. 2022;13:2306–2317
Notes: Methods to fit (binary and weighted) bipartite configuration models, especially designed for ecological networks.

by Maria Mircea, Mazène Hochane, Xueying Fan, 

Susana M. Chuva de Sousa Lopes, Diego Garlaschelli and Stefan Semrau 

Language: R
Last update: February 2022
Networks: correlation matrices, multivariate time series
Null models: Wishart ensemble (Marcenko-Pastur)
Github: https://github.com/semraulab/phiclust
Zenodo (GNU General Public License V3.0): https://zenodo.org/record/5785793#.Ybs5wn3MK3I 

Paper: Mircea et al. Genome Biology (2022) 23:18
Notes: a clusterability measure derived from random matrix theory that can be used to identify clusters with non-random substructure (testably leading to the discovery of previously overlooked phenotypes in single-cell transcriptomics data).

by Matteo Bruno, Emiliano Marchese and Nicolò Vallarano 

Language: Python(>=3.5)
Last update: February 2021
Networks: monopartite: undirected, directed,  weighted, directed AND weighted;
bipartite undirected
Null models: UBCM, DBCM, BiCM, UECM, DECM, CReM
Pypi: https://pypi.org/project/NEMtropy/
Github:  https://github.com/nicoloval/NEMtropy
ReadTheDocs: https://nemtropy.readthedocs.io/en/master/index.html
Paper: Nicolò Vallarano et al. (2021), https://arxiv.org/pdf/2101.12625.pdf
Notes: the bipartite submodule contains also the validated projection described in Fabio Saracco et al. (2017) New J. Phys. 19 053022

by Matteo Bruno 

Language: Python(>=3.5)
Last update: July 2020
Networks: bipartite undirected
Null models: BiCM
Github: https://github.com/mat701/BiCM
Pypi: https://pypi.org/project/bicm/
ReadTheDocs: https://bipartite-configuration-model.readthedocs.io/
Papers: Nicolò Vallarano et al. (2021), https://arxiv.org/pdf/2101.12625.pdf
Notes: the code can perform the projection from
Fabio Saracco et al. (2017) New J. Phys. 19 053022

by Mika J. Straka

Language: Python 2
Last update: 24 August 2017
Networks: bipartite, undirected
Null-model: BiCM
Paper: Fabio Saracco et al. (2015) Sci. Rep. 5 10595
Notes: the code can perform the projection from
Fabio Saracco et al. (2017) New J. Phys. 19 053022

by Jeroen van Lidth de Jeude

Language: Python 3.5
Last update: 11 January 2019
Networks: monopartite, directed/undirected, unweighted
Null-model: DBCM, RBCM
Github: https://github.com/jeroenvldj/maximum_entropy_block_models
Paper: Jeroen van  Lidth de Jeude et al. (2019) Complexity 2019 5120581

by J. van Lidth de Jeude

Language: Python 3.5
Last update: 3 December 2018
Networks: binary, directed and undirected
Null-model: hypergeometric for bimodular structures
Paper: J. van Lidth de Jeude et al. (2019) EPL 125, 6
Notes: method to detect statistically significant bimodular structures, i.e. either bipartite or core-periphery ones. It is based on a modification of the so-called "surprise" metric proposed for detecting communities in networks. The present variant allows for bimodular node partitions to be revealed, by letting links to be placed either 1) within the core part and between the core and the periphery parts or 2) just between the (empty) layers of a bipartite network.

by Mel MacMahon and Diego Garlaschelli

Language: MatLab
Last update: December 2015
Networks: Correlation Matrices, Multivariate Time Series
Null-model: Wishart ensemble (Marcenko-Pastur)
MathWorks: http://www.mathworks.com/matlabcentral/fileexchange/49011 

Full package: this URL.

Paper: Mel MacMahon and Diego Garlaschelli, PHYSICAL REVIEW X 5, 021006 (2015)
Notes: This function eigendecomposes a correlation matrix of financial time series and filters out the Market Mode Component and Noise Component, leaving only the components of the correlation matrix that correspond to mesoscopic structure in the set of original time series. The function is intended to be used in conjunction with a community detection algorithm (such as the Louvain method) to allow for community detecion on time series based networks

by Eli van Es

Language: C++
Last update: July 2014
Networks: monopartite, directed/undirected, weighted/unweighted
Null models: UBCM, UWCM, DBCM, DWCM, RBCM, RWCM, UECM
Paper: Tiziano Squartini et al. (2015) New J. Phys. 17 023052

by Rossana Mastrandrea

Language: MatLab
Last update: July 2014
Networks: monopartite, directed/undirected, weighted/unweighted
Null models: UBCM, UWCM, DBCM, DWCM, RBCM, RWCM, UECM
Paper: Tiziano Squartini et al. (2015) New J. Phys. 17 023052