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.
Metadata
Release files for versatility 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| versatility-1.0.1.tar.gz | 6.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| versatility-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.0 kB
Release files / versatility-1.0.1.tar.gz
| Download URL | versatility-1.0.1.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dcd8df6ebf66d5f5a93f445345092e3e877e9489506b324fcaaf0671373642bd
|
|
BLAKE2b-256 checksum How to use checksums |
821c18e16f8616107a85d2a8545e17347f784f4952c9fbd048cb5fc3204369d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
|
Release files / versatility-1.0.1-py3-none-any.whl
| Download URL | versatility-1.0.1-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
713b69403bc0439ba02eab44545843e74a47fad64dbc682ac620c9418ac082f7
|
|
BLAKE2b-256 checksum How to use checksums |
5cdbaccabe704a6fd45617b0dfc4ad996a5cab5fab4ebd62a405333b56ef0132
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
|