Metadata-Version: 2.4
Name: naivede-modern
Version: 1.3.1.post1
Summary: Maintained Python 3 fork of NaiveDE
Author: Valentine Svensson
Maintainer-email: Chen Yang <cafferychen777@tamu.edu>
License-Expression: MIT
Project-URL: Homepage, https://github.com/cafferychen777/NaiveDE
Project-URL: Repository, https://github.com/cafferychen777/NaiveDE
Project-URL: Original project, https://github.com/Teichlab/NaiveDE
Project-URL: Issues, https://github.com/cafferychen777/NaiveDE/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
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: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib>=3.7
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=1.5
Requires-Dist: patsy>=0.5
Requires-Dist: scipy>=1.10
Requires-Dist: tqdm>=4.60
Provides-Extra: cell-types
Requires-Dist: scikit-learn>=1.2; extra == "cell-types"
Dynamic: license-file

# naivede-modern

`naivede-modern` is a maintained fork of the original
[NaiveDE](https://github.com/Teichlab/NaiveDE) project. It keeps the public
`NaiveDE` import package and numerical API while providing current packaging,
complete runtime dependency metadata, and support for Python 3.11 through
3.14. The original authors and MIT license are preserved.

Install the maintained distribution with:

```bash
pip install naivede-modern
```

This package implements the simplest form of a Differential Expression test.
It just fits two linear models, assuming Normally distributed residuals, to
each gene. These are assumed to be nested, and a likelihood ratio test is
then performed to compare the models.

The test might have low power and give noisy results, but it shouldn't be
biased. With many (i.e. hundreds of) samples it should work all right.

This can serve as a baseline comparison with more sophisticated tests.

The optional cell-type classification helpers require scikit-learn:

```bash
pip install "naivede-modern[cell-types]"
```

## Faux fold changes

The package also has methods for creating input fold-change controlled
fake conditions in data using ERCC spike-ins. This performs systematic
renaming of spike-ins in randomized conditions. To avoid creating unrealistic
levels of fold change, input concentration is used to limit possible renaming.

This assumes expression measures used are comparable between different
sequences. Thus these should optimally account for length and other sequence
features before creating faux fold changes.

## Maintenance scope

This repository contains only the maintained Python distribution. The original
analysis notebook remains available in the
[upstream repository](https://github.com/Teichlab/NaiveDE); it is not a runtime
dependency and is intentionally excluded here.

## Attribution and license

NaiveDE was created by Valentine Svensson. This maintained fork preserves the
original MIT license and records its upstream base in [`NOTICE.md`](NOTICE.md).
