Metadata-Version: 2.1
Name: graphpack
Version: 0.1.2
Summary: A Python tool to perform graph compression and visualization
Author: Bottazzi Daniele
Author-email: daniele.bottazzi@mail.polimi.it
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib ~=3.6.3
Requires-Dist: networkx ~=2.8.8
Requires-Dist: numpy ~=1.26.2
Requires-Dist: pandas ~=2.2.1
Requires-Dist: gseapy ~=1.1.0
Requires-Dist: gensim ~=4.3.2
Requires-Dist: scikit-learn ~=1.4.1.post1
Requires-Dist: msgpack ~=1.0.7
Requires-Dist: cvxpy ~=1.5.1
Requires-Dist: tqdm ~=4.66.1
Requires-Dist: community ~=1.0.0b1
Requires-Dist: python-louvain ~=0.16
Requires-Dist: node2vec ~=0.4.6
Requires-Dist: requests ~=2.31.0
Requires-Dist: pyvis ~=0.3.1
Requires-Dist: dash ~=2.17.1
Requires-Dist: dash-cytoscape ~=1.0.1
Requires-Dist: plotly ~=5.22.0
Requires-Dist: seaborn ~=0.12.2

## Description
**GraphPack** is a Python tool engineered to facilitate the compression and visualization of large-scale networks, such
as protein-protein interaction (PPI) networks or metabolic pathways. It offers a user-friendly interface that enables
the application of diverse graph compression algorithms and the visualization of the original and compressed networks.

GraphPack provides flexibility in how you interact with it, supporting both command-line interface (CLI) usage with
arguments and integration into Python applications via an API.

The tool supports both weighted and unweighted graphs, allowing users to analyze a wide range of network types.
It is specifically designed to handle large-scale, biological networks  such as protein-protein interaction (PPI)
networks, gene regulatory networks,and metabolic pathways, but can be applied to any network data.

## Detailed Description
GraphPack includes a variety of graph compression algorithms to choose from:

- **Louvain Clustering**
- **Greedy Algorithm**
- **Label Propagation**
- **Asynchronous Fluid Communities**
- **Spectral Clustering**
- **Hierarchical Clustering**
- **Node2Vec**
- **DeepWalk**
- **Clique Percolation Method (CPM)**
- **Non-negative Matrix Factorization (NMF)**

GraphPack generates mapping files that maintain the relationship between the original and compressed nodes. This
ensures that the compressed network can be decompressed to the original network without any loss of information, in case
of lossless compression, or in any case that information about the relationship between the new nodes and the old nodes
is available.

GraphPack provides robust visualization options for both the original and compressed networks, facilitating 
easy comparison and in-depth analysis.

## Installation
Install GraphPack from PyPI via:

```bash
pip install graphpack
```

## License
This project is licensed under the MIT License.
