CytePool brings the sample-level methods of several R packages into one Python package, reads the pseudobulk layouts of the scverse tools, and works beside other tools that answer neighbouring questions. Licences and versions were read from each project’s CRAN or Bioconductor index entry, PyPI page or repository on 26 October 2026.
Reimplemented and validated against¶
CytePool implements these methods from their papers and documentation, and runs the packages as separate programs to compare results (Validation). The validation uses the versions the Validation page lists, which can be older than the current releases below.
| Tool | What it does | Licence | Current release |
|---|---|---|---|
| limma | Linear models with empirical Bayes moderation; voom, sample quality weights, gene-set tests Ritchie et al., 2015 | GPL (>= 2) | Bioconductor 3.68.5 |
| edgeR | Negative binomial models, quasi-likelihood F-tests, TMM normalization, expression filtering Chen et al., 2025 | GPL (>= 2) | Bioconductor 4.10.7 |
| DESeq2 | Negative binomial models with shrunken dispersions; Wald and likelihood ratio tests Love et al., 2014 | LGPL (>= 3) | Bioconductor 1.52.0 |
| variancePartition | Linear mixed models of expression: variance partitioning and dream Hoffman & Schadt, 2016Hoffman & Roussos, 2021 | GPL-2 | Bioconductor 1.42.0 |
| speckle | propeller tests of cell-type proportions Phipson et al., 2022 | GPL-3 | Bioconductor 1.12.0 |
| metafor | Meta-analysis Viechtbauer, 2010 | GPL (>= 2) | CRAN 5.2-1 |
| lme4 and lmerTest | Linear mixed models; Satterthwaite’s and Kenward-Roger’s tests Bates et al., 2015Kuznetsova et al., 2017 | GPL (>= 2) | CRAN 2.1-0 and 3.2-1 |
| PyDESeq2 | A Python implementation of DESeq2 Muzellec et al., 2023; CytePool also adapts some of its constants, as THIRD_PARTY_NOTICES.md records | MIT | PyPI 0.5.4 |
Because limma, edgeR, DESeq2, variancePartition, speckle, metafor, lme4 and lmerTest are under copyleft licences, CytePool is written from their papers and documentation and never from their source code, so that it can be distributed under the BSD 3-Clause license.
Read and written by CytePool¶
CytePool reads the pseudobulk layouts these tools write and writes them back
(from_anndata, to_anndata, from_mudata, to_mudata), and its
cube files are Zarr v3 stores.
| Tool | What it does | Licence | Current release |
|---|---|---|---|
| scanpy | Single-cell analysis; get.aggregate sums cells into pseudobulk profiles Wolf et al., 2018 | BSD 3-Clause | PyPI 1.12.4 |
| decoupler | Activity scores of pathways and regulators; pp.pseudobulk Mompel et al., 2022 | BSD 3-Clause | PyPI 2.3.0 |
| LIANA+ | Cell-cell communication; adata_to_views makes a MuData of pseudobulk views Dimitrov et al., 2024 | BSD 3-Clause | PyPI 1.10.0 |
| anndata and mudata | Annotated data matrices and multimodal containers Virshup et al., 2024Bredikhin et al., 2022 | BSD 3-Clause | PyPI 0.13.4 and 0.4.1 |
| zarr-python | The Python implementation of Zarr; opens cube files | MIT | PyPI 3.4.1 |
Beside CytePool¶
These tools answer neighbouring questions, or the same ones by other models. CytePool neither uses nor reads them.
| Tool | What it does | Licence | Current release |
|---|---|---|---|
| dreamlet | Precision-weighted mixed models on the pseudobulk profiles of every cell type Hoffman et al., 2026 | Artistic-2.0 | Bioconductor 1.10.0 |
| muscat | Differential state analysis of multi-sample, multi-condition single-cell data, with pseudobulk and mixed models Crowell et al., 2020 | GPL-3 | Bioconductor 1.26.0 |
| crumblr | Precision-weighted mixed models of cell-type composition Hoffman & Roussos, 2026 | Artistic-2.0 | Bioconductor 1.4.5 |
| sccomp | Bayesian tests of composition and its variability Mangiola et al., 2023 | GPL-3 | Bioconductor 2.4.0 |
| miloR | Differential abundance in neighbourhoods of a k-nearest neighbour graph Dann et al., 2022 | GPL-3 | Bioconductor 2.8.1 |
| fgsea | Fast preranked gene set enrichment analysis | MIT | Bioconductor 1.38.0 |
| glmGamPoi | Gamma-Poisson generalized linear models for single-cell counts | GPL-3 | Bioconductor 1.24.0 |
| pertpy | Perturbation analysis in the scverse ecosystem, with composition and differential expression tools Heumos et al., 2026 | MIT | PyPI 1.4.0 |
| statsmodels | Statistical models in Python, including generalized linear and mixed models | BSD 3-Clause | PyPI 0.15.0 |
| GSEApy | Gene set enrichment analysis in Python | BSD 3-Clause | PyPI 1.3.1 |
| scvi-tools | Probabilistic models of single-cell omics data | BSD 3-Clause | PyPI 1.5.1 |
Independent Python ports of the copyleft R packages exist too. CytePool neither uses nor reads them.
| Tool | What it does | Licence | Current release |
|---|---|---|---|
| pylimma | A Python port of limma | GPL-3.0-or-later | PyPI 0.2.0 |
| python-limma | A Python port of limma | LGPL-3.0-or-later | PyPI 0.1.0 |
| edgePython | A Python port of edgeR | GPL-3.0-or-later | PyPI 0.5.0 |
| InMoose | Python ports of limma, edgeR, DESeq2 and ComBat, among other tools | GPL-3.0-or-later | PyPI 0.9.1 |
| dreampy | A Python implementation of the dreamlet framework | MIT, as its repository states | GitHub |
- Ritchie, M. E., Phipson, B., Wu, D., Hu, Y., Law, C. W., Shi, W., & Smyth, G. K. (2015). limma powers differential expression analyses for RNA-sequencing and microarray studies. Nucleic Acids Research, 43(7), e47. 10.1093/nar/gkv007
- Chen, Y., Chen, L., Lun, A. T. L., Baldoni, P. L., & Smyth, G. K. (2025). edgeR v4: powerful differential analysis of sequencing data with expanded functionality and improved support for small counts and larger datasets. Nucleic Acids Research, 53(2), gkaf018. 10.1093/nar/gkaf018
- Love, M. I., Huber, W., & Anders, S. (2014). Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2. Genome Biology, 15(12), 550. 10.1186/s13059-014-0550-8
- Hoffman, G. E., & Schadt, E. E. (2016). variancePartition: interpreting drivers of variation in complex gene expression studies. BMC Bioinformatics, 17(1), 483. 10.1186/s12859-016-1323-z
- Hoffman, G. E., & Roussos, P. (2021). Dream: powerful differential expression analysis for repeated measures designs. Bioinformatics, 37(2), 192–201. 10.1093/bioinformatics/btaa687
- Phipson, B., Sim, C. B., Porrello, E. R., Hewitt, A. W., Powell, J., & Oshlack, A. (2022). propeller: testing for differences in cell type proportions in single cell data. Bioinformatics, 38(20), 4720–4726. 10.1093/bioinformatics/btac582
- Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1–48. 10.18637/jss.v036.i03
- Bates, D., Mächler, M., Bolker, B., & Walker, S. (2015). Fitting linear mixed-effects models using lme4. Journal of Statistical Software, 67(1), 1–48. 10.18637/jss.v067.i01
- Kuznetsova, A., Brockhoff, P. B., & Christensen, R. H. B. (2017). lmerTest package: tests in linear mixed effects models. Journal of Statistical Software, 82(13), 1–26. 10.18637/jss.v082.i13
- Muzellec, B., Teleńczuk, M., Cabeli, V., & Andreux, M. (2023). PyDESeq2: a python package for bulk RNA-seq differential expression analysis. Bioinformatics, 39(9), btad547. 10.1093/bioinformatics/btad547
- Wolf, F. A., Angerer, P., & Theis, F. J. (2018). SCANPY: large-scale single-cell gene expression data analysis. Genome Biology, 19(1), 15. 10.1186/s13059-017-1382-0
- Badia-i Mompel, P., Vélez Santiago, J., Braunger, J., Geiss, C., Dimitrov, D., Müller-Dott, S., Taus, P., Dugourd, A., Holland, C. H., Ramirez Flores, R. O., & Saez-Rodriguez, J. (2022). decoupleR: ensemble of computational methods to infer biological activities from omics data. Bioinformatics Advances, 2(1), vbac016. 10.1093/bioadv/vbac016
- Dimitrov, D., Schäfer, P. S. L., Farr, E., Rodriguez-Mier, P., Lobentanzer, S., Badia-i Mompel, P., Dugourd, A., Tanevski, J., Ramirez Flores, R. O., & Saez-Rodriguez, J. (2024). LIANA+ provides an all-in-one framework for cell-cell communication inference. Nature Cell Biology, 26(9), 1613–1622. 10.1038/s41556-024-01469-w
- Virshup, I., Rybakov, S., Theis, F. J., Angerer, P., & Wolf, F. A. (2024). anndata: access and store annotated data matrices. Journal of Open Source Software, 9(101), 4371. 10.21105/joss.04371
- Bredikhin, D., Kats, I., & Stegle, O. (2022). MUON: multimodal omics analysis framework. Genome Biology, 23(1), 42. 10.1186/s13059-021-02577-8