析因实验设计

在 R 中使用 limma 进行差异表达分析

John Blischak

Instructor

析因设计

  • 2×2 设计研究低温对植物的影响:
    • 2 种拟南芥(Arabidopsis thaliana):col,vte2
    • 2 个温度:正常,低温
    • Maeda 等,2010 年
dim(eset)
Features  Samples 
   11871       12
table(pData(eset)[, c("type", "temp")])
      temp
type   low normal
  col    3      3
  vte2   3      3
在 R 中使用 limma 进行差异表达分析

2×2 析因的组均值模型

$$ Y = \beta_1 X_1 + \beta_2 X_2 + \beta_3 X_3 + \beta_4 X_4 + \epsilon $$

  • $\beta_1$ - col 植株在 low 温度下的平均表达
  • $\beta_2$ - col 植株在 normal 温度下的平均表达
  • $\beta_3$ - vte2 植株在 low 温度下的平均表达
  • $\beta_4$ - vte2 植株在 normal 温度下的平均表达
在 R 中使用 limma 进行差异表达分析

2×2 析因的组均值设计矩阵

group <- with(pData(eset), 
              paste(type, temp, sep = "."))
group <- factor(group)
design <- model.matrix(~0 + group)
colnames(design) <- levels(group)
head(design, 3)
  col.low col.normal vte2.low vte2.normal
1       0          1        0           0
2       0          1        0           0
3       0          1        0           0
colSums(design)
    col.low  col.normal    vte2.low vte2.normal 
          3           3           3           3
在 R 中使用 limma 进行差异表达分析

2×2 析因的对比

$\beta_1$ $\beta_2$ $\beta_3$ $\beta_4$
type col col vte2 vte2
temp low normal low normal
  • Differences of type in normal temp: $\beta_4 - \beta_2 = 0$
  • Differences of type in low temp: $\beta_3 - \beta_1 = 0$
  • Differences of temp in vte2 type: $\beta_3 - \beta_4 = 0$
  • Effect of temp in col type: $\beta_1 - \beta_2 = 0$
  • Differences of temp between col and vte2 type: $(\beta_3 - \beta_4) - (\beta_1 - \beta_2) = 0$
在 R 中使用 limma 进行差异表达分析

2×2 析因对比矩阵

library(limma)
cm <- makeContrasts(type_normal = vte2.normal - col.normal,
                    type_low = vte2.low - col.low,
                    temp_vte2 = vte2.low - vte2.normal,
                    temp_col = col.low - col.normal,
                    interaction = (vte2.low - vte2.normal) -(col.low - col.normal),
                    levels = design)
cm
             Contrasts
Levels        type_normal type_low temp_vte2 temp_col interaction
  col.low               0       -1         0        1          -1
  col.normal           -1        0         0       -1           1
  vte2.low              0        1         1        0           1
  vte2.normal           1        0        -1        0          -1
在 R 中使用 limma 进行差异表达分析

检验 2×2 析因

library(limma)

# 拟合系数
fit <- lmFit(eset, design)

# 拟合对比
fit2 <- contrasts.fit(fit, contrasts = cm)

# 计算 t 统计量
fit2 <- eBayes(fit2)

# 汇总结果
results <- decideTests(fit2)
summary(results)
   type_normal type_low temp_vte2 temp_col interaction
-1           0      466      1635     1885         128
0        11871    10915      7635     6989       11640
1            0      490      2601     2997         103
在 R 中使用 limma 进行差异表达分析

干旱对杨树的影响

  • 2×2 设计研究干旱对树木的影响:
    • 2 种杨属(Populus):DN34、NM6
    • 2 种水分:正常、干旱
    • Wilkins 等,2009 年
dim(eset)
Features  Samples 
   16172       12
table(pData(eset)[, c("type", "water")])
      water
type   drought normal
  dn34       3      3
  nm6        3      3
在 R 中使用 limma 进行差异表达分析

开始练习吧!

在 R 中使用 limma 进行差异表达分析

Preparing Video For Download...