app_preview.webm
This project apply relevant community detection algorithms to a network of genes interactions. A Flask web application let you visualize the result of the partitioning for each algorithm applied. You can explore and merge communities, as well as analyze their underling genes. Currently supported algorithms:
Name | Description | modularity | library |
---|---|---|---|
Louvain | Greedy modularity maximization | 0.69 | python-louvain |
FluidC | Fluid communities detection | 0.63 | networkx |
Clauset-Newman-Moore | Modularity maximization | 0.61 | networkx |
Node2Vec | Graph nodes embeddings clustered with kmeans. | 0.65 | Node2Vec |
Kernigan-Lin bisection | Minimize the cut (applyed recursively) | 0.06 | networkx |
Spectral clustering | Based on specter of the graph laplacian matrix | 0.66 | scikit-learn |
Girvan-Newman | Edge betweenness based | 0.04 | networkx |
Quickly start using the web application through docker:
$ docker build -t gcviz:latest .
$ docker run -p 5000:5000 gcviz:latest
Then go to http://localhost:5000 and enjoy the features.
Make sure to have python
>3.8.* installed and pip
. Build an environment and activate it, then:
$ pip install -r requiremenets.txt
When all the requirements are satisfied, launch the application:
$ python gcviz.py
Enter into comdet
directory and install the requirements:
$ pip install -r requiremenets.txt
You can open the notebook and restart the algorithms to reproduce the displayed results. Just make sure to have jupyter-notebook installed.
- Lemuel Puglisi (Author)
Papers:
- Clauset-Newman-Moore
- Girvan-Newmann
- Asynchronous Fluid Communities algorithm
- Kernighan-Lin bisection
- Node2Vec
- Louvain
Give a ⭐️ if this project helped you!
This README was generated with ❤️ by readme-md-generator