ReadsThe FASTQ files from a 10x Chromium run, one set per sample.
.fastq.gz
The FASTQ files from a 10x Chromium run, one set per sample.
ReferenceA 10x-style reference for your organism, such as GRCh38 for human.
transcriptome
A 10x-style reference for your organism, such as GRCh38 for human.
Sample sheetOne row per sample with its condition and batch, if you have more than one sample.
.csv
One row per sample with its condition and batch, if you have more than one sample.
Before you start
The chemistry the library was made with, for example 3′ v3. It is on the run sheet.
Roughly how many cells were loaded, so you can tell whether the count looks right.
What tissue this is, because a sensible mitochondrial cut-off depends on it.
A few marker genes you already expect to see. They are the quickest check that clustering worked.
Steps
1
Count reads per cell
Uses Cell Ranger
Connect the reads and the reference to Cell Ranger. It assigns reads to cells by their barcode and counts them per gene.
Expected cells
As loaded
A guide for telling cells from empty droplets, not a hard limit.
Before going on, check the estimated cell number, the median genes per cell, and the fraction of reads in cells. A low fraction often means a lot of free-floating RNA in the sample.
2
Filter cells and genes
Uses Scanpy
Remove barcodes that are not real cells, cells that were dying, and genes seen in almost no cells.
Minimum genes per cell
200
Below this, a barcode is usually an empty droplet.
Maximum mitochondrial %
10 to 20
Dying cells leak cytoplasmic RNA and look mitochondria-heavy. Tissues like heart and muscle sit higher.
Minimum cells per gene
3
Drops genes too rare to inform clustering.
Before going on, check the violin plots of genes, counts and mitochondrial share. Set the cut-offs at the tails, and check you have not removed a whole population that is simply smaller.
3
Normalise and pick informative genes
Uses Scanpy
Scale each cell to the same total, log-transform, and keep the genes that vary most between cells.
Highly variable genes
2000
Enough to separate cell types, few enough to keep noise down.
Before going on, check that the marker genes you expected are among the highly variable ones.
4
Cluster
Uses Scanpy
Reduce to principal components, connect each cell to its nearest neighbours, and group them into clusters.
Principal components
30 to 50
Use the point where the variance plot flattens.
Resolution
0.5 to 1.0
Higher gives more, smaller clusters. Try two values and keep the one that matches the biology.
Before going on, check whether clusters follow sample or batch instead of cell type. If one cluster is entirely one sample, that is a batch effect until shown otherwise.
5
Lay out and find markers
Uses UMAP
Embed the cells in two dimensions and test each cluster against the rest for the genes that mark it.
Before going on, check the top markers per cluster against what you know. A cluster with no clear markers is often doublets or low-quality cells that passed the filter.
When it goes wrong
Far fewer cells than were loaded
Likely cause. Low capture, or the cut-off between cells and empty droplets is too strict.What to do. Look at the barcode rank plot from Cell Ranger. A clear knee further down means the cells are there.
Most cells fail the mitochondrial filter
Likely cause. Stressed tissue, or a tissue that is naturally mitochondria-rich.What to do. Raise the cut-off for that tissue and note it, rather than discarding most of the sample.
Clusters line up with samples, not cell types
Likely cause. A batch effect between samples.What to do. Add a batch integration step before clustering, using the batch column from the sample sheet.
A small cluster expressing markers of two cell types
Likely cause. Doublets: two cells captured in one droplet.What to do. Add a doublet detection step after filtering and remove the flagged cells.
With your OK, a cookie lets us see how the site is used, including recordings of visits so we can find what is confusing. Anything you type stays hidden. Privacy