Waiting
Login processing...

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

Cancer Research

Tre differensialuttrykksanalysemetoder for RNA-sekvensering: limma, EdgeR, DESeq2

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

Summary

En detaljert protokoll for differensialuttrykksanalysemetoder for RNA-sekvensering ble gitt: limma, EdgeR, DESeq2.

Abstract

RNA-sekvensering (RNA-seq) er en av de mest brukte teknologiene innen transkripsjon, da den kan avsløre forholdet mellom den genetiske endringen og komplekse biologiske prosesser og har stor verdi i diagnostikk, prognostikk og terapeutiske svulster. Differensialanalyse av RNA-seq-data er avgjørende for å identifisere avvikende transkripsjoner, og limma, EdgeR og DESeq2 er effektive verktøy for differensialanalyse. Imidlertid krever RNA-seq differensialanalyse visse ferdigheter med R-språk og evnen til å velge en passende metode, som mangler i læreplanen for medisinsk utdanning.

Heri gir vi den detaljerte protokollen for å identifisere differensialt uttrykte gener (DEG) mellom cholangiocarcinoma (CHOL) og normalt vev gjennom henholdsvis limma, DESeq2 og EdgeR, og resultatene vises i vulkanplott og Venn-diagrammer. De tre protokollene limma, DESeq2 og EdgeR er like, men har forskjellige trinn blant prosessene i analysen. For eksempel brukes en lineær modell til statistikk i limma, mens den negative binomiske fordelingen brukes i edgeR og DESeq2. I tillegg er de normaliserte RNA-seq count-dataene nødvendige for EdgeR og limma, men er ikke nødvendig for DESeq2.

Her gir vi en detaljert protokoll for tre differensialanalysemetoder: limma, EdgeR og DESeq2. Resultatene av de tre metodene er delvis overlappende. Alle tre metodene har sine egne fordeler, og valg av metode avhenger bare av dataene.

Introduction

RNA-sekvensering (RNA-seq) er en av de mest brukte teknologiene innen transkripsjon med mange fordeler (f.eks. høy datareroduserbarhet), og har dramatisk økt vår forståelse av funksjonene og dynamikken i komplekse biologiske prosesser1,2. Identifisering av aberrate transkripsjoner under ulike biologiske kontekster, som også er kjent som differensialt uttrykte gener (DEGs), er et viktig skritt i RNA-seq analyse. RNA-seq gjør det mulig å få en dyp forståelse av patogeneserelaterte molekylære mekanismer og biologiske funksjoner. Derfor har differensialanalyse blitt ansett som verdifull for diagnostikk, prognostikk og terapeutiske svulster3,4,5. For tiden er flere open source R / Bioconductor-pakker utviklet for RNA-seq differensialuttrykksanalyse, spesielt limma, DESeq2 og EdgeR1,6,7. Differensialanalyse krever imidlertid visse ferdigheter med R-språk og evnen til å velge riktig metode, som mangler i læreplanen for medisinsk utdanning.

I denne protokollen, basert på cholangiokarsinom (CHOL) RNA-seq count data hentet fra The Cancer Genome Atlas (TCGA), ble tre av de mest kjente metodene (limma8, EdgeR9 og DESeq210) utført av R-programmet11 for å identifisere DEG-ene mellom CHOL og normalt vev. De tre protokollene limma, EdgeR og DESeq2 er like, men har forskjellige trinn blant prosessene i analysen. De normaliserte RNA-seq count -dataene er for eksempel nødvendige for EdgeR og limma8,9, mens DESeq2 bruker sine egne bibliotekavvik til å korrigere data i stedet for normalisering10. Videre er edgeR spesielt egnet for RNA-seq data, mens limma brukes til mikroarrays og RNA-seq. En lineær modell er vedtatt av limma for å vurdere DEGs12, mens statistikken i edgeR er basert på de negative binomiske fordelingene, inkludert empiriske Bayes-estimering, eksakte tester, generaliserte lineære modeller og kvasi-sannsynlighetstester9.

