Smart-seq2
A Smart-seq2 analysis takes full-length single-cell RNA-seq, one cell per well of a 96- or 384-well plate, checks it plate by plate, normalises it with pooled size factors and measures the technical noise with the spike-ins. Smart-seq3 and FLASH-seq runs read the same way.
Start a Smart-seq2 analysis
In a project, click New session and choose Smart-seq2 as the kind of analysis.
What to upload
The files your pipeline left, alone or in a .zip or .tar.gz:
- one quantification file per cell: featureCounts, HTSeq-count, STAR
ReadsPerGene.out.tab, RSEM.genes.results(and.isoforms.results), salmonquant.sfor kallistoabundance.tsv. Each file is recognised by its header, and the cell is named after its file, or after its folder when the file has a generic name (salmon'sA01/quant.sf); - a featureCounts table of every BAM, one column per cell;
- a genes × cells count table, as GEO and ArrayExpress have them (a gene length column is recognised and kept apart);
- an AnnData, loom or Seurat file.
Add a table of the cells if you have one: a column with the cells' names and any of plate, well, sample, condition, donor or sorted population. Its columns become the cells' metadata. For salmon or kallisto transcript files, add a transcript-to-gene table (transcript ID, gene ID and optionally the gene name), unless the transcripts carry GENCODE's full names, which name their gene.
Plates and wells
Every cell is placed on its plate and well: from the cell table's plate and well columns, else from the cell's
name (P1_A01, SS2_15_0048_H12 or Tabula Muris' A1.B003290.3_38_F.1.1), else
each uploaded file is a plate. The metadata dialog then asks for the sample, condition and batch of each plate, one
row per plate, unless the cell table already names the samples. ERCC and SIRV spike-ins are set apart from the
genes: they measure the technical noise and can normalise, but they are not clustered or tested.
The workflow
Plate QC replaces the droplet steps (Initial QC, Remove Outliers and Remove Doublets). Wells hold
one sorted cell each, so there are no doublets to look for, and cells fail together by plate. A well with almost no
reads held no cell (a no-cell control or a missed sort) and is named as such. Any other cell is compared with the
cells of its own plate, as scater's isOutlier does with a batch: a cell is removed when its reads or
genes are more than three median absolute deviations below its plate's median, or its mitochondrial or spike-in share
that far above it. Reads, genes and the spike-in share (often under a percent, and skewed) are compared on a log
scale. A plate whose median is itself an outlier among the plates is judged against the others, so its poor wells
cannot hide behind each other; a plate without spike-ins is not judged on them.
Normalize Data divides each cell by a size factor. Read counts depend on which genes a cell
expresses: a cell type with a few very highly expressed genes (acinar cells, plasma cells) would look deeper than it
is by library size. Pooled size factors (Lun, Bach & Marioni 2016, as scran's computeSumFactors) sum
cells in pools of 21 to 101, compare each pool with its cluster's average cell, and solve each cell's factor from all
the pools. Spike-in size factors scale every well to the ERCC added in the same amount, so differences in total RNA
(cell size, cycling) stay in the data; they are compared within each plate, since plates often get another dilution
or mix of the spike-ins. The figure's bottom panel shows each cell's relative log expression: after a
good normalisation every cell's box sits on 0.
Technical Noise & Variable Genes keeps the genes that vary more than the noise does. With
spike-ins, the noise is measured: all their variation is technical, so their squared coefficient of variation is
fitted against their mean, and each gene is tested for variation beyond that fit plus a 50% biological coefficient of
variation (Brennecke et al. 2013). The fit is made plate by plate and the plates' results combined, as scran's
modelGeneVarWithSpikes does with a block, so plates with another spike-in mix do not add false noise.
The genes kept are those that vary the most times over the noise at their own
mean, which favours neither rare nor abundant genes. Without spike-ins, the trend is fitted to the genes themselves
(scran's modelGeneVar).
From the PCA on, the single-cell steps run as they do in a single-cell RNA-seq analysis: integration, the UMAP, clustering, annotation, markers, pseudobulk, trajectories and pathways. The batch is the plate unless you set it in the metadata dialog. When each plate holds one condition, integrating over plates would remove the difference you are looking for: give plates processed together the same batch, or skip integration.
Plate Maps draws the plates with each well coloured by its cluster, cell type or a measure. A cell type that keeps to a few columns is often the sort layout; one that keeps to the edge wells, a plate artefact. The row, column and edge are tested within plates, so a plate effect does not pass for a position effect.
Isoform Usage uses what full-length reads give: which isoforms a gene's reads come from. It needs
transcript-level files at upload (RSEM .isoforms.results, salmon quant.sf or kallisto
abundance.tsv). A gene can switch isoforms between cell types without changing its expression, which
gene-level tests do not see.
Smart-seq2: Picelli et al. 2014, Nat Protoc 9:171. Quality control: McCarthy et al. 2017, Bioinformatics 33:1179 (scater, isOutlier). Pooled size factors: Lun, Bach & Marioni 2016, Genome Biol 17:75. Technical noise from spike-ins: Brennecke et al. 2013, Nat Methods 10:1093. Isoform usage: Gilis et al. 2021, F1000Research 10:374 (satuRn).
Step reference
| Step | Stage | What it does | You get | Key inputs |
|---|---|---|---|---|
| Initial Plot | Setup | Reads every cell's counts, places each cell on its plate and well, and sets the ERCC and SIRV spike-ins apart from the genes. | Every plate's wells coloured by their reads, each cell's reads against the genes it detected, cells per plate, and the spike-ins' share of each cell's reads; a table per plate. | None. |
| Plate QC | QC | Names the empty wells, and removes cells whose reads or genes are far below their plate's, or whose mitochondrial or spike-in share is far above it (scater's isOutlier, plate by plate). A plate that failed as a whole is judged against the other plates. | Every plate with each well coloured by what happened to it, reads against genes, mitochondrial against spike-in share, and the outcome per plate. | Outlier distance: 2.5, 3 (default), 4 or 5 median absolute deviations, within each plate. |
| Normalize Data | QC | Divides each cell by a size factor and takes the log. Pooled size factors (scran) by default; the spike-ins or library size on request. | Pooled against library size factors, the composition bias the pooling removed, spike-in against pooled factors, and each cell's relative log expression before and after. | Size factors: pooled (default), spike-ins or library size. |
| Technical Noise & Variable Genes | QC | Finds the genes that vary between cells more than the technical noise: measured with the spike-ins (Brennecke et al. 2013) when the run has them, else a trend fitted to all genes (scran's modelGeneVar). | Each gene's variation against its mean, with the spike-ins, the noise fit and the variable genes, and the most variable genes. | Noise from: automatic (default), spike-ins or the gene trend; 1,000 to 5,000 genes kept (default 2,000). |
| Plate Maps | Analysis | Draws every plate with its wells coloured by a cluster, a cell type or a measure, and tests whether it depends on the plate, the row, the column or the edge (row, column and edge within plates, by permutation). | The plates, how strongly the value depends on each position with its p-value, and the value per plate. | What to colour by: clusters, cell types, metadata or a measure. |
| Isoform Usage | Analysis | Compares how two groups of cells split each gene's reads among its isoforms: a quasi-binomial model per transcript with dispersions moderated by empirical Bayes, as satuRn does (Gilis et al. 2021). Needs transcript-level files at upload. | Every isoform's change in usage against its FDR, and the six genes that switch most as stacked bars. | What to group by; the two groups (empty: the largest group against the rest). |