MicrobiomeProfiler

MicrobiomeProfiler is an R package and Shiny application for functional enrichment analysis in microbiome studies. It builds on the clusterProfiler ecosystem and provides both interactive and programmatic workflows for common microbiome annotation tasks.

The package now supports a hybrid data-delivery model:

What It Supports

MicrobiomeProfiler currently supports:

Installation

Install the release version from Bioconductor:

if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}
BiocManager::install("MicrobiomeProfiler")

Or install the development version from GitHub:

if (!requireNamespace("remotes", quietly = TRUE)) {
    install.packages("remotes")
}
remotes::install_github("YuLab-SMU/MicrobiomeProfiler")

Launch The Shiny App

library(MicrobiomeProfiler)
run_MicrobiomeProfiler()

The Shiny interface currently provides:

For eggNOG GSEA in the app, provide one ranked item per line, that is an identifier and a numeric score separated by whitespace:

Arginase@131567|ET-10!	2.5
GATase_7@131567|C-2!	1.5
...

Programmatic Usage

KEGG And COG

library(MicrobiomeProfiler)

data(Rat_data)
ko_res <- enrichKO(Rat_data)

data(Psoriasis_data)
cog_res <- enrichCOG(Psoriasis_data, dtype = "pathway")

eggNOG

eggNOG orthologous groups are used as the input identifiers. They are not plain OG0001-style numbers: an identifier carries the gene name, the taxonomic id and a suffix, for example Collectrin@131567|A-1*.

library(MicrobiomeProfiler)

og <- c(
    "Collectrin@131567|A-1*",
    "Collectrin@7711|C-2",
    "Collectrin@75365|II-17"
)

ora_res <- enrichEggNOG(og, minGSSize = 1, maxGSSize = 500)

ORA is the primary quick-start example. GSEA expects a named ranked numeric vector of the same identifiers:

geneList <- c(2.5, 1.5, -0.8)
names(geneList) <- og

A ranked list has to span more than one pathway for the permutation p-values to be computable, so a handful of identifiers taken from a single pathway is not enough to obtain a result. In the Shiny app, the Example button of eggNOG + GSEA builds a ready-to-run ranked list from the published annotation artifact.

Microbe-Disease And Signature Enrichment

library(MicrobiomeProfiler)

data("microbiota_taxlist", package = "MicrobiomeProfiler")

bugsigdb_res <- enrichBugSigDB(microbiota_taxlist)
mda_res <- enrichMDA(microbiota_taxlist)

External Data Delivery

Some annotation resources are distributed from the package GitHub Pages site instead of being bundled directly in the source tarball. This keeps package size under control and allows annotation artifacts to be refreshed independently.

Current external datasets include:

Inspect configured datasets:

library(MicrobiomeProfiler)

available_datasets()
available_datasets(include_remote = TRUE)

Pre-download data into the local cache:

download_dataset("bugsigdb")
download_dataset("disbiome")
download_dataset("eggnog")

Refresh or inspect cache state:

download_dataset("eggnog", refresh = TRUE)

dataset_cache_info()
dataset_cache_info("eggnog")

clear_dataset_cache("eggnog")

Runtime behavior:

Documentation

See the package vignette for a broader introduction:

Reference