Gói limma

Phân tích Biểu hiện khác biệt với limma trong R

John Blischak

Instructor

Ưu điểm của gói limma

  • Kiểm định hàng nghìn gene sẽ cần rất nhiều mã lặp khuôn mẫu
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
}
  • Cải thiện suy luận bằng cách chia sẻ thông tin giữa các gene

  • Nhiều hàm cho tiền/xử lý sau (xem Ritchie et al., 2015 để tổng quan)

biocManager::install("limma")
Phân tích Biểu hiện khác biệt với limma trong R

Xác định mô hình tuyến tính

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

  • $Y$ - Mức biểu hiện của gene
  • $B_0$ - Mức biểu hiện trung bình ở ER-âm tính
  • $B_1$ - Chênh lệch trung bình mức biểu hiện ở ER-dương tính
  • $X_1$ - Trạng thái ER: 0 = âm tính, 1 = dương tính
  • $\epsilon$ - Nhiễu ngẫu nhiên
Phân tích Biểu hiện khác biệt với limma trong R

Xác định mô hình tuyến tính trong 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
Phân tích Biểu hiện khác biệt với limma trong R

Kiểm định với limma

library(limma)
# Khớp mô hình
fit <- lmFit(eset, design)
# Tính thống kê t
fit <- eBayes(fit)
# Tóm tắt kết quả
results <- decideTests(fit[, "er"])
summary(results)
   erpositive
-1       6276
0       11003
1        5004
Phân tích Biểu hiện khác biệt với limma trong R

Cùng luyện tập nào!

Phân tích Biểu hiện khác biệt với limma trong R

Preparing Video For Download...