Metadata-Version: 2.4
Name: cell-filter
Version: 0.1.2
Summary: A python implementation of the EmptyDrops algorithm
Author-email: noam teyssier <22600644+noamteyssier@users.noreply.github.com>
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.13
Requires-Dist: anndata>=0.12.1
Requires-Dist: numba>=0.61.2
Requires-Dist: scipy>=1.16.1
Requires-Dist: tqdm>=4.67.1
Requires-Dist: typer>=0.16.0
Description-Content-Type: text/markdown

# cell-filter

A python implementation of the [EmptyDrops](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1662-y) algorithm.

This is an implementation following the CellRanger/STARSolo algorithm which only evaluates candidate droplets within a specific band of the UMI total distribution (under the knee until a minimum UMI threshold).

## Installation

`cell-filter` is distributed using [uv](https://docs.astral.sh/uv/)

```bash
# Install cell-filter
uv tool install cell-filter

# Check installation
cell-filter --help
```

## Usage

To run `cell-filter` with default parameters you'll need two arguments:

1. The path to the input h5ad file containing **unfiltered** data.
2. The path to the write the output h5ad file containing **filtered** data.

```bash
cell-filter <input.h5ad> <output.h5ad>
```

Feel free to explore the code and adjust the parameters to suit your needs.

## References

1. [EmptyDrops](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1662-y)
2. [STARsolo](https://www.biorxiv.org/content/10.1101/2021.05.05.442755v1)
3. [CellRanger](https://github.com/10xGenomics/cellranger)
4. [Good-Turing frequency estimation without tears](https://doi.org/10.1080/09296179508590051)
