NetBone


NameNetBone JSON
Version 0.2 PyPI version JSON
download
home_pagehttps://gitlab.liris.cnrs.fr/coregraphie/netbone
SummaryA python package for extracting network backbones from simple weighted networks
upload_time2023-05-23 10:31:00
maintainer
docs_urlNone
authorAli Yassin
requires_python
licenseMIT
keywords backbone network
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# NetBone

NetBone is a Python library for extracting network backbones from simple weighted networks.

## Features

- Extract network backbones from simple weighted networks
- Contains six statistical methods for extracting backbones
- Contains seven structural methods for extracting backbones
- Includes three filters for extracting the backbone: boolean filter, threshold filter, and fraction filter
- Built-in methods for comparing backbones with each other
- Option to use custom comparison methods
- Visualization tools to display the results of the comparison



## Installation
You should have Python version 3.10 or higher. Then you can install the latest version of NetBone:
```
pip install netbone
```
or
```
pip install git+https://gitlab.liris.cnrs.fr/coregraphie/netbone
```


## Usage/Examples
To see a more detailed example, please refer to the example notebook [here](https://gitlab.liris.cnrs.fr/coregraphie/netbone/-/blob/main/examples/example.ipynb). However, here is a simple example using a backbone extraction method and three filters that are available:
```
import netbone as nb
import networkx as nx
from netbone.filters import boolean_filter, threshold_filter, fraction_filter

# load the network
g = nx.les_miserables_graph()

# apply the choosen backbone extraction method
b = nb.high_salience_skeleton(g)

# extract the backbone based on the default threshold
backbone1 = boolean_filter(b)

# extract the backbone based on a threshold(0.7)
backbone2 = threshold_filter(b, 0.7)

# extract the backbone keeping a fraction of edges(0.15)
backbone3 = fraction_filter(b, 0.15)
```
![Les Misérables original network and the extracted backbones](https://gitlab.liris.cnrs.fr/coregraphie/netbone/-/raw/main/examples/images/toy.png)

## Citation
Ali Yassin, Abbas Haidar, Hocine Cherifi et al. An Evaluation Tool for Backbone Extraction Techniques in Weighted Complex Networks, 19 May 2023, PREPRINT (Version 1) available at Research Square [https://doi.org/10.21203/rs.3.rs-2935871/v1]
## Credits
This project includes code from the following sources:

[ECM filter](https://github.com/deklanw/maxent_graph ),
[Doubly Stochastic](https://www.michelecoscia.com/?page_id=287),
[Marginal Likelihood](https://github.com/naviddianati/GraphPruning),
[Metric Distance, Ultrametric Distance](https://github.com/rionbr/distanceclosure)
## Contributing

Contributions are always welcome!


## License

[MIT](https://choosealicense.com/licenses/mit/)


            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.liris.cnrs.fr/coregraphie/netbone",
    "name": "NetBone",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "backbone network",
    "author": "Ali Yassin",
    "author_email": "aliyassin4@hotmail.com",
    "download_url": "https://files.pythonhosted.org/packages/43/b3/c9abdff422b8c5af4e171c49dcf46b3c5d23721f07992e72d232cbc1590e/NetBone-0.2.tar.gz",
    "platform": null,
    "description": "\n# NetBone\n\nNetBone is a Python library for extracting network backbones from simple weighted networks.\n\n## Features\n\n- Extract network backbones from simple weighted networks\n- Contains six statistical methods for extracting backbones\n- Contains seven structural methods for extracting backbones\n- Includes three filters for extracting the backbone: boolean filter, threshold filter, and fraction filter\n- Built-in methods for comparing backbones with each other\n- Option to use custom comparison methods\n- Visualization tools to display the results of the comparison\n\n\n\n## Installation\nYou should have Python version 3.10 or higher. Then you can install the latest version of NetBone:\n```\npip install netbone\n```\nor\n```\npip install git+https://gitlab.liris.cnrs.fr/coregraphie/netbone\n```\n\n\n## Usage/Examples\nTo see a more detailed example, please refer to the example notebook [here](https://gitlab.liris.cnrs.fr/coregraphie/netbone/-/blob/main/examples/example.ipynb). However, here is a simple example using a backbone extraction method and three filters that are available:\n```\nimport netbone as nb\nimport networkx as nx\nfrom netbone.filters import boolean_filter, threshold_filter, fraction_filter\n\n# load the network\ng = nx.les_miserables_graph()\n\n# apply the choosen backbone extraction method\nb = nb.high_salience_skeleton(g)\n\n# extract the backbone based on the default threshold\nbackbone1 = boolean_filter(b)\n\n# extract the backbone based on a threshold(0.7)\nbackbone2 = threshold_filter(b, 0.7)\n\n# extract the backbone keeping a fraction of edges(0.15)\nbackbone3 = fraction_filter(b, 0.15)\n```\n![Les Mis\u00e9rables original network and the extracted backbones](https://gitlab.liris.cnrs.fr/coregraphie/netbone/-/raw/main/examples/images/toy.png)\n\n## Citation\nAli Yassin, Abbas Haidar, Hocine Cherifi et al. An Evaluation Tool for Backbone Extraction Techniques in Weighted Complex Networks, 19 May 2023, PREPRINT (Version 1) available at Research Square [https://doi.org/10.21203/rs.3.rs-2935871/v1]\n## Credits\nThis project includes code from the following sources:\n\n[ECM filter](https://github.com/deklanw/maxent_graph ),\n[Doubly Stochastic](https://www.michelecoscia.com/?page_id=287),\n[Marginal Likelihood](https://github.com/naviddianati/GraphPruning),\n[Metric Distance, Ultrametric Distance](https://github.com/rionbr/distanceclosure)\n## Contributing\n\nContributions are always welcome!\n\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A python package for extracting network backbones from simple weighted networks",
    "version": "0.2",
    "project_urls": {
        "Homepage": "https://gitlab.liris.cnrs.fr/coregraphie/netbone"
    },
    "split_keywords": [
        "backbone",
        "network"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "43b3c9abdff422b8c5af4e171c49dcf46b3c5d23721f07992e72d232cbc1590e",
                "md5": "d545bc4218a07c33b2bbf931449e5282",
                "sha256": "1d8b414e1df6c52b79b659a073305e6613e1c41879c067c13d3023b4f98eb52e"
            },
            "downloads": -1,
            "filename": "NetBone-0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "d545bc4218a07c33b2bbf931449e5282",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 34320,
            "upload_time": "2023-05-23T10:31:00",
            "upload_time_iso_8601": "2023-05-23T10:31:00.359409Z",
            "url": "https://files.pythonhosted.org/packages/43/b3/c9abdff422b8c5af4e171c49dcf46b3c5d23721f07992e72d232cbc1590e/NetBone-0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-23 10:31:00",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "netbone"
}
        
Elapsed time: 0.06872s