Metadata-Version: 2.4
Name: dtangle
Version: 0.1.1
Summary: Python implementation of dtangle (Deconvolution of microarray and bulk RNASeq data)
Author: harryhaller001
Author-email: harryhaller001 <harryhaller001@gmail.com>
License-Expression: GPL-3.0-or-later
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Dist: anndata>=0.12.10
Requires-Dist: numpy>=2.4.3
Requires-Dist: pandas>=2.3.3
Requires-Dist: scipy>=1.17.1
Requires-Dist: ipython ; extra == 'docs'
Requires-Dist: myst-parser ; extra == 'docs'
Requires-Dist: nbsphinx ; extra == 'docs'
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: sphinx-autoapi ; extra == 'docs'
Requires-Dist: sphinx-autodoc-typehints ; extra == 'docs'
Requires-Dist: sphinx-book-theme ; extra == 'docs'
Requires-Dist: igraph>=1.0.0 ; extra == 'test'
Requires-Dist: ipykernel ; extra == 'test'
Requires-Dist: ipython ; extra == 'test'
Requires-Dist: ipywidgets ; extra == 'test'
Requires-Dist: leidenalg>=0.11.0 ; extra == 'test'
Requires-Dist: pre-commit ; extra == 'test'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: responses ; extra == 'test'
Requires-Dist: ruff ; extra == 'test'
Requires-Dist: scanpy>=1.11.5 ; extra == 'test'
Requires-Dist: tqdm>=4.67.3 ; extra == 'test'
Requires-Dist: twine ; extra == 'test'
Requires-Dist: ty>=0.0.16 ; extra == 'test'
Requires-Dist: types-requests ; extra == 'test'
Maintainer: harryhaller001
Maintainer-email: harryhaller001 <harryhaller001@gmail.com>
Requires-Python: >=3.11
Project-URL: Documentation, https://dtangle.readthedocs.io/en/latest/
Project-URL: Source, https://github.com/harryhaller001/dtangle
Provides-Extra: docs
Provides-Extra: test
Description-Content-Type: text/markdown

# dtangle

[![DOI](https://zenodo.org/badge/1188881272.svg)](https://doi.org/10.5281/zenodo.19299115)
![PyPI - Version](https://img.shields.io/pypi/v/dtangle)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dtangle)
![Read the Docs](https://img.shields.io/readthedocs/dtangle)

Python implementation of **dtangle** for deconvolution of bulk expression profiles using reference cell types.
Original R package can be found at [https://github.com/gjhunt/dtangle](https://github.com/gjhunt/dtangle).

## Install

```bash
pip install dtangle
```

Requires `python>=3.11`.

## Quick Start

```python
from dtangle import deconvolut

deconvolut(
	mixture_adata,
	reference_adata,
	"cell_type",
	markers={"A": ["g0"], "B": ["g1"]},
	n_markers=1,
	key_added="dtangle",
)

# Results are written to:
# mixture_adata.obsm["dtangle"]
# mixture_adata.uns["dtangle"]
```

## Development

```bash
uv venv
make install
make check

# Build docs
make docs
```

## Project Links

- Source: https://github.com/harryhaller001/dtangle
- Issues: https://github.com/harryhaller001/dtangle/issues

## License

GPL Version 3

## Citation

Original `dtangle` publication:

```bibtex
@article{10.1093/bioinformatics/bty926,
    author = {Hunt, Gregory J and Freytag, Saskia and Bahlo, Melanie and Gagnon-Bartsch, Johann A},
    title = {dtangle: accurate and robust cell type deconvolution},
    journal = {Bioinformatics},
    volume = {35},
    number = {12},
    pages = {2093-2099},
    year = {2018},
    month = {11},
    issn = {1367-4803},
    doi = {10.1093/bioinformatics/bty926},
    url = {https://doi.org/10.1093/bioinformatics/bty926},
    eprint = {https://academic.oup.com/bioinformatics/article-pdf/35/12/2093/48934914/bioinformatics_35_12_2093.pdf},
}
```
