Differential Expression Analysis with limma in R
John Blischak
Instructor
dim(eset)
Features Samples
20172 36
table(pData(eset)[, "type"])
ALL AML CML
12 12 12
$$ Y = \beta_1 X_1 + \beta_2 X_2 + \beta_3 X_3 + \epsilon $$
design <- model.matrix(~0 + type, data = pData(eset))
head(design, 3)
typeALL typeAML typeCML
sample_01 1 0 0
sample_02 1 0 0
sample_03 1 0 0
colSums(design)
typeALL typeAML typeCML
12 12 12
library(limma)
cm <- makeContrasts(AMLvALL = typeAML - typeALL,
CMLvALL = typeCML - typeALL,
CMLvAML = typeCML - typeAML,
levels = design)
cm
Contrasts
Levels AMLvALL CMLvALL CMLvAML
typeALL -1 -1 0
typeAML 1 0 -1
typeCML 0 1 1
library(limma)
# Fit coefficients
fit <- lmFit(eset, design)
# Fit contrasts
fit2 <- contrasts.fit(fit, contrasts = cm)
# Calculate t-statistics
fit2 <- eBayes(fit2)
# Summarize results
results <- decideTests(fit2)
summary(results)
AMLvALL CMLvALL CMLvAML
-1 898 3401 1890
0 18323 13194 16408
1 951 3577 1874
dim(eset)
Features Samples
15325 6
table(pData(eset)[, "oxygen"])
ox01 ox05 ox21
2 2 2
Differential Expression Analysis with limma in R