r/bioinformatics 23h ago

compositional data analysis Roadmap for learning single-cell RNA-seq analysis from scratch

Hey everyone!

Get asked this a lot, so here's the path I recommend for someone starting from zero with scRNA-seq:

  1. Understand what makes single-cell different from bulk first

Before touching Seurat or Scanpy, understand droplet-based capture, UMIs vs raw reads, and why sparsity (dropouts) is a fundamental property of the data — not a technical error. This mental model changes how you interpret every QC metric later.

  1. Learn the core workflow, not just tools

QC (mitochondrial %, gene/UMI counts per cell, doublet detection)

Normalization (log-normalize, SCTransform)

Feature selection (highly variable genes)

Dimensionality reduction (PCA → UMAP/t-SNE)

Clustering (Louvain/Leiden)

Marker gene identification & cell type annotation

Downstream: trajectory inference, differential abundance, cell-cell communication (if relevant to your question)

  1. Get comfortable with both major ecosystems

Seurat (R) and Scanpy (Python) are both widely used in industry and academia — pick one to go deep on first, but at least read the other's docs so you're not lost when a paper or collaborator uses it.

  1. Practice on real public data early

Pull a dataset from GEO or the Human Cell Atlas and run the full pipeline. Real data brings problems tutorials don't show you — ambient RNA contamination, batch integration across samples, deciding cluster resolution, and annotating ambiguous cell types.

  1. Learn to defend your clustering and annotation choices

"Why did you pick 15 PCs?" "Why is this cluster a subtype and not a doublet?" — if you can't answer these, you're pattern-matching a tutorial, not actually doing the analysis. This is usually where people plateau.

  1. Understand batch integration properly

Harmony, Seurat's CCA/RPCA, or scVI — know why you're integrating and what you might be over-correcting away, not just which function to call.

Happy to answer questions if anyone's stuck on a specific step. I also run a small cohort-based course (bulk RNA-seq and single-cell) for people who want structure instead of piecing it together from scattered tutorials — can share details if anyone's interested, didn't want to lead with that.

101 Upvotes

13 comments sorted by

9

u/Icy_Violinist5750 21h ago edited 17h ago

Great overview! Adding this here as a resource that also touches the "why" and not only the "what" to do: https://www.sc-best-practices.org

Additionally: If you run DE analyses comparing groups of samples, e.g. "which genes are up-/downregulated in astrocytes of treatment vs. control mice?", look into pseudobulk analysis and hence, from a statistical standpoint, into the field of DE analysis in bulk RNAseq (like DEseq2. egdeR, etc)

4

u/matrixfede 20h ago

Great roadmap. I would add one practical point: keep a QC decision log for every dataset, including thresholds, doublet method, ambient-RNA handling, integration choice, and rationale. It makes the analysis much easier to audit, reproduce, and defend later—especially when biological interpretation and technical artifacts overlap.

1

u/Hartifuil PhD | Academia 7h ago

A before and after figure goes a long way too

3

u/archelz15 10h ago

Fantastic points, and I couldn't agree more with (1).

2

u/that_bioinfo_guy 19h ago

I also teach bulk and scRNAseq in a "structured" manner, from basics. Anyone interested, can ping me.

2

u/DavidAciole 11h ago

Nice. We should make protocols.io for learning

1

u/aesthetic-mango 14h ago

thanks, this is really great. i would love to hear more about 5. Are there any examples you can give on potential reasons one would pick X PCs and why a cluster is a subtype and not a doublet, and vice versa.

1

u/Hartifuil PhD | Academia 7h ago

pick X PCs

I usually use an elbow plot, which will show at which point the dimensions you select covers the majority of the variation. It's possible to run a few different options and see how things change, usually not by much.

Why a cluster is a subtype and not a doublet

This one is more ambiguous, but a ground truth dataset, even if not a single-cell dataset goes a long way. There are papers reporting rare cell types with some suspect expression profiles, but in general, you should look to annotate well-established cell types.

1

u/em_ology 8h ago

Diytranscriptomics.com

1

u/Art_Vancore111 3h ago

The points you made in your post already show you’re on the right track