Harmony is a general-purpose R package with an efficient algorithm for integrating multiple data sets. It is especially useful for large single-cell datasets such as single-cell RNA-seq.

Harmony is:

  • Fast: Analyze thousands of cells on your laptop.
  • Sensitive: Different cell types may be present or absent in each batch.
  • Accurate: Integrate cells from multiple donors, tissues – even different technologies.
Steps in the Harmony algorithm
Getting started

See how to use Harmony with your data and integrate it into your analysis pipeline.

Read →

Cells colored by dataset and cell type
Advanced tutorial

Find out more about the internal data structures and algorithm details in this tutorial.

Read →

Animation of harmony

Visualize how Harmony aligns single-cell RNA-seq datasets from three different donors.

Read →


The easiest way to get Harmony is to install it from Github:

Harmony has been tested on R versions >= 3.4 on Linux, macOS, and Windows.


If you use Harmony for published work, please cite our manuscript:

Fast, sensitive, and accurate 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. doi.org/10.1101/461954

We will share the code needed to reproduce results from the manuscript at https://github.com/immunogenomics/harmony2019.