LIGER (Linked Inference of Genomic Experimental Relationships) uses integrative non-negative matrix factorization (iNMF) to identify shared and dataset-specific factors across multiple single-cell datasets. SeuratWrappers providesDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/satijalab/seurat-wrappers/llms.txt
Use this file to discover all available pages before exploring further.
RunOptimizeALS() and RunQuantileNorm() to run LIGER directly on Seurat objects.
Update your
rliger package to version 0.5.0 or above before following this workflow. Install it from CRAN: install.packages('rliger').Citation
If you use LIGER in your work, please cite:Single-Cell Multi-omic Integration Compares and Contrasts Features of Brain Cell Identity Joshua Welch, Velina Kozareva, Ashley Ferreira, Charles Vanderburg, Carly Martin, Evan Z. Macosko Cell, 2019 doi: 10.1016/j.cell.2019.05.006 GitHub: https://github.com/welch-lab/liger
Installation
Workflow
Scale data without centering
LIGER requires uncentered scaled data. Use
split.by to scale each dataset subset separately.Run iNMF factorization with RunOptimizeALS
Factorizes the scaled data using alternating least squares (ALS). The result is stored as the
iNMF_raw reduction.Quantile normalize the joint embeddings
Aligns factor loadings across datasets via quantile normalization, producing the final integrated
iNMF reduction.Examples
Interferon-stimulated and control PBMC
Eight human pancreatic islet datasets
Functions
RunOptimizeALS
Runs iNMF factorization via alternating least squares on a merged Seurat object. Stores per-dataset factor loading matrices in thetool slot (accessible with Tool()), and combined cell embeddings in the iNMF_raw reduction by default.
A merged Seurat object. Data must be scaled (without centering) before calling this function.
Number of factors (latent dimensions) to compute.
Metadata column used to split cells into per-dataset subsets for factorization.
Regularization parameter. Controls the weight of the dataset-specific penalty term. Higher values enforce greater similarity between shared and dataset-specific factors.
Convergence threshold. Optimization stops when the objective improvement falls below this value.
Maximum number of ALS iterations.
Number of factorization restarts. The run with the lowest final objective is retained.
Random seed for reproducibility.
Name under which the raw iNMF embedding is stored.
Key prefix for the raw iNMF reduction dimensions.
RunQuantileNorm
Aligns iNMF factor loadings across datasets using quantile normalization. Produces the final integrated embedding stored in theiNMF reduction by default. Also assigns cluster identities to cells via Idents().
A Seurat object after running
RunOptimizeALS().Metadata column identifying which dataset each cell belongs to.
Name of the raw iNMF reduction to normalize.
Number of quantile bins used in the normalization procedure.
Name of the reference dataset for alignment. Defaults to the largest dataset.
Minimum number of cells required in a cluster for it to be used in alignment.
Number of nearest neighbors used in the kNN graph for quantile normalization.
Whether to center embeddings before normalization. Should match the centering used in
ScaleData().Maximum number of cells to sample per dataset when computing quantiles.
Epsilon parameter for approximate nearest neighbor search.
Whether to refine the kNN graph after initial construction.
Name under which the normalized embedding is stored.
Key prefix for the normalized iNMF reduction dimensions.
Deprecated Functions
RunSNF() and RunQuantileAlignSNF() are deprecated. Both now redirect to RunQuantileNorm(). Use RunQuantileNorm() directly in all new workflows.