Please see <https://pages.github.umn.edu/MSI-RIS/Tutorials/sc_intro/> for the latest version of this tutorial document.

Introduction to Single Cell Genomics

Last Updated: 2026-09-08
Last Delivered: 2026-04-21

Check out the recording of this tutorial and other MSI tutorials on our YouTube channel:
https://www.youtube.com/@UofMMSI/videos

Contact MSI

Our staff can help you access the MSI’s high performance computing resources, design and analyze your experiments!

0. Introduction

0.1 Goals

In this tutorial we will cover the following topics:

Single Cell or Single Nucleus There are many similarities between single cell RNA-seq analysis (scRNA-seq) and single nuclei RNA-seq analysis (snRNA-seq). We will use the term “single cell” throughout this tutorial for simplicity. The majority of the workflow for scRNA-seq is also applicable to snRNA-seq, with some small but important differences for sample preparation and quality control. Details are provided in our Single Cell Experimental Design template

0.2 Brief Introduction to Single Cell Methods

Here we discuss how single cell/nucleus transcriptomes are measured to create a count data matrix containing the expression of each gene for each cell/nucleus.

0.3 Single Cell Experimental Design

In practice, analyzing single cell experiments requires extensive fine tuning depending on the characteristics of the biological system and research questions. MSI Bioinformatics analysts developed this Single Cell Experimental Design template to help you consider important aspects of sample preparation and sequencing.

Some key points from that document include:

We created this table to compare the 3 current types of single cell kits that are used by researchers at UMN. You may find it helpful when you are planning your experiments:

Another important consideration in experimental design is minimizing batch effects. Here we provide an example of how a batch effect can be introduced:

Remember, you can always reach out to MSI RI Bioinformatics for a free of charge consultation to help you with planning your sequencing experiments.

Return to top

1. Single Cell RNA-seq Analysis on MSI

Accessing MSI systems requires that you are either on the UMN campus network (eduroam or Ethernet in a UMN building) or connected to the UMN VPN. Please see https://it.umn.edu/services-technologies/virtual-private-network-vpn for information on connecting to the UMN VPN.

You will also be required to have DUO multi-factor authentication set up. Please see https://it.umn.edu/services-technologies/self-help-guides/duo-set-use-duo-security for information about enrolling your device in DUO.

In this section we will briefly explore how to access MSI resources and get started with your single cell analysis. Our main goals are:

  1. Get familiar with the Open on Demand (OOD) interface
  2. Learn how to request resources from our HPC systems using available interactive apps (Jupyter and RStudio)
  3. Wrangle the large counts matrix resulting from a single cell experiment into a format compatible with the main analysis packages (Scanpy and Seurat)
  4. Generate some common plots for cell populations and gene expression

The software and data needed for this exercise is preinstalled in our systems. We also have created code templates with the commands you will need, please download them to your computer using the following links:

R based package: Seurat

R based package: Seurat

1.1 Open On Demand: files, terminal, interactive apps

Open on Demand (OOD) is web-browser based interface that allows access to MSI resources. We can see the files stored in the system and access computing nodes through a terminal or through graphical user interfaces and interactive apps.

A particularly useful option is the up/download button in the Files tab. This let’s you transfer files between your personal computer and the HPC cluster. Let’s try uploading the code templates into your Home Directory.

Return to top

1.2 Scanpy in Jupyter: Structure of Anndata objects

In this section we’ll cover how to connect to JupyterLabs through OOD, the interface and how to create your first anndata object, which you can then analyze with scanpy. For that I have preinstalled the software needed.

Installing Scanpy

Most certainly you’ll need to install software for your particular analysis. To do so, you could create an environment that contains all the packages. This is a little example with commands to create a conda environment that contains scanpy (and all its dependencies) and that is displayed in your JupyterLabs interface.

        module load miniforge
        today_date=$(date +%d%m%y)
        code_path='/projects/standard/YOUR_GROUP/YOUR_USER/software' #choose a folder where you have writting permissions
        conda create --copy -p $code_path/scanpy_${today_date} scanpy ipykernel
        source activate $code_path/scanpy_${today_date} 
        python -m ipykernel install --user --name SOMETHING1 --display-name SOMETHING2 #You'll see SOMETHING2 in JupyterLabs
        conda deactivate

For a more comprehensive guide on how to install and manage your own software check the Software Management tutorial on our YouTube channel!

Demo checklist:

Return to top

1.3 Seurat in RStudio: Structure of Seurat objects

In this section I’ll briefly show you how to connect to RStudio through OOD, the interface and how to create your first Seurat object. For that I have preinstalled the software needed.

Demo checklist:

Return to top

2: Analysis Considerations

Single cell experiments can be as varied as tissue types and biological questions, so we can’t give you a roadmap of how the analysis should be performed. Instead, this section aims to walk you through the main steps to go from a count matrix to annotated data.

Return to top

3: Exploring Biological Questions

Once you have an annotated dataset you can begin to explore biological questions. This section provides a brief introduction to possible downstream analysis options for annotated single cell RNA-seq data and describes other data types.

Return to top

4. Resources

We hope this tutorial facilitates your introduction to the world of single cell analysis, but there is so much more to explore! The links here point to useful information along the experiment and analysis journey:

Experimental design

Using MSI Resources

Single cell analysis

FEEDBACK CONTACT

Thank you for reading this document, we hope it helps your research! This tutorial was prepared by Natalia Calixto Mancipe, Marissa Macchietto, and Sarah Munro, in the Core Bioinformatics group at MSI. We’d love to hear your feedback, please email us at ribhelp@msi.umn.edu.

Return to top

5. Supplementary Materials

5.1 Exercise: How to download single cell data from GEO

We will use the terminal in OOD to download some scRNA-seq data from GEO. I have selected a small dataset (GEO accession GSM8475184) of human peripheral blood mononuclear cells (PBMCs) from a graft rejection patient to demonstrate the commands. You can explore available datasets at https://www.ncbi.nlm.nih.gov/geo.

The following commands show how I create a folder in my /scratch.global/ space to store the data. When you try this, you’ll see your X500 in place of ‘calix015’.


calix015@ahl03 [~] % cd /scratch.global/$USER/
calix015@ahl03 [/scratch.global/calix015] % mkdir -p sc_tutorial/data/geo
calix015@ahl03 [/scratch.global/calix015] % cd sc_tutorial/data/geo
calix015@ahl03 [/scratch.global/calix015/sc_tutorial] % wget https://ftp.ncbi.nlm.nih.gov/geo/samples/GSM8475nnn/GSM8475184/suppl/GSM8475184_TS2_duringGF_raw_feature_bc_matrix.h5
# you'll see a progress bar, it should take just a few seconds

# Let's see the contents of the folder with the ls command:
calix015@ahl03 [/scratch.global/calix015/sc_tutorial] % ls
# you should see this file: GSM8475184_TS2_duringGF_raw_feature_bc_matrix.h5

Accessing single cell data from UMGC

If your laboratory works with the UMGC, your sequencing data will be delivered directly to your MSI storage space. You can find it in the appropriate folder /projects/standard/YOUR_GROUP/data_delivery/umgc/, where YOUR_GROUP is the MSI space name assigned to your lab. You can use the OOD file system to find it!

Return to top

Glossary

This section describes the specialized terms that we use in this tutorial. Synonyms for some terms are also included.

Molecular Biology (Wet Bench) Terms

Bioinformatic Terms