Changelog
Source:NEWS.md
scGate 1.7.2
CRAN release: 2025-07-23
Breaking Changes
- Removed UCell dependency - Integrated UCell scoring algorithm directly into scGate
- This resolves the SeuratObject V5
Layers()dependency issue
Seurat Compatibility
- Seurat V4 Priority: All functions now prioritize Seurat V4 compatibility (tested with 4.4.0)
- Seurat V5 Compatible: Also works with Seurat V5 through compatibility layer
- Uses
Seurat::GetAssayData()instead ofSeuratObject::Layers()for V4 compatibility
New Internal Functions
-
.AddModuleScore_UCell()- Calculate UCell signature scores (V4/V5 compatible) -
.SmoothKNN()- kNN smoothing of scores (V4/V5 compatible) -
.calculate_Uscore()- Core UCell scoring algorithm -
.data_to_ranks()- Gene expression ranking -
.u_stat()- Mann-Whitney U statistic calculation
Other Improvements
- Cross-platform compatibility: replaced
system("rm -r")withunlink()for Windows support - Numerical stability: improved MCC calculation to handle edge cases (log(0), integer overflow)
- Performance optimization: vectorized operations (rowSums, pmax, max.col)
- Code quality: fixed potential bugs with
1:length()loops, improved parameter validation
scGate 1.6.2
CRAN release: 2024-04-23
- Enable parallelization over a list of scGate models (in multi-classifier mode)
- Fix bug on parallelization when specifying BPPARAM
- Added cell ontology links for controlled cell type dictionary
- Update accessor functions for compatibility with Seurat v5
scGate 1.4.0
- Use function
SmoothKNN()from theUCellpackage for nearest neighbor smoothing of signature scores - Clean up code for CRAN submission
scGate 1.2.0
- Simultaneously evaluate multiple gating models, given as a list to model parameter. This returns individual gatings as well as a combined cell type annotation from all the models (scGate_multi metadata column), and allows running scGate as a multi-class classifier and annotate cell types in a dataset.
- New
reductionparameter: this i) Allows nearest-neighbor smoothing on an existing dimensionality reduction (e.g. “pca” or “harmony”) and ii) Can significantly speed up computation time and annotation of integrated objects