- Added
.themeEscape()internal theme function for consistent visualization styling across all plotting functions
- Seurat v5 compatibility: Updated
.cntEval()to detect SeuratObject version and uselayerargument instead of deprecatedslotargument for SeuratObject >= 5.0.0 - Consistent theming: Applied unified theme styling across all visualization functions (
ridgeEnrichment(),splitEnrichment(),geyserEnrichment(),heatmapEnrichment(),scatterEnrichment(),pcaEnrichment(),densityEnrichment(),gseaEnrichment(),enrichItPlot()) - Improved
densityEnrichment(): Added plot title showing gene set name, alphanumeric sorting of group labels, and improved rug segment styling
- Reformatted roxygen2 documentation across all exported functions for consistency
- Standardized use of
\code{},\itemize{},\enumerate{},\strong{}, and\emph{}tags - Replaced Unicode characters with ASCII equivalents for better portability
Update to 2.6.0 to match Bioconductor Release 3.22 on 2025/10/30
- Fixed issue
densityEnrichment()interaction with GSVA package through the functioncompute.gene.cdf
- Enable
color.byfor both metadata columns and features (other gene sets) - Introduce
summarise.byargument forgeyserEnrichment() - Enable scaling if color.by is another gene.set. Enable scaling for
dgCMatrix
- Fix conversion wide-to-long format for
heatmapEnrichment() - Fix issue with t() call on sparse matrices.
- Streamlined code-base – major internal refactor for clarity, speed and a ~20 % smaller dependency tree.
- Consistent, flexible visualisation API across all plotting helpers.
- Robust unit-test suite (>250 expectations) now ships with the package.
| Area | Function(s) | What changed |
|---|---|---|
| Visualisation | ridgeEnrichment() |
True gradient coloring mode for numeric color.by; optional per-cell rugs; quantile median line; fixed grey-fill bug |
densityEnrichment() |
accepts new rug.height; ~4× faster ranking routine using MatrixGenerics::rowMeans2; cleaner two-panel layout via patchwork |
|
gseaEnrichment() |
new rug.height; clearer legend showing ES/NES/ p; internal vectorised ES calculation |
|
splitEnrichment() |
rewritten: split violins when split.by has 2 levels, dodged violins otherwise; inline boxplots; auto Z-scaling; palette helper |
|
scatterEnrichment() |
density-aware points (via ggpointdensity), hex-bin alternative, optional Pearson/Spearman overlay, continuous or discrete color mapping | |
| Dimensionality reduction | performPCA() / pcaEnrichment() |
uses irlba::prcomp_irlba() automatically for large matrices; stores eigen-values/contribution in misc; add.percent.contribution now always respected |
| Scoring backend | escape.matrix() / .compute_enrichment() |
lazy loading of heavy back-ends (GSVA, UCell, AUCell); unified .build_gsva_param(); drops empty gene-sets up-front |
| Normalization | performNormalization() |
chunk-wise expressed-gene scaling (memory-friendly); accepts external scale.factor; optional signed log-transform; returns object with assay <assay>_normalized |
| Gene-set retrieval | getGeneSets() |
downloads now cached under tools::R_user_dir("escape", "cache"); graceful KEGG append; clearer error for non-human/mouse requests |
- Replaced plyr, stringr, rlang usage with base-R helpers; these packages are now Suggests only.
- Common color and label utilities (
.colorizer(),.colorby(),.orderFunction()) removed redundant tidyverse imports. - Internal matrices split/chunked with new
.split_*helpers to cap memory during parallel scoring/normalization.
- Gradient mode in
ridgeEnrichment()no longer produces grey fills when the chosen gene-set is mapped tocolor.by. pcaEnrichment()axis labels correctly include variance contribution whendisplay.factors = FALSE..grabDimRed()handles both Seurat v5 and <v5 slot structures; fixes missing eigen-values for SCE objects.escape.matrix()respectsmin.size = NULL(no filtering) and handles zero-overlap gene-sets gracefully.- Global variable declarations consolidated – eliminates R CMD check NOTES
regarding
na.omit,value, etc.
- DESCRIPTION rewritten – heavy packages moved to Suggests; added explicit
Config/reticulatefor BiocParallel. escape.gene.setsdata object now fully documented with source, usage, and reference.
- Version bump to align with Bioconductor release cycle.
- escape.matrix() now silently removes gene-sets with zero detected features.
- Switched MSigDB dependency from msigdbr ➜ msigdb.
getGeneSets()gains local caching; supports only Homo sapiens / Mus musculus.
- Fixed
groupsparameter handling and data splitting inescape.matrix(). - Improved efficiency of internal
.split_data.matrix().
- Patched
performNormalization()conditional logic and per-gene-set rescaling.
- Version bump for Bioconductor.
- Seurat v5 compatibility; mean/median options for
heatmapEnrichment().
- update
densityEnrichment()GSVA function pull
- update
densityEnrichment()for new GSVA function name - Parallelization of
performNormalization() - Refactor of
getGeneSets()to prevent issues with m_df error.
- fixed
performNormalziation()errors when input.data was a matrix, now requires single-cell object and enrichment data - passing parallel processing properly to
runEscape()function.
- ordering by mean values no longer changes the color order
- add explicit BPPARAM argument to
runEscape()andescape.matrix() - added additional details in
runEscape()andescape.matrix()for make.positive. - removed plotting of
splitEnrichment()for group.by = NULL - separated AUC calculation to rankings and AUC, this was only method found to get consistent scores.
- Added
runEscape() - Added
geyserEnrichment() - Added
scatterEnrichment() - Added
heatmapEnrichment() - Changed enrichIt to
escape.matrix() - Changed enrichmentPlot to
densityEnrichment() performPCA()now works with a matrix or single-cell objectpcaEnrichment()combines biplot-like functions
- Updated interaction with gsva package
- Added support for GSVA calculation
- Added support for AUCell calculation
- Added support of visualizations and calculations for single-cell objects
- Modified
getGeneSets()to output a list of gene set objects with reformatted names following the Seurat "-" convention
- Deprecate getSignificance()
- Deprecate masterPCAPlot()
- Releveling version for commit to new Bioconductor release
- Removed UCell internal functions to just import the Bioconductor UCell package
- Fixed masterPCAPlot top_n() call to slice_max by top.contributions.
- Version number and small edits for bioconductor compliance
- Removed singscore method
- Added UCell functions internally so they are compatible with Bioconductor
- Fixed performPCA, eliminated merge call.
- Normalization for ssGSEA no longer uses the range of all gene sets, but columns, normalizing it to 0 to 1.
- Added Kruskal-Wallis test for additional support of multi-group comparison
- Added wilcoxon and LR for getSignificance
- median calculated and appended to the getSignificance() function output
- ANOVA in getSignificance() returns p-values for each comparison using TukeyHSD()
- new parameter gene.sets getSignificance() to select only gene sets or subsets.
- enrichmentPlot() beta release
- Added subcategory to getGeneSets to select subsets of libraries.
- Added default coloring to enrichmentPlot()
- enrichmentPlot() now imports calculations partially from GSVA internal functions to facilitate use of C
- Filtering based on min.size now works instead of not working.
- Added removal of gene sets with less than x features parameter in enrichIt - min.size
- Added UCell and singScore support
- new parameter gene.sets in MasterPCAPlot() and performPCA() to allow for selecting specific columns and prevent using other numeric vectors in meta data.
- Aligning versions to the current bioconductor release
- Added DietSeurat() call in vignette to prevent issues
- Adding internal gene sets - escape.gene.sets
- Removed lm.fit using limma from getSignificance
- Removed ggrepel, rlang, and factoextra dependencies.
- Updated Seurat package switch
- Switch the way counts are processed by first eliminating rows with 0 expression in the sparse matrix before converting to a full matrix
- Changing Seurat dependency, updated vignette
- Edited getSignificance ANOVA model call
- Edited getSignificance fit call to match documentation
- Edited match.args() in getSignificance
- Edited match.args() in getSignificance
- Added match.args() to getSignificance
- Changed stop() to message()
- Modified getSignficance to allow for ANOVA and T.test
- Updated link in description of getGeneSets.
*Fixed a parenthesis, yeah a parenthesis. (In enrichIt() call I edited for 99.1)
- Removed parallel call in gsva() and added biocparallel
- Changed cores = 4 to cores = 2 in the vignette
- Preparing for bioconductor submission