Experimental Design for RNA-seq

The analysis is only as good as the design. Replicates, batch effects, and the confounding trap: the planning that decides whether your RNA-seq study can work at all.

🟢 Beginner ⏱️ ~25 min 🧠 Concepts, no code

Before you start

Learning objectives

By the end of this lesson you will be able to: explain why biological replicates matter, recognize a batch effect and a confounded design, and describe how to plan an RNA-seq experiment so the analysis can actually work.

The analysis is only as good as the design

No statistical method can rescue a badly planned experiment. The most common reason an RNA-seq study fails is not the code, it is the design: too few replicates, or a batch effect tangled up with the thing you wanted to measure. The good news is that the rules are simple, and knowing them before you sequence anything is the highest-value half-hour in the whole pipeline.

1Replicates: why you need at least three

A biological replicate is a separate, independent sample (a different mouse, a different patient, a different culture). You need several because biology is variable: two untreated samples already differ a little, just by chance. Replicates measure that natural variation, and that is exactly what lets a tool like DESeq2 tell a real treatment effect apart from background noise.

Biological vs technicalThey are not the same

A biological replicate is a different individual or sample. A technical replicate is the same sample measured twice. Only biological replicates capture the variation that matters for differential expression. The common minimum is three biological replicates per group, and more is better.

2Batch effects and the confounding trap

A batch effect is a systematic difference between samples that comes from how they were handled, not the biology: samples prepared on different days, by different people, or sequenced on different lanes can differ in ways that look like real signal. The danger is confounding: if every treated sample was processed on Monday and every control on Tuesday, you can never tell whether a difference is the treatment or the day.

Confounded (bad) Batch ABatch B all treatedall control Balanced (good) Batch ABatch B treated & control inevery batch treated control
If treatment lines up perfectly with batch (top), the two cannot be separated. Spread both conditions across every batch (bottom) and the design is recoverable.

Two defenses: balance and randomize (put some treated and some control samples in every batch), and when a batch is unavoidable, record it and include it in the model, for example a DESeq2 design of ~ batch + condition so the analysis can subtract the batch and still test the condition.

3More replicates beat more depth

People often ask whether to sequence each sample more deeply or to add more samples. For differential expression the answer is usually clear: more biological replicates gives you more power to detect real changes than piling extra reads onto a handful of samples. A modest depth across more replicates wins.

A planning checklist

Before you sequence: at least 3 biological replicates per group; conditions spread across batches, not confounded with them; any unavoidable batch recorded so it can go in the model; and a clear control group. Get these right and the analysis you learned in the flagship lesson will simply work.

Check your understanding

What is the difference between a biological and a technical replicate?
Right. Only biological replicates capture the natural variation that differential expression needs.
For detecting differential expression, which usually helps more?
Correct. More replicates give more power to separate real effects from noise than extra depth on a few samples.
Why do you need biological replicates rather than just sequencing one sample very deeply?
Right. Replicates capture how much samples vary naturally, which is what lets the model judge whether a difference is real.
Every treated sample was processed on Monday and every control on Tuesday. What is the problem?
Exactly. When the condition lines up perfectly with the batch, the two effects cannot be separated. Balance conditions across batches instead.
A batch effect was unavoidable but you recorded which batch each sample came from. How do you handle it in DESeq2?
Correct. Adding batch to the design lets the model account for it and still test the condition cleanly.
Next in Track 3

From reads to a count matrix →