← Back to all sparks
S

SeuratObject

ANALYTICS
Velocity0.0

Data Structures for Single Cell Data

The data structure under Seurat, quietly absorbing spatial transcriptomics.

single-cellspatial-transcriptomicsdata-structuresbioinformaticsr-package
Current state
SeuratObject holds the classes and accessors that Seurat is built on, so its releases are felt by every package in that ecosystem rather than by end users directly. Recent work splits between spatial data support, where the Segmentation class gained an sf.data slot and Visium V2 image cropping arrived, and steady correction of subsetting behaviour. Version 5.4.0 adds a settable default dimensional reduction and finer control over factor levels when subsetting.
Where it's heading
Two threads run through the window. The first is spatial: sf-backed segmentation boundaries, a compact slot to mark objects that skip the sp-inherited representation, and Visium V2 cropping, all pointing at spatial transcriptomics becoming a first-class citizen of the object model rather than a bolt-on. The second is a visible argument with itself over droplevels in subsetting, added in 5.1.0, reverted in 5.3.0, and returned in 5.4.0 as an opt-in parameter, which is how a foundational class settles a behaviour it cannot change lightly.
Prediction
Expect the spatial classes to keep absorbing new assay formats, with breaking behaviour continuing to arrive as opt-in parameters rather than changed defaults.

Recent moves

  1. 4mo ago

    Default dimensional reduction becomes settable on Seurat objects

    Adds a DefaultDimReduc<- setter and a droplevels.meta.data parameter to subset.Seurat, resolving the factor-level question as an opt-in rather than a changed default. Also lands Visium V2 cropped FOV support, continuing the spatial thread.

    View source ↗
  2. 8mo ago

    Segmentation gains a compact slot; subsetting stops dropping factor levels

    Reverts the automatic droplevels behaviour introduced in 5.1.0 and reworks the Segmentation class to store a data.frame with a compact slot marking sf-only objects. Both halves of the current trajectory in one release.

    View source ↗
  3. 11mo ago

    Segmentation boundaries move to sf objects

    Adds the sf.data slot holding segmentation boundaries as sf geometry, plus constructors and methods around it. The start of the spatial rework that 5.3.0 and 5.4.0 continue.

    View source ↗
  4. 1y ago

    Subsetting starts dropping unused factor levels, plus spatial feature accessors

    Introduces the automatic droplevels behaviour later reverted in 5.3.0, alongside spatially variable feature accessors for Assay5 and a batch of subsetting fixes. The opening move in the droplevels argument.

    View source ↗
  5. 2y ago

    SeuratObject 5.0.2

    Re-exports, a raised R floor and a run of bug fixes in UpdateSeuratObject and subsetting. Consolidation after the v5 class rewrite.

    View source ↗
  6. 2y ago

    SeuratObject 5.0.1

    Internal calls moved from the slot vocabulary to layer, and layer-saving widened in SaveSeuratRds(). Cleanup finishing the v5 terminology migration.

    View source ↗