Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Cancer Research

Tre differentialuttrycksanalysmetoder för RNA-sekvensering: limma, EdgeR, DESeq2

Published: September 18, 2021 doi: 10.3791/62528
* These authors contributed equally

Summary

Ett detaljerat protokoll av differentiala uttryck analysmetoder för RNA sekvensering tillhandahölls: limma, EdgeR, DESeq2.

Abstract

RNA-sekvensering (RNA-seq) är en av de mest använda teknikerna inom transkriptomik eftersom det kan avslöja förhållandet mellan den genetiska förändringen och komplexa biologiska processer och har stort värde i diagnostik, prognostik och terapier av tumörer. Differentialanalys av RNA-seq-data är avgörande för att identifiera avvikande transkriptioner, och limma, EdgeR och DESeq2 är effektiva verktyg för differentialanalys. RNA-seq differentialanalys kräver dock vissa färdigheter med R-språk och förmågan att välja en lämplig metod, vilket saknas i läroplanen för medicinsk utbildning.

Häri tillhandahåller vi det detaljerade protokollet för att identifiera differentiellt uttryckta gener (DEGs) mellan cholangiocarcinoma (CHOL) och normala vävnader genom limma, DESeq2 respektive EdgeR, och resultaten visas i vulkanområden och Venn diagram. De tre protokollen limma, DESeq2 och EdgeR är liknande men har olika steg mellan analysprocesserna. En linjär modell används till exempel för statistik i limma, medan den negativa binomialfördelningen används i edgeR och DESeq2. Dessutom är de normaliserade RNA-seq count data nödvändiga för EdgeR och limma men är inte nödvändigt för DESeq2.

Här tillhandahåller vi ett detaljerat protokoll för tre differentialanalysmetoder: limma, EdgeR och DESeq2. Resultaten av de tre metoderna överlappar delvis varandra. Alla tre metoderna har sina egna fördelar, och valet av metod beror bara på data.

Introduction

RNA-sekvensering (RNA-seq) är en av de mest använda teknikerna inom transkriptomik med många fördelar (t.ex. hög data reproducerbarhet), och har dramatiskt ökat vår förståelse för funktionerna och dynamiken i komplexa biologiska processer1,2. Identifiering av aberrate transkript under olika biologiska sammanhang, som också kallas differentiellt uttryckta gener (DEGs), är ett viktigt steg i RNA-seq analys. RNA-seq gör det möjligt att få en djup förståelse för patogenesrelaterade molekylära mekanismer och biologiska funktioner. Därför har differentiell analys betraktats som värdefull för diagnostik, prognostika och terapier avtumörer 3,4,5. För närvarande har fler R/Bioconductor-paket med öppen källkod utvecklats för RNA-seq differentialuttrycksanalys, särskilt limma, DESeq2 och EdgeR1,6,7. Differentiell analys kräver dock vissa färdigheter med R-språk och förmågan att välja lämplig metod, vilket saknas i läroplanen för medicinsk utbildning.

I detta protokoll, baserat på cholangiocarcinoma (CHOL) RNA-seq count data extraherade från Cancer Genome Atlas (TCGA), utfördes tre av de mest kända metoderna (limma8,EdgeR9 och DESeq210)av R program11 för att identifiera DEGs mellan CHOL och normala vävnader. De tre protokollen limma, EdgeR och DESeq2 är liknande men har olika steg mellan analysprocesserna. Till exempel är de normaliserade RNA-seq-räknedata nödvändiga för EdgeR och limma8,9, medan DESeq2 använder sina egna biblioteksavvikelser för att korrigera data istället förnormalisering 10. Dessutom är edgeR särskilt lämplig för RNA-seq-data, medan limman används för mikroarrayer och RNA-seq. En linjär modell antas av limma för att bedöma degs12, medan statistiken i edgeR baseras på de negativa binomialfördelningarna, inklusive empirisk Bayes uppskattning, exakta tester, generaliserade linjära modeller och kvasi-sannolikhetstester9.

Sammanfattningsvis tillhandahåller vi detaljerade protokoll för RNA-seq differentialuttrycksanalys med hjälp av limma, DESeq2 respektive EdgeR. Genom att hänvisa till den här artikeln kan användare enkelt utföra RNA-seq differentialanalysen och välja lämpliga differentiella analysmetoder för sina data.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

