Summary and Setup

In the last few years, the profiling of a large number of genome-wide features in individual cells has become routine. Consequently, a plethora of tools for the analysis of single-cell data has been developed, making it hard to understand the critical steps in the analysis workflow and the best methods for each objective of one’s study.

This tutorial aims to provide a solid foundation in using Bioconductor tools for single-cell RNA-seq (scRNA-seq) analysis by walking through various steps of typical workflows using example datasets.

This tutorial is based on the the online book “Orchestrating Single-Cell Analysis with Bioconductor” (OSCA), started in 2018 and continuously updated by many contributors from the Bioconductor community. Like the book, this tutorial strives to be of interest to the experimental biologists wanting to analyze their data and to the bioinformaticians approaching single-cell data.

This is a new lesson built with The Carpentries Workbench.

Prerequisites

  • Install R, RStudio and packages (see below).

R and RStudio

  • R and RStudio are separate downloads and installations. R is a programming language and collection of software that implements that language. RStudio is a graphical integrated development environment (IDE) that makes using R much easier and more interactive. You need to install R before you install RStudio. After installing both programs, you will need to install some R libraries from within RStudio. Follow the instructions below for your operating system, and then follow the instructions to install packages.

You are running Windows


  • Open RStudio, and click on “Help” > “Check for updates”. If a new version is available, quit RStudio, and download the latest version for RStudio.
  • To check which version of R you are using, start RStudio and the first thing that appears in the console indicates the version of R you are running. Alternatively, you can type sessionInfo(), which will also display which version of R you are running. Go on the CRAN website and check whether a more recent version is available. If so, please download and install it. You can check here for more information on how to remove old versions from your system if you wish to do so.
  • Follow the steps in the instructions for everyone at the bottom of this page.
  • Download R from the CRAN website.
  • Run the .exe file that was just downloaded
  • Go to the RStudio download page
  • Under All Installers select RStudio xxxx.yy.zz-uuu.exe - Windows 10/11 (where x, y, z, and u represent version numbers)
  • Double click the file to install it
  • Once it’s installed, open RStudio to make sure it works and you don’t get any error messages
  • Follow the steps in the instructions for everyone at the bottom of this page.

You are running macOS


  • Open RStudio, and click on “Help” > “Check for updates”. If a new version is available, quit RStudio, and download the latest version for RStudio.
  • To check the version of R you are using, start RStudio and the first thing that appears on the terminal indicates the version of R you are running. Alternatively, you can type sessionInfo(), which will also display which version of R you are running. Go on the CRAN website and check whether a more recent version is available. If so, please download and install it.
  • Follow the steps in the instructions for everyone at the bottom of this page.
  • Download R from the CRAN website.
  • Select the .pkg file for the latest R version
  • Double click on the downloaded file to install R
  • It is also a good idea to install XQuartz (needed by some packages)
  • Go to the RStudio download page
  • Under All Installers select RStudio xxxx.yy.zz-uuu.dmg - macOS 10.15+ (where x, y, z, and u represent version numbers)
  • Double click the file to install RStudio
  • Once it’s installed, open RStudio to make sure it works and you don’t get any error messages.
  • Follow the steps in the instructions for everyone at the bottom of this page.

You are running Linux


  • Follow the instructions for your distribution from CRAN, they provide information to get the most recent version of R for common distributions. For most distributions, you could use your package manager (e.g., for Debian/Ubuntu run sudo apt-get install r-base, and for Fedora sudo yum install R), but we don’t recommend this approach as the versions provided by this are usually out of date. In any case, make sure you have at least R 4.2.0.
  • Go to the RStudio download page
  • Under All Installers select the version that matches your distribution, and install it with your preferred method (e.g., with Debian/Ubuntu sudo dpkg -i rstudio-xxxx.yy.zz-uuu-amd64.deb at the terminal).
  • Once it’s installed, open RStudio to make sure it works and you don’t get any error messages.
  • Follow the steps in the instructions for everyone

For everyone

After installing R and RStudio, you need to install some packages that will be used during the workshop. We will also learn about package installation during the course to explain the following commands. For now, simply start RStudio by double-clicking the icon and enter these commands:

R

install.packages(c("BiocManager", "remotes"))

BiocManager::install(c("AUCell", "batchelor", "BiocNeighbors", 
                       "BiocParallel", "BiocSingular", "BiocStyle", 
                       "bluster", "CuratedAtlasQueryR", "dplyr", 
                       "DropletUtils", "edgeR", "EnsDb.Mmusculus.v79", 
                       "ggplot2", "GSEABase", "MouseGastrulationData",
                       "pheatmap", "scater", "scDblFinder", "scran", 
                       "scuttle", "Seurat", "SeuratData", 
                       "SingleCellExperiment", "SingleR",
                       "TENxBrainData", "zellkonverter"),
                     Ncpus = 4)

On the off chance your computer don’t have multiple CPU cores, remove the Ncpus = 4 argument.

If you’ve worked with Bioconductor packages before, and the installation command offers to update packages that have newer versions, saying something like:

<...long list of packages...>

Update all/some/none? [a/s/n]:

Select n for no. If old packages turn out to be a problem, cross that bridge when you come to it.