NEWS
enrichit 0.2.0 (2026-07-01)
- extend multi-omics integration with pathway-level and topology-level workflows (2026-06-24, Wed)
- add
aggregate_enrichment() for multi-omics Late Fusion at the pathway level by aggregating multiple enrichResult/gseaResult objects
- support correlation-aware p-value aggregation with
method = "brown" in aggregate_omics()
- support
method = "weighted_mean" in aggregate_omics() for signed statistics with layer-specific weights
- add
mnsea() and mnsea_gson() for multi-layer network-based enrichment
- add
prepare_multilayer_network(), propagate_multilayer(), and collapse_multilayer_scores() for the multi-layer propagation pipeline
- add
mnseaResult to store multi-layer diffusion results, collapsed scores, layer weights, and cached explanation tables
- precompute pathway-level and feature-level explanation caches inside
mnseaResult
- add
get_mnsea_contribution() and extract_mnsea_subnetwork() for explanation-ready data extraction
- provide the generic engine layer for downstream high-level wrappers such as
clusterProfiler::mnseGO(), mnseKEGG(), mnseMKEGG(), and mnseWP()
- add
aggregate_omics(), harmonize_ids() and select_features_for_ora() to support Multi-omics Early Integration
- add
conflict_policy parameter ("keep_all", "strict", "penalty") to handle directional conflicts in signed statistics (2026-06-23, Tue)
- support early fusion before
ora(), gsea(), and nsea() through a decoupled aggregation layer
- these workflow helpers, together with
aggregate_enrichment(), are designed to be reused by downstream packages for high-level multi-omics analysis
- add
get_omics_contribution() and classify_omics_pattern() for Multi-omics contribution tracing
- implement Weighted Enrichment Analysis (2026-06-23, Tue)
- add
weight parameter to ora(), ora_gson(), gsea(), and gsea_gson()
- support Weighted ORA using Wallenius' noncentral hypergeometric distribution via the
BiasedUrn package
- support Weighted GSEA by fusing external weights with ranked statistics
- implement Network-based Set Enrichment Analysis (NSEA) (2026-06-23, Tue)
- add
nsea() and nsea_gson() for network-ranked GSEA based on Random Walk with Restart (RWR)
- add
mode = "signed" support in nsea() and nsea_gson() for bidirectional network propagation using signed statistics
- add
prepare_network() for parsing and normalizing edge lists or sparse matrices
- implement extremely fast RWR using
RcppEigen sparse matrix multiplication
- introduce zero-dependency integration strategy for network propagation followed by multilevel GSEA
- provide the generic engine layer for downstream high-level wrappers such as
clusterProfiler::nseGO(), nseKEGG(), nseMKEGG(), and nseWP()
- align multilevel GSEA rank scaling with
fgsea::prepareStats() to reduce result drift relative to the long-used fgsea backend (2026-06-22, Mon)
- replace the fixed
* 1e6 scaling in prepare_gsea_inputs() with fgsea-style total-weight normalization and integer rounding
- add a regression test that compares
gsea(method = "multilevel") against fgsea::fgseaMultilevel() on the same ranked input
- exclude zero-overlap gene sets from
ora_gson() before multiple-testing correction (2026-06-22, Mon)
- keep
Count = 0 rows out of p.adjust/qvalue so ORA results match historical DOSE/clusterProfiler behavior
- resolves inflated adjustment in downstream
clusterProfiler::enricher(), enrichKEGG(), and compareCluster() workflows (e.g. compound KEGG analyses, #821 & #819 of 'clusterProfiler')
enrichit 0.1.5 (2026-06-16)
- add Bayesian term selection for ORA results (2026-06-16, Tue)
- add
bayes_enrich() for estimating posterior probabilities of active explanatory terms from enrichResult objects
- add
bayes_summary() to return Bayesian enrichment results ordered by posterior probability
- support candidate term spaces from top ranked result rows, significant
as.data.frame() rows, all x@result rows, or explicit term IDs
- keep the output as an
enrichResult object with posterior, posterior odds, Bayesian rank, active flag, and covered-gene columns
enrichit 0.1.4 (2026-04-08)
- fix GSON helper functions (2026-04-06, Mon)
- correct
TERM2NAME() for GSON objects to map gsid to term names properly
- correct
TERMID2EXTID() for GSON objects to return gene vectors by requested term order
- return
character(0) for missing terms to keep downstream behavior stable
- resolves malformed
Description.* columns in downstream clusterProfiler::groupGO()
enrichit 0.1.3 (2026-03-10)
- fix
gsea_gson() (2026-03-10, Tue)
- force sorting of
geneList to ensure result object is consistent with input
- resolves issue with
enrichplot::gseaplot showing incorrect metric/color alignment
enrichit 0.1.2 (2026-02-26)
- improve robustness of
calculate_qvalue() (2026-02-02, Mon)
- handle missing
qvalue package gracefully
- retry with different parameters if
qvalue() fails
- handle invalid p-values (NA, infinite, out of range)
- validate p-values in
ora_gson() (2026-02-02, Mon)
- ensure p-values are within [0, 1] range
- warn and report invalid p-values
- optimize ORA p-value calculation in C++ (2026-02-02, Mon)
- use
phyper instead of summing dhyper for better performance and precision
enrichit 0.1.1 (2026-02-01)
- update
setReadable() to support converting gene ID to other types (not limited to SYMBOL) (2026-01-21, Wed)
- add
organism slot in compareClusterResult (2026-01-20, Tue)
enrichit 0.1.0 (2026-01-18)
- fix bugs in
gsea_gson() and ora_gson() (2026-01-11, Sun)
- handle missing columns (e.g., qvalues) gracefully by filling with NA
- handle
NA or duplicate gene set IDs in result rownames to prevent errors
- improve robustness of
calculate_qvalue() (2026-01-11, Sun)
- return NA instead of NULL when qvalue calculation fails
- update
ora_gson() output columns (2026-01-11, Sun)
enrichit 0.0.9 (2026-01-10)
- add leading edge analysis for GSEA (2026-01-10, Sat)
enrichit 0.0.8 (2025-12-22)
- fixed bugs of multilevel GSEA in p value calculation (2025-12-10, Wed)
- by learning the source code of 'fgsea'
enrichit 0.0.7
- add
gseaScores function (2025-12-07, Sun)
- to calculate GSEA scores for a single gene set
enrichit 0.0.6
- add vignette (2025-12-07, Sun)
enrichit 0.0.5
- implement multi-level GSEA algorithm (2025-12-06, Sat)
enrichit 0.0.4
- implement a simplified adaptive early-stopping GSEA algorithm (2025-12-05, Fri)
- For each gene set:
-
- Run initial batch (e.g., 1000 permutations)
-
- If p-value > threshold (e.g., 0.05), stop
-
- If significant, increase permutations geometrically (2x, 4x, 8x...)
-
- Continue until p-value stabilizes or max permutations reached
enrichit 0.0.3
- implement
ora_gson and gsea_gson (2025-12-05, Fri)
- as replacement for
enricher_internal and GSEA_internal
- mv helper functions and class definitions from
DOSE to enrichit (2025-12-05, Fri)
- to extend this package as the base package for the
clusterProfiler family
enrichit 0.0.2
gsea function (2025-12-04, Thu)
- Gene Set Enrichment Analysis (GSEA) using C++ via Rcpp.
enrichit 0.0.1
ora function (2025-12-03, Wed)
- Fast Over-Representation Analysis (ORA) using C++ via Rcpp.