OBS: Öppna R-studioprogrammet och ladda R-filen "DEGs.R", filen kan förvärvas från kompletterande filer / skript.

1. Nedladdning och förbehandling av uppgifter

  1. Ladda ner HTSeq (High-Throughput Sekvensering) antal data av cholangiocarcinoma (CHOL) från Cancer Genome Atlas (TCGA). Detta steg kan enkelt uppnås med följande R-kod.
    1. Klicka på Kör om du vill installera R-paket.
    2. Klicka på Kör om du vill läsa in R-paket.
      if(!requireNamespace("BiocManager", tyst=SANT))
      + install.packages("BiocManager")
      BiocManager::install(c("TCGAbiolinks", "SummarizedExperiment"))
    3. Ange arbetskatalogen.
      bibliotek (TCGAbiolänkar)
      library(Summeradexperiment)
      setwd("C:/Users/LIUSHIYI/Desktop")
    4. Välj cancertyp.
      cancer <- "TCGA-CHOL"
    5. Kör R-koden från filen "GDCquery.R" för att hämta data. Filen "GDCquery.R" kan förvärvas från kompletterande filer / skript:
      källa("Kompletterande filer/Skript/GDCquery.R")
      huvud(cnt)
      ##TCGA-3X-AAVA-01A-11R-A41I-07
      ##ENSG00000000003 4262
      ##ENSG00000000005 1
      ##ENSG00000000419 1254
      ##ENSG00000000457 699
      ##ENSG00000000460 239
      ##ENSG00000000938 334
      Obs: Efter körning kommer CHOLHTSeq-räkningsdata att laddas ner och namnges "cnt", där rader representerar ensemblegen-ID och kolumner representerar prov-ID: t. Observera siffrorna på positionerna 14-15 i prov-ID: t; siffror från 01 till 09 indikerar tumörer och sträcker sig från 10 till 19 indikerar normala vävnader.
  2. Konvertera ensemblegen-ID till gensymboler.
    1. Importera anteckningsfilen till R enligt dess lagringssökväg. Anteckningsfilen (gencode.v22.annotation.gtf) kan förvärvas från kompletterande filer.
      gtf_v22 <- rtracklayer::import('Kompletterande filer/gencode.v22.annotation.gtf')
    2. Kör R-koden från "gtf_v22. R"-fil, som kan förvärvas från kompletterande filer/skript:
      källa("Kompletterande filer/skript/gtf_v22. R")
    3. Applicera funktionen "ann" för att konvertera ensemblegen-ID: t till gensymboler.
      cnt=ann(cnt,gtf_v22)
  3. Filtrera lågtryckda gener
    1. Klicka på Kör för att installera R-paketet "edgeR".
      BiocManager::install("edgeR")
    2. Klicka på Kör för att läsa in R-paketet "edgeR".
      bibliotek(edgeR)
    3. Kör följande R-kod för att hålla gener med värden per miljon (CPM) större än ett av minst två prover.
      håll <- radSummar(cpm(cnt)>1)>=2
      cnt <- as.matrix(cnt[keep,])
      OBS: Värdet antal per miljon (CPM) används i stället för läsräkningen för att eliminera avvikelsen som orsakas av olika sekvenseringsdjup.

