Versatility - find how closely a node in a graph is associated with a community
Project description
Versatility
This package implements versatility (Shinn et al.,
2017), which
describes how closely affiliated a node is with a network community
structure. It is written in Python3, and can only be guaranteed to
work there. (This MAY work in Python2 if you import __future__
but
this is untested... see code for details.)
Install with:
pip3 install versatility
Alternatively, clone the git repo and install with:
python3 setup.py install
Dependencies:
- Python3
- networkx
- Scipy (including numpy and matplotlib)
- bctpy: The module "bct" is
bctpy, a port of the Brain Connectivity Toolbox to Python. The
latest version supports Python3, and can be installed most easily
with "
pip install bcpty
".
See function help for full documentation, but the most useful functions are:
find_nodal_versatility
- Compute the versatility of each node in a graph using a specific community detection algorithm.find_nodal_mean_versatility
- Compute the versatility of each node across a spectrum of community detection algorithm parameters (most notably the resolution parameter) and find the average.find_optimal_gamma_curve
- Find the mean and standard error of versatility across a spectrum of resolution parameters and (optionally) plot the result. This is most useful for finding the best resolution parameter, e.g. in Figure 3c of the original paper.
Here is a quick example to get you started:
import networkx
from versatility import *
G = networkx.karate_club_graph()
find_nodal_mean_versatility(G, find_communities_louvain, processors=2)
find_nodal_versatility(G, find_communities_louvain, algargs={"gamma" : 0.5})
If you use this code, please cite:
Shinn, M., Romero-Garcia, R., Seidlitz, J., Vasa, F., Vertes, P.,
Bullmore, E. (2017). Versatility of nodal affiliation to
communities. Scientific Reports 7: 4273.
doi:10.1038/s41598-017-03394-5
Copyright 2016-2019 Maxwell Shinn (maxwell.shinn@yale.edu) Available under the GNU GPLv3.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for versatility-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 713b69403bc0439ba02eab44545843e74a47fad64dbc682ac620c9418ac082f7 |
|
MD5 | 3c1b86a6ea55ba3b3b91ff0233607b27 |
|
BLAKE2b-256 | 5cdbaccabe704a6fd45617b0dfc4ad996a5cab5fab4ebd62a405333b56ef0132 |