Monash University · FACULTY OF BIOLOGY

BMS5021 · Introduction to Bioinformatics

- one subject, every graph, every model, every mark
Biology14 Chapters9-page Bible
Our own words - no uploaded lecturer files
Updated for this semester
Chapter 6 of 11 · BMS5021

Gene Expression & Differential Expression

Week 7 of Monash University BMS5021 is the analytical climax of Topic 2: quantifying expression by counting reads per gene, normalising for gene length and library depth (RPKM/FPKM, CPM, TMM), and testing for differential expression with edgeR, then visualising with the volcano plot and interpreting with GO enrichment. This is the engine of the Topic 2 report - the RNA-seq differential-expression pipeline on a colorectal-cancer dataset - so the normalisation maths and the interpretation of edgeR output are the most assessable content in the unit.

In this chapter

What this chapter covers

  • 01Raw read count for a gene depends on expression x gene length x library size, so normalisation is required
  • 02RPKM/FPKM = (10^9 x C) / (N x L): C = reads for the gene, N = total library reads, L = gene length (bp); normalises for length AND depth
  • 03CPM filter for lowly-expressed genes: keep genes with >0.7 CPM in at least 2 samples
  • 04TMM (Trimmed Mean of M-values) normalisation (edgeR calcNormFactors) corrects library-size differences without skew from highly-expressed genes
  • 05edgeR pipeline: counts -> DGEList -> filter -> calcNormFactors -> design/contrast -> estimateDisp -> glmQLFit -> glmQLFTest
  • 06topTags output columns: logFC (log2, vs reference), logCPM, F, PValue, FDR; null = no difference for a gene
  • 07Multiple-testing problem: 0.05 x 20,000 genes = 1,000 false positives; correct with Benjamini-Hochberg FDR (liberal) or Bonferroni FWER (conservative)
  • 08Volcano plot: x = log2 fold-change, y = -log10(PValue); GO enrichment (Fisher-like test) interprets the DE gene set
Worked example · free

Compute an RPKM value (Week 7, has_math)

Q [3 marks]. In your Topic 2 RNA-seq analysis, a gene that is 2,000 bp long has 500 reads mapped to it, in a library with 20,000,000 total mapped reads. (a) Using RPKM = (10^9 x C) / (N x L), compute the gene's RPKM. (b) Explain in one line what RPKM normalises for. (c) Before differential-expression testing you filter genes to those with more than 0.7 CPM in at least 2 samples - why filter at all? (3 marks)
  • +1Identify the terms: C = 500 (reads for the gene), N = 20,000,000 (total mapped reads), L = 2,000 (gene length in bp). Substitute into RPKM = (10^9 x C) / (N x L) = (10^9 x 500) / (20,000,000 x 2,000).
  • +1Do the arithmetic. Numerator = 10^9 x 500 = 5 x 10^11. Denominator = 20,000,000 x 2,000 = 4 x 10^10. RPKM = 5 x 10^11 / 4 x 10^10 = 12.5.
  • +1Interpret and justify filtering. RPKM normalises a raw count for BOTH gene length (longer genes collect more reads) and library depth (bigger libraries give more reads overall), making values comparable across genes and samples. You filter out lowly-expressed genes (e.g. <=0.7 CPM in fewer than 2 samples) because they carry little information, are dominated by noise, and inflate the multiple-testing burden - removing them improves the statistical power of the DE test.
(a) RPKM = (10^9 x 500) / (20,000,000 x 2,000) = 5x10^11 / 4x10^10 = 12.5. (b) It normalises a raw read count for both gene length and library depth. (c) Low-CPM genes are mostly noise and add to the multiple-testing burden, so filtering them raises the power and reliability of the differential-expression test.
Sia tip — Keep the units straight - length in bp, not kb, when you use the 10^9 form (the 10^9 already folds in the per-kilobase and per-million factors). Sanity-check the magnitude. Ask Sia to give you fresh RPKM/CPM numbers to compute and to verify your arithmetic before you put it in the report.
Glossary

Key terms

