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:
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:
-
Enable GitHub Pages for the
gh-pagesbranch (Settings β Pages β Source) - Enable Actions to have Read and write permissions (Settings β Actions β General β Workflow permissions).
-
β οΈ Make the Docker image public. GHCR may publish new packages as private, so
docker pullfails 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 adocker pullfrom 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.