Waiting
Login processing...

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

Cancer Research

Trois méthodes d’analyse d’expression différentielle pour le séquençage de l’ARN : limma, EdgeR, DESeq2

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

Summary

Un protocole détaillé des méthodes d’analyse de l’expression différentielle pour le séquençage de l’ARN a été fourni : limma, EdgeR, DESeq2.

Abstract

Le séquençage de l’ARN (RNA-seq) est l’une des technologies les plus largement utilisées en transcriptomique car il peut révéler la relation entre l’altération génétique et les processus biologiques complexes et a une grande valeur dans le diagnostic, le pronostic et la thérapeutique des tumeurs. L’analyse différentielle des données ARN-seq est cruciale pour identifier les transcriptions aberrantes, et limma, EdgeR et DESeq2 sont des outils efficaces pour l’analyse différentielle. Cependant, l’analyse différentielle ARN-seq nécessite certaines compétences avec le langage R et la capacité de choisir une méthode appropriée, ce qui fait défaut dans le programme d’enseignement médical.

Ici, nous fournissons le protocole détaillé pour identifier les gènes exprimés différentiellement (DEG) entre le cholangiocarcinome (CHOL) et les tissus normaux à travers limma, DESeq2 et EdgeR, respectivement, et les résultats sont présentés dans des diagrammes de volcan et des diagrammes de Venn. Les trois protocoles limma, DESeq2 et EdgeR sont similaires mais ont des étapes différentes parmi les processus de l’analyse. Par exemple, un modèle linéaire est utilisé pour les statistiques en limma, tandis que la distribution binomiale négative est utilisée dans edgeR et DESeq2. De plus, les données normalisées de comptage ARN-seq sont nécessaires pour EdgeR et limma, mais ne sont pas nécessaires pour DESeq2.

Ici, nous fournissons un protocole détaillé pour trois méthodes d’analyse différentielle: limma, EdgeR et DESeq2. Les résultats des trois méthodes se chevauchent en partie. Les trois méthodes ont leurs propres avantages, et le choix de la méthode ne dépend que des données.

Introduction

Le séquençage de l’ARN (séquençage de l’ARN) est l’une des technologies les plus largement utilisées en transcriptomique avec de nombreux avantages (par exemple, une reproductibilité élevée des données), et a considérablement augmenté notre compréhension des fonctions et de la dynamique des processus biologiques complexes1,2. L’identification des transcriptions d’aberrate dans différents contextes biologiques, également connus sous le nom de gènes exprimés différentiellement (DEG), est une étape clé de l’analyse de l’ARN.seq. RNA-seq permet d’obtenir une compréhension approfondie des mécanismes moléculaires et des fonctions biologiques liés à la pathogenèse. Par conséquent, l’analyse différentielle a été considérée comme précieuse pour le diagnostic, le pronostic et la thérapeutique des tumeurs3,4,5. Actuellement, d’autres progiciels R/Bioconductor open source ont été développés pour l’analyse de l’expression différentielle ARN-seq, en particulier limma, DESeq2 et EdgeR1,6,7. Cependant, l’analyse différentielle nécessite certaines compétences avec le langage R et la capacité de choisir la méthode appropriée, ce qui fait défaut dans le programme d’études médicales.

Dans ce protocole, basé sur les données de comptage de l’ARN-seq du cholangiocarcinome (CHOL) extraites de l’Atlas du génome du cancer (TCGA), trois des méthodes les plus connues (limma8,EdgeR9 et DESeq210)ont été réalisées, respectivement, par le programme R11 pour identifier les DEG entre le CHOL et les tissus normaux. Les trois protocoles limma, EdgeR et DESeq2 sont similaires mais ont des étapes différentes parmi les processus de l’analyse. Par exemple, les données normalisées de comptage ARN-seq sont nécessaires pour EdgeR et limma8,9, tandis que DESeq2 utilise ses propres divergences de bibliothèque pour corriger les données au lieu de la normalisation10. En outre, edgeR est spécifiquement adapté aux données de type ARN-seq, tandis que le limma est utilisé pour les microréseaux et les références d’ARN. Un modèle linéaire est adopté par limma pour évaluer les DEG12, tandis que les statistiques dans edgeR sont basées sur les distributions binomiales négatives, y compris l’estimation empirique de Bayes, les tests exacts, les modèles linéaires généralisés et les tests de quasi-vraisemblance9.

