filipinascimento / bl-network-communities

App to obtain the community structure of networks by using the Louvain or Infomap methods. All the Louvain quality functions work for networks with negative weights.
MIT License
0 stars 0 forks source link
network

Abcdspec-compliant Run on Brainlife.io

Network Communities

Obtain the community structure for networks using the Louvain or Infomap methods. Negative weights are supported only for Louvain.

Authors

Contributors

Funding Acknowledgement

brainlife.io is publicly funded and for the sustainability of the project it is helpful to Acknowledge the use of the platform. We kindly ask that you acknowledge the funding below in your publications and code reusing this code.

NSF-BCS-1734853 NSF-BCS-1636893 NSF-ACI-1916518 NSF-IIS-1912270 NIH-NIBIB-R01EB029272

Citations

  1. Avesani, P., McPherson, B., Hayashi, S. et al. The open diffusion data derivatives, brain data upcycling via integrated publishing of derivatives and reproducible open cloud services. Sci Data 6, 69 (2019). https://doi.org/10.1038/s41597-019-0073-y

  2. Blondel, Vincent D., Jean-Loup Guillaume, Renaud Lambiotte, and Etienne Lefebvre. "Fast unfolding of communities in large networks." Journal of statistical mechanics: theory and experiment 2008, no. 10 (2008): P10008. https://doi.org/10.1088/1742-5468/2008/10/P10008

  3. Rosvall, Martin, and Carl T. Bergstrom. "Maps of random walks on complex networks reveal community structure." Proceedings of the National Academy of Sciences 105, no. 4 (2008): 1118-1123.https://dx.doi.org/10.1073/pnas.0706851105

  4. Rubinov, Mikail, and Olaf Sporns. "Weight-conserving characterization of complex functional brain networks." Neuroimage 56, no. 4 (2011): 2068-2079. https://doi.org/10.1016/j.neuroimage.2011.03.069

  5. Tiago P. Peixoto. “Efficient Monte Carlo and greedy heuristic for the inference of stochastic block models”, Phys. Rev. E 89, 012804 (2014). https://doi.org/10.1103/PhysRevE.89.012804

  6. Tiago P. Peixoto. “Inferring the mesoscale structure of layered, edge-valued and time-varying networks”, Phys. Rev. E 92, 042807 (2015). https://doi.org/10.1103/PhysRevE.92.042807

Running the App

On Brainlife.io

You can submit this App online at https://doi.org/10.25663/brainlife.app.290 via the "Execute" tab.

Running Locally (on your machine)

Singularity is required to run the package locally.

  1. git clone this repo.
git clone <repository URL>
cd <repository PATH>
  1. Inside the cloned directory, edit config-sample.json with your data or use the provided data.

  2. Rename config-sample.json to config.json .

mv config-sample.json config.json
  1. Launch the App by executing main
./main

Sample Datasets

A sample dataset is provided in folder data and config-sample.json. Extra examples are provided for other scenarios: config-sample_negative.json, config-sample_layered.json and config-sample_nullmodel.json.

Output

The output is a network data with integrated community labels.

Dependencies

This App only requires singularity to run. If you don't have singularity, you will need to install the python packages defined in environment.yml, then you can run the code directly from python using:

./main.py config.json