2. Differentiell uttrycksanalys genom "limma"

  1. Klicka på Kör för att installera R-paketet "limma".
    BiocManager::install("limma")
  2. Klicka på Kör för att läsa in R-paketen "limma", "edgeR".
    bibliotek(limma)
    bibliotek(edgeR)
  3. Kör följande R-kod för att skapa designmatrisen.
    grupp <- substring(colnames(cnt),14,15) # Extract group information
    grupp [grupp %in% "01"] <- "Cancer" # set '01' as tumor tissue
    grupp [grupp %in% "11"] <- "Normal" # set '11' as normal tissue
    grupp <- factor (group, levels = c("Normal","Cancer"))
    1. Skapa designmatrisen.
      design <- model.matrix (~group)
      radnamn(design) <- colnames(cnt)
    2. Skapa DGEList-objektet.
      dge <- DGEList(counts = cnt, group = group)
    3. Normalisera data.
      dge <- calcNormFactors(dge, metod = "TMM")
    4. Kör följande R-kod för att utföra limma-trendmetodens baserade differentialuttrycksanalys.
      dge (dge)
      ##An objekt av klassen "DGEList"
      ♪ $counts
      ##TCGA-3X-AAVA-01A-11R-A41I-07
      ##TSPAN6 4262
      ##DPM1 1254
      ##SCYL3 699
      ##C1orf112 239
      ##FGR 334
    5. Beräkna CPM-värdet.
      logdge <- cpm(dge, log=TRUE, prior.count=3)
    6. Klicka på Kör om du vill passa en linjär modell för att förutsäga data eller härleda relationen mellan variabler.
      passform <- lmFit (logdge, design)
    7. Beräkna T-värdet, F-värdet och loggoddsen baserat på Bayesian.
      fit <- eBayes(fit, trend=TRUE)
    8. Extrahera resultattabellen.
      res_limma<- as.data.frame(topTable(fit,n=Inf))

      huvud(res_limma)
      ## logFC AveExpr t P.Value adj. P.Val B
      ##RP11-252E2.2 -4.899493 -2.488589 -20.88052 2.386656e-25 4.931786e-21 47.28823
      ##BX842568.1 -4.347930 -2.595205 -20.14532 1.082759e-24 1.118706e-20 45.83656
      ##CTC-537E7.3 -5.154894 -2.143292 -19.59571 3.452354e-24 2.216114e-20 44.72001
      ##RP11-468N14.3 -6.532259 -2.029714 -19.49409 4.289807e-24 2.216114e-20 44.51056
      ##AP006216.5 -4.507051 -2.670915 -19.25649 7.153356e-24 2.956339e-20 44.01704
      ##RP11-669E14.4 -4.107204 -2.828311 -18.93246 1.448209e-23 4.987633e-20 43.33543
      #The resultat av differentialuttrycksanalys sparas i "res_limma", som inkluderar gen-ID, log2-vikningsändringsvärde (logFC), den genomsnittliga log2-uttrycksnivån för genen i experimentet (AveExpr), den modifierade t-statistiken (t), relavent p-värdet (P.Value), det falska identifieringshastigheten (FDR) korrigerat p-värde (adj. P.Val) och log-oddsen för differentiellt uttryckta gener (B)
      OBS: Funktionen "calcNormFactors()" av "edgeR" användes för att normalisera data för att eliminera påverkan som orsakas av provberedning eller bibliotekskonstruktion och sekvensering. Vid konstruktion av designmatris är det nödvändigt att matcha experimentell design (t.ex. vävnadstyp: normala eller tumörvävnader) för att ta prov på id-kort i matrisen. Limma-trenden är lämplig för data vars sekvenseringsdjup är detsamma, medan limma-voom är lämpligt: i) när bibliotekets storlek är annorlunda; ii) Uppgifter som inte normaliserats av TMM. iii) Det finns mycket "brus" i uppgifterna. En positiv logFC innebär att genen är uppreglerad i experimentet, medan negativt antal innebär att genen är nedreglerad.
    9. Identifiera degs.
      res_limma$sig <- as.factor(
      ifelse(res_limma$adj. P.Val < 0,05 & abs(res_limma$logFC) > 2,
      ifelse(res_limma$logFC > 2 'up','down'),'not')) # Adj.p Värde < 0,05 och |log2FC| >= 2 är trösklar för att identifiera de utest
      sammanfattning(res_limma$sig)
      ##down inte upp
      ##1880 ​17341 1443
    10. Mata ut resultattabellen till en fil.
      skriv.csv(res_limma, fil = 'result_limma.csv')
    11. Klicka på Kör för att installera R-paketet "ggplot2".
      install.packages("ggplot2")
    12. Klicka på Kör för att läsa in R-paketet "ggplot2".
      bibliotek(ggplot2)
    13. Kör R-koden från vulkanen. R" för att skapa vulkantomten. Filen "vulkan. R" kan förvärvas från kompletterande filer.
      källa("Kompletterande filer/Skript/vulkan. R")
      vulkan(res_limma,"logFC","adj. P.Val",2,0,05)
      OBS: Gener kan mappas till olika positioner enligt deras log2FC- och adj-p-värden, de uppreglerade DEGs är färgade i rött och de nedreglerade DEGs är färgade i grönt.
    14. Klicka på Exportera för att rädda vulkantomten.
      OBS: Vulkantomterna kan genereras och laddas ner i olika format (t.ex. pdf, TIFF, PNG, JPEG-format). Gener kan mappas till olika positioner enligt deras log2FC- och adj p-värden, de uppreglerade DEGs (log2FC > 2, adj p < 0,05) är färgade i rött och de nedreglerade DEGs (log2FC < -2, adj p < 0,05) är färgade i grönt, icke-DEGs är färgade i grått.

