diffusion maps for large-scale single-cell data in R

diffusion maps for large-scale single-cell data in R

destiny is an easy to use R package allowing for easy creation and plotting of diffusion maps. Diffusion maps are a spectral method for non-linear dimension reduction and have recently been adapted for the visualization of  single cell expression data (Haghverdi, L., Buettner, F., and Theis, F.J. (2015). Diffusion maps for high-dimensional single-cell analysis of differentiation data. Bioinformatics). This allows to visualize high-dimensional relations between data points in a low-dimensional plot. destiny includes a single-cell specific noise model allowing for missing and censored values. In contrast to previous implementations, we further present an efficient nearest-neighbour approximation that allows for the processing of hundreds of thousands of cells and a functionality for projecting new data on existing diffusion maps.

Diffusion maps are a spectral decomposition method suited for low-dimensional embedding of high dimensional data sporting contiuous state transitions. This allows to visualize high-dimensional state relations between data points in a low-dimensional plot.

Future development

Planned extensions include

  • Local density rescaling (elision of σ parameter)
  • Creation of movies (rotating 3D plots)
  • High dimensional plotting (Projection of multiple diffusion components into 2D space)

How to use destiny

destiny can be installed via


then it can be loaded and used to create and plot diffusion map objects, integrating into common plotting frameworks.

dm <- DiffusionMap(data, ...)
plot(dm, = 'variable')

An in-depth guide can be found in the destiny vignette:

System requirements

An up-to-date R installation (version 3.2 or higher).

If you have BioConductor 3.1 or less (check using BiocInstaller::biocVersion()), upgrade to 3.2 or later following the instructions retrieved via help(BiocUpgrade).


destiny is available on Bioconductor and here:

The data necessary to reproduce Figure 1 (“”) in the destiny paper was created using density dependent downsampling of raw data from Zunder et al. (2015), available on Cytobank (The Oct4-MEF dataset). The nondeterministic sigma estimation heuristic yielded σ = 1.64.

We use cookies to improve your experience on our Website. We need cookies to continuously improve the services, to enable certain features and when embedding services or content of third parties, such as video player. By using our website, you agree to the use of cookies. We use different types of cookies. You can personalize your cookie settings here:

Show detail settings
Please find more information in our privacy statement.

There you may also change your settings later.