Introduction to single-cell RNA-seq
  • Schedule
  • HBC
  • GitHub
  • Contact us

Schedule - Introduction to scRNA-seq

Pre-reading

  1. Introduction to scRNA-seq
  2. Raw Data to Count Matrix
  3. Download this project

Day 1

Time Topic Instructor
09:30 - 09:45 Workshop Introduction Will
09:45 - 10:35 Bioinformatics begins at the bench:
How experimental decisions shape single-cell RNA-seq analyses
Dr. Arpita Kulkarni
10:35 - 10:40 Break
10:40 - 11:00 scRNA-seq pre-reading discussion Noor
11:00 - 11:45 Quality Control Set-up Noor
11:45 - 12:00 Overview of self-learning materials and homework submission Will

Before the next class:

I. Please study the contents and work through all the code within the following lessons:

1. Cell Ranger Quality Summaries

Cell Ranger Quality Summaries - Preview

Before you start any analysis, it’s important to know whether or not you have good quality cells. At these early stages you can flag or remove samples that could produce erroneous results downstream.

In this lesson, you will:

  • Discuss the outputs of CellRanger and how to run it
  • Review web summary HTML report
  • Create plots from metrics_summary.csv file

2. Theory of PCA

Theory of PCA - Preview

Before we can begin the next steps of the workflow, we need to make sure you have a good understanding of Principal Components Analysis (PCA). This method will be utilized in the scRNA-seq analysis workflow, and this foundation will help you better navigate those steps and interpretation of results.

In this lesson, you will:

  • Review the mathematical concepts behind PCA
  • Understand how PCA reduces dimensionality in high-throughput data
  • Interpret PCA plots in the context of scRNA-seq analysis
  1. Submit your work:
  • Each lesson above contains exercises; please go through each of them.
  • Submit your answers to the exercises using this Google form on the day before the next class.

Questions?

  • If you get stuck due to an error while runnning code in the lesson, email us

Day 2

Time Topic Instructor
09:30 - 10:00 Self-learning lessons discussion All
10:00 - 10:45 Quality Control with Additional Metrics Will
10:45 - 10:50 Break
10:50 - 11:40 Normalization, Variance, and PCA Noor
11:40 - 12:00 Introduction to Integration Theory Noor

Before the next class:

I. Please study the contents and work through all the code within the following lesson:

1. Running Integration and Complex Integration Tasks

Running Integration and Complex Integration Tasks - Preview

In class, we described the theory of integration and in what situations we would implement it.

In this lesson, you will:

  • Run the code to implement CCA integration
  • Evaluate the effect of integration on the UMAP
  • Learn about methods for complex integration tasks (Harmonizing samples)

There are no exercises from this lesson, but please add any questions to this Google Formon the day before the next class.

Questions?

  • If you get stuck due to an error while runnning code in the lesson, email us

Day 3

Time Topic Instructor
09:30 - 10:00 Self-learning lessons discussion Noor
10:00 - 11:00 Clustering Noor
11:00 - 11:05 Break
11:05 - 12:00 Clustering Quality Control Will

Before the next class:

I. Please study the contents and work through all the code within the following lesson:

1. Seurat Cheatsheet

Seurat Cheatsheet - Preview

At this point, we have populated our Seurat object with many different pieces of information. Knowing how to access different values will allow you to interact more efficiently with your dataset.

In this lesson, you will:

  • Explore the different parts of a Seurat object
  • Use the built-in functions from the Seurat package for visualizations
  • Retrieve data efficiently from the Seurat object for downstream analyses
  1. Submit your work:
  • The lesson above contains exercises; please go through each of them.
  • Submit your answers to the exercises using this Google form on the day before the next class.

Questions?

  • If you get stuck due to an error while runnning code in the lesson, email us

Day 4

Time Topic Instructor
9:30 - 10:00 Self-learning lessons discussion All
10:00 - 11:00 Marker Identification Noor
11:00 - 11:10 Break
11:10 - 11:30 Workflow Summary Will
11:30 - 11:45 Overview and Final Q & A All
11:45- 12:00 Wrap Up Will

Other Relevant HBC Workshops

  • Differential Expression with scRNA-seq
  • Introduction to Spatial Transcriptomics