En résumé, nous fournissons les protocoles détaillés de l’analyse de l’expression différentielle ARN-seq en utilisant limma, DESeq2 et EdgeR, respectivement. En se référant à cet article, les utilisateurs peuvent facilement effectuer l’analyse différentielle ARN-seq et choisir les méthodes d’analyse différentielle appropriées pour leurs données.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

REMARQUE: Ouvrez le programme R-studio et chargez le fichier R « DEGs.R », le fichier peut être acquis à partir de fichiers / scripts supplémentaires.

1. Téléchargement et prétraitement des données

  1. Téléchargez les données de comptage du séquençage à haut débit (HTSeq) du cholangiocarcinome (CHOL) à partir de l’Atlas du génome du cancer (TCGA). Cette étape peut être facilement réalisée par le code R suivant.
    1. Cliquez sur Exécuter pour installer les packages R.
    2. Cliquez sur Exécuter pour charger les packages R.
      if(!requireNamespace(« BiocManager », quietly=TRUE))
      + install.packages(« BiocManager »)
      BiocManager::install(c(« TCGAbiolinks », « RésuméExperiment »))
    3. Définissez le répertoire de travail.
      bibliothèque (TCGAbiolinks)
      bibliothèque(RésuméExpériment)
      setwd(« C:/Users/LIUSHIYI/Desktop »)
    4. Choisissez le type de cancer.
      cancer <- « TCGA-CHOL »
    5. Exécutez le code R à partir du fichier « GDCquery.R » pour télécharger les données. Le fichier « GDCquery.R » peut être acquis à partir de fichiers/scripts supplémentaires :
      source(« Fichiers supplémentaires/Scripts/GDCquery.R »)
      tête(cnt)
      ##TCGA-3X-AAVA-01A-11R-A41I-07
      N° #ENSG00000000003 4262
      ##ENSG00000000005 1
      N° #ENSG00000000419 1254
      N° #ENSG00000000457 699
      N° #ENSG00000000460 239
      N° #ENSG00000000938 334
      REMARQUE: Après l’exécution, les données de comptage CHOLHTSeq seront téléchargées et nommées « cnt », où les lignes représentent les ID de gènes d’ensemble et les colonnes représentent les ID d’échantillon. Veuillez noter les numéros aux positions 14 à 15 dans les exemples d’identification; des nombres allant de 01 à 09 indiquent des tumeurs et allant de 10 à 19 indiquent des tissus normaux.
  2. Convertissez les ID de gènes d’ensemble en symboles de gènes.
    1. Importez le fichier d’annotation dans R en fonction de son chemin de stockage. Le fichier d’annotation (gencode.v22.annotation.gtf) peut être acquis à partir de fichiers supplémentaires.
      gtf_v22 <- rtracklayer::import('Fichiers supplémentaires/gencode.v22.annotation.gtf')
    2. Exécutez le code R à partir de la gtf_v22. R », qui peut être acquis à partir de fichiers/scripts supplémentaires :
      source(« Fichiers supplémentaires/Scripts/gtf_v22. R")
    3. Appliquez la fonction « ann » pour convertir les ID de gènes d’ensemble en symboles de gènes.
      cnt=ann(cnt,gtf_v22)
  3. Filtrage des gènes faiblement exprimés
    1. Cliquez sur Exécuter pour installer le package R « edgeR ».
      BiocManager::install(« edgeR »)
    2. Cliquez sur Exécuter pour charger le package R « edgeR ».
      bibliothèque(edgeR)
    3. Exécutez le code R suivant pour conserver les gènes dont les valeurs de nombre par million (CPM) sont supérieures à un sur au moins deux échantillons.
      conserver <- rowSums(cpm(cnt)>1)>=2
      cnt <- as.matrix(cnt[keep,])
      REMARQUE : La valeur du nombre par million (CPM) est utilisée à la place du nombre de lectures pour éliminer l’écart causé par différentes profondeurs de séquençage.

2. Analyse de l’expression différentielle par « limma »

  1. Cliquez sur Exécuter pour installer le package R « limma ».
    BiocManager::install(« limma »)
  2. Cliquez sur Exécuter pour charger les paquets R « limma », « edgeR ».
    bibliothèque(limma)
    bibliothèque(edgeR)
  3. Exécutez le code R suivant pour créer la matrice de conception.
    groupe <- substring(colnames(cnt),14,15) # Extract group information
    groupe [groupe %in% « 01"] <- "Cancer" # set '01' as tumor tissue
    groupe [groupe %in% « 11"] <- "Normal" # set '11' as normal tissue
    groupe <- factor (group, levels = c("Normal","Cancer"))
    1. Créez la matrice de conception.
      design <- model.matrix (~groupe)
      rownames(design) <- colnames(cnt)
    2. Créez l’objet DGEList.
      dge <- DGEList(counts = cnt, group = group)
    3. Normalisez les données.
      dge <- calcNormFactors(dge, méthode = « TMM »)
    4. Exécutez le code R suivant pour effectuer l’analyse d’expression différentielle basée sur la méthode limma-trend.
      dge
      ##An objet de la classe « DGEList »
      ##$counts
      ##TCGA-3X-AAVA-01A-11R-A41I-07
      N° #TSPAN6 4262
      N° #DPM1 1254
      N° #SCYL3 699
      N° #C1orf112 239
      ##FGR 334
    5. Calculez la valeur CPM.
      logdge <- cpm(dge, log=TRUE, prior.count=3)
    6. Cliquez sur Exécuter pour ajuster un modèle linéaire afin de prédire les données ou de déduire la relation entre les variables.
      fit <- lmFit (logdge, design)
    7. Calculez la valeur T, la valeur F et les cotes logarithmées en fonction du bayésien.
      fit <- eBayes(fit, trend=TRUE)
    8. Extrayez la table des résultats.
      res_limma<- as.data.frame(topTable(fit,n=Inf))

      tête(s) 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 résultat de l’analyse de l’expression différentielle est enregistré dans « res_limma », qui comprend l’id du gène, la valeur de changement de pli log2 (logFC), le niveau d’expression log2 moyen du gène dans l’expérience (AveExpr), la statistique t modifiée (t), la valeur p relavent (P.Value), la valeur p corrigée du taux de fausse découverte (FDR) (adj. P.Val) et les log-cotes des gènes exprimés différentiellement (B)
      REMARQUE: La fonction « calcNormFactors() » de « edgeR » a été utilisée pour normaliser les données afin d’éliminer l’influence causée par la préparation de l’échantillon ou la construction et le séquençage de la bibliothèque. Dans la construction de la matrice de conception, il est nécessaire de faire correspondre la conception expérimentale (par exemple, type de tissu: tissus normaux ou tumoraux) aux D’échantillon de la matrice. limma-trend convient aux données dont la profondeur de séquençage est la même, tandis que limma-voom convient : (i) lorsque la taille de la bibliothèque d’échantillons est différente ; ii) les données non normalisées par TMM; (iii) il y a beaucoup de « bruit » dans les données. Un logFC positif signifie que le gène est régulé à la hausse dans l’expérience, tandis que le nombre négatif signifie que le gène est régulé à la baisse.
    9. Identifiez les DEG.
      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')) # La valeur adj.p < 0,05 et la |log2FC| >= 2 sont des seuils pour identifier les DEG
      résumé(res_limma$sig)
      ##down pas en place
      ##1880 ​17341 1443
    10. Sortie de la table de résultats dans un fichier.
      write.csv(res_limma, fichier = 'result_limma.csv')
    11. Cliquez sur Exécuter pour installer le package R « ggplot2 ».
      install.packages(« ggplot2 »)
    12. Cliquez sur Exécuter pour charger le package R « ggplot2 ».
      bibliothèque(ggplot2)
    13. Exécutez le code R à partir du « volcano. R » pour créer la parcelle du volcan. Le fichier « volcan. R » peut être acquis à partir de fichiers supplémentaires.
      source(« Fichiers supplémentaires/Scripts/volcan. R")
      volcano(res_limma,"logFC »,"adj. P.Val »,2,0,05)
      REMARQUE: Les gènes peuvent être mappés à différentes positions en fonction de leurs valeurs log2FC et adj-p, les DEG régulés vers le haut sont colorés en rouge et les DEG régulés vers le bas sont colorés en vert.
    14. Cliquez sur Exporter pour enregistrer le tracé du volcan.
      REMARQUE: Les tracés de volcan peuvent être générés et téléchargés dans différents formats (par exemple, pdf, TIFF, PNG, format JPEG). Les gènes peuvent être mappés à différentes positions en fonction de leurs valeurs log2FC et adj p, les DEG régulés à la hausse (log2FC > 2, adj p < 0,05) sont colorés en rouge, et les DEG régulés à la baisse (log2FC < -2, adj p < 0,05) sont colorés en vert, les non-DEG sont colorés en gris.

3. Analyse de l’expression différentielle par « edgeR »

  1. Cliquez sur Exécuter pour charger le package R « edgeR ».
    bibliothèque(edgeR)
  2. Exécutez le code R suivant pour créer une matrice de conception.
    groupe <-substring(colnames(cnt),14,15)
    groupe [groupe %in% « 01"] <- « Cancer »
    groupe [groupe %in% « 11"] <- « Normal »
    groupe=facteur(groupe, niveaux = c(« Normal »,"Cancer »))
    conception <-model.matrix(~group)
    rownames(design) = colnames(cnt)
  3. Cliquez sur Exécuter pour créer l’objet DGEList.
    dge <- DGEList(counts=cnt)
  4. Normalisez les données.
    dge <- calcNormFactors(dge, méthode = « TMM »)
  5. Cliquez sur Exécuter pour estimer la dispersion des valeurs d’expression des gènes.
    dge <- estimationDisp(dge, conception, robuste = T)
  6. Cliquez sur Exécuter pour ajuster le modèle afin de compter les données.
    fit <- glmQLFit(dge, design)
  7. Effectuez un test statistique.
    fit <- glmQLFTest(fit)
  8. Extrayez la table des résultats. Le résultat est enregistré dans « res_edgeR », qui comprend la valeur de changement de pli de journal, le CPM de journal, la valeur F, p et la valeur p corrigée FDR.
    res_edgeR=as.data.frame(topTags(fit, n=Inf))
    tête(s) 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 résultat est enregistré dans « res_edgeR », qui inclut la valeur de changement de pli de journal (logFC), le CPM de journal, la valeur F, p et la valeur p corrigée FDR
  9. Identifiez les DEG.
    res_edgeR$sig = as.factor(
    ifelse(res_edgeR$FDR < 0.05 & abs(res_edgeR$logFC) > 2,
    ifelse(res_edgeR$logFC > 2 ,'up','down'),'not'))
    résumé(res_edgeR$sig)
    ##down pas en place
    ##1578 15965 3121
  10. Sortie de la table de résultats dans un fichier.
    write.csv(res_edgeR, fichier = 'res_edgeR.csv')
  11. Créez le tracé du volcan.
    volcan(res_edgeR,"logFC »,"FDR »,2,0.05)
  12. Cliquez sur Exporter pour enregistrer le tracé du volcan.

4. Analyse de l’expression différentielle via « DESeq2 »

  1. Cliquez sur Exécuter pour installer les packages R « DESeq2 ».
    BiocManager::install(« DESeq2 »)
  2. Cliquez sur Exécuter pour charger les packages R « DESeq2 ».
    bibliothèque(DESeq2)
  3. Exécutez le code R suivant pour déterminer le facteur de regroupement.
    groupe <-substring(colnames(cnt),14,15)
    groupe [groupe %in% « 01"] <- « Cancer »
    groupe [groupe %in% « 11"] <- « Normal »
    groupe=facteur(groupe, niveaux = c(« Normal »,"Cancer »))
  4. Créez l’objet DESeqDataSet.
    dds <-DESeqDataSetFromMatrix (cnt, DataFrame(group), design = ~group)
    Dds
    ##class : DESeqDataSet
    ##dim : 20664 45
    ##metadata(1) : version
    ##assays(1) : comptes
    ##rownames(20664): TSPAN6 DPM1 ... RP11-274B21.13 LINC01144
    ##rowData noms(0) :
    ##colnames(45): TCGA-3X-AAVA-01A-11R-A41I-07 ...
    ##colData noms(1) : groupe
  5. Effectuez l’analyse.
    dds <- DESeq(dds)
  6. Générez la table des résultats.
    res_DESeq2 <- data.frame(résultats(dds))

    tête(s) 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
    REMARQUE: Le résultat est enregistré dans « res_DESeq2 », qui comprend la moyenne du nombre de lecture normalisé (baseMean), la valeur de changement de pli de journal (log2FoldChange), l’erreur type de changement de pli de journal (lfcSE), la statistique de Wald (stat), la valeur p d’origine (pvalue) et la valeur p corrigée (padj)
  7. Identifiez les DEG.
    res_DESeq2$sig = as.factor(
    ifelse(res_DESeq2$padj < 0.05 & abs(res_DESeq2$log2FoldChange) > 2,
    ifelse(res_DESeq2$log2FoldChange > 2 ,'up','down'),'not'))
    résumé(res_DESeq2$sig)
    ##down pas en place
    ##1616 16110 2938
  8. Sortie de la table de résultats dans un fichier.
    write.csv(res_DESeq2, fichier = 'res_DESeq2.csv')
  9. Créez le tracé du volcan.
    volcano(res_DESeq2,"log2FoldChange »,"padj »,2,0.05)
  10. Cliquez sur Exporter pour enregistrer le tracé du volcan.

5. Diagramme de Venn

  1. Cliquez sur Exécuter pour installer le package R « VennDiagram ».
    install.packages(« VennDiagram »)
  2. Cliquez sur Exécuter pour charger le package R « VennDiagram ».
    bibliothèque (VennDiagram)
  3. Faites un diagramme de Venn des DEG régulés.
    grid.newpage()
    grid.draw(venn.diagram(list(Limma=rownames(res_
    limma[res_limma$sig=="up »,]),
    edgeR=rownames(res_edgeR[res_edgeR$sig=="up »,]),
    DESeq2=rownames(res_DESeq2[res_DESeq2$sig==
    « haut »,])),
    NULL,hauteur = 3,largeur = 3,unités = « dans »,
    col="black »,lwd=0,3,fill=c(« #FF6666 »,"#FFFF00 »,
    "#993366"),
    alpha=c(0,5, 0,5, 0,5),main = « DEG régulés à la hausse »))
  4. Cliquez sur Exporter pour enregistrer le diagramme de Venn.
  5. Faites un diagramme de Venn des DEG régulés vers le bas.
    grid.newpage()
    grid.draw(venn.diagram(list(Limma=rownames(res_
    limma[res_limma$sig=="down »,]),
    edgeR=rownames(res_edgeR[res_edgeR$sig==
    « vers le bas »,]),
    DESeq2=rownames(res_DESeq2[res_DESeq2$sig=="down »,])),
    NULL,hauteur = 3,largeur = 3,unités = « dans »,
    col="black »,lwd=0,3,fill=c(« #FF6666 »,"#FFFF00 »,
    "#993366"),
    alpha=c(0,5, 0,5, 0,5),main = « DEG régulés à la baisse »))
  6. Cliquez sur Exporter pour enregistrer le diagramme de Venn.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

Il existe différentes approches pour visualiser le résultat de l’analyse de l’expression différentielle, parmi lesquelles le diagramme du volcan et le diagramme de Venn sont particulièrement utilisés. limma a identifié 3323 DEG entre le CHOL et les tissus normaux avec les |logFC|≥2 et adj. P.Val <0,05 comme seuils, parmi lesquels 1880 ont été régulés à la baisse dans les tissus CHOL et 1443 ont été régulés à la hausse(Figure 1a). Pendant ce temps, edgeR a identifié les 1578 DEG à régulation à la baisse et les 3121 DEG à régulation à la hausse(Figure 1b); DESeq2 a identifié les 1616 DEG à régulation à la baisse et les 2938 DEG à régulation à la hausse(Figure 1c). En comparant les résultats de ces trois méthodes, 1431 DEG régulés à la hausse et 1531 DEG à régulation descendante se chevauchaient(Figure 2).

Figure 1
Graphique 1. Identification des gènes exprimés différentiellement (DEG) entre le CHOL et les tissus normaux. (a-c) Les diagrammes volcaniques de tous les gènes acquis par limma, edgeR et DESeq2, respectivement, la valeur adj p (-log10) est tracée par rapport au changement de pli (log2), les points rouges représentent les DEG régulés à la hausse (valeur p ajustée<0,05 et log | FC|> 2) et les points verts représentent les DEG régulés à la baisse (valeur p ajustée< 0,05 et log | FC |< 2). Veuillez cliquer ici pour voir une version agrandie de cette figure.

Figure 2
Graphique 2. Les diagrammes de Venn montrent un chevauchement entre les résultats dérivés de la limma, de l’edgeR et du DESeq2. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Dossiers supplémentaires. Veuillez cliquer ici pour télécharger ce fichier.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

Les transcriptions aberrate abondantes dans les cancers peuvent être facilement identifiées par l’analyse différentielle ARN-seq5. Cependant, l’application de l’analyse de l’expression différentielle ARN-seq est souvent limitée car elle nécessite certaines compétences avec le langage R et la capacité de choisir des méthodes appropriées. Pour résoudre ce problème, nous fournissons une introduction détaillée aux trois méthodes les plus connues (limma, EdgeR et DESeq2) et des tutoriels pour appliquer l’analyse d’expression différentielle ARN-seq. Cela facilitera la compréhension des similitudes et des différences entre les trois méthodes, permettra la sélection d’une méthode appropriée pour les données individuelles et nous permettra de comprendre les processus biologiques dynamiques complexes.

Ici, nous présentons un protocole détaillé pour l’analyse de l’expression différentielle ARN-seq par limma, edgeR et DESeq2 respectivement, en cinq étapes: (i) téléchargement et pré-traitement des données, (ii-iv) analyse de l’expression différentielle par limma, edgeR et DESeq2, respectivement, (v) comparaison des résultats de ces trois méthodes à travers un diagramme de Venn.

Les trois méthodes ont des étapes similaires et différentes parmi les processus de l’analyse de l’expression différentielle. Un modèle linéaire est utilisé pour les statistiques in limma, qui est applicable à toutes les technologies d’expression génique, y compris les microréseaux, l’ARN-seq et la PCR quantitative8,13, tandis que edgeR et DESeq2 mettent en œuvre une gamme de méthodologies statistiques basées sur la distribution binomiale négative9,10, et edgeR et DESeq2 conviennent aux données ARN-seq. En outre, les données normalisées de comptage ARN-seq sont nécessaires pour EdgeR et limma, tandis que DESeq2 utilise ses propres divergences de bibliothèque pour corriger les données au lieu de la normalisation et les données dans DESeq2 doivent être une matrice entière. Les méthodes de normalisation comprennent TMM (moyenne ajustée des valeurs M), TMMwsp, RLE (expression logarithmique relative) et le quartier supérieur, parmi lesquels TMM est la méthode de normalisation la plus couramment utilisée pour les données RNA-seq. Les résultats des trois méthodes ont montré que DESeq2 et EdgeR obtiennent plus de DEG que de limma. La raison de cette différence est que edgeR et DESeq2 sont basés sur le modèle binomial négatif, ce qui contribue à un grand nombre de faux positifs. Au contraire, limma-voom n’utilise que la fonction variance et ne montre pas de faux positifs excessifs, comme c’est le cas avec une transformation stabilisatrice de variance suivie d’une analyse de modèle linéaire avec limma14,15,16.

Les trois méthodes ont leurs propres avantages, et le choix dépend simplement du type de données. Par exemple, s’il existe des données de microréseau, limma doit être donné en priorité, mais lorsqu’il s’agit des données de séquençage de nouvelle génération, DESeq2 et EdgeR sont préférés9,10,17. En résumé, nous fournissons ici un protocole détaillé pour l’analyse de l’expression différentielle ARN-seq avec les paquets R limma, edgeR et DESeq2, respectivement. Les résultats des trois méthodes se chevauchent en partie, et ces méthodes différentielles ont leurs avantages respectifs. Malheureusement, ce protocole ne couvre pas les détails techniques pour d’autres types de données (par exemple, les données de microréseaux) et les méthodes (par exemple, EBSeq)18.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

Le manuscrit n’a jamais été publié auparavant et n’est pas envisagé pour publication ailleurs. Tous les auteurs ont contribué à la création de ce manuscrit pour un contenu intellectuel important et ont lu et approuvé le manuscrit final. Nous déclarons qu’il n’y a pas de conflit d’intérêts.

Acknowledgments

Ce travail a été soutenu par la National Natural Science Foundation of China (subvention n° 81860276) et les principaux projets du Fonds spécial du programme national clé de R&D (subvention n° 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

Recherche sur le cancer numéro 175
Trois méthodes d’analyse d’expression différentielle pour le séquençage de l’ARN : 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