Études avec plus de deux groupes

Analyse d'expression différentielle avec limma dans R

John Blischak

Instructor

Une étude avec 3 groupes

  • 3 types de leucémies : ALL, AML, CML
    • Forfait Bioconductor : leukemiasEset
    • Kohlmann et al. 2008, Haferlach et al. 2010
dim(eset)
Features  Samples
   20172       36
table(pData(eset)[, "type"])
ALL AML CML
 12  12  12
Analyse d'expression différentielle avec limma dans R

Modèle à moyennes par groupe pour 3 groupes

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

  • $\beta_1$ : niveau moyen d'expression dans le groupe ALL
  • $\beta_2$ : niveau moyen d'expression dans le groupe AML
  • $\beta_3$ : niveau moyen d'expression dans le groupe CML
  • Tests :
    • AML c. ALL : $\beta_2 - \beta_1 = 0$
    • CML c. ALL : $\beta_3 - \beta_1 = 0$
    • CML c. AML : $\beta_3 - \beta_2 = 0$
Analyse d'expression différentielle avec limma dans R

Matrice de conception à moyennes par groupe pour 3 groupes

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

Matrice des contrastes pour 3 groupes

  • AML c. ALL : $\beta_2 - \beta_1 = 0$
  • CML c. ALL : $\beta_3 - \beta_1 = 0$
  • CML c. 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
Analyse d'expression différentielle avec limma dans R

Tester 3 groupes

library(limma)
# Estimer les coefficients
fit <- lmFit(eset, design)

# Appliquer les contrastes
fit2 <- contrasts.fit(fit, contrasts = cm)

# Calculer les statistiques t
fit2 <- eBayes(fit2)

# Résumer les résultats
results <- decideTests(fit2)
summary(results)
   AMLvALL CMLvALL CMLvAML
-1     898    3401    1890
0    18323   13194   16408
1      951    3577    1874
Analyse d'expression différentielle avec limma dans R

Effet de l'hypoxie sur la fonction des cellules souches

  • 3 niveaux d'oxygène : 1 %, 5 %, 21 %
    • Forfait Bioconductor : stemHypoxia
    • Prado-Lopez et al. 2010
dim(eset)
Features  Samples
   15325        6
table(pData(eset)[, "oxygen"])
ox01 ox05 ox21
   2    2    2
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...