Releases: BorchLab/escape
Releases · BorchLab/escape
v2.6.1
#Version 2.6.1
Bug fix
- Fix conversion wide-to-long format for
heatmapEnrichment() - Fix issue with
t()call on sparse matrices. - Fix issue with GSVA cdf calculation in
denistyEnrichment()
New functionality
- Enable
color.byfor both metadata columns and features (other gene sets) - Introduce
summarise.byargument forgeyserEnrichment() - Enable scaling if
color.byis another gene.set. - Enable scaling for dgCMatrix
v2.5.0
Highlights
- 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.
New & enhanced functionality
| 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 |
Performance & dependency reductions
- 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.
Bug fixes
- 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
regardingna.omit,value, etc.
Documentation
- DESCRIPTION rewritten – heavy packages moved to Suggests; added explicit
Config/reticulatefor BiocParallel. escape.gene.setsdata object now fully documented with source, usage, and reference.
v2.2.3
UNDERLYING CHANGES
- fixed handling of groups parameter and data splitting in ````escape.matrix()```
- improved efficiency of internal
.split_data.matrix() - fix ```performNormalization()```` conditional statements
- fix
performNormalization()rescaling for per gene set calculations
v2.2.1
escape VERSION 2.2.1
UNDERLYING CHANGES
- update handling of v5 Seurat versus <v5 Seurat Objects
- added mean and median visualization for
heatmapEnrichment() - update
densityEnrichment()GSVA function pull - Parallelization of
performNormalization() - Refactor of
getGeneSets()to prevent issues with m_df error. - fixed
performNormalization()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.