Enrichment testing

Differential Expression Analysis with limma in R

John Blischak

Instructor

Interpreting the results

results <- decideTests(fit2)
summary(results)
topTable(fit2, number = 3)
   status
-1   6276
0   11003
1    5004
            symbol entrez  chrom    logFC  AveExpr        t
205225_at     ESR1   2099 6q25.1 3.762901 11.37774 22.68392
209603_at    GATA3   2625  10p15 3.052348  9.94199 18.98154
209604_s_at  GATA3   2625  10p15 2.431309 13.18533 17.59968
                 P.Value    adj.P.Val        B
205225_at   2.001001e-70 4.458832e-66 149.1987
209603_at   1.486522e-55 1.656209e-51 115.4641
209604_s_at 5.839050e-50 4.337052e-46 102.7571
Differential Expression Analysis with limma in R

Biological databases

Differential Expression Analysis with limma in R

Enrichment testing

In gene set Not in gene set
DE 10 90
all 100 900
fisher.test(matrix(c(10, 100, 90, 900), nrow = 2))
Fisher's Exact Test for Count Data

data:  matrix(c(10, 100, 90, 900), nrow = 2)
p-value = 1
alternative hypothesis: true odds ratio is 
                        not equal to 1
95 percent confidence interval:
 0.4490765 2.0076377
sample estimates:
odds ratio
         1
Differential Expression Analysis with limma in R

Enrichment testing

In gene set Not in gene set
DE 30 70
all 100 900
fisher.test(matrix(c(30, 100, 70, 900), nrow = 2))
Fisher's Exact Test for Count Data

data:  matrix(c(30, 100, 70, 900), nrow = 2)
p-value = 1.88e-07
alternative hypothesis: true odds ratio is 
                        not equal to 1
95 percent confidence interval:
 2.306911 6.320992
sample estimates:
odds ratio
  3.850476
Differential Expression Analysis with limma in R
head(fit2$genes, 3)
          symbol entrez   chrom
1007_s_at   DDR1    780  6p21.3
1053_at     RFC2   5982 7q11.23
117_at     HSPA6   3310    1q23
entrez <- fit2$genes[, "entrez"]

enrich_kegg <- kegga(fit2, geneid = entrez, species = "Hs")
topKEGG(enrich_kegg, number = 3)
                         Pathway    N  Up Down         P.Up       P.Down
path:hsa04110         Cell cycle  115  30   82 6.192773e-01 5.081518e-12
path:hsa05166   HTLV-I infection  233  55  135 8.959082e-01 9.285167e-09
path:hsa01100 Metabolic pathways 1033 350  373 3.175782e-08 9.969693e-01
Differential Expression Analysis with limma in R

Testing for GO enrichment

enrich_go <- goana(fit2, geneid = entrez, species = "Hs")

topGO(enrich_go, ontology = "BP", number = 3)
                             Term Ont    N  Up Down P.Up       P.Down
GO:0002376  immune system process  BP 1935 426  914    1 7.925179e-32
GO:0006955        immune response  BP 1236 230  619    1 3.625368e-29
GO:0045087 innate immune response  BP  645 113  346    1 1.635833e-22
Differential Expression Analysis with limma in R

Caveats

  • Don't overinterpret

  • Be skeptical of up- vs. down-regulated

  • The background set of genes should only include tested genes

  • More advanced methods available, including limma functions camera and roast

Differential Expression Analysis with limma in R

Let's practice!

Differential Expression Analysis with limma in R

Preparing Video For Download...