Metadata-Version: 2.4
Name: pyclustree
Version: 0.4.0
Summary: Visualize cluster assignments at different resolutions
Author: Malte Hellmig, Malte Kuehl
Maintainer-email: Malte Hellmig <m.hellmig@uke.de>, Malte Kuehl <malte.kuehl@clin.au.dk>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Healthcare Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
License-File: LICENSE
Requires-Dist: anndata
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: seaborn
Requires-Dist: session-info
Requires-Dist: coverage ; extra == "dev"
Requires-Dist: docutils>=0.8,!=0.18.*,!=0.19.* ; extra == "dev"
Requires-Dist: flit ; extra == "dev"
Requires-Dist: furo ; extra == "dev"
Requires-Dist: ipykernel ; extra == "dev"
Requires-Dist: ipython ; extra == "dev"
Requires-Dist: ipywidgets ; extra == "dev"
Requires-Dist: myst-parser ; extra == "dev"
Requires-Dist: nbsphinx ; extra == "dev"
Requires-Dist: pandas ; extra == "dev"
Requires-Dist: pandas-stubs ; extra == "dev"
Requires-Dist: pandoc ; extra == "dev"
Requires-Dist: pre-commit ; extra == "dev"
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: python-igraph ; extra == "dev"
Requires-Dist: scanpy ; extra == "dev"
Requires-Dist: setuptools ; extra == "dev"
Requires-Dist: sphinx>=4 ; extra == "dev"
Requires-Dist: sphinx-autoapi ; extra == "dev"
Requires-Dist: sphinx-autodoc-typehints ; extra == "dev"
Requires-Dist: sphinx-book-theme>=1 ; extra == "dev"
Requires-Dist: sphinx-copybutton ; extra == "dev"
Requires-Dist: sphinx-design ; extra == "dev"
Requires-Dist: sphinx-rtd-theme ; extra == "dev"
Requires-Dist: sphinx-tabs ; extra == "dev"
Requires-Dist: sphinxcontrib-bibtex>=1 ; extra == "dev"
Requires-Dist: sphinxext-opengraph ; extra == "dev"
Requires-Dist: twine>=4.0.2 ; extra == "dev"
Requires-Dist: types-networkx ; extra == "dev"
Requires-Dist: scikit-learn ; extra == "sklearn"
Project-URL: Documentation, https://pyclustree.readthedocs.io/
Project-URL: Homepage, https://github.com/complextissue/pyclustree
Project-URL: Source, https://github.com/complextissue/pyclustree
Provides-Extra: dev
Provides-Extra: sklearn

# pyclustree

[![Version](https://img.shields.io/pypi/v/pyclustree)](https://pypi.org/project/pyclustree/)
[![License](https://img.shields.io/pypi/l/pyclustree)](https://img.shields.io/pypi/l/pyclustree)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/complextissue/pyclustree/test.yaml)
[![Documentation Status](https://readthedocs.org/projects/pyclustree/badge/?version=stable)](https://pyclustree.readthedocs.io/stable/?badge=stable)
[![Codecov](https://codecov.io/gh/complextissue/pyclustree/graph/badge.svg?token=45BNU20CBP)](https://codecov.io/gh/complextissue/pyclustree)
[![Python Version Required](https://img.shields.io/pypi/pyversions/pyclustree)](https://pypi.org/project/pyclustree/)
[![DOI](https://zenodo.org/badge/857752929.svg)](https://doi.org/10.5281/zenodo.13987570)

Visualize cluster assignments at different resolutions. Possbile applications include finding the optimal resolution for
single-cell RNA-sequencing clusterings.

`pyclustree` is inspired by the R package `clustree` ([Github repository](https://github.com/lazappi/clustree)), however, while we aim to provide the same functionality, the API
will differ between the implementations.

## Getting started

Please refer to the [documentation][link-docs].

## Installation

You need to have Python 3.10 or newer installed on your system. If you don't have
Python installed, we recommend installing [Mambaforge](https://github.com/conda-forge/miniforge#mambaforge).

There are several alternative options to install pyclustree:

1. Install the latest release of `pyclustree` from [PyPI][link-pypi]:

```bash
pip install pyclustree
```

2. Install the latest development version:

```bash
pip install git+https://github.com/complextissue/pyclustree.git@dev
```

## Contact

If you found a bug, please use the [issue tracker][issue-tracker].

## Authors

@maltekuehl
@harryhaller001

Unaffiliated with the creators of the R package `clustree`.

## License

Please refer to the [LICENSE][license] file.

## Citation

Please cite both the original R package as well as this implementation when using `pyclustree`. For example: Cluster resolution was determined based on visualization with pyclustree (Kuehl et al., 2024), a Python implementation of clustree (Zappia et al., 2018).

-   pyclustree: Kuehl, M., Hellmig, M., & Puelles, V. G. (2024). pyclustree: Visualizing cluster resolution optimization for biomedical data (0.3.1). Zenodo. https://doi.org/10.5281/zenodo.13987570
-   clustree: Zappia, L., & Oshlack, A. (2018). Clustering trees: a visualization for evaluating clusterings at multiple resolutions. Gigascience, 7(7), giy083.

[license]: https://github.com/complextissue/pyclustree/blob/main/LICENSE
[issue-tracker]: https://github.com/complextissue/pyclustree/issues
[changelog]: https://pyclustree.readthedocs.io/latest/changelog.html
[link-docs]: https://pyclustree.readthedocs.io
[link-pypi]: https://pypi.org/project/pyclustree

