Metadata-Version: 2.1
Name: bengrn
Version: 1.0.7
Summary: benchmarking gene regulatory networks
Home-page: https://github.com/jkobject/benGRN
License: MIT
Keywords: scRNAseq,GRN,gene regulatory networks,benchmark,comp bio,scPRINT
Author: jeremie kalfon
Requires-Python: ==3.10.*
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Provides-Extra: dev
Requires-Dist: anndata
Requires-Dist: arboreto
Requires-Dist: black (>=23.10.1,<24.0.0) ; extra == "dev"
Requires-Dist: coverage (>=7.3.2,<8.0.0) ; extra == "dev"
Requires-Dist: ctxcore
Requires-Dist: dask-expr
Requires-Dist: decoupler
Requires-Dist: flake8 (>=6.1.0,<7.0.0) ; extra == "dev"
Requires-Dist: gitchangelog (>=3.0.4,<4.0.0) ; extra == "dev"
Requires-Dist: grnndata
Requires-Dist: isort (>=5.12.0,<6.0.0) ; extra == "dev"
Requires-Dist: mkdocs (>=1.5.3,<2.0.0) ; extra == "dev"
Requires-Dist: mypy (>=1.6.1,<2.0.0) ; extra == "dev"
Requires-Dist: numpy
Requires-Dist: omnipath
Requires-Dist: pandas (>=2.0.0)
Requires-Dist: pyscenic
Requires-Dist: pytest (>=7.4.3,<8.0.0) ; extra == "dev"
Requires-Dist: pytest-cov (>=4.1.0,<5.0.0) ; extra == "dev"
Requires-Dist: pytorch-fast-transformers
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: seaborn
Project-URL: Repository, https://github.com/jkobject/benGRN
Description-Content-Type: text/markdown

# bengrn

[![codecov](https://codecov.io/gh/jkobject/benGRN/branch/main/graph/badge.svg?token=benGRN_token_here)](https://codecov.io/gh/jkobject/benGRN)
[![CI](https://github.com/jkobject/benGRN/actions/workflows/main.yml/badge.svg)](https://github.com/jkobject/benGRN/actions/workflows/main.yml)
[![PyPI version](https://badge.fury.io/py/benGRN.svg)](https://badge.fury.io/py/benGRN)
[![Documentation Status](https://readthedocs.org/projects/benGRN/badge/?version=latest)](https://benGRN.readthedocs.io/en/latest/?badge=latest)
[![Downloads](https://pepy.tech/badge/benGRN)](https://pepy.tech/project/benGRN)
[![Downloads](https://pepy.tech/badge/benGRN/month)](https://pepy.tech/project/benGRN)
[![Downloads](https://pepy.tech/badge/benGRN/week)](https://pepy.tech/project/benGRN)
[![GitHub issues](https://img.shields.io/github/issues/jkobject/benGRN)](https://img.shields.io/github/issues/jkobject/benGRN)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![DOI](https://img.shields.io/badge/DOI-10.1101%2F2024.07.29.605556-blue)](https://doi.org/10.1101/2024.07.29.605556)

Benchmark your gene regulatory networks inference algorithm (from scRNAseq or bulk RNAseq dataset) with BenGRN

The package is supposed to work with [GRnnData](https://cantinilab.github.io/GRnnData/) and only uses biological ground truth datasets.

It can run Genie3 & pyscenic on your data as a comparison

It has 3 main different types of key ground truth data to compare your GRN to:

- Mc Calla et al.'s ChIP+Perturb ground truth
- omnipath's literature curated ground truth
- genome wide perturb seq 's dataset 

You can find the documentation [here](https://www.jkobject.com/benGRN/)

## Install it from PyPI

```bash
pip install bengrn
```

### Install it locally and run the notebooks:

```bash
git clone https://github.com/jkobject/benGRN.git
pip install -e benGRN
```

## Usage

```py
from bengrn import BenGRN
from bengrn import some_test_function

# a GRN in grnndata formart
grndata

BenGRN(grndata).do_tests()
#or
some_test_function(grndata)
```

see the notebooks in [docs](https://www.jkobject.com/benGRN/):

1. [omnipath](https://www.jkobject.com/benGRN/notebooks/bench_omni_genie3)
2. [genome wide perturb seq](https://www.jkobject.com/benGRN/notebooks/bench_perturbseq_genie3_transp/)
3. [Mc Calla](https://www.jkobject.com/benGRN/notebooks/bench_sroy_genie3_transp/)

## Development

Read the [CONTRIBUTING.md](CONTRIBUTING.md) file.

Awesome Benchmark of Gene Regulatory Networks created by @jkobject
