包含多个组的研究

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

John Blischak

Instructor

包含3个组的研究

  • 3种白血病:ALL、AML、CML
    • Bioconductor包:leukemiasEset
    • Kohlmann 等,2008;Haferlach 等,2010
dim(eset)
Features  Samples
   20172       36
table(pData(eset)[, "type"])
ALL AML CML
 12  12  12
在 R 中使用 limma 进行差异表达分析

3组的组均值模型

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

  • $\beta_1$ - ALL组的平均表达
  • $\beta_2$ - AML组的平均表达
  • $\beta_3$ - CML组的平均表达
  • 检验:
    • AML 对 ALL:$\beta_2 - \beta_1 = 0$
    • CML 对 ALL:$\beta_3 - \beta_1 = 0$
    • CML 对 AML:$\beta_3 - \beta_2 = 0$
在 R 中使用 limma 进行差异表达分析

3组的组均值设计矩阵

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
在 R 中使用 limma 进行差异表达分析

3组的对比矩阵

  • AML 对 ALL:$\beta_2 - \beta_1 = 0$
  • CML 对 ALL:$\beta_3 - \beta_1 = 0$
  • CML 对 AML:$\beta_3 - \beta_2 = 0$

 

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
在 R 中使用 limma 进行差异表达分析

检验3个组

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

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

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

# 汇总结果
results <- decideTests(fit2)
summary(results)
   AMLvALL CMLvALL CMLvAML
-1     898    3401    1890
0    18323   13194   16408
1      951    3577    1874
在 R 中使用 limma 进行差异表达分析

低氧对干细胞功能的影响

  • 3种氧水平:1%、5%、21%
    • Bioconductor包:stemHypoxia
    • Prado-Lopez 等,2010
dim(eset)
Features  Samples
   15325        6
table(pData(eset)[, "oxygen"])
ox01 ox05 ox21
   2    2    2
在 R 中使用 limma 进行差异表达分析

让我们练习!

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

Preparing Video For Download...