Materials
How to use this page. Each module links up to five layers — Lec (slide deck), Ch (long-form reading), Tut_view (rendered tutorial to read along), Tut_run (downloadable .qmd to run in RStudio / VS Code), and Script (the same workflow as a Talapas SLURM job). Recommended order: lecture → chapter → tutorial, then the script to scale it on the cluster. The During the workshop table runs P1–P2 (optional Tuesday refresher), 00–08 (laptop analysis, Wed–Thu), and 09–10 (Talapas HPC track, Friday). Module 09 covers connecting to Talapas with VS Code Remote-SSH and running interactive SLURM sessions; Module 10 runs the full analysis as a batch job. Quick references are on the Cheat Sheets tab; supporting material is under Additional Resources.
The laptop tutorials (Tut_run) are designed to run from a tidy project folder so that figures, tables, and the objects passed between tutorials all land in predictable places.
- Create a project folder anywhere (e.g.
my_scrnaseq_project/) and make ascripts/subfolder inside it. - Download each
Tut_run.qmdintoscripts/. (The browser adds a trailing.txt— drop it so the name ends in.qmd.) - Open and run each tutorial from
scripts/. On first run, the code auto-creates two sibling folders at the project root:data/— the intermediate.rdsobjects each tutorial saves and the next one reads (the hand-off chain, Tutorials 01 → 08).output/ModN/— that module’s tables (.csv) and every figure written twice: a.pngfor quick viewing and a.svg(vector) you can open in Illustrator/Inkscape to edit for a manuscript. (The.svgoutput needs thesvglitepackage, installed in Tutorial 00.)
my_scrnaseq_project/
├── scripts/ ← the .qmd files you download (run them from here)
├── data/ ← auto-created: intermediate .rds passed between steps
└── output/ ← auto-created: figures & tables, one Mod folder per module
In the code these are written as ../data and ../output/ModN (one level up from scripts/). Keep all the .qmd files together in scripts/ so every tutorial shares the same project data/. 📄 Download the project-setup README and drop it in your project folder for reference.
During the workshop
| Module | Topic | Lec | Ch | Tut_view | Tut_run | Script |
|---|---|---|---|---|---|---|
| P1 | Computer Systems & the Command Line — computers & operating systems, using VS Code locally, and the shell (navigation, paths, pipes) | Lec P1 | Ch P1 | — | — | — |
| P2 | R & RStudio — the R language, data structures, functions, the tidyverse, reading/writing data | Lec P2 | Ch P2 | — | — | — |
| 00 | Overview, setup & tooling (R, RStudio, Quarto, VS Code on your laptop) | Lec 00 | Ch 00 | Tut_view 00 | Tut_run 00 | — |
| 01 | QC & preprocessing | Lec 01 | Ch 01 | Tut_view 01 | Tut_run 01 | Script 01 |
| 02 | Dimensionality reduction & clustering | Lec 02 | Ch 02 | Tut_view 02 | Tut_run 02 | Script 02 |
| 03 | Markers & manual annotation | Lec 03 | Ch 03 | Tut_view 03 | Tut_run 03 | Script 03 |
| 04 | Reference-based annotation | Lec 04 | Ch 04 | Tut_view 04 | Tut_run 04 | Script 04 |
| 05 | Multi-sample integration | Lec 05 | Ch 05 | Tut_view 05 | Tut_run 05 | Script 05 |
| 06 | Pseudobulk differential expression | Lec 06 | Ch 06 | Tut_view 06 | Tut_run 06 | Script 06 |
| 07 | Functional enrichment analysis | Lec 07 | Ch 07 | Tut_view 07 | Tut_run 07 | Script 07 |
| 08 | Differential abundance | Lec 08 | Ch 08 | Tut_view 08 | Tut_run 08 | Script 08 |
| 09 | VS Code & SLURM Basics on Talapas — connecting with VS Code Remote-SSH, interactive sessions, SLURM job submission | Lec 09 | Ch 09 | Tut_view 09 | Tut_run 09 | Script 09 |
| 10 | Running the analysis pipeline on Talapas — batch-mode SLURM jobs for the full 01–08 R pipeline | Lec 10 | Ch 10 | Tut_view 10 | Tut_run 10 | Script 10 |
Bonus modules (11–17, self-paced)
Self-paced material beyond the three in-person days. 11–12 are upstream (raw FASTQs → counts, run before the core); 13–17 are downstream (extended analyses, run after the core).
| Module | Topic | Lec | Ch | Tut_view | Tut_run | Script |
|---|---|---|---|---|---|---|
| 11 | Cell Ranger: raw FASTQ → counts (RNA) | Lec 11 | Ch 11 | Tut_view 11 | Tut_run 11 | Script 11 |
| 12 | cellranger-atac: raw FASTQ → peaks (scATAC) |
Lec 12 | Ch 12 | Tut_view 12 | Tut_run 12 | Script 12 |
| ▶ Run the core analysis modules (00–10) here — process raw data in 11–12, then run the core pipeline on your counts before continuing with the downstream bonus modules below. See the During the workshop table. | ||||||
| 13 | Co-expression networks (WGCNA) | Lec 13 | Ch 13 | Tut_view 13 | Tut_run 13 | Script 13 |
| 14 | Trajectory & cell–cell communication | Lec 14 | Ch 14 | Tut_view 14 | Tut_run 14 | Script 14: R · py |
| 15 | scATAC-seq analysis (Signac) | Lec 15 | Ch 15 | Tut_view 15 | Tut_run 15 | Script 15 |
| 16 | Spatial transcriptomics | Lec 16 | Ch 16 | Tut_view 16 | Tut_run 16 | Script 16 |
| 17 | FAIR data & sharing | Lec 17 | Ch 17 | Tut_view 17 | Tut_run 17 | Script 17 |
Two things to know.
- Where each bonus module sits relative to the core pipeline. Modules 11–12 are upstream — they turn raw 10x FASTQs into the
filtered_feature_bc_matrix/(RNA) or peak matrix (scATAC) that the core Module 01 / Module 15 pick up. Most participants are handed a counts matrix by their sequencing core, so these are optional. Modules 13–17 are downstream — WGCNA, trajectory, scATAC analysis, spatial, and FAIR all build on a clustered/annotated object (or their own dataset) once the core sequence is done. The end-to-end version (raw reads → counts → full analysis) is the Full Talapas run from raw FASTQs roadmap. - Downloading a tutorial (
Tut_run). The browser saves each.qmdwith a trailing.txt(e.g.…qmd.txt). After saving, drop the trailing.txtso the name ends in.qmd, then open it in RStudio (or in VS Code on Talapas). (The.txtsuffix stops the browser from rendering the source as a webpage.)
Talapas SLURM wrappers
The Script links above download each module’s analysis script. To run them on Talapas as batch jobs, the workshop ships six reusable sbatch wrappers (download, then sbatch <wrapper> … from the scripts/ folder after mkdir -p logs):
| Wrapper | What it does |
|---|---|
| run_rscript.sbatch | Run one R step, e.g. sbatch run_rscript.sbatch 06_pseudobulk_de.R |
| run_python.sbatch | Run one Python step, e.g. sbatch run_python.sbatch 14_rna_velocity_scvelo.py |
| run_core_pipeline.sbatch | Run the core pipeline (Modules 01–08) end-to-end in one job |
| run_bonus_pipeline.sbatch | Run the bonus downstream R analyses (Modules 13–17) |
| cellranger_RNA_count.sbatch | Raw 10x RNA FASTQs → counts with cellranger count (Module 11) |
| cellranger_atac_count.sbatch | Raw 10x scATAC FASTQs → peaks with cellranger-atac count (Module 12) |
See Module 09 and Module 10 for how to submit and monitor SLURM jobs.
Datasets
The core modules use just two datasets: the single-cell ifnb PBMC data (Modules 01–08, and the Talapas pipeline in Module 10) and the bulk airway data (the DESeq2 primer in Module 06). Both load automatically from Bioconductor — no manual download. The bonus modules bring their own datasets; those are described on the Datasets page, which also has the expected directory layout and a disk-space budget.
ifnb — Kang et al. 2017 (core Modules 01–08, 10)
Human peripheral blood mononuclear cells (PBMCs), ~24k cells, 10x Chromium 3′ v1, loaded via muscData::Kang18_8vs8(). Eight lupus donors, each split into a control and an interferon-β–stimulated aliquot — so it has a real condition and real biological replicates, which is what makes integration, pseudobulk DE, and differential abundance meaningful.
| Variable (cell metadata) | What it is |
|---|---|
stim |
Condition — CTRL or STIM (interferon-β, 6 h). The two samples we integrate. |
ind (→ donor) |
Donor ID — one of 8 lupus patients; the biological replicate for DE / DA. |
seurat_annotations |
Author-curated cell type (CD14/CD16 Mono, CD4/CD8 T, B, NK, DC, pDC, Mk…). |
nCount_RNA |
Total UMIs (transcripts) detected in the cell. |
nFeature_RNA |
Number of genes detected in the cell. |
percent.mt |
Percent of reads from mitochondrial genes (added during QC; a stress/quality flag). |
Reference: Kang et al. (2017) “Multiplexed droplet single-cell RNA-sequencing using natural genetic variation.” Nature Biotechnology 36: 89–94. doi:10.1038/nbt.4042 · GEO GSE96583.
airway — Himes et al. 2014 (core Module 06, DESeq2 primer)
A bulk RNA-seq dataset — the standard teaching set for DESeq2. Four primary human airway smooth-muscle cell lines, each profiled untreated and after treatment with the steroid dexamethasone, giving 8 samples (4 donors × 2 conditions, a paired design). Module 06 uses it to learn the negative-binomial GLM, size factors, dispersion shrinkage, and contrasts on clean bulk data before applying the same model to single-cell pseudobulk. Ships as a Bioconductor package — BiocManager::install("airway"); data(airway) — so there is nothing to download.
| Variable (sample metadata) | What it is |
|---|---|
dex |
Treatment — untrt or trt (dexamethasone). The contrast of interest. |
cell |
Cell-line donor ID (one of four); the blocking factor in the paired design. |
SampleName / Run |
Sample and SRA run identifiers. |
Reference: Himes et al. (2014) “RNA-Seq transcriptome profiling identifies CRISPLD2 as a glucocorticoid responsive gene that modulates cytokine function in airway smooth muscle cells.” PLoS ONE 9: e99625. doi:10.1371/journal.pone.0099625.
Bonus Module Datasets
The bonus modules (11–17) use their own datasets — 10x raw FASTQs (Cell Ranger), the GSE152418 COVID-19 bulk data (WGCNA), 10x PBMC scATAC, and the stxBrain Visium sections (spatial). Each is described, with its single load/download method and disk budget, on the Datasets page →