Oppsummert tilbyr vi de detaljerte protokollene for RNA-seq differensialuttrykksanalyse ved hjelp av henholdsvis limma, DESeq2 og EdgeR. Ved å referere til denne artikkelen kan brukerne enkelt utføre RNA-seq differensialanalysen og velge de riktige differensialanalysemetodene for dataene sine.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

MERK: Åpne R-studioprogrammet og last inn R-filen "DEGs.R", filen kan anskaffes fra tilleggsfiler / skript.

1. Nedlasting og forhåndsbehandling av data

  1. Last ned høygjennomstrømningssekvenseringsdataene (HTSeq) for cholangiokarsinom (CHOL) fra The Cancer Genome Atlas (TCGA). Dette trinnet kan enkelt oppnås ved hjelp av følgende R-kode.
    1. Klikk Kjør for å installere R-pakker.
    2. Klikk Kjør for å laste inn R-pakker.
      if(!requireNamespace("BiocManager", stille=SANN))
      + install.packages("BiocManager")
      BiocManager::install(c("TCGAbiolinks", "SummarizedExperiment"))
    3. Angi arbeidsmappen.
      bibliotek (TCGAbiolinks)
      bibliotek (SummarizedExperiment)
      setwd("C:/Brukere/LIUSHIYI/Desktop")
    4. Velg krefttype.
      kreft <- "TCGA-CHOL"
    5. Kjør R-koden fra filen "GDCquery.R" for å laste ned dataene. Filen "GDCquery.R" kan hentes fra tilleggsfiler / skript:
      kilde("Tilleggsfiler/Skript/GDCquery.R")
      hode(cnt)
      ##TCGA-3X-AAVA-01A-11R-A41I-07
      ##ENSG00000000003 4262
      ##ENSG00000000005 1
      ##ENSG00000000419 1254
      ##ENSG00000000457 699
      ##ENSG00000000460 239
      ##ENSG00000000938 334
      MERK: Etter utførelse vil CHOLHTSeq-telledataene bli lastet ned og kalt "cnt", der rader representerer ensemblegen-IDer og kolonner representerer prøve-IDer. Legg merke til tallene i stillingene 14-15 i prøve-IDene; tall fra 01 til 09 indikerer svulster og varierer fra 10 til 19 indikerer normale vev.
  2. Konverter ensemblegen-IDer til gensymboler.
    1. Importer merknadsfilen til R i henhold til lagringsbanen. Merknadsfilen (gencode.v22.annotation.gtf) kan hentes fra tilleggsfiler.
      gtf_v22 <- rtracklayer::import('Tilleggsfiler/gencode.v22.annotation.gtf')
    2. Kjør R-koden fra "gtf_v22. R"-fil, som kan hentes fra Tilleggsfiler/Skript:
      source("Tilleggsfiler/Skript/gtf_v22. R")
    3. Påfør funksjonen "ann" for å konvertere ensemblegen-IDene til gensymboler.
      cnt=ann(cnt;gtf_v22)
  3. Filtrering av lav-uttrykte gener
    1. Klikk Kjør for å installere R-pakken "edgeR".
      BiocManager::installere("edgeR")
    2. Klikk Kjør for å laste inn R-pakken "edgeR".
      bibliotek(edgeR)
    3. Kjør følgende R-kode for å holde gener med antall per million (CPM)-verdier større enn én av minst to prøver.
      behold <- radsummer (cpm(cnt)>1)>=2
      cnt <- as.matrix(cnt[keep,])
      MERK: Verdien teller per million (CPM) brukes i stedet for leseantallet for å eliminere avviket forårsaket av forskjellige sekvenseringsdybder.

