Skip to contents

A two-session, remote, code-along scRNAseq workshop β€” BiocAfrica 2026

πŸ“– Workshop website: https://js2264.github.io/BiocAfrica_scRNAseq2026/


What this is

This is a two-session, remote, code-along scRNAseq workshop for the BiocAfrica 2026 conference.

Page Content Format
a. Before you start Install, download the data, refresher on SummarizedExperiment and DESeq2 self-paced, ~45 min
b. Session 1 Count matrices β†’ SingleCellExperiment β†’ QC β†’ normalisation β†’ feature selection β†’ PCA/UMAP/t-SNE live, 60 min
c.Β Session 2 Clustering β†’ visualisation β†’ marker genes β†’ manual annotation β†’ SingleR against a public reference β†’ pseudobulk DESeq2 live, 60 min

Dataset

The adult human testis atlas of Guo et al. (2018), GEO GSE112013: 6,490 cells, 3 donors Γ— 2 replicates, distributed as a single gzipped tab-separated UMI table. It is a good teaching set because one tissue gives both a continuous differentiation trajectory (germ cells) and discrete populations (Sertoli, Leydig, myoid, endothelial, macrophage) on the same UMAP β€” and because a general-purpose public reference annotates the second group well and the first group badly, which is a lesson in itself.

Packages covered: SingleCellExperiment, scuttle, scran, scater, bluster, SingleR, celldex, DESeq2, BiocFileCache.

Running the material

With Docker. Everything pre-installed, and the count matrix and annotation reference already cached β€” no downloads on the day:

docker run -e PASSWORD=biocafrica -p 8787:8787 ghcr.io/js2264/biocafrica_scrnaseq2026:latest

then open http://localhost:8787 and log in as rstudio / biocafrica. The .Rmd sources are in the home directory under vignettes/.

Locally. Follow page 0. You need R β‰₯ 4.6.0, a current Bioconductor, and about 8 GB of RAM (reading the dense text matrix is the memory-hungry step).

As an R package.

BiocManager::install("js2264/BiocAfrica_scRNAseq2026", build_vignettes = TRUE)
browseVignettes("BiocAfricaScRNAseq2026")

Deployment checklist

This repository is built from the BuildABiocWorkshop template. On every push, GitHub Actions runs rcmdcheck, builds the pkgdown site to the gh-pages branch, and pushes a Docker image to GHCR.

Two things must be done by hand, once:

  1. Enable GitHub Pages for the gh-pages branch (Settings β†’ Pages β†’ Source)
  2. Enable Actions to have Read and write permissions (Settings β†’ Actions β†’ General β†’ Workflow permissions).
  3. ⚠️ Make the Docker image public. GHCR may publish new packages as private, so docker pull fails for everyone without a GitHub account and with a confusing authentication error. After the first successful push, go to https://github.com/users/js2264/packages/container/biocafrica_scrnaseq2026/settings β†’ Danger Zone β†’ Change visibility β†’ Public. Verify with a docker pull from a logged-out machine before advertising the workshop.

Licence and citation

MIT (see LICENSE).

If you reuse this workshop, please keep the attribution and cite the source of the data:

Guo J, Grow EJ, Mlcochova H, Maher GJ, Lindskog C, Nie X, et al. (2018). The adult human testis transcriptional cell atlas. Cell Research 28:1141–1157.

The workflow follows Orchestrating Single-Cell Analysis with Bioconductor.

Editing of this material was assisted by Claude Code using Claude Opus 5.0 model.