Resources

We have covered the analysis steps in quite a bit of detail for scRNA-seq exploration of cellular heterogeneity using the Seurat package. For more information on topics covered, we encourage you to take a look at the following resources:

Seurat-focused

  • Seurat vignettes
  • Seurat cheatsheet
  • Satija Lab: Single Cell Genomics Day
  • Additional information about cell cycle scoring
  • A nice explanation on CCA and cell label transfer in Seurat

Scaling up: scRNA-seq analysis on HPC

  • Using RStudio on O2
    • HMSRC wiki page
    • HBC RStudio on O2 tutorial

Cell type annotation

  • Databases with markers for manual annotation
    • CellMarker 2.0
    • Cell type signature gene sets from MSigDb
    • CELL x GENE from CZI
  • Reference-based automated celltype annotation
    • Azimuth
    • Celltypist

Highlighted papers

  • “Sampling time-dependent artifacts in single-cell genomics studies.” Massoni-Badosa et al. 2019
  • “Dissociation of solid tumor tissues with cold active protease for single-cell RNA-seq minimizes conserved collagenase-associated stress responses.” O’Flanagan et al. 2020
  • “Systematic assessment of tissue dissociation and storage biases in single-cell and single-nucleus RNA-seq workflows.” Denisenko et al. 2020
  • “Confronting false discoveries in single-cell differential expression”, Nature Communications 2021
  • Single-nucleus and single-cell transcriptomes compared in matched cortical cell types
  • A single-cell and single-nucleus RNA-Seq toolbox for fresh and frozen human tumors
  • Ligand-receptor analysis with CellphoneDB
  • Best practices for single-cell analysis across modalities

Other online scRNA-seq courses:

  • OSCA with Bioconductor
  • DFCI/Shirley Liu
  • Wellcome Sanger Institute/Hemmberg Lab
  • ISCB Workshop
  • Broad workshop
  • SciLifeLab workshop
Source Code
---
title: Schedule - Introduction to scRNA-seq
sidebar: false
toc: false
execute: 
  eval: false
page-layout: custom
---

## Pre-reading

