Allow doing something like
reorganize(ligerObj, variable = "somethingNotDataset") and
resulting in a new liger object with different ligerDataset
grouping.
Ability to do downstream analysis on H5 data
Pseudo-bulk should be easy because we are just aggregating
cells.
Wilcoxon might be a bit harder because ranks are calculated per gene
but the H5 sparse data is column majored. Might need to find a fast
on-disk transposition method.
rliger 2.2.1
Added naive GSEA analysis on factor gene loading (W) to test if any
known gene sets (e.g. cell cycle) is enriched in any factor. Implemented
in factorGSEA().
Added dense data loading support for H5AD files
Optimized obs metadata parsing for H5AD files
Fixed ggplot2 color picking when coloring by logical value
Fixed H5AD file layer detecting bug
Fixed some other minor bugs
rliger 2.2.0
Implemented highly efficient on-disk iNMF that scales to a million
cells using slightly more time than in-memory version, requiring only
laptop-level memory.
Added 10X H5 data and H5AD loading function that loads the data into
regular dgCMatrix in memory or the DelayedArray representation backed on
disk, the latter is used for on-disk iNMF implementation.
Added selectBatchHVG() which implements another HVG
selection strategy, credit to SCIB
Adding suggestK() back with new methodology
Clarified optimal runGOEnrich() workflow and added fold
enrichment metric in the returned result
Fixed important bug in online iNMF scenario 2
Fixed multiple problems related to ATAC analysis
Fixed Wilcoxon rank-sum test bug when using ATAC peak counts
Fixed gene coordinate parsing bug from BED file
Optimized peak parsing speed
rliger 2.1.0
Added centroidAlign() for new cell factor loading
alignment method
Added plotProportionBox() for visualizing compositional
analysis
Added plotClusterGeneViolin() for visualizing gene
expression in clusters
Added plotBarcodeRank() for basic QC visualization
Added plotPairwiseDEGHeatmap() for visualizing pairwise
DEG results
Added plotGODot() for visualizing GO enrichment
results
Added calcNMI() for evaluating clustering results
against ground truth
Added ligerToH5AD() allowing reticulate/Python free
export of liger object to H5AD format. This is presented in extension
source code (i.e. not loaded with library(rliger)).
Added organism support in runGeneralQC() and refined
hemoglobin gene matching regex pattern.
Optimized DE test memory usage scalability for both pseudo-bulk
method and wilcoxon test
Optimized plotProportionPie() by adding argument
circleColors
Optimized plotVolcano() text annotation positioning and
gene highlighting logic.
Optimized visualization function additional argument
documentation
Changed runMarkerDEG() and
runPairwiseDEG() default method from
"wilcoxon" to "pseudoBulk"
Fixed runMarkerDEG(method = "pseudobulk") bug in
assigning pseudo-replicates, and optimized error/warning signaling.
Fixed bug in calcAlignment(),
subsetMemLigerDataset(), cellMeta()
Fixed bug in old version updating functions
rliger 2.0.1
Fixed wrong UINMF aborting criteria
Fixed example/test skipping criteria for non-existing
dependencies
Fixed file access issue when checking on CRAN
Updated installed data file
system.file("extdata/ctrl.h5", "extdata/stim.h5") to be of
standard 10X H5 format
Updated quantileNorm() automatic reference selection
according to #297
Other minor fixes (including #308)
rliger 2.0.0
Added ligerDataset class for per-dataset information
storage, with inheritance for specific modalities
Added a number of plotting functions with clear function names and
useful functionality
Added Leiden clustering method, now as default rather than
Louvain
Added pseudo-bulk DEG method
Added DEG analysis with one-vs-rest marker detection in
runMarkerDEG() and pairwise comparison in
runPairwiseDEG()
Added gene name pattern for expression percentage QC metric
Added native Seurat object support for the core integration
workflow
Added a documentation website built with pkgdown
Added new iNMF variant method, consensus iNMF (c-iNMF), in
runCINMF(). Not stable.
Added GO enrichment dowsntream analysis in
runGOEnrich()
Changed liger object class structure
Moved iNMF (previously optimizeALS()), UINMF
(previously optimizeALS(unshared = TRUE)) and online iNMF
(previously online_iNMF()) implementation to new package
RcppPlanc with vastly improved performance. Now wrapped in
runINMF(), runUINMF() and
runOnlineINMF() respectively, and all can be invoked with
runIntegration().
Updated H5AD support to match up with Python anndata package 0.8.0
specs
Renamed many function/argument names to follow camelCase style,
original names are still available while deprecation warnings are
issued
rliger 1.0.1
Allow setting mito pattern in getMitoProportion()
#271
Fix efficiency issue when taking the log of norm.data
(e.g. runWilcoxon)
Add runable examples to all exported functions when possible