Metadata-Version: 2.4
Name: community-explorer
Version: 0.1.0
Summary: A bioinformatics tool for network analysis and visualization of gene sets.
Author-email: Hugo Martiniano <hugomartiniano@gmail.com>
Project-URL: Homepage, https://github.com/hmartiniano/cx
Project-URL: Bug Tracker, https://github.com/hmartiniano/cx/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: streamlit
Requires-Dist: pandas
Requires-Dist: typer
Requires-Dist: requests
Requires-Dist: numpy
Requires-Dist: networkx
Requires-Dist: cdlib
Requires-Dist: matplotlib
Requires-Dist: seaborn
Requires-Dist: gprofiler-official
Requires-Dist: scikit-learn
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file


# Community Explorer (cx)

`cx` is a bioinformatics tool for network analysis and visualization of gene sets. It takes a list of genes, builds a protein-protein interaction network, identifies communities (functional modules) within the network, and performs functional enrichment analysis to uncover the biological significance of these communities.

## Features

-   **Network Analysis:** Constructs interaction networks from gene lists using the STRING database.
-   **Community Detection:** Uses the Leiden algorithm to identify densely connected communities of genes.
-   **Enrichment Analysis:** Performs functional enrichment analysis on gene communities using g:Profiler.
-   **Interactive Visualization:** A web-based interface built with Streamlit allows for easy input and visualization of results.

## Installation

To install the required dependencies, use `pip` with the `pyproject.toml` file:

```bash
pip install .
```

## Usage

To run the web application, use the following command:

```bash
streamlit run app.py
```

This will start a local web server and open the application in your browser.
