Metadata-Version: 2.4
Name: snapatac2
Version: 2.10.0
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: License :: OSI Approved :: MIT License
Requires-Dist: anndata>=0.8.0
Requires-Dist: kaleido
Requires-Dist: multiprocess
Requires-Dist: macs3>=3.0.3,<3.1
Requires-Dist: natsort
Requires-Dist: numpy>=2.0.0,<3.0.0
Requires-Dist: pandas>=2.2.0,<3.0.0
Requires-Dist: plotly>=5.19.0,<7.0.0
Requires-Dist: polars>=1.0,<2.0
Requires-Dist: pooch>=1.6.0,<2.0.0
Requires-Dist: scverse-misc[datasets]>=0.1.1,<0.2
Requires-Dist: igraph>=0.10.3
Requires-Dist: pyarrow
Requires-Dist: pyfaidx>=0.7.0,<0.9.0
Requires-Dist: rustworkx
Requires-Dist: scipy>=1.4,<2.0.0
Requires-Dist: scikit-learn>=1.0,<2.0.0
Requires-Dist: tqdm>=4.62
Requires-Dist: typeguard>=4.0
Requires-Dist: harmonypy>=0.0.9 ; extra == 'recommend'
Requires-Dist: xgboost>=1.4 ; extra == 'recommend'
Requires-Dist: umap-learn>=0.5.0 ; extra == 'recommend'
Requires-Dist: scanpy>=1.9 ; extra == 'recommend'
Requires-Dist: scikit-misc>=0.1.3 ; extra == 'recommend'
Requires-Dist: magic-impute>=2.0 ; extra == 'recommend'
Provides-Extra: recommend
License-File: LICENSE
Summary: SnapATAC2: Single-cell epigenomics analysis pipeline
Home-Page: https://github.com/
Author-email: Kai Zhang <zhangkai33@westlake.edu.cn>
Maintainer-email: Kai Zhang <zhangkai33@westlake.edu.cn>
Requires-Python: >=3.12, <3.15
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Changelog, https://scverse.org/SnapATAC2/version/dev/changelog.html
Project-URL: Documentation, https://scverse.org/SnapATAC2/index.html
Project-URL: Homepage, https://scverse.org/SnapATAC2/index.html
Project-URL: Issues, https://github.com/scverse/SnapATAC2/issues
Project-URL: Repository, https://scverse.org/SnapATAC2/

SnapATAC2: A Python/Rust package for single-cell epigenomics analysis
=====================================================================

[![PyPI](https://img.shields.io/pypi/v/snapatac2)](https://pypi.org/project/snapatac2/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/snapatac2)](https://pypistats.org/packages/snapatac2)
[![Continuous integration](https://github.com/scverse/SnapATAC2/workflows/test-python-package/badge.svg)](https://github.com/scverse/SnapATAC2/actions/workflows/test_python.yml)
[![GitHub Repo stars](https://img.shields.io/github/stars/scverse/SnapATAC2?style=social)](https://github.com/scverse/SnapATAC2/stargazers)

> [!TIP]
> Got raw fastq files? Check out our new single-cell preprocessing package [precellar](https://github.com/regulatory-genomics/precellar)!

SnapATAC2 is a flexible, versatile, and scalable single-cell omics analysis framework, featuring:

- Scale to more than 10 million cells.
- Blazingly fast preprocessing tools for BAM to fragment files conversion and count matrix generation.
- Matrix-free spectral embedding algorithm that is applicable to a wide range of single-cell omics data, including single-cell ATAC-seq, single-cell RNA-seq, single-cell Hi-C, and single-cell methylation.
- Efficient and scalable co-embedding algorithm for single-cell multi-omics data integration.
- End-to-end analysis pipeline for single-cell ATAC-seq data, including preprocessing, dimension reduction, clustering, data integration, peak calling, differential analysis, motif analysis, regulatory network analysis.
- Seamless integration with other single-cell analysis packages such as Scanpy.
- Implementation of fully backed AnnData.

Using AI Agents with SnapATAC2
------------------------------

SnapATAC2 (v2.10.0+) is designed to be AI-friendly. We include an `llms.txt` file at the root of our package containing our API reference and core tutorials. 

To get the most accurate code from your favorite AI agent, copy and paste the following prompt template:

> I need to use the **snapatac2** python package to **[describe your goal, e.g., process a batch of fragment files and identify cell clusters]**.
>
> Before writing any code, please read the `llms.txt` file at the installation root of the snapatac2 package. 
>
> 1. Review the **tutorials** to understand the standard workflow and best practices for this type of analysis.
> 2. Cross-reference the **API reference** to ensure you use the exact function names, class structures, and keyword arguments. Please do not hallucinate methods.
>
> Once you have reviewed both, generate the Python script.

Documentation
-------------

- **Documentation**: https://scverse.org/SnapATAC2/

How to cite
-----------

Zhang, K., Zemke, N. R., Armand, E. J. & Ren, B. (2024).
A fast, scalable and versatile tool for analysis of single-cell omics data.
Nature Methods, 1–11. https://doi.org/10.1038/s41592-023-02139-9

[//]: # (numfocus-fiscal-sponsor-attribution)

SnapATAC2 is part of the scverse® project ([website](https://scverse.org), [governance](https://scverse.org/about/roles)) and is fiscally sponsored by [NumFOCUS](https://numfocus.org/).
If you like scverse® and want to support our mission, please consider making a tax-deductible [donation](https://numfocus.org/donate-to-scverse) to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

<div align="center">
<a href="https://numfocus.org/project/scverse">
  <img
    src="https://raw.githubusercontent.com/numfocus/templates/master/images/numfocus-logo.png"
    width="200"
  >
</a>
</div>

