Plan factoriel expérimental

Analyse d'expression différentielle avec limma dans R

John Blischak

Instructor

Plans factoriels

  • Plan 2x2 pour étudier l'effet du froid chez les plantes :
    • 2 types d'Arabidopsis thaliana : col, vte2
    • 2 températures : normale, basse
    • Maeda et al. 2010
dim(eset)
Features  Samples 
   11871       12
table(pData(eset)[, c("type", "temp")])
      temp
type   low normal
  col    3      3
  vte2   3      3
Analyse d'expression différentielle avec limma dans R

Modèle à moyennes de groupe pour un plan 2x2

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

  • $\beta_1$ - Niveau moyen d'expression chez les plantes col à température low
  • $\beta_2$ - Niveau moyen d'expression chez les plantes col à température normal
  • $\beta_3$ - Niveau moyen d'expression chez les plantes vte2 à température low
  • $\beta_4$ - Niveau moyen d'expression chez les plantes vte2 à température normal
Analyse d'expression différentielle avec limma dans R

Matrice de conception à moyennes de groupe pour un plan 2x2

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
Analyse d'expression différentielle avec limma dans R

Contrastes pour un plan 2x2

$\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$
Analyse d'expression différentielle avec limma dans R

Matrice de contrastes pour un plan 2x2

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
Analyse d'expression différentielle avec limma dans R

Mise à l'épreuve d'un plan 2x2

library(limma)

# Fit coefficients
fit <- lmFit(eset, design)

# Fit contrasts
fit2 <- contrasts.fit(fit, contrasts = cm)

# Calculate t-statistics
fit2 <- eBayes(fit2)

# Summarize results
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
Analyse d'expression différentielle avec limma dans R

Effet de la sécheresse sur les arbres Populus

  • Plan 2x2 pour étudier l'effet de la sécheresse chez les arbres :
    • 2 types de Populus : DN34, NM6
    • 2 conditions d'eau : normale, sécheresse
    • Wilkins et al. 2009
dim(eset)
Features  Samples 
   16172       12
table(pData(eset)[, c("type", "water")])
      water
type   drought normal
  dn34       3      3
  nm6        3      3
Analyse d'expression différentielle avec limma dans R

Passons à la pratique !

Analyse d'expression différentielle avec limma dans R

Preparing Video For Download...