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.
You can install the development version of enrichit from
GitHub using devtools:
# install.packages("devtools")
devtools::install_github("YuLab-SMU/enrichit")enrichit is designed around four layers:
nsea() and multi-layer mnsea() workflows based
on Random Walk with Restart.enrichplot.C++ via Rcpp, with sparse
network propagation powered by RcppEigen.ora_gson() and
gsea_gson() interfaces for structured gene set
collections.nsea() and
nsea_gson() for network-ranked enrichment on a single
graph, including mode = "signed" for bidirectional
propagation.mnsea()
and mnsea_gson() for multiplex or heterogeneous network
propagation across multiple layers.aggregate_omics(), harmonize_ids(), and
select_features_for_ora() for feature-level integration
before enrichment.aggregate_enrichment() for pathway-level aggregation of
multiple enrichment results.get_omics_contribution(),
classify_omics_pattern(), and
get_mnsea_contribution() for explanation-oriented
summaries.extract_mnsea_subnetwork() for pathway-specific node/edge
tables that can be passed to downstream visualization packages.bayes_enrich()
and bayes_summary() for posterior-based term
prioritization.ora(), ora_gson()gsea(), gsea_gson()gseaScores()ora(..., weight = )ora_gson(..., weight = )gsea(..., weight = )gsea_gson(..., weight = )prepare_network()nsea(), nsea_gson()prepare_multilayer_network()propagate_multilayer()collapse_multilayer_scores()mnsea(), mnsea_gson()aggregate_omics()harmonize_ids()select_features_for_ora()aggregate_enrichment()get_omics_contribution()classify_omics_pattern()get_mnsea_contribution()extract_mnsea_subnetwork()The package provides the standard enrichment result object model used
by the clusterProfiler family:
enrichResult for ORA-like workflowsgseaResult for ranked enrichment workflowsnseaResult for single-network propagation plus
enrichmentmnseaResult for multi-layer propagation, collapsed
scores, and cached explanation tablesThese objects are intended to support a clean separation of concerns
across the clusterProfiler family:
enrichit handles core computation, algorithm
implementation, and explanation-ready data preparationclusterProfiler provides high-level biological
interpretation workflows and general enrichment analysis interfacesenrichplot handles visualizationgson provides a structured gene set resource layer for
managing and exchanging gene set collections across the familyDOSE, ReactomePA, meshes, and
MicrobiomeProfiler provide domain-specific annotation and
interpretation layers