Skip to content

presto

1.1.0Package record

Fast Functions for Differential Expression Using Wilcoxon and AUC

0packages dependsuggested by 2
7Kdownloads / year
50.8%test coverage
13/13flavors OK

Overview

About

Scalable implementation of the Wilcoxon rank sum test and the area under the receiver operating characteristic curve (also known as auROC or AUC) statistic. Interfaces to dense and sparse matrices, as well as the genomics analysis frameworks 'Seurat' and 'SingleCellExperiment'.

Changes in 1.1.0

First CRAN release. Version 1.0.0 refers to the pre-CRAN package installed

from GitHub.

New features

  • wilcoxauc() accepts disk-backed DelayedMatrix input (e.g. HDF5-backed assays from HDF5Array), processed in feature blocks so the whole matrix never has to be loaded in memory (#26). Other matrix-like classes with an as(., "dgCMatrix") method (e.g. BPCells) are coerced automatically.
  • wilcoxauc() gains a transposed argument for observations x features input (samples in rows), which runs directly on that layout without materializing a transposed copy (#18).
  • wilcoxauc() gains an nthreads argument: the per-feature ranking of sparse (dgCMatrix) input can run multithreaded. Results are identical at any thread count; roughly 2.6x faster with 4 threads on a 3,000 x 80,000 matrix. The default (nthreads = 1) is unchanged.
Show all changes in 1.1.0Hide the rest of the changes in 1.1.0
  • New toy_seurat() and toy_sce() generate small example Seurat / SingleCellExperiment objects on the fly with the installed package versions, so they can never go stale.
  • Two vignettes: *Getting started with presto* and *Pseudobulk differential expression with DESeq2*, both worked through on a real 25,341-cell colon CD8 T-cell dataset (GSE206299, Thomas et al. 2024).

Breaking changes

  • wilcoxauc() now stops with an informative error when X contains NA values, instead of silently returning incorrect results (#25).
  • The shipped object_seurat and object_sce datasets were removed; use toy_seurat() and toy_sce() instead.
  • Rcpp and data.table moved from Depends to Imports, so they are no longer attached to the search path when presto is loaded.

Bug fixes

  • The Wilcoxon variance correction now includes every tie group: the final tie group per feature and the implicit-zero group of all-zero features used to be dropped, inflating p-values on heavily tied data (#29). P-values now agree with stats::wilcox.test() to machine precision; on typical count data the change is tiny (< 1e-4), but it is meaningful for binary or heavily tied features. Constant features report pval = 1 instead of an arbitrary value.
  • wilcoxauc() and rank_matrix() no longer modify their input in place: dense input used to be silently overwritten with ranks via an aliased memory buffer (#7). Dense avgExpr and logFC are computed from the original values (also #7).
  • The Seurat dispatcher of wilcoxauc() uses the layer argument required by Seurat 5 (#44).
  • pseudobulk_within() handles character and multi-level contrast variables.
  • pseudobulk_pairwise() no longer fails on single-column meta_data.
  • collapse_counts() no longer drops a single-column meta_data to a vector, which had broken the collapse_background = TRUE path of pseudobulk_deseq2().
  • sumGroups() and nnzeroGroups() accept a character group vector y again. A character y previously coerced to NA via as.integer(), producing an out-of-bounds index that crashed on some platforms; the labels are now factored first, and NA labels raise a clear error.
  • summarize_dge_pairs() no longer prints debug output, and pseudobulk_deseq2() no longer warns unconditionally.
  • Replaced deprecated .data$ tidyselect usage and superseded tidyr::spread() with tidyr::pivot_wider() in top_markers() and top_markers_dds() (#20).

Performance

  • The sparse-input statistics of wilcoxauc() (transpose, ranking, and all group-wise reductions) are fused into a single-pass C++ kernel, about 12% faster serially before any threading.

From NEWS.md in the release

Install

Health

CRAN checks
13OK
Slowest check: 4.6 min · r-devel-windows-x86_64
Status changes
  • OK13 OKNow
  • OK5 OK2026-10-01
Advisories

none known

Documentation

In release 1.1.0
READMEYes · 206 wordsVignettesYes · 2 · staticNEWSYes · 100% structured · mentions 1.1.0Citation fileNoWebsitenot declared in DESCRIPTION
Help pages
17 (2 internal)includes a package overview page
Examples that run
90%9 run in a plain check (2 of them under a condition) · 1 only when donttest examples are enabled (R CMD check --as-cran)
Exported functions with examples
63%
Documented parameters
100%
Return-value docs
100%
Help pages citing references
0%

Downloads

7K
CRAN downloads in the past year
Rank #2,378 · ~19/day · ~586/mo
Daily download trend is not available in this view yet.
Also on14 r2u1 autocran10.6K bioconda

Dependencies

Declared dependencies
19 external dependencies (excludes base and recommended)

Installing presto adds 23 packages (15 with compiled code, 26 MB of source tarballs). Heaviest: stringi 11 MB, data.table 5.7 MB, Rcpp 1.8 MB.

Depends (1)
R >= 3.5.0
Imports (11)
LinkingTo (2)
Enhances (0)
none
Reverse dependencies
0direct
0indirect
Suggested by 2
Suggests, most downloaded first

People & History

People (6)
Maintainer since 1.1.0 (2026), Contributor
Contributor
Releases (1)
  • 1.1.0Latest
    2026-09-30 · current release
  • R
    R 4.6.0 released · 2026-04-24

Package metadata

First published
2026-09-30
Total releases
1 / 1 yrs
License
GPL-3 OSI
Minimum R
≥ 3.5.0
Download size
72 KB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("presto")
Slowikowski, K., Hartman, A., Korsunsky, I., Millard, N., Nathan, A., & Raychaudhuri, S. (2026). presto: Fast Functions for Differential Expression Using Wilcoxon and AUC (Version 1.1.0) [Computer software]. https://doi.org/10.32614/CRAN.package.presto

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for presto version 1.1.0 [Data set]. HJJB, LLC. Data release v2026-10-25. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-25, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy