Harmony is a fast, sensitive method for integrating single-cell data by iteratively correcting PCA embeddings. It operates on an existing PCA reduction and produces a corrected low-dimensional embedding suitable for downstream clustering and visualization.Documentation 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.
The
RunHarmony() function is provided directly by the harmony package — not by SeuratWrappers. SeuratWrappers coordinates usage but the wrapper itself ships with Harmony. You do not need SeuratWrappers to call RunHarmony().Citation
If you use Harmony in your work, please cite:Fast, sensitive, and flexible integration of single cell data with Harmony Ilya Korsunsky, Jean Fan, Kamil Slowikowski, Fan Zhang, Kevin Wei, Yuriy Baglaenko, Michael Brenner, Po-Ru Loh, Soumya Raychaudhuri bioRxiv, 2019 / Nature Methods, 2019 doi: 10.1101/461954v2
Installation
Workflow
Normalize and reduce dimensions
Run standard Seurat preprocessing through PCA before calling Harmony.
Run Harmony integration
Harmony corrects the PCA embedding using the grouping variable you specify. The result is stored as a new
harmony reduction.Examples
Interferon-stimulated and control PBMC
Eight human pancreatic islet datasets
Key Parameters
One or more metadata column names specifying the batch or grouping variables to integrate across. For example,
"orig.ident", "Method", or c("donor", "batch").Which PCA dimensions to use. Defaults to all available dimensions in the PCA reduction.
Diversity clustering penalty parameter. Higher values enforce greater dataset mixing. One value per
group.by.vars variable.Ridge regression penalty. Larger values produce more conservative correction.
Width of soft k-means clusters. Larger values assign cells to more clusters, increasing smoothing.
Name of the existing dimensional reduction to correct. Must be run before calling
RunHarmony().Name under which the corrected embedding is stored in the Seurat object.