RPKM / FPKM
Reads (or Fragments) Per Kilobase per Million: RPKM = (10^9 x C) / (N x L), with C = gene reads, N = total library reads, L = gene length in bp. Normalises a count for gene length and library depth.
CPM (counts per million)
Counts per million mapped reads, used to filter lowly-expressed genes; the taught rule keeps genes with more than 0.7 CPM in at least 2 samples before differential-expression testing.
TMM normalisation
Trimmed Mean of M-values, edgeR's calcNormFactors method: it corrects for library-size differences while ignoring the skew from a few highly-expressed genes, so most genes are comparable across samples.
logFC (log2 fold-change)
The log2 ratio of a gene's expression between conditions, measured relative to the reference group. Positive = up in the test group; each unit is a doubling. Reported by edgeR's topTags.
FDR (Benjamini-Hochberg)
The false-discovery rate, an adjusted p-value that controls the expected PROPORTION of false positives among genes called significant - the appropriate threshold when testing thousands of genes. Bonferroni (FWER) is the stricter alternative.
Volcano plot
A scatter plot of log2 fold-change (x-axis) against -log10(PValue) (y-axis); genes far up and to the sides are both strongly and significantly changed, with threshold lines drawn on the plot.
FAQ

Gene Expression & Differential Expression FAQ

How central is this chapter to the assessment?

It is the core of the Topic 2 data-analysis report (35%). The whole assessed task is an RNA-seq differential-expression pipeline on a colorectal-cancer dataset, and Week 7 supplies the normalisation, the edgeR differential-expression test, the volcano plot and GO interpretation. Getting the normalisation right and interpreting the topTags output correctly is what the marks turn on. Confirm the dataset and rubric on Moodle.

Why not just compare raw read counts between samples?

Because a raw count depends on three things at once - the gene's true expression, its length (longer genes collect more reads), and the library's total depth (bigger libraries give more reads everywhere). Two genes or two samples are not comparable until you remove the length and depth effects, which is what RPKM/FPKM and TMM do. Comparing raw counts directly would confound real biology with technical artefacts.

Should I threshold on the PValue or the FDR?

On the FDR. When you test ~20,000 genes at a raw p-value of 0.05 you expect about 1,000 false positives by chance alone. The Benjamini-Hochberg FDR adjusts for this by controlling the proportion of false discoveries among your called genes, so you report and threshold on FDR (with logFC), not the raw PValue. Bonferroni is the stricter, more conservative option if you must avoid any false positive.

Can AI help me interpret my edgeR output?

Yes. Sia can explain what each topTags column means, help you read the sign of logFC relative to the reference group, walk through why you filter low-CPM genes and TMM-normalise, and talk through a volcano plot - step by step, checking your reasoning. It does not write your graded report or run your analysis for you, and Monash University academic-integrity rules apply; follow the report's AI-acknowledgement rules on Moodle.

Study strategy

Exam move

This week earns the most marks, so over-practise the two things markers scrutinise: normalisation and interpretation. Compute RPKM/FPKM and CPM by hand from raw counts until the formula and units are automatic (length in bp with the 10^9 form), and know why you filter low-CPM genes and TMM-normalise before testing. Then rehearse reading edgeR topTags output: state direction relative to the reference group, back-transform logFC to a fold-change, and judge significance on the FDR, not the raw PValue - and be able to explain the multiple-testing problem (0.05 x 20,000 = 1,000) and its two corrections. Run the full pipeline on the workshop dataset and produce a volcano plot. Ask Sia to set fresh normalisation problems and topTags rows to interpret and to check your working. Confirm the report rubric and AI rules on Moodle.

Working through Gene Expression & Differential Expression in BMS5021? Sia is AskSia’s AI Biology tutor — ask any BMS5021 Gene Expression & Differential Expression question and get a clear, step-by-step explanation grounded in how BMS5021 is taught and assessed. Read this chapter free, then take your hardest questions to Sia.

A+Everything unlocked
Unlocks this Bible + all 12 of your Monash University subjects - and 1,000+ Bibles across every Australian university.
Sia - your BMS5021 tutor, unlimited, worked the way the exam marks it
The full 9-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$25/ month
30-day money-back · cancel in one tap · how it works
BMS5021 · Introduction to Bioinformatics - independent study guide on the AskSia Library. More Monash University subjects · Microeconomics across all universities
Unlock the full BMS5021 Bible + 12 Monash University subjects解锁完整 BMS5021 Bible + Monash University 12 门科目
$25/mo