enrichit: C++ Implementations of Functional Enrichment Analysis

enrichit is part of the clusterProfiler family, serving as the underlying algorithm implementation layer. It focuses on fast core computation, standardized result objects, and reusable data-preparation layers for downstream visualization packages such as enrichplot.

The package now covers not only classical enrichment workflows such as ORA and GSEA, but also weighted enrichment, network propagation-based enrichment, multi-omics early/late fusion, multi-layer topology fusion, and explanation-ready data extraction.

Installation

You can install the development version of enrichit from GitHub using devtools:

# install.packages("devtools")
devtools::install_github("YuLab-SMU/enrichit")

Scope

enrichit is designed around four layers:

Feature Map

Main APIs

Classical enrichment

Weighted enrichment

Network-aware enrichment

Multi-omics integration

Explanation helpers

Result Objects

The package provides the standard enrichment result object model used by the clusterProfiler family:

These objects are intended to support a clean separation of concerns across the clusterProfiler family:

Design Notes