Metadata-Version: 2.4
Name: scvelo-modern
Version: 0.3.4.post1
Summary: A minimally maintained scVelo distribution with modern NumPy compatibility
Author: Volker Bergen, Philipp Weiler
Maintainer: Caffery Yang
License-Expression: BSD-3-Clause
Project-URL: Documentation, https://scvelo.readthedocs.io/
Project-URL: Source, https://github.com/cafferychen777/scvelo-modern
Project-URL: Upstream, https://github.com/theislab/scvelo
Project-URL: Home-page, https://github.com/cafferychen777/scvelo-modern
Keywords: RNA,velocity,single cell,transcriptomics,stochastic,dynamical
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: anndata>=0.7.5
Requires-Dist: scanpy>=1.5
Requires-Dist: loompy>=2.0.12
Requires-Dist: umap-learn>=0.3.10
Requires-Dist: numba>=0.41.0
Requires-Dist: numpy>=1.17
Requires-Dist: pandas!=1.4.0,>=1.1.1
Requires-Dist: scipy>=1.4.1
Requires-Dist: scikit-learn>=0.21.2
Requires-Dist: matplotlib>=3.3.0
Provides-Extra: louvain
Requires-Dist: igraph; extra == "louvain"
Requires-Dist: louvain; extra == "louvain"
Provides-Extra: hnswlib
Requires-Dist: pybind11; extra == "hnswlib"
Requires-Dist: hnswlib; extra == "hnswlib"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: hnswlib; extra == "dev"
Requires-Dist: hypothesis; extra == "dev"
Requires-Dist: louvain; extra == "dev"
Requires-Dist: pre-commit>=2.9.0; extra == "dev"
Requires-Dist: pybind11; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: igraph; extra == "dev"
Requires-Dist: setuptools_scm; extra == "dev"
Provides-Extra: docs
Requires-Dist: scanpy; extra == "docs"
Requires-Dist: setuptools; extra == "docs"
Requires-Dist: setuptools_scm; extra == "docs"
Requires-Dist: importlib_metadata; extra == "docs"
Requires-Dist: sphinx_rtd_theme>=0.3; extra == "docs"
Requires-Dist: sphinx_autodoc_typehints>=1.10.3; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex>=2.3.0; extra == "docs"
Requires-Dist: ipykernel; extra == "docs"
Requires-Dist: sphinx<8.0,>=1.7; extra == "docs"
Requires-Dist: nbsphinx<0.8.7,>=0.7; extra == "docs"
Dynamic: license-file

[![PyPi][badge-pypi]][link-pypi]
[![CI][badge-ci]][link-ci]

[badge-pypi]: https://img.shields.io/pypi/v/scvelo-modern.svg
[link-pypi]: https://pypi.org/project/scvelo-modern
[badge-ci]: https://img.shields.io/github/actions/workflow/status/cafferychen777/scvelo-modern/ci.yml?branch=main
[link-ci]: https://github.com/cafferychen777/scvelo-modern/actions/workflows/ci.yml

> [!IMPORTANT]
> `scvelo-modern` is a minimal compatibility distribution of scVelo 0.3.4. It
> preserves the `scvelo` import package and scientific implementation while fixing
> the stochastic velocity regression caused by NumPy 2 scalar-assignment rules.
> Use the official [scVelo](https://github.com/theislab/scvelo) project unless you
> need this compatibility fix. Do not install `scvelo` and `scvelo-modern` in the
> same environment because both distributions provide the same import package.

The compatibility patch is intentionally narrow: it converts the one-element
least-squares result to a scalar before assignment. Regression tests cover all four
`fit_offset`/`fit_offset2` combinations on NumPy 1.26 and NumPy 2, compare against
the unmodified scVelo 0.3.4 numerical baseline, and exercise the complete stochastic
velocity path. The fork can be retired after upstream publishes an equivalent fix.

This distribution is based on upstream scVelo v0.3.4 at commit
[`9b6e946`](https://github.com/theislab/scvelo/commit/9b6e94647654eca1c4a38b08a21f59df8a4ae6a6).
The NumPy 2 regression is tracked upstream in
[#1341](https://github.com/theislab/scvelo/issues/1341).

# scVelo - RNA velocity generalized through dynamical modeling

<img src="https://user-images.githubusercontent.com/31883718/67709134-a0989480-f9bd-11e9-8ae6-f6391f5d95a0.png" width="400px" align="left">

**scVelo** is a scalable toolkit for RNA velocity analysis in single cells; RNA velocity
enables the recovery of directed dynamic information by leveraging splicing kinetics
<sup>[1](https://doi.org/10.1038/s41586-018-0414-6)</sup>. scVelo collects different
methods for inferring RNA velocity using an expectation-maximization framework
<sup>[2](https://doi.org/10.1038/s41587-020-0591-3)</sup>, deep generative modeling
<sup>[3](https://doi.org/10.1038/s41592-023-01994-w)</sup>,
or metabolically labeled transcripts<sup>[4](https://doi.org/10.1101/2023.07.19.549685)</sup>.

## scVelo's key applications

-   estimate RNA velocity to study cellular dynamics.
-   identify putative driver genes and regimes of regulatory changes.
-   infer a latent time to reconstruct the temporal sequence of transcriptomic events.
-   estimate reaction rates of transcription, splicing and degradation.
-   use statistical tests, e.g., to detect different kinetics regimes.

## Citing scVelo

If you include or rely on scVelo when publishing research, please adhere to the
following citation guide:

### EM and steady-state model

If you use the _EM_ (_dynamical_) or _steady-state model_, cite

```bibtex
@article{Bergen2020,
  title = {Generalizing RNA velocity to transient cell states through dynamical modeling},
  volume = {38},
  ISSN = {1546-1696},
  url = {http://dx.doi.org/10.1038/s41587-020-0591-3},
  DOI = {10.1038/s41587-020-0591-3},
  number = {12},
  journal = {Nature Biotechnology},
  publisher = {Springer Science and Business Media LLC},
  author = {Bergen, Volker and Lange, Marius and Peidli, Stefan and Wolf, F. Alexander and Theis, Fabian J.},
  year = {2020},
  month = aug,
  pages = {1408–1414}
}
```

### RNA velocity inference through metabolic labeling information

If you use the implemented method for estimating RNA velocity from metabolic labeling
information, cite

```bibtex
@article{Weiler2024,
  author = {Weiler, Philipp and Lange, Marius and Klein, Michal and Pe'er, Dana and Theis, Fabian},
  publisher = {Springer Science and Business Media LLC},
  url = {http://dx.doi.org/10.1038/s41592-024-02303-9},
  doi = {10.1038/s41592-024-02303-9},
  issn = {1548-7105},
  journal = {Nature Methods},
  month = jun,
  number = {7},
  pages = {1196--1205},
  title = {CellRank 2: unified fate mapping in multiview single-cell data},
  volume = {21},
  year = {2024},
}
```

## Support

Found a bug or would like to see a feature implemented? Feel free to submit an
[issue](https://github.com/theislab/scvelo/issues/new/choose).
Have a question or would like to start a new discussion? Head over to
[GitHub discussions](https://github.com/theislab/scvelo/discussions).
Your help to improve scVelo is highly appreciated.
For further information visit [scvelo.org](https://scvelo.org).
