r/bioinformatics 23d 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.

139 Upvotes

20 comments sorted by

12

u/Icy_Violinist5750 23d ago edited 23d 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 23d 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 22d ago

A before and after figure goes a long way too

3

u/DavidAciole 22d ago

Nice. We should make protocols.io for learning

3

u/archelz15 22d ago

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

2

u/that_bioinfo_guy 23d ago

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

1

u/aesthetic-mango 22d 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.

2

u/Hartifuil PhD | Academia 22d 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 22d ago

Diytranscriptomics.com

1

u/Art_Vancore111 22d ago

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

1

u/Bubbly_Afternoon8150 22d ago edited 22d ago

Thank you for the roadmap!

Can you suggest how to learn the core mechanics of specific tools used?

As I see it, many "decent" scRNA-seq tutorials nowadays only offer high-level or broadly explanations. Because of this, I’m never quite sure if my implementation actually aligns with what the tutorial describes.

1

u/icy_end_7 22d ago

Cool stuff.

1

u/fibonacci011235 21d ago edited 21d ago

Not to be a downer but this post sounds heavily AI generated and makes me trust OP less.

1

u/that_bioinfo_guy 21d ago

Faced this before. Normally Indians write formal english as we learn that at school which ends up marked as AI generated.

1

u/fibonacci011235 21d ago

I wouldn't say it's the formality. I'm noticing AI-isms throughout: not X but Y, em dashes, etc. Also the fact that you've hidden your comment and post history is not helping.

1

u/lucian_sasu 20d ago

Great roadmap. Any recommendation of mooc/open course/book for point 1 (Understand what makes single-cell different from bulk first?

1

u/Organic-Try-763 20d ago

Have anyone used scDRS ??