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 | Provenance | Actions |
|---|---|---|---|---|
| versatility-1.0.1.tar.gz | 6.8 kB | Without provenance | Details for versatility-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| versatility-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for versatility-1.0.1-py3-none-any.whl |
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
|
Security for versatility 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.