Lesson · 40 min · Free
Quality Control: Filtering Problem Cells
Lesson: Quality Control: Filtering Problem Cells body { font-family: sans-serif; line-height: 1.6; margin: 20px; } h1, h2 { color: #2c3e50; } pre { background-color: #ecf0f1; padding: 15px; border-radius: 5px; overflow-x
Computational Biomedicine: From Command Line to Single-Cell
Quality Control: Filtering Problem Cells
In single-cell RNA sequencing (scRNA-seq) analysis, raw data often contains a significant proportion of "problem cells." These are cells that do not accurately represent the biological state of interest due to various technical artifacts or biological anomalies. Failing to identify and remove these cells can lead to skewed results, misinterpretation of cell populations, and erroneous conclusions. Therefore, a crucial initial step in any scRNA-seq workflow is robust quality control (QC) and filtering. Problem cells can arise from several sources: Low-quality cells: Cells that were damaged, lysed, or poorly captured during experimental procedures. These often exhibit very few detected genes or very low total unique molecular identifiers (UMIs). Doublets/Multiplets: Two or more cells captured together and sequenced as a single entity. These can artificially inflate gene expression for certain markers and blur cell type distinctions. Cells with high mitochondrial content: While some cell types naturally have higher mitochondrial activity, an exceptionally high proportion of mitochondrial reads (e.g., >10-15%) often indicates a compromised or dying cell. Mitochondrial RNA is more stable and thus preferentially captured in stressed or apoptotic cells. Cells with high ribosomal content: Similar to mitochondrial content, unusually high ribosomal RNA content can sometimes indicate poor cell quality, though its interpretation is more nuanced and context-dependent. The goal of QC is to systematically identify and remove these problematic cells without inadvertently discarding biologically relevant cell populations. This is typically achieved by setting thresholds on various metrics derived from the scRNA-seq data, such as: Number of detected genes per cell ( nFeature_RNA ): A low number suggests a low-quality cell or an empty droplet. An extremely high number might indicate a doublet. Number of UMIs per cell ( nCount_RNA ): Similar to detected genes, low UMI counts indicate poor capture efficiency or a low-quality cell. High counts can suggest a doublet. Percentage of mitochondrial reads per cell ( percent.mt ): A common indicator of cell viability. High percentages often point to compromised cells. These metrics are usually calculated and stored within the metadata of the single-cell object (e.g., a Seurat object in R or an AnnData object in Python). Visualizing these distributions (e.g., using violin plots or histograms) is essential for determining appropriate filtering thresholds, which can be dataset-specific. Here's an example of how you might calculate mitochondrial percentage and visualize QC metrics using the Seurat package in R: # Load necessary libraries library(Seurat) library(ggplot2) # Assuming 'pbmc.data' is your raw count matrix # Create a Seurat object pbmc Once the thresholds are determined, cells falling outside these acceptable ranges are removed from the dataset. This filtering step significantly cleans the data, allowing subsequent normalization, dimensionality reduction, and clustering analyses to be more accurate and biologically meaningful. Here's how you might apply filtering thresholds in R using Seurat: # Filter cells based on QC metrics # For example, keep cells with: # - more than 200 and less than 2500 detected features # - less than 5% mitochondrial reads pbmc 200 & nFeature_RNA
Key Takeaways
Quality control is a critical first step in scRNA-seq analysis to remove problematic cells. Common metrics for QC include number of detected genes, total UMI counts, and percentage of mitochondrial reads. High mitochondrial content often indicates dying or stressed cells. Visualizing QC metrics helps in determining appropriate, dataset-specific filtering thresholds. Filtering removes low-quality cells and potential doublets, leading to more robust downstream analysis.
Practice Exercise
Imagine you are analyzing a scRNA-seq dataset from human pancreatic islets. After calculating QC metrics, you observe that the median percent.mt is around 8%, but there's a long tail extending to 30%. The nFeature_RNA distribution shows a clear peak around 2000 features, with a small number of cells having fewer than 100 features and a few outliers with more than 6000 features. Based on this information, propose a set of filtering thresholds for nFeature_RNA and percent.mt . Justify your choices, considering the potential biological implications of overly aggressive or lenient filtering.
Watch the full lesson — free
This topic is part of Computational Biomedicine: From Command Line to Single-Cell, a complete AI-narrated video course. Press play once and watch the entire lecture like a movie.
Start the course free →