LemuelPuglisi / gcviz

Community detection algorithms applied to a genes interactions network.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

app_preview.webm

Welcome to gcviz 🧬

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

🐋 Docker

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.

Web application setup

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

Notebook setup

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.

References

Papers:

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator

About

Community detection algorithms applied to a genes interactions network.


Languages

Language:JavaScript 96.1%Language:Jupyter Notebook 2.4%Language:Python 0.8%Language:HTML 0.5%Language:CSS 0.3%Language:Dockerfile 0.0%