Pseudobulk Analysis for Single-Cell RNA-seq
Pseudobulk analysis aggregates single-cell expression counts across all cells from the same biological donor (or sample) before performing statistical testing. This approach treats each donor as one replicate, which correctly accounts for the non-independence of cells originating from the same individual. If you are analyzing single-cell RNA-seq data where multiple donors exist across conditions, and you want to test for differential expression that generalizes to the population rather than to a particular set of cells, this guide is for you. It is especially relevant for researchers moving from bulk RNA-seq to single-cell experiments who need to avoid inflated false positives caused by treating thousands of cells as independent observations.
At a Glance
| Aspect | Description |
|---|---|
| Core idea | Aggregate raw counts per gene across all cells from each donor, then treat each donor as a single observation in a standard differential expression framework. |
| When to use | Multi-donor studies with at least three donors per condition, where the biological question concerns systematic differences between groups (e.g., disease vs. control). |
| When to avoid | Studies with only one donor per condition (use pseudobulk with caution), or questions focused on rare subpopulations where pseudobulk may dilute the signal. |
| Common tools | Seurat (AggregateExpression), edgeR, DESeq2, limma, Muscat (Bioconductor), scran. |
| Key advantage | Controls for intra-donor correlation and yields correct type I error rates. |
| Key limitation | Reduces effective sample size to the number of donors, limiting power when donors are few. |
Decision Criteria: Pseudobulk vs. Single Cell Level Testing
The decision to use pseudobulk instead of testing each cell as a replicate hinges on the principle of statistical independence. Cells from the same donor share a common environment, genetic background, and technical handling steps. This makes them exchangeable rather than independent. When you treat 10,000 cells from one donor as independent replicates, you artificially inflate your sample size and likely identify thousands of false positive genes.
Pseudobulk solves this by collapsing data to the donor level. Each donor contributes one aggregated count per gene. After aggregation, standard bulk RNA-seq tools such as edgeR or DESeq2 (both supported in Bioconductor [4]) can be applied. The Galaxy Training Network provides detailed workflows that demonstrate this step by step [3].
Use pseudobulk when:
- You have at least 3 donors per condition (more is better).
- You want to make inferences that generalize to the population of donors.
- Your analysis involves differential expression between experimental groups.
Consider single cell level testing (e.g., using a mixed model or generalized linear mixed model) when:
- You have only one or two donors per group and cannot aggregate.
- You need to model cell-level covariates (e.g., cell cycle, library size) explicitly.
- You are exploring within-donor variation, such as differences between cell types.
A practical rule of thumb: if your study design resembles a typical bulk RNA-seq experiment but at higher resolution, pseudobulk is appropriate. If you are looking for rare signals confined to a small number of cells per donor, aggregation may dilute that signal and alternative approaches like a binomial test could be considered.
Practical Workflow: Step by Step
The following workflow assumes you have already performed standard single-cell preprocessing (filtering, normalization, dimensional reduction, clustering, and cell type annotation). The EMBL-EBI Training materials offer an excellent foundation for these upstream steps [2].
1. Generate the Count Matrix per Donor
For each donor, sum the raw unique molecular identifier (UMI) counts (or read counts) across all cells of interest. If you are comparing a specific cell type, sum only those cells. Use a tool like Seurat's AggregateExpression or manual aggregation in R with rowSums on a sparse matrix.
2. Create a Donor Level Expression Object
Build a matrix where rows are genes and columns are donors. Include metadata: donor ID, condition, and any technical covariates (e.g., sequencing batch, donor sex).
3. Filter Lowly Expressed Genes
Remove genes that have low counts across donors. A common filter is to retain genes with at least 10 counts in a minimum number of donors (e.g., at least 2 donors).
4. Normalize and Model Counts
Use a standard bulk RNA-seq pipeline. For example, estimate library size factors and apply a negative binomial model. As demonstrated in a study of circadian rhythms in murine liver, pseudobulk analysis can reveal cell population specific pathways that are masked when treating cells as replicates [7].
5. Run Differential Expression
Apply edgeR or DESeq2 with the design formula ~ condition (or include additional covariates). The test will treat each donor, not each cell, as an observation. Tools like Muscat (Bioconductor) automate this process across multiple cell types.
6. Interpret Results
The output is a list of differentially expressed genes per comparison, with correct p values and false discovery rates. These results are directly comparable to bulk RNA-seq findings and can be validated with external datasets.
Common Mistakes
Mistake 1: Not aggregating raw counts. Some pipelines normalize per cell before aggregating (e.g., log transform then sum). This distorts the count distribution and invalidates the use of count based models. Always aggregate raw counts.
Mistake 2: Using too few donors. With fewer than three donors per condition, pseudobulk loses statistical power. In that case, consider a per cell mixed model or present results as descriptive only. A study on gastric cancer used pseudobulk with several donors per group to reveal hidden mitochondrial expression imbalance, but such findings would be unreliable with only two donors [10].
Mistake 3: Ignoring batch effects. If donors were processed in different batches, include batch as a covariate in the donor level model. Failure to do so can introduce confounding.
Mistake 4: Aggregating over different cell types. Only aggregate within a homogeneous cell type or cluster. Mixing cell types dilutes cell type specific signals. The cell type identification itself should be robust, as highlighted in protocols for extracting stromal cells from single-cell data [6].
Mistake 5: Double dipping. Do not use the same data to both identify cell types and test for differential expression in those types without appropriate cross-validation or independent replication.
Limits and Uncertainty
Pseudobulk is not a universal solution. Its main limitation is the reduction of sample size to the number of donors. With only two or three donors per group, the test may have insufficient power to detect moderate fold changes. Additionally, pseudobulk assumes that all cells from a donor contribute equally to the aggregate, which may not hold if some cells are more abundant or have higher baseline expression. Normalization at the pseudobulk level partially corrects for this, but not perfectly.
Another uncertainty arises when donors have vastly different numbers of cells captured. This can lead to heteroskedasticity across donor level observations. Some methods (e.g., edgeR robust dispersion estimation) handle this better than others. The Galaxy Training Network recommends checking the distribution of library sizes and considering a prior count adjustment [3].
Pseudobulk also cannot answer questions about co-expression or heterogeneity within a donor. For those, single cell level analysis or other methods such as CIBERSORTx (used for deconvolution in breast cancer studies) may be more appropriate [11].
Finally, pseudobulk does not automatically solve the problem of technical noise from different batches or sequencing depths. Careful experimental design and inclusion of technical covariates remain essential, as emphasized in quality control guides for bulk RNA-seq [1].
Frequently Asked Questions
Q: Can I use pseudobulk with only two donors per condition?
A: It is possible, but statistical power will be very low. You may not detect true differences, and false discovery rate control is unreliable. Consider using a mixed model on cells instead, or treat the analysis as exploratory.
Q: Should I normalize before or after aggregation?
A: Normalize after aggregation using procedures designed for count data (e.g., library size normalization in edgeR). Do not normalize single cell counts per cell and then sum, because that distorts the count distribution.
Q: Does pseudobulk work for all cell types simultaneously?
A: No. You should perform pseudobulk separately for each cell type or cluster of interest. Aggregating across all cells from a donor mixes signals and can wash out cell type specific differences.
Q: How do I choose between pseudobulk and a mixed model?
A: Use pseudobulk when you have a reasonable number of donors (at least three per group) and the primary question is about group differences. Use a mixed model when you have few donors but many cells, or when you need to model cell-level covariates.
References and Further Reading
NCBI Bookshelf. Free biomedical books and authoritative technical references on experimental design and quality control. https://www.ncbi.nlm.nih.gov/books/
EMBL-EBI Training. Official training resources for biological data and bioinformatics, including single-cell RNA-seq workflows. https://www.ebi.ac.uk/training/
Galaxy Training Network. Open bioinformatics workflow training materials with practical tutorials for pseudobulk analysis. https://training.galaxyproject.org/
Bioconductor. Open software and documentation for genomic data analysis, including edgeR, DESeq2, and Muscat. https://bioconductor.org/
NCBI Sequence Read Archive. Public repository for high-throughput sequencing data used to validate pseudobulk findings. https://www.ncbi.nlm.nih.gov/sra
Automatic extraction of mesenchymal stromal cells from single-cell RNA-sequencing data of human dental pulp. BioData Min (2025). Demonstrates cell type identification that underpins pseudobulk grouping. https://pubmed.ncbi.nlm.nih.gov/42415183/
Single-Cell RNA Sequencing of Murine Liver Reveals an Aligned Circadian Clock and Cell-Population-Specific Circadian-Regulated Pathways. J Biol Rhythms (2025). An example of pseudobulk used to reveal population-level pathways. https://pubmed.ncbi.nlm.nih.gov/42397025/
Drought and salinity stress remodel Asian rice leaf development through cell-type-specific regulatory programs. New Phytol (2025). Shows cell-type-specific analysis using aggregated donor counts. https://pubmed.ncbi.nlm.nih.gov/42393016/
Müller Glia-Exclusive CLRN1 Expression Drives Non-Cell-Autonomous Photoreceptor Degeneration in Usher Syndrome Type 3A. Invest Ophthalmol Vis Sci (2025). Uses donor-level aggregation to study rare cell types. https://pubmed.ncbi.nlm.nih.gov/42390169/
Single-cell and pseudobulk analyses reveal hidden mitochondrial expression imbalance in gastric cancer. Front Genet (2025). Compares single-cell and pseudobulk approaches in a cancer context. https://pubmed.ncbi.nlm.nih.gov/42382127/
A Multiresolution Breast Cancer CIBERSORTx Resource Validated for Accuracy, Interpretive Limits, and Biological and Clinical Coherence in Tumor Microenvironment Deconvolution. Methods Protoc (2025). Discusses deconvolution approaches that complement pseudobulk. https://pubmed.ncbi.nlm.nih.gov/42347041/
Related Articles
- RNA Sequencing Analysis: From FASTQ Files to Biological Questions
- RNA-seq Quality Control: What to Check Before Differential Expression
- How to Plan a Bulk RNA-seq Differential Expression Study
- Single-Cell RNA-seq Workflow: A Practical Analysis Roadmap
- Single-Cell RNA-seq Quality Control: Cells, Genes, and Mitochondrial Reads