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 et al., 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 the model
fit <- lmFit(eset, design)
# Calculate the t-statistics
fit <- eBayes(fit)
# Summarize results
results <- decideTests(fit[, "er"])
summary(results)
   erpositive
-1       6276
0       11003
1        5004
R에서 limma로 하는 차등 발현 분석

연습해 봅시다!

R에서 limma로 하는 차등 발현 분석

Preparing Video For Download...