Skip to contents

SpaNorm 1.8.0

New Features

  • SpaNorm() gains a BPPARAM argument to parallelise normalisation across workers via BiocParallel, accelerating large datasets. It defaults to BiocParallel::SerialParam() (no parallelisation), and results are identical regardless of the backend used.
  • SpaNorm() now normalises DelayedArray-backed count assays (e.g. disk-backed via HDF5Array) block-wise, so out-of-core datasets are processed without ever loading the full matrix into memory. Results match the in-memory path.
  • Exported fitNB(), which fits a per-gene negative binomial GLM over an arbitrary design matrix using SpaNorm’s IRLS engine (with optional ridge regularisation and adjustable outlier winsorisation). This exposes the model-fitting machinery for reuse independently of SpaNorm’s spatial model.

Improvements

  • The optional GPU backend now uses the torch package instead of TensorFlow, adding native support for NVIDIA CUDA and Apple Silicon (Metal/MPS) devices and removing the Python/reticulate dependency. Users of backend = "gpu" should install torch in place of tensorflow.
  • The dispersion winsorisation used during normalisation now clamps at 4 MAD (previously 3), matching the coefficient and mean winsorisation, and is configurable via the winsorisation controls on the fitting/normalisation helpers.

SpaNorm 1.2.0

  • Added model-based spatially variable gene (SVG) calling.
  • Added spatial visualisation funciton plotSpatial to visualise colData, gene expression, and reduced dimensions.
  • Added spatial visualisation function plotCovariate to visualise the biolgy, batch, and library size functions estimated by SpaNorm.
  • Dynamic calculation of df.tps for rectangular tissue sections.
  • Allow separate specification of df.tps for biology and library size.
  • Added GLM-PCA approximation through the SpaNormPCA function. The null model is considered to consist of the library size effects, batch effects, and the gene mean.

SpaNorm 1.0.0

  • Initial Bioconductor submission.