Metadata-Version: 2.5
Name: jaxqtl
Version: 0.2.2
Summary: JAX-based cell-type-specific eQTL mapping with count models
Project-URL: Documentation, https://mancusolab.github.io/jaxqtl
Project-URL: Issues, https://github.com/mancusolab/jaxqtl/issues
Project-URL: Source, https://github.com/mancusolab/jaxqtl
Author-email: Eleanor Zhang <zzhang39@usc.edu>, Nicholas Mancuso <nmancuso@usc.edu>
License-Expression: MIT
License-File: LICENSE.txt
Keywords: eqtl,jax,machine-learning,qtl mapping,scrna-seq,single-cell,statistical genetics,statistics
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
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: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: <4,>=3.11
Requires-Dist: equinox
Requires-Dist: genoio>=0.1.0
Requires-Dist: jax
Requires-Dist: jaxtyping
Requires-Dist: lineax
Requires-Dist: optimistix
Requires-Dist: polars
Requires-Dist: pyarrow
Requires-Dist: rich-argparse>=1.8.0
Provides-Extra: dev
Requires-Dist: coverage[toml]; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: qtl; extra == 'dev'
Requires-Dist: ruff>=0.0.243; extra == 'dev'
Requires-Dist: statsmodels; extra == 'dev'
Requires-Dist: ty>=0.0.44; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocstrings-python>=1.12; extra == 'docs'
Requires-Dist: mkdocstrings>=0.29; extra == 'docs'
Requires-Dist: zensical>=0.0.37; extra == 'docs'
Description-Content-Type: text/markdown

[![PyPI](https://img.shields.io/pypi/v/jaxqtl.svg)](https://pypi.org/project/jaxqtl/)
[![GitHub stars](https://img.shields.io/github/stars/mancusolab/jaxqtl?style=social)](https://github.com/mancusolab/jaxqtl)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

# jaxQTL

jaxQTL is a JAX-based command-line tool and Python library for cell-type-specific eQTL mapping from donor-level
single-cell pseudobulk expression. It provides Poisson and Negative Binomial count models and also supports Gaussian
molecular phenotypes.

>   Zhang, Z., Kim, A., Suboc, N., Mancuso, N., and Gazal, S. (2025). Efficient count-based models improve power and robustness for large-scale single-cell eQTL mapping. medRxiv (https://www.medrxiv.org/content/10.1101/2025.01.18.25320755v2)

[Read the documentation](https://mancusolab.github.io/jaxqtl/)

## Installation

jaxQTL requires Python 3.11 or newer.

```bash
pip install jaxqtl
jaxqtl --help
```

## Quick example

From a repository checkout, run a cis scan over the bundled tutorial data:

```bash
jaxqtl cis \
  --bfile tutorial/input/chr22_N100 \
  --pheno tutorial/input/CD4_NC.N100.bed.gz \
  --covar tutorial/input/donor_features.tsv \
  --gene-list tutorial/input/genelist_10 \
  --model nb \
  --test score \
  --set-offset-from-libsize \
  --normalize-covar \
  --nperm 1000 \
  --out tutorial/output/quickstart
```

The command writes `tutorial/output/quickstart.cis.score.perm.parquet.gz`.

The documentation covers the [single-cell cis-eQTL workflow](https://mancusolab.github.io/jaxqtl/guide/single-cell-cis/),
the [tutorial](https://mancusolab.github.io/jaxqtl/guide/quickstart/),
[input formats](https://mancusolab.github.io/jaxqtl/reference/inputs/),
[mapping workflows](https://mancusolab.github.io/jaxqtl/guide/cis/), and
[output interpretation](https://mancusolab.github.io/jaxqtl/guide/postprocessing/).

## Development

See the [development setup](https://mancusolab.github.io/jaxqtl/contributing/) for environment, test, and
documentation build instructions.

## Citation and support

See the [citation page](https://mancusolab.github.io/jaxqtl/cite/) when using jaxQTL in published work. Report bugs
and feature requests through the [GitHub issue tracker](https://github.com/mancusolab/jaxqtl/issues).