2. Differensialuttrykksanalyse gjennom "limma"

  1. Klikk Kjør for å installere R-pakken "limma".
    BiocManager::installere("limma")
  2. Klikk Kjør for å laste R-pakkene "limma", "edgeR".
    bibliotek(limma)
    bibliotek(edgeR)
  3. Kjør følgende R-kode for å opprette utformingsmatrisen.
    gruppe <- substring(colnames(cnt),14,15) # Extract group information
    gruppe [gruppe %in% "01"] <- "Cancer" # set '01' as tumor tissue
    gruppe [gruppe %in% "11"] <- "Normal" # set '11' as normal tissue
    gruppe <- factor (group, levels = c("Normal","Cancer"))
    1. Opprett utformingsmatrisen.
      design <- model.matrix (~group)
      radnavn(utforming) <- colnames(cnt)
    2. Opprett DGEList -objektet.
      dge <- DGEList(antall = cnt, gruppe = gruppe)
    3. Normaliser dataene.
      dge <- calcNormFactors(dge, metode = "TMM")
    4. Kjør følgende R-kode for å utføre den limma-trend-baserte differensialuttrykksanalysen.
      dge
      ##An objekt for klassen "DGEList"
      ##$counts
      ##TCGA-3X-AAVA-01A-11R-A41I-07
      ##TSPAN6 4262
      ##DPM1 1254
      ##SCYL3 699
      ##C1orf112 239
      ##FGR 334
    5. Beregn CPM-verdien.
      logdge <- cpm(dge, log=TRUE, prior.count=3)
    6. Klikk Kjør for å få plass til en lineær modell for å forutsi dataene eller utlede forholdet mellom variabler.
      passe <- lmFit (logdge, design)
    7. Beregn T-verdien, F-verdien og loggoddsene basert på Bayesiansk.
      passe <- eBayes (passform, trend = TRUE)
    8. Trekk ut resultattabellen.
      res_limma<- as.data.frame(topTable(fit;n=Inf))

      hode(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 differensialuttrykksanalyse lagres i "res_limma", som inkluderer gen-ID, log2 fold change value (logFC), gjennomsnittlig log2-uttrykksnivå for genet i eksperimentet (AveExpr), den modifiserte t-statistikken (t), relavent p-verdi (P.Value), den falske oppdagelsesraten (FDR) korrigert p-verdi (adj. P.Val) og log-odds for differensialt uttrykte gener (B)
      MERK: Funksjonen "calcNormFactors()" til "edgeR" ble brukt til å normalisere dataene for å eliminere påvirkning forårsaket av prøvepreparering eller bibliotekkonstruksjon og sekvensering. Ved bygging av designmatrise er det nødvendig å matche eksperimentell design (f.eks. vevstype: normalt eller tumorvev) for å prøve IDer av matrisen. limma-trend er egnet for data hvis sekvenseringsdybde er den samme, mens limma-voom er egnet: (i) når prøvebibliotekstørrelsen er forskjellig; (ii) data som ikke er normalisert av TMM; (iii) det er mye "støy" i dataene. En positiv logFC betyr at genet er oppregulert i eksperimentet, mens negativt tall betyr at genet er nedregulert.
    9. Identifiser DEG-ene.
      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 Value < 0,05 og |log2FC| >= 2 er terskler for å identifisere DEG-ene
      sammendrag (res_limma$sig)
      ##down ikke opp
      ##1880 ​17341 1443
    10. Sender resultattabellen til en fil.
      write.csv(res_limma, fil = 'result_limma.csv')
    11. Klikk Kjør for å installere R-pakken "ggplot2".
      install.packages("ggplot2")
    12. Klikk Kjør for å laste inn R-pakken "ggplot2".
      bibliotek(ggplot2)
    13. Kjør R-koden fra "vulkanen". R" for å skape vulkanplottet. Filen "vulkan. R" kan kjøpes fra tilleggsfiler.
      kilde("Tilleggsfiler/Skript/vulkan. R")
      vulkan (res_limma,"logFC","adj. P.Val",2,0,05)
      MERK: Gener kan kartlegges til forskjellige posisjoner i henhold til deres log2FC- og adj-p-verdier, de oppregulerte DEG-ene er farget i rødt, og de nedregulerte DEG-ene er farget i grønt.
    14. Klikk Eksporter for å lagre vulkanplottet.
      MERK: Vulkanplottene kan genereres og lastes ned i forskjellige formater (f.eks. pdf, TIFF, PNG, JPEG-format). Gener kan kartlegges til forskjellige posisjoner i henhold til deres log2FC- og adj p-verdier, de oppregulerte DEG-ene (log2FC > 2, adj p < 0,05) er farget i rødt, og de nedregulerte DEG-ene (log2FC < -2, adj p < 0,05) er farget i grønne, ikke-DEG-er er farget i grått.

3. Differensialuttrykksanalyse gjennom "edgeR"

  1. Klikk Kjør for å laste inn R-pakken "edgeR".
    bibliotek(edgeR)
  2. Kjør følgende R-kode for å opprette utformingsmatrise.
    gruppe <-delstreng(colnames(cnt),14,15)
    gruppe [gruppe %in% "01"] <- "Kreft"
    gruppe [gruppe %in% "11"] <- "Normal"
    gruppe=faktor(gruppe, nivåer = c("Normal","Kreft"))
    design <-model.matrix(~group)
    radnavn(utforming) = colnames(cnt)
  3. Klikk Kjør for å opprette DGEList -objektet.
    dge <- DGEList(antall=cnt)
  4. Normaliser dataene.
    dge <- calcNormFactors(dge, metode = "TMM")
  5. Klikk Kjør for å beregne spredningen av genuttrykksverdier.
    dge <- estimateDisp(dge, design, robust = T)
  6. Klikk Kjør for å tilpasse modellen til å telle data.
    passe <- glmQLFit(dge, design)
  7. Utfør en statistisk test.
    passe <- glmQLFTest(fit)
  8. Trekk ut resultattabellen. Resultatet lagres i "res_edgeR", som inkluderer endringsverdien for loggbrett, logg-CPM, F, p-verdi og FDR-korrigert p-verdi.
    res_edgeR=as.data.frame(toppkoder(får plass, n=Inf))
    hode(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 resultat lagres i "res_edgeR", som inkluderer log fold change value (logFC), log CPM, F, p-verdi og FDR korrigert p-verdi
  9. Identifiser DEG-ene.
    res_edgeR$sig = as.factor(
    ifelse(res_edgeR$FDR < 0,05 & abs(res_edgeR$logFC) > 2,
    ifelse(res_edgeR$logFC > 2 ,'opp','ned'),'not'))
    sammendrag (res_edgeR$sig)
    ##down ikke opp
    ##1578 15965 3121
  10. Sender resultattabellen til en fil.
    write.csv(res_edgeR, fil = 'res_edgeR.csv')
  11. Lag vulkanplottet.
    vulkan (res_edgeR,"logFC","FDR",2,0,05)
  12. Klikk Eksporter for å lagre vulkanplottet.

4. Differensialuttrykksanalyse gjennom "DESeq2"

  1. Klikk Kjør for å installere R-pakker "DESeq2".
    BiocManager::installere("DESeq2")
  2. Klikk Kjør for å laste inn R-pakker "DESeq2".
    bibliotek (DESeq2)
  3. Kjør følgende R-kode for å bestemme grupperingsfaktoren.
    gruppe <-delstreng(colnames(cnt),14,15)
    gruppe [gruppe %in% "01"] <- "Kreft"
    gruppe [gruppe %in% "11"] <- "Normal"
    gruppe=faktor(gruppe, nivåer = c("Normal","Kreft"))
  4. Opprett DESeqDataSet -objektet.
    dds <-DESeqDataSetFromMatrix (cnt, DataFrame(gruppe), design = ~group)
    Dds
    ##class: DESeqDataSet
    ##dim: 20664 45
    ##metadata(1): versjon
    ##assays(1): teller
    ##rownames(20664): TSPAN6 DPM1 ... RP11-274B21.13 LINC01144
    ##rowData navn(0):
    ##colnames(45): TCGA-3X-AAVA-01A-11R-A41I-07 ...
    ##colData navn(1): gruppe
  5. Utfør analysen.
    dds <- DESeq(dds)
  6. Generer resultattabellen.
    res_DESeq2 <- data.frame(resultater(dds))

    hode(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
    MERK: Resultatet lagres i "res_DESeq2", som inkluderer gjennomsnittet av det normaliserte leseantallet (baseMean), log fold Change value(log2FoldChange), log fold change standard error (lfcSE), Wald-statistikken (stat), original p-verdi (pvalue) og korrigert p-verdi (padj)
  7. Identifiser DEG-er.
    res_DESeq2$sig = as.factor(
    ifelse(res_DESeq2$padj < 0,05 & abs(res_DESeq2$log2FoldChange) > 2,
    ifelse(res_DESeq2$log2FoldChange > 2 ,'opp','ned'),'not'))
    sammendrag (res_DESeq2$sig)
    ##down ikke opp
    ##1616 16110 2938
  8. Sender resultattabellen til en fil.
    write.csv(res_DESeq2, fil = 'res_DESeq2.csv')
  9. Lag vulkanplottet.
    vulkan (res_DESeq2,"log2FoldChange","padj",2,0,05)
  10. Klikk Eksporter for å lagre vulkanplottet.

5. Venn diagram

  1. Klikk Kjør for å installere R-pakken "VennDiagram".
    install.packages("VennDiagram")
  2. Klikk Kjør for å laste inn R-pakken "VennDiagram".
    bibliotek (VennDiagram)
  3. Lag et Venn-diagram over oppregulerte DEG-er.
    grid.newpage()
    grid.draw(venn.diagram(liste(Limma=radnavn(res_
    limma[res_limma$sig=="opp",]),
    edgeR=radnavn(res_edgeR[res_edgeR$sig=="opp",]),
    DESeq2=radnavn(res_DESeq2[res_DESeq2$sig==
    "opp",])),
    NULL,høyde = 3,bredde = 3,enheter = "in",
    col="svart",lwd=0,3,fill=c("#FF6666","#FFFF00",
    "#993366"),
    alfa=c(0,5, 0,5, 0,5),hoved = "Oppregulerte DEG-er"))
  4. Klikk Eksporter for å lagre Venn-diagrammet.
  5. Lag et Venn-diagram over nedregulerte DEG-er.
    grid.newpage()
    grid.draw(venn.diagram(liste(Limma=radnavn(res_
    limma[res_limma$sig=="ned",]),
    edgeR=radnavn(res_edgeR[res_edgeR$sig==
    "ned",]),
    DESeq2=radnavn(res_DESeq2[res_DESeq2$sig=="ned",])),
    NULL,høyde = 3,bredde = 3,enheter = "in",
    col="svart",lwd=0,3,fill=c("#FF6666","#FFFF00",
    "#993366"),
    alfa=c(0,5, 0,5, 0,5),hoved = "Nedregulerte DEG-er"))
  6. Klikk Eksporter for å lagre Venn-diagrammet.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

Det finnes ulike tilnærminger for å visualisere resultatet av differensialuttrykksanalyse, blant annet vulkanplottet og Venn-diagrammet er spesielt brukt. limma identifiserte 3323 DEG mellom CHOL og normalt vev med |logFC|≥2 og adj. P.Val <0,05 som terskler, hvorav 1880 var nedregulert i CHOL-vev og 1443 var oppregulert (Figur 1a). I mellomtiden identifiserte edgeR de 1578 nedregulerte DEG-ene og 3121 oppregulerte DEG-er (Figur 1b); DESeq2 identifiserte de 1616 nedregulerte DEG-ene og 2938 oppregulerte DEG-ene (Figur 1c). Sammenlignet resultatene av disse tre metodene ble 1431 oppregulerte DEG-er og 1531 nedregulerte DEG-er overlappet (figur 2).

Figure 1
Figur 1. Identifisering av differensialt uttrykte gener (DEG) mellom CHOL og normalt vev. (a-c) Vulkanplottene til alle gener anskaffet av henholdsvis limma, edgeR og DESeq2, adj p-verdi (-log10) er plottet mot foldendringen (log2), røde punkter representerer de oppregulerte DEG-ene (justert p-verdi<0,05 og logg | FC|> 2) og de grønne punktene representerer de nedregulerte DEG-ene (justert p< 0,05 og logg | FC|< 2). Klikk her for å se en større versjon av denne figuren.

Figure 2
Figur 2. Venn-diagrammer viser overlapping mellom resultatene hentet fra limma, edgeR og DESeq2. Klikk her for å se en større versjon av denne figuren.

Tilleggsfiler. Klikk her for å laste ned denne filen.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

Rikelig aberrate transkripsjoner i kreft kan lett identifiseres ved RNA-seq differensialanalyse5. Anvendelsen av RNA-seq differensialuttrykksanalyse er imidlertid ofte begrenset, da det krever visse ferdigheter med R-språk og kapasitet til å velge passende metoder. For å løse dette problemet gir vi en detaljert introduksjon til de tre mest kjente metodene (limma, EdgeR og DESeq2) og opplæringsprogrammer for å bruke RNA-seq differensialuttrykksanalyse. Dette vil legge til rette for forståelse av likheter og forskjeller på tvers av alle tre metodene, muliggjøre valg av en passende metode for individuelle data, og gjøre oss i stand til å forstå de komplekse dynamiske biologiske prosessene.

Her presenterer vi en detaljert protokoll for RNA-seq differensialuttrykksanalyse gjennom henholdsvis limma, edgeR og DESeq2, i fem trinn: (i) nedlasting og forhåndsbehandling av data, (ii-iv) differensialuttrykksanalyse gjennom henholdsvis limma, edgeR og DESeq2, (v) sammenligning av resultatene av disse tre metodene gjennom et Venn-diagram.

De tre metodene har lignende og ulike trinn mellom prosessene i differensialuttrykksanalysen. En lineær modell brukes til statistikk i limma, som gjelder for alle genuttrykksteknologier, inkludert mikroarrayer, RNA-seq og kvantitativ PCR8,13, mens edgeR og DESeq2 implementerer en rekke statistiske metoder basert på den negative binomiske fordelingen9,10og edgeR og DESeq2 er egnet for RNA-seq data. I tillegg er de normaliserte RNA-seq count-dataene nødvendige for EdgeR og limma, mens DESeq2 bruker sine egne bibliotekavvik for å korrigere data i stedet for normalisering, og dataene i DESeq2 må være en heltallsmatrise. Normaliseringsmetodene inkluderer TMM (trimmet gjennomsnitt av M-verdier), TMMwsp, RLE (relativ logguttrykk) og øvrequartile, blant annet TMM er den mest brukte normaliseringsmetoden for RNA-seq-data. Resultatene av de tre metodene viste at DESeq2 og EdgeR oppnår flere DEG-er enn limma. Årsaken til denne forskjellen er at edgeR og DESeq2 er basert på den negative binomiske modellen, noe som bidrar til et stort antall falske positiver. Tvert imot bruker limma-voom bare variansfunksjonen og viser ikke overdreven falske positiver, som det er tilfellet med en variansstabiliserende transformasjon etterfulgt av lineær modellanalyse med limma14,15,16.

Alle tre metodene har sine egne fordeler, og valget er bare avhengig av typen data. Hvis det for eksempel finnes mikroarraydata, bør limma prioriteres, men når det er neste generasjons sekvenseringsdata, foretrekkes DESeq2 og EdgeR9,10,17. Oppsummert gir vi her en detaljert protokoll for RNA-seq differensialuttrykksanalyse med R-pakker limma, edgeR og DESeq2, henholdsvis. Resultatene fra de tre metodene overlapper delvis, og disse differensialmetodene har sine respektive fordeler. Dessverre dekker ikke denne protokollen de tekniske detaljene for andre datatyper (f.eks. mikroarraydata) og metoder(f.eks.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

Manuskriptet er ikke publisert før og vurderes ikke for publisering andre steder. Alle forfattere har bidratt til opprettelsen av dette manuskriptet for viktig intellektuelt innhold og lest og godkjent det endelige manuskriptet. Vi erklærer at det ikke er noen interessekonflikt.

Acknowledgments

Dette arbeidet ble støttet av National Natural Science Foundation of China (Grant No. 81860276) og 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

Kreftforskning utgave 175
Tre differensialuttrykksanalysemetoder for 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