Question 15 of 20 Intermediate Scenario
A differential expression analysis returns thousands of significant genes with small fold changes. What would you check next?
Short answer
First rule out artifacts that create broad small shifts, such as a batch confounded with treatment, a change in cell composition or a normalization problem. Then test against a meaningful fold-change threshold and rank genes by shrunken log fold changes, not by p-values.
Why
The DESeq2 authors point out that the number of significant genes depends as much on sample size and design as on biology, and that well-powered experiments often produce an overwhelmingly long list of hits. With enough samples, tiny but consistent shifts become significant. Some are real biology, and some come from a technical factor that moves many genes a little at once.
So the first job is to check whether a hidden factor lines up with the groups. The second is to ask a sharper statistical question. DESeq2's lfcThreshold argument, with altHypothesis set to greaterAbs, tests whether the absolute log2 fold change is larger than a chosen value.
That is not the same as filtering a standard result by fold change afterwards, because the p-values are computed against the threshold itself. For ranking and plots, lfcShrink with the apeglm method pulls noisy estimates from low-count genes toward zero, so large fold changes that rest on a few reads stop topping the list. A threshold is a scientific choice and should be stated before looking at results, because small, coordinated changes can matter, for example across a pathway.
How to work it through
- Plot PCA colored by every recorded covariate and look for a factor aligned with treatment.
- Inspect the MA plot to see whether the cloud of significant genes is symmetric or shifted one way.
- Check marker genes for the main cell types to see whether composition changed.
- Add any confirmed nuisance factor to the design and refit.
- Rerun the test with lfcThreshold set to a value chosen for biological reasons and altHypothesis set to greaterAbs.
- Rank the final list using apeglm-shrunken log fold changes and report the threshold and its rationale.
An example
In a hypothetical study of 24 treated and 24 control samples, 4,200 genes pass padj below 0.1, with a median absolute log2 fold change of 0.18. PCA shows PC2 tracks RNA extraction batch, and 70 percent of treated samples were extracted in the first batch. With batch added to the design, 1,150 genes pass.
Testing against an absolute log2 fold change of 0.5 leaves 210 genes, and the shrunken ranking puts the expected target genes near the top.
Where the answer stops holding
A partially confounded batch can only be adjusted, not fully separated from treatment, so the estimates stay uncertain. A fold-change threshold discards small effects that may be real and important. Shrinkage helps ranking but is not a substitute for a valid design.
A strong answer covers
- Large sample sizes make small shifts significant
- Check batch, composition and normalization before biology
- Threshold tests with lfcThreshold differ from filtering by fold change afterwards
- Rank by apeglm-shrunken fold changes
Common mistakes
- Filtering significant genes by fold change and treating the p-values as still valid for that question
- Reporting the length of the gene list as the size of the biological effect
- Choosing a fold-change cutoff after seeing which genes it keeps
The interviewer might ask next
How does a threshold test with lfcThreshold change the meaning of the adjusted p-value?