1. [Introduction to scRNA-seq](../lessons/01_intro_to_scRNA-seq.qmd)
2. [Raw Data to Count Matrix](../lessons/02_generation_of_count_matrix.qmd)
3. [Download this project](https://www.dropbox.com/scl/fi/pnnlp0pyaqbrqbfyfoidu/scrna_python_r_update.zip?rlkey=gz03gsqvg0l74fsxnwalw86mm&dl=1)

## Day 1

| Time |  Topic  | Instructor |
|:-----------:|:----------:|:--------:|
| 09:30 - 09:45 | [Workshop Introduction](../slides/workshop_intro_slides.pdf) | Will |
| 09:45 - 10:35| [Bioinformatics begins at the bench:<br> How experimental decisions shape single-cell RNA-seq analyses](../slides/08112026_scRNAseq_workshop_Arpita_Kulkarni.pdf) | [Dr. Arpita Kulkarni](https://research.bidmc.org/omics/news/introducing-dr-arpita-kulkarni-co-director-functional-genomics-and-bioinformatics-core) |
| 10:35 - 10:40 | Break |
| 10:40 - 11:00 | scRNA-seq pre-reading discussion | Noor |
| 11:00 - 11:45 | [Quality Control Set-up](../lessons/03_quality_control-setup.qmd) | Noor |
| 11:45 - 12:00 | Overview of self-learning materials and homework submission | Will |

### Before the next class:

I. Please **study the contents** and **work through all the code** within the following lessons:
 
**1. [Cell Ranger Quality Summaries](../lessons/04_cellranger_QC.qmd)**
   
:::{.callout-note collapse="true"}
# Cell Ranger Quality Summaries - Preview
Before you start any analysis, it’s important to know whether or not you have good quality cells. At these early stages you can flag or remove samples that could produce erroneous results downstream.
   
In this lesson, you will:
   
- Discuss the outputs of CellRanger and how to run it  
- Review web summary HTML report  
- Create plots from metrics_summary.csv file

:::

**2. [Theory of PCA](../lessons/06_theory_of_PCA.qmd)**
   
:::{.callout-note collapse="true"}
# Theory of PCA - Preview
Before we can begin the next steps of the workflow, we need to make sure you have a good understanding of Principal Components Analysis (PCA). This method will be utilized in the scRNA-seq analysis workflow, and this foundation will help you better navigate those steps and interpretation of results.
   
In this lesson, you will:
   
- Review the mathematical concepts behind PCA  
- Understand how PCA reduces dimensionality in high-throughput data  
- Interpret PCA plots in the context of scRNA-seq analysis

:::

II. **Submit your work**:
* Each lesson above contains exercises; please go through each of them.
* **Submit your answers** to the exercises using [this Google form](https://forms.gle/u1WhMJEXx9T9yUkCA) on **the day *before* the next class**.
   

### Questions?
* ***If you get stuck due to an error*** while runnning code in the lesson, [email us](mailto:hbctraining@hsph.harvard.edu) 

***

## Day 2

| Time |  Topic  | Instructor |
|:-----------:|:----------:|:--------:|
| 09:30 - 10:00 | Self-learning lessons discussion | All |
| 10:00 - 10:45 | [Quality Control with Additional Metrics](../lessons/05_quality_control.qmd) | Will |
| 10:45 - 10:50 | Break |
| 10:50 - 11:40 | [Normalization, Variance, and PCA](../lessons/07_normalization.qmd) | Noor |
| 11:40 - 12:00 | [Introduction to Integration Theory](../lessons/08_integration_theory.qmd) | Noor |


### Before the next class:

I. Please **study the contents** and **work through all the code** within the following lesson:

**1. [Running Integration and Complex Integration Tasks](../lessons/09_integration_code_harmony.qmd)**
   
:::{.callout-note collapse="true"}
# Running Integration and Complex Integration Tasks - Preview

In class, we described the theory of integration and in what situations we would implement it.
   
In this lesson, you will:
   
- Run the code to implement CCA integration  
- Evaluate the effect of integration on the UMAP  
- Learn about methods for complex integration tasks (Harmonizing samples)

:::

There are no exercises from this lesson, but please add any questions to [this Google Form](https://forms.gle/eKbUjZzQwXuinZBLA)on **the day *before* the next class**.

### Questions?
* ***If you get stuck due to an error*** while runnning code in the lesson, [email us](mailto:hbctraining@hsph.harvard.edu) 


***

## Day 3

| Time |  Topic  | Instructor |
|:-----------:|:----------:|:--------:|
| 09:30 - 10:00 | Self-learning lessons discussion | Noor |
| 10:00 - 11:00 | [Clustering](../lessons/10_clustering.qmd) | Noor |
| 11:00 - 11:05 | Break |
| 11:05 - 12:00 | [Clustering Quality Control](../lessons/11_clustering_quality_control.qmd) | Will |


### Before the next class:

I. Please **study the contents** and **work through all the code** within the following lesson:

**1. [Seurat Cheatsheet](../lessons/12_seurat_cheatsheet.qmd)**

:::{.callout-note collapse="true"}
# Seurat Cheatsheet - Preview
At this point, we have populated our Seurat object with many different pieces of information. Knowing how to access different values will allow you to interact more efficiently with your dataset.
 
In this lesson, you will:
 
- Explore the different parts of a Seurat object  
- Use the built-in functions from the Seurat package for visualizations  
- Retrieve data efficiently from the Seurat object for downstream analyses

:::

II. **Submit your work**:
* The lesson above contains exercises; please go through each of them.
* **Submit your answers** to the exercises using [this Google form](https://forms.gle/AW1AGXxAyQdJBRYT9) on **the day *before* the next class**.

### Questions?
* ***If you get stuck due to an error*** while runnning code in the lesson, [email us](mailto:hbctraining@hsph.harvard.edu) 


***

## Day 4

| Time |  Topic  | Instructor |
|:-----------:|:----------:|:--------:|
| 9:30 - 10:00 | Self-learning lessons discussion | All |
| 10:00 - 11:00 | [Marker Identification](../lessons/13_marker_identification.qmd) | Noor |
| 11:00 - 11:10 | Break |
| 11:10 - 11:30 | [Workflow Summary](../lessons/14_scRNAseq_workflow.qmd) | Will |
| 11:30 - 11:45 | Overview and Final Q & A | All |
| 11:45- 12:00 | [Wrap Up](../slides/Workshop_wrapup.pdf) | Will |

***

## Other Relevant HBC Workshops

- [Differential Expression with scRNA-seq](https://hbctraining.github.io/Pseudobulk-for-scRNAseq-Quarto/)
- [Introduction to Spatial Transcriptomics](https://hbctraining.github.io/Intro-to-spatial-transcriptomics/)

***

## Resources
We have covered the analysis steps in quite a bit of detail for scRNA-seq exploration of cellular heterogeneity using the Seurat package. For more information on topics covered, we encourage you to take a look at the following resources:

### Seurat-focused
- [Seurat vignettes](https://satijalab.org/seurat/vignettes.html)
- [Seurat cheatsheet](https://satijalab.org/seurat/essential_commands.html)
- [Satija Lab: Single Cell Genomics Day](https://satijalab.org/scgd21/)
- [Additional information about cell cycle scoring](../lessons/Aside_cell_cycle_scoring.qmd)
- [A nice explanation on CCA and cell label transfer in Seurat](https://divingintogeneticsandgenomics.com/post/cca-alignment/)

### Scaling up: scRNA-seq analysis on HPC  
- Using RStudio on O2
    - [HMSRC wiki page](https://harvardmed.atlassian.net/wiki/spaces/O2/pages/1623425967/RStudio+on+O2)
    - [HBC RStudio on O2 tutorial](https://hbctraining.github.io/Intro-to-Unix-QMB/lessons/R_studio_on_02.html)

### Cell type annotation
- Databases with markers for manual annotation
  - [CellMarker 2.0](http://bio-bigdata.hrbmu.edu.cn/CellMarker/)
  - Cell type signature gene sets from [MSigDb](https://www.gsea-msigdb.org/gsea/msigdb/human/genesets.jsp?collection=C8)
  - [CELL x GENE from CZI](https://cellxgene.cziscience.com/gene-expression)
- Reference-based automated celltype annotation
  - [Azimuth](https://azimuth.hubmapconsortium.org/)
  - [Celltypist](https://www.celltypist.org/)
 
   
### Highlighted papers

- ["Sampling time-dependent artifacts in single-cell genomics studies."](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-020-02032-0) *Massoni-Badosa et al.* 2019
- ["Dissociation of solid tumor tissues with cold active protease for single-cell RNA-seq minimizes conserved collagenase-associated stress responses."](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1830-0) *O'Flanagan et al.* 2020
- ["Systematic assessment of tissue dissociation and storage biases in single-cell and single-nucleus RNA-seq workflows."](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-020-02048-6) *Denisenko et al.* 2020
- ["Confronting false discoveries in single-cell differential expression", _Nature Communications_ 2021](https://www.nature.com/articles/s41467-021-25960-2)
- [Single-nucleus and single-cell transcriptomes compared in matched cortical cell types](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6306246/)
- [A single-cell and single-nucleus RNA-Seq toolbox for fresh and frozen human tumors](https://www.nature.com/articles/s41591-020-0844-1)
- [Ligand-receptor analysis with CellphoneDB](https://www.nature.com/articles/s41576-020-00292-x)
- [Best practices for single-cell analysis across modalities](https://www.nature.com/articles/s41576-023-00586-w)



### Other online scRNA-seq courses:
  - [OSCA with Bioconductor](http://bioconductor.org/books/release/OSCA/)
  - [DFCI/Shirley Liu](https://liulab-dfci.github.io/bioinfo-combio/)
  - [Wellcome Sanger Institute/Hemmberg Lab](https://www.singlecellcourse.org/)
  - [ISCB Workshop](https://github.com/SingleCellTranscriptomics)
  - [Broad workshop](https://broadinstitute.github.io/2020_scWorkshop/)
  - [SciLifeLab workshop](https://nbisweden.github.io/workshop-scRNAseq/)
 

This lesson has been developed by members of the teaching team at the Harvard Chan Bioinformatics Core (HBC).
A portion of these materials and hands-on activities were adapted from the Satija Lab’s Seurat - Guided Clustering Tutorial