limma 套件

使用 R 中的 limma 進行差異表達分析

John Blischak

Instructor

limma 套件的優點

  • 要測試成千上萬基因,會寫出大量樣板程式碼
pval <- numeric(length = nrow(x))
r2 <- numeric(length = nrow(x))
for (i in 1:nrow(x)) {
  mod <- lm(x[i, ] ~ p[, "er"])
  result <- summary(mod)
  pval[i] <- result$coefficients[2, 4]
  r2[i] <- result$r.squared
}
  • 透過跨基因共享資訊來提升推論效能

  • 提供許多前、後處理函式(總覽見 Ritchie 等,2015

biocManager::install("limma")
使用 R 中的 limma 進行差異表達分析

指定線性模型

$$ Y = \beta_0 + \beta_1 X_1 + \epsilon $$

  • $Y$-基因的表現量
  • $B_0$-ER 陰性時的平均表現量
  • $B_1$-ER 陽性相對的平均表現差
  • $X_1$-ER 狀態:0 = 陰性,1 = 陽性
  • $\epsilon$-隨機雜訊
使用 R 中的 limma 進行差異表達分析

在 R 中指定線性模型

model.matrix(~<explanatory>, data = <data frame>)
design <- model.matrix(~er, data = pData(eset))
head(design, 2)
      (Intercept) erpositive
VDX_3           1          0
VDX_5           1          1
colSums(design)
(Intercept)  erpositive 
        344         209
table(pData(eset)[, "er"])
negative positive 
     135      209
使用 R 中的 limma 進行差異表達分析

使用 limma 進行檢定

library(limma)
# 配適模型
fit <- lmFit(eset, design)
# 計算 t 統計量
fit <- eBayes(fit)
# 摘要結果
results <- decideTests(fit[, "er"])
summary(results)
   erpositive
-1       6276
0       11003
1        5004
使用 R 中的 limma 進行差異表達分析

一起來練習吧!

使用 R 中的 limma 進行差異表達分析

Preparing Video For Download...