Bioinfo, bench to analysis · an interactive tutorial
⭑ Try OmicOne
Chapter 3Bench & sequencing

Cell barcodes, UMIs and reverse transcription

Once the gel bead dissolves inside its droplet, it releases a large number of primers. The poly(dT) at their tip grabs the poly(A) tail of each mRNA, and reverse transcription writes two labels into every cDNA: a cell barcode for which cell it came from, and a UMI for which molecule it is. Everything counted later depends on reading these two labels correctly.

The primers on a gel bead

Each gel bead carries many oligonucleotides of the same design. Starting from the bead, they contain:

  1. The Illumina Read 1 primer sequence, where Read 1 will start during sequencing.
  2. The cell barcode, identical on every oligo of one bead, different between beads, and drawn from a predefined whitelist.
  3. The UMI, a random sequence that differs on every oligo of the bead.
  4. poly(dT), a run of T that pairs with the mRNA’s poly(A) tail: poly(dT) capture.

Barcode and UMI lengths depend on the chemistry version:

Chemistry Cell barcode UMI
3′ v1 (the pbmc3k example) 14 bp 10 bp
3′ v2 16 bp 10 bp
3′ v3 / v3.1 16 bp 12 bp

When this tutorial describes a structure in detail, it uses the current v3/v3.1. The pbmc3k data were produced in 2016 with the older v1 chemistry, so keep the difference in mind.

Reverse transcription, amplification and UMI collapsing

After poly(dT) pairs with the poly(A) tail, reverse transcriptase copies the mRNA into cDNA. At the 5′ end of the mRNA it adds a few extra bases; a template-switch oligo (TSO) pairs with them and the enzyme switches template and keeps going. Every cDNA now has known sequences at both ends, so all of them can be amplified by the same PCR.

After reverse transcription the emulsion is broken and the cDNA from all droplets is pooled. Pooling is fine, because each cDNA already carries its barcode. Then comes PCR, and with it a problem: molecules amplify unevenly, so one molecule may give 3 reads and another 30. Counting reads would measure amplification efficiency, not molecules.

UMIs solve this. All PCR copies of one molecule share its UMI, so reads with the same cell, gene and UMI are collapsed into one molecule. Every number in the count matrix is a UMI count.

Note also that only part of a cell’s mRNA molecules are captured and reverse-transcribed. Lowly expressed genes therefore often read 0, which does not mean the cell does not express them.

Common pitfalls

  • Using read counts as expression. The unit of single-cell 3′ data is the UMI; read counts mostly reflect amplification and depth.
  • Reading a zero as “not expressed”. Capture is incomplete; most zeros for lowly expressed genes are molecules that were missed.
  • Expecting 3′ data to resolve isoforms or mutations. Reads sit at the 3′ end, so most splice isoforms are invisible and mutations far from the 3′ end are not covered; those questions need full-length or targeted methods.
  • Mixing chemistry settings. Barcode length, whitelist and read layout all differ; Cell Ranger usually detects the chemistry automatically, but check it when detection fails.