Demonstration of Gene Ontology (GO) enrichment analysis


topGO: Bioconductor, Paper

topGO (with enrichment_barplot function): GitHub

clusterProfiler: Bioconductor, Paper, Documentation

enrichplot: Bioconductor

Enrichr: Website, Paper

enrichR: CRAN

Demo Dataset: E-MTAB-8411 from The clock gene Bmal1 inhibits macrophage motility, phagocytosis, and impairs defense against pneumonia. PNAS. 2020;117(3):1543-1551.

License: GPL-3.0

Introduction

In this tutorial, I will use the sequencing data from E-MTAB-8411 to demonstrate how to use topGO, clusterProfiler and Enrichr via its R interface enrichR to perform GO enrichment analysis.

This RNA-seq dataset contains 5 wild-type (GK1, GK3, GK5, GK7 and GK9) and 4 macrophage-specific Bmal1 knockout samples (GK2, GK4, GK6 and GK10). The fastq files were retreived from ArrayExpress and processed with the follow steps:

  1. Adapter and QC trimming with BBDuk
  2. Mapping to Mouse genome (assemble MM10 and GENCODE M24 annotation) with STAR
  3. Differential expression analysis with DESeq2

We will perform the enrichment analysis using output from DESeq2.

Prerequisites

Demo Data

Download the result table from GitHub

cd /ngs/GO-Enrichment-Analysis-Demo

wget https://raw.githubusercontent.com/ycl6/GO-Enrichment-Analysis-Demo/master/DESeq2_DEG.txt

R Packages

# From CRAN
install.packages(c("devtools", "data.table", "enrichR"))

# From Bioconductor
if(!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(c("org.Mm.eg.db", "clusterProfiler", "enrichplot"))

# From GitHub
# topGO with enrichment_barplot() 
devtools::install_github("ycl6/topGO-feat", ref = "v2.41.0-barplot")

Resources

2. topGO