Skip to contents

pkgdown R-CMD-check GitHub release License: MIT

scdown is a minimal downstream package for annotated single-cell RNA-seq.

It assumes that QC, normalization, clustering, and annotation are already done. The package is intentionally narrow and focuses on five practical jobs inside one dataset:

  • cluster and annotation maps
  • marker discovery
  • annotation checks with known marker panels
  • cluster-level expression and signature summaries
  • exploratory ligand-receptor interaction ranking

Website: https://dai540.github.io/scdown/

Installation

Install from GitHub with pak:

install.packages("pak")
pak::pak("dai540/scdown")

or remotes:

install.packages("remotes")
remotes::install_github("dai540/scdown")

Or install from a source tarball:

install.packages("path/to/scdown_<version>.tar.gz", repos = NULL, type = "source")

Then load the package:

Input contract

scdown() accepts:

  • a long-format table with cell, gene, value, and annotation columns
  • a list with expr, cells, and optional embedding
  • a SingleCellExperiment
  • a Seurat object

The minimal metadata columns are:

  • cell
  • annotation
  • sample if available

Minimal example

library(scdown)

obj <- scdown(
  scdown_example(),
  annotation_col = "annotation",
  sample_col = "sample"
)

res <- run_core(
  obj,
  signatures = c("cytotoxic", "antigen_presentation")
)

build_scdown_report(obj)

Main outputs

Typical outputs include:

  • cluster map PNGs
  • marker tables
  • annotation check tables and heatmaps
  • average-expression summaries
  • cluster-similarity heatmaps
  • signature score tables
  • communication ranking tables
  • one compact HTML report

What scdown does not do

scdown does not try to replace upstream or specialist tools.

  • It does not do QC, ambient RNA correction, doublet detection, normalization, integration, or clustering.
  • It does not do group-aware differential abundance or differential expression.
  • It does not claim publication-grade communication inference.

Use Seurat, scater, scuttle, scran, SingleR, muscat, dreamlet, miloR, or CellChat for those stages.

Citation

citation("scdown")

Package layout

  • R/object.R: input standardization
  • R/downstream.R: minimal downstream workflow
  • R/resources.R: built-in signatures, marker panels, and ligand-receptor pairs
  • R/report.R: compact HTML reporting
  • vignettes/: getting-started tutorial