Folioevanzhou.org

02Single-Cell Packages

Packages and software ecosystem notes

2026-05-07
single-cellpackagessoftware
本章目录 · 7

Purpose

This page is for collecting packages encountered while learning and doing single-cell analysis.

Keep it practical: package name, ecosystem, task, and when it becomes relevant.

Packages

Package Ecosystem Task Notes
Seurat R General workflow Common entry point for scRNA-seq case analysis
scRNAseq R / Bioconductor Public datasets Curated scRNA-seq datasets returned as SingleCellExperiment objects
patchwork R Plot composition Combine ggplot figures into one layout
SingleCellExperiment R / Bioconductor Data object Core Bioconductor container
zellkonverter R / Bioconductor h5ad import/export Bridges AnnData and SingleCellExperiment
Scanpy Python General workflow Main AnnData-based analysis framework
AnnData Python Data object Common .h5ad object format

Package Notes

Seurat

Seurat is the main R package I will encounter for practical scRNA-seq analysis. It is often used as a full workflow framework rather than a single-purpose tool.

Typical uses:

  • create a single-cell object from count matrices
  • store cell metadata, gene metadata, assays, reductions, graphs, and cluster labels
  • run QC, normalization, feature selection, PCA, UMAP, clustering, marker detection, and integration
  • handle common multimodal extensions such as CITE-seq, spatial data, and multi-assay objects

What to remember:

  • Seurat is convenient because many steps live in one ecosystem.
  • A Seurat object is not just an expression matrix; it also stores metadata and analysis results.
  • For condition-level differential expression, do not blindly use cell-level marker tests as final evidence. For multi-sample disease comparisons, pseudobulk is usually the safer direction.
  • When importing from .h5ad, check whether raw counts, normalized data, layers, reductions, and metadata survived conversion.

patchwork

patchwork is an R package for combining multiple ggplot2 plots into one figure layout.

In single-cell work, it is useful when comparing related plots side by side, such as QC plots, UMAPs, feature plots, dot plots, or condition-specific panels.

Common pattern:

p1 + p2
p1 / p2
(p1 + p2) / p3

What to remember:

  • + places plots side by side.
  • / stacks plots vertically.
  • Parentheses control the layout.
  • It is mainly for figure assembly, not data analysis.

scRNAseq

scRNAseq is a Bioconductor data package that provides curated public single-cell RNA-seq datasets. It does not implement an analysis workflow; its role is to supply ready-to-use example data for learning, method testing, and reproducible demonstrations.

Common datasets include:

  • ZeiselBrainData() — mouse brain cells
  • MacoskoRetinaData() — mouse retina cells
  • PaulHSCData() — hematopoietic stem and progenitor cells
library(scRNAseq)

sce <- ZeiselBrainData()
sce

The returned object is usually a SingleCellExperiment, so it fits directly into the Bioconductor ecosystem and can also be converted for use with Seurat when needed.

What to remember:

  • this is a data package, not an analysis package
  • check the documentation for the experiment, organism, assay, and available metadata before using a dataset
  • downloading a dataset may require network access and local caching
  • example datasets are useful for testing code, but they do not replace data appropriate to the actual research question

Open Questions

  • Should data objects have separate pages?
  • Should this stay as a package list or become a workflow map?
  • Should R and Python ecosystems be separated later?