3. Differentiell uttrycksanalys genom "edgeR"

  1. Klicka på Kör för att läsa in R-paketet "edgeR".
    bibliotek(edgeR)
  2. Kör följande R-kod för att skapa designmatris.
    grupp <-substring(kolnamn(cnt),14,15)
    grupp [grupp %in% "01"] <- "Cancer"
    grupp [grupp %in% "11"] <- "Normal"
    group=factor(grupp, nivåer = c("Normal","Cancer"))
    design <-model.matrix(~group)
    radnamn(design) = kolnamn(cnt)
  3. Klicka på Kör om du vill skapa DGEList-objektet.
    dge <- DGEList(counts=cnt)
  4. Normalisera data.
    dge <- calcNormFactors(dge, metod = "TMM")
  5. Klicka på Kör om du vill uppskatta spridningen av genuttrycksvärden.
    dge <- uppskattningDisp(dge, design, robust = T)
  6. Klicka på Kör om du vill passa modellen för att räkna data.
    montera <- glmQLFit(dge, design)
  7. Gör ett statistiskt test.
    passform <- glmQLFTest(passform)
  8. Extrahera resultattabellen. Resultatet sparas i "res_edgeR", vilket inkluderar loggvikningsändringsvärdet, log CPM, F, p-värde och FDR-korrigerat p-värde.
    res_edgeR=as.data.frame(topTags(fit, n=Inf))
    huvud(res_edgeR)
    ## logFC logCPM F PValue FDR
    ##GCDH -3.299633 5.802700 458.5991 1.441773e-25 2.979280e-21
    ##MSMO1 -3.761400 7.521111 407.0416 1.730539e-24 1.787993e-20R
    ##CL1 -3.829504 5.319641 376.5043 8.652474e-24 5.516791e-20
    ##ADI1 -3.533664 8.211281 372.6671 1.067904e-23 5.516791e-20
    ##KCNN2 -5.583794 3.504017 358.6525 2.342106e-23 9.679455e-20
    ##GLUD1 -3.287447 8.738080 350.0344 3.848408e-23 1.194406e-19
    #The sparas i "res_edgeR", vilket inkluderar loggvecksändringsvärdet (logFC), log CPM, F, p-värde och FDR-korrigerat p-värde
  9. Identifiera degs.
    res_edgeR$sig = as.factor(
    ifelse(res_edgeR$FDR < 0,05 & abs(res_edgeR$logFC) > 2,
    ifelse(res_edgeR$logFC > 2 ''up','down'),'not'))
    sammanfattning(res_edgeR$sig)
    ##down inte upp
    ##1578 15965 3121
  10. Mata ut resultattabellen till en fil.
    skriv.csv(res_edgeR, fil = 'res_edgeR.csv')
  11. Skapa vulkantomten.
    vulkan(res_edgeR,"logFC","FDR",2,0.05)
  12. Klicka på Exportera för att rädda vulkantomten.

4. Differentiell uttrycksanalys genom "DESeq2"

  1. Klicka på Kör för att installera R-paket "DESeq2".
    BiocManager::install("DESeq2")
  2. Klicka på Kör för att läsa in R-paket "DESeq2".
    bibliotek(DESeq2)
  3. Kör följande R-kod för att bestämma grupperingsfaktorn.
    grupp <-substring(kolnamn(cnt),14,15)
    grupp [grupp %in% "01"] <- "Cancer"
    grupp [grupp %in% "11"] <- "Normal"
    group=factor(grupp, nivåer = c("Normal","Cancer"))
  4. Skapa DESeqDataSet-objektet.
    dds <-DESeqDataSetFromMatrix (cnt, DataFrame(grupp), design = ~group)
    Dds
    ##class: DESeqDataSet
    ##dim: 20664 45
    ##metadata(1): version
    ##assays(1): räknas
    ##rownames(20664): TSPAN6 DPM1 ... RP11-274B21.13 LINC01144
    ##rowData namn(0):
    ##colnames(45): TCGA-3X-AAVA-01A-11R-A41I-07 ...
    ##colData namn(1): grupp
  5. Utför analysen.
    dds <- DESeq(dds)
  6. Generera resultattabellen.
    res_DESeq2 <- data.frame(results(dds))

    huvud(res_DESeq2)
    ## baseMean log2FoldChange lfcSE stat pvalue padj
    ##TSPAN6 4704.9243 -0.8204515 0.3371667 -2.433370 1.495899e-02 2.760180e-02
    ##DPM1 1205.9087 -0.3692497 0.1202418 -3.070894 2.134191e-03 4.838281e-03
    ##SCYL3 954.9772 0.2652530 0.2476441 1.071106 2.841218e-01 3.629059e-01
    ##C1orf112 277.7756 0.7536911 0.2518929 2.992109 2.770575e-03 6.101584e-03
    ##FGR 345.8789 -0.6423198 0.3712729 -1.730047 8.362180e-02 1.266833e-01
    ##CFH 27982.3546 -3.8761382 0.5473363 -7.081823 1.422708e-12 1.673241e-11
    OBS: Resultatet sparas i "res_DESeq2", som inkluderar medelvärdet av det normaliserade läsräkningen (baseMean), loggveck Ändra värde (log2FoldChange), loggvika ändra standardfel (lfcSE), Wald-statistiken (stat), original p-värde (pvalue) och korrigerat p-värde (padj)
  7. Identifiera degs.
    res_DESeq2$sig = as.factor(
    ifelse(res_DESeq2$padj < 0,05 & abs(res_DESeq2$log2FoldChange) > 2,
    ifelse(res_DESeq2$log2FoldChange > 2 'up','down'),'not'))
    sammanfattning(res_DESeq2$sig)
    ##down inte upp
    ##1616 16110 2938
  8. Mata ut resultattabellen till en fil.
    skriv.csv(res_DESeq2, fil = "res_DESeq2.csv")
  9. Skapa vulkantomten.
    vulkan(res_DESeq2,"log2FoldChange","padj",2,0.05)
  10. Klicka på Exportera för att rädda vulkantomten.

5. Venndiagram

  1. Klicka på Kör för att installera R-paketet "VennDiagram".
    install.packages("VennDiagram")
  2. Klicka på Kör för att läsa in R-paketet "VennDiagram".
    bibliotek (VennDiagram)
  3. Gör ett Venndiagram över reglerade DEGs.
    grid.newpage()
    grid.draw(venn.diagram(list(Limma=rownames(res_
    limma[res_limma$sig=="up",]).
    edgeR=radnamn(res_edgeR[res_edgeR$sig=="up",]).
    DESeq2=radnamn(res_DESeq2[res_DESeq2$sig==
    "upp",]),).
    NULL,höjd = 3,bredd = 3,enheter = "in",
    col="svart",lwd=0,3,fill=c("#FF6666","#FFFF00",
    "#993366"),
    alfa=c(0,5, 0,5, 0,5),huvud = "Uppreglerade degs"))
  4. Klicka på Exportera om du vill spara Venndiagrammet.
  5. Gör ett Venndiagram över reglerade DEGs.
    grid.newpage()
    grid.draw(venn.diagram(list(Limma=rownames(res_
    limma[res_limma$sig=="ner",]),
    edgeR=radnamn(res_edgeR[res_edgeR$sig==
    "ner",]).
    DESeq2=radnamn(res_DESeq2[res_DESeq2$sig=="down",])),
    NULL,höjd = 3,bredd = 3,enheter = "in",
    col="svart",lwd=0,3,fill=c("#FF6666","#FFFF00",
    "#993366"),
    alfa=c(0,5, 0,5, 0,5),huvud = "Down-regulated DEGs"))
  6. Klicka på Exportera om du vill spara Venndiagrammet.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

Det finns olika metoder för att visualisera resultatet av differentialuttrycksanalys, bland vilka vulkandiagrammet och Venndiagrammet används särskilt. limma identifierade 3323 degs mellan CHOL och normala vävnader med |logFC|≥2 och adj. P.Val <0,05 som trösklar, bland vilka 1880 var nedreglerade i CHOL-vävnader och 1443 var uppreglerade (Figur 1a). Under tiden identifierade EdgeR de 1578 nedreglerade deserger och 3121 reglerade deg(figur 1b). DESeq2 identifierade de 1616 nedreglerade desanktoriska degerna och 2938 uppreglerade deg(figur 1c). Om man jämför resultaten av dessa tre metoder överlappades 1431 reglerade degs och 1531 reglerade degs(figur 2).

Figure 1
Figur 1. Identifiering av differentiellt uttryckta gener (DEGs) mellan CHOL och normala vävnader. a-c) Iartikel 3.1 skall Vulkandiagrammen för alla gener som förvärvats av limma, edgeR respektive DESeq2, adj p-värde (-log10) plottas mot vikförändringen (log2), röda punkter representerar de uppreglerade DEGs (justerat p-värde<0,05 och log | FC|> 2) och de gröna punkterna representerar de nedreglerade deg-grupperna (justerat p-värde< 0,05 och | FC|< 2). Klicka här om du vill visa en större version av den här figuren.

Figure 2
Figur 2. Venndiagram visar överlappning mellan resultaten från limma, edgeR och DESeq2. Klicka här om du vill visa en större version av den här figuren.

Kompletterande filer. Klicka här för att ladda ner den här filen.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

Rikliga aberrate transkript i cancer kan lätt identifieras genom RNA-seq differentialanalys5. Tillämpningen av RNA-seq differential uttryck analys är dock ofta begränsad eftersom det kräver vissa färdigheter med R språk och förmågan att välja lämpliga metoder. För att lösa detta problem ger vi en detaljerad introduktion till de tre mest kända metoderna (limma, EdgeR och DESeq2) och handledningar för tillämpning av RNA-seq differentialuttryck analys. Detta kommer att underlätta förståelsen av likheter och skillnader mellan alla tre metoderna, möjliggöra valet av en lämplig metod för enskilda data och göra det möjligt för oss att förstå de komplexa dynamiska biologiska processerna.

Här presenterar vi ett detaljerat protokoll för RNA-seq differentialuttrycksanalys genom limma, edgeR respektive DESeq2, i fem steg: (i) nedladdning och förbehandling av data, (ii-iv) differentialuttrycksanalys genom limma, edgeR respektive DESeq2, respektive (v) jämförelse av resultaten av dessa tre metoder genom ett Venndiagram.

De tre metoderna har liknande och olika steg mellan processerna i differentialuttrycksanalysen. En linjär modell används för statistik i limma, som är tillämplig för alla genuttryckstekniker, inklusive mikroarrayer, RNA-seq och kvantitativ PCR8,13, medan edgeR och DESeq2 implementerar en rad statistiska metoder baserade på den negativa binomialfördelningen9,10, och edgeR och DESeq2 är lämpliga för RNA-seq-data. Dessutom är de normaliserade RNA-seq-räknedata nödvändiga för EdgeR och limma, medan DESeq2 använder sina egna biblioteksavvikelser för att korrigera data istället för normalisering och data i DESeq2 måste vara en heltalsmatris. Normaliseringsmetoderna inkluderar TMM (trimmat medelvärde för M-värden), TMMwsp, RLE (relativt logguttryck) och övre kvartil, bland vilka TMM är den vanligaste normaliseringsmetoden för RNA-seq-data. Resultaten av de tre metoderna visade att DESeq2 och EdgeR erhåller fler degs än limma. Anledningen till denna skillnad är att edgeR och DESeq2 baseras på den negativa binomialmodellen, vilket bidrar till ett stort antal falska positiva effekter. Tvärtom använder limma-voom bara variansfunktionen och visar inte överdrivna falska positiva identifieringar, vilket är fallet med en variansstabiliseringstransformation följt av linjär modellanalys med limma14,15,16.

Alla tre metoderna har sina egna fördelar, och valet är bara beroende av typen av data. Om det till exempel finns mikroarraydata bör limma prioriteras, men när det är nästa generations sekvenseringsdata föredras9,10,17. Sammanfattningsvis tillhandahåller vi här ett detaljerat protokoll för RNA-seq differentialuttrycksanalys med R-paket limma, edgeR respektive DESeq2. Outputresultaten från de tre metoderna överlappar delvis varandra, och dessa differentiella metoder har sina respektive fördelar. Tyvärr omfattar detta protokoll inte de tekniska detaljerna för andra datatyper (t.ex. mikroarraydata) och metoder (t.ex. EBSeq)18.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

Manuskriptet har inte publicerats tidigare och övervägs inte för publicering någon annanstans. Alla författare har bidragit till skapandet av detta manuskript för viktigt intellektuellt innehåll och läst och godkänt det slutliga manuskriptet. Vi förklarar att det inte finns någon intressekonflikt.

Acknowledgments

Detta arbete stöddes av National Natural Science Foundation of China (Grant No. 81860276) och Key Special Fund Projects of National Key R&D Program (Grant No. 2018YFC1003200).

Materials

Name Company Catalog Number Comments
R version 3.6.2 free software
Rstudio free software

DOWNLOAD MATERIALS LIST

References

  1. Tambonis, T., Boareto, M., Leite, V. B. P. Differential Expression Analysis in RNA-seq Data Using a Geometric Approach. Journal of Computational Biology. 25, 1257-1265 (2018).
  2. Wang, Z., Gerstein, M., Snyder, M. RNA-Seq: a revolutionary tool for transcriptomics. Nature Reviews. Genetics. 10, 57-63 (2009).
  3. Anders, S., et al. Count-based differential expression analysis of RNA sequencing data using R and Bioconductor. Nature Protocols. 8, 1765-1786 (2013).
  4. McDermaid, A., Monier, B., Zhao, J., Liu, B., Ma, Q. Interpretation of differential gene expression results of RNA-seq data: review and integration. Briefings in Bioinformatics. 20, 2044-2054 (2019).
  5. Costa-Silva, J., Domingues, D., Lopes, F. M. RNA-Seq differential expression analysis: An extended review and a software tool. PloS One. 12, 0190152 (2017).
  6. Law, C. W., et al. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR. F1000Research. 5, (2016).
  7. Varet, H., Brillet-Guéguen, L., Coppée, J. Y., Dillies, M. A. SARTools: A DESeq2- and EdgeR-Based R Pipeline for Comprehensive Differential Analysis of RNA-Seq Data. PloS One. 11, 0157022 (2016).
  8. Ritchie, M. E., et al. limma powers differential expression analyses for RNA-sequencing and microarray studies. Nucleic Acids Research. 43, 47 (2015).
  9. Robinson, M. D., McCarthy, D. J., Smyth, G. K. edgeR: a Bioconductor package for differential expression analysis of digital gene expression data. Bioinformatics. 26, Oxford, England. 139-140 (2010).
  10. Love, M. I., Huber, W., Anders, S. Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2. Genome Biology. 15, 550 (2014).
  11. Gentleman, R. C., et al. Bioconductor: open software development for computational biology and bioinformatics. Genome Biology. 5, 80 (2004).
  12. Law, C. W., Chen, Y., Shi, W., Smyth, G. K. voom: Precision weights unlock linear model analysis tools for RNA-seq read counts. Genome Biology. 15, 29 (2014).
  13. Smyth, G. K. Linear models and empirical bayes methods for assessing differential expression in microarray experiments. Statistical Applications in Genetics and Molecular Biology. 3, (2004).
  14. Lund, S. P., Nettleton, D., McCarthy, D. J., Smyth, G. K. Detecting differential expression in RNA-sequence data using quasi-likelihood with shrunken dispersion estimates. Statistical Applications in Genetics and Molecular Biology. 11, (2012).
  15. Reeb, P. D., Steibel, J. P. Evaluating statistical analysis models for RNA sequencing experiments. Frontiers in Genetics. 4, 178 (2013).
  16. Rocke, D. M., et al. Excess False Positive Rates in Methods for Differential Gene Expression Analysis using RNA-Seq Data. bioRxiv. , (2015).
  17. Agarwal, A., et al. Comparison and calibration of transcriptome data from RNA-Seq and tiling arrays. BMC genomics. 11, 383 (2010).
  18. Leng, N., et al. EBSeq: an empirical Bayes hierarchical model for inference in RNA-seq experiments. Bioinformatics. 29, Oxford, England. 1035-1043 (2013).

Tags

Cancerforskning nummer 175
Tre differentialuttrycksanalysmetoder för RNA-sekvensering: limma, EdgeR, DESeq2
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Liu, S., Wang, Z., Zhu, R., Wang,More

Liu, S., Wang, Z., Zhu, R., Wang, F., Cheng, Y., Liu, Y. Three Differential Expression Analysis Methods for RNA Sequencing: limma, EdgeR, DESeq2. J. Vis. Exp. (175), e62528, doi:10.3791/62528 (2021).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter