Over the past while I have been building a step-by-step single-cell RNA-seq tutorial series aimed specifically at people who are new to the analysis and do not have a strong programming background. Sharing it here in case it is useful to others, and feedback is genuinely welcome.
Disclosure: this is my own site (NGS101.com), and all of the tutorials are free to read.
Single-cell series: https://ngs101.com/tutorials/#single-cell-seq
Rather than being a set of disconnected snippets, the scRNA-seq series follows one real dataset (GSE174609, a PBMC periodontitis study) from raw data all the way through to advanced trajectory analysis, so each part builds on the previous one. It currently runs to 15 tutorials, covering:
- Quality control and filtering with Seurat 5
- Integration and batch correction, clustering
- Cell type annotation
- Understanding the underlying data objects
- Pseudobulk differential expression
- Trajectory inference with Monocle 3
- Cell-cell communication with CellChat
- RNA velocity with scVelo
- Cell fate probability analysis with CellRank
- and more
A few things I tried to do differently from typical tutorials:
- Show real outputs, including imperfect or unexpected results, and treat them as teaching moments instead of hiding them
- Include the actual errors hit while testing on HPC and WSL2, and how they were resolved
- Explain the concepts, including the relevant math, before showing any code
- Be honest about tool limitations. For example, Part 14 explains why CellRank was not appropriate for the PBMC dataset used earlier in the series, and what to use instead
Beyond single-cell, the site also has tutorial series for other NGS workflows:
- Whole genome / exome sequencing: GATK, Mutect2 somatic calling, CNV analysis with CNVkit, variant annotation
- Bulk RNA-seq: DESeq2, limma-voom, WGCNA, MEGENA, master regulator analysis
- DNA methylation (EPIC arrays, WGBS/RRBS), Hi-C, ChIP-seq, GWAS
- Fusion gene detection and circular RNA analysis
All tutorials are written for beginners, with code in R and Python.
If you spot an error, disagree with an approach, or have a topic you would like to see covered, I would appreciate hearing it. Constructive criticism is one of the main reasons I post these publicly.
0 answers
No answers yet.
Log in to answer this question.