← Back to all sparks
U

UCell

ANALYTICS
Velocity0.0

R package UCell by carmonalab — release notes from GitHub.

A rank-based gene signature scorer that has grown by adapting to whatever object format single-cell R uses next

r-packagesingle-cellgene-signaturesbioconductorinteroperability
Current state
UCell scores gene signatures in single-cell data using a rank-based metric that is robust to dataset composition. Its release history reads as a sequence of ecosystem accommodations: Bioconductor submission in 2.0, SmoothKNN() for k-nearest-neighbor smoothing of scores in 2.2, smoothing applied directly to expression slots in 2.4, Seurat v5 assay compatibility in 2.6, multi-layer Seurat v5 objects in 2.8, and a missing_genes parameter in 2.14 that lets callers impute or skip signature genes absent from the data. Version 2.16 tracks Bioconductor 3.23 and points at a new publication and a Python implementation, pyUCell.
Where it's heading
Two threads run through this. The scoring algorithm itself has barely changed — the rank-based core is stable, and 2.14's reformatting to gene indices rather than string matching is a speed change, not a method change. What does change constantly is object-format compatibility, which is the tax of living between Seurat and SingleCellExperiment. The pyUCell reference in 2.16 is the first sign of the method reaching beyond R, though these notes say nothing about its scope.
Prediction
The cadence is locked to Bioconductor's twice-yearly release train, so the next version will most likely accompany Bioconductor 3.24 with whatever Seurat or SingleCellExperiment changes it brings.

Recent moves

  1. 3mo ago

    Tracks Bioconductor 3.23 and points to a Python port

    A Bioconductor 3.23 release note that also flags a new publication and a Python implementation, pyUCell. The entry is too terse to say what pyUCell covers, but a method that has lived entirely inside the R single-cell stack acquiring a Python sibling is worth watching.

    View source ↗
  2. 9mo ago

    UCell version 2.14

    Adds a missing_genes parameter offering impute or skip behavior when signature genes are absent from the data, and reworks the scoring function to use gene indices rather than string matching. Making the missing-gene policy explicit removes a silent assumption from every score the package produces.

    View source ↗
  3. 2y ago

    UCell version 2.8

    Adds support for multi-layer Seurat v5 objects and raises the default chunk.size to 100, which the notes report as up to a two-fold speedup on parallelized jobs. Another instalment in the long run of Seurat compatibility work.

    View source ↗
  4. 2y ago

    UCell version 2.6

    Addresses Seurat v5 assay compatibility and reimplements neighbor weighting in SmoothKNN() as a tunable geometric decay over neighbor rank. The weighting change alters smoothed scores, making this more than a compatibility release.

    View source ↗
  5. 3y ago

    UCell version 2.4

    Extends SmoothKNN to operate directly on gene expression slots, writing results into a new assay, and handles degenerate objects with zero or one cell. It broadens the smoothing machinery from scores to expression, well beyond its original purpose.

    View source ↗
  6. 3y ago

    UCell version 2.2

    Introduces SmoothKNN() for k-nearest-neighbor smoothing of UCell scores as an S3 method working on both SingleCellExperiment and Seurat objects, alongside per-object-type vignettes. The dual-object-model support established here is what the following four releases spend their time maintaining.

    View source ↗