
clustergrammer
Clustergrammer is a web-based tool for visualizing and analyzing high-dimensional data as interactive and shareable hierarchically clustered heatmaps. Clustergrammer enables intuitive exploration of high-dimensional data and has several optional biology-specific features. Press play or explore the example below to see the interactive features.
See example pageYour tab-separated matrix file should be in one of the supported matrix formats (see examples below) and have a .txt or .tsv file extension.
Col-A Col-B Col-C Row-A 0.0 -0.1 1.0 Row-B 3.0 0.0 8.0 Row-C 0.2 0.1 2.5
Example Files: small-matrix (38x29), medium-matrix (250x12), large-matrix (500x300).
Once uploaded you will obtain a permanent and shareable link to your visualization (see example page).
Clustergrammer can also be used within a Jupyter notebook as an interactive widget and be shared online using nbviewer (see example notebook). Please see Clustergrammer's Documentation and Getting Started. Clustergrammer operates best using the Chrome browser.
Please consider supporting Clustergrammer by citing our publication:
Fernandez, N. F. et al. Clustergrammer, a web-based heatmap visualization and analysis tool for high-dimensional biological data. Sci. Data 4:170151 doi: 10.1038/sdata.2017.151 (2017).
What's New
Clustergrammer-Widget was recently presented at JupyterCon 2018.
Case Studies
CCLE Explorer

Clustergrammer was used to re-analyze the Cancer Cell Line Encyclopedia's (CCLE) gene expression data and enable tissue-specific exploration with the CCLE Explorer. Also see the corresponding Clustergrammer CCLE Jupyter Notebook.
Lung Cancer PTM/Expression Data

The Clustergrammer-Widget was used to analyze lung cancer regulation at the post-translational modification (PTM) and gene expression levels (see Notebook). PTM data was obtained from our collaborators at Cell Signaling Technology Inc.
Single-Cell CyTOF Data

The Clustergrammer-Widget was used to analyze the phosphorylation response of peripheral blood mononuclear cells (PBMCs) to PMA (phorbol 12-myristate 13-acetate). See notebook. CyTOF data obtained from our collaborators at the Giannarelli Lab and the Icahn School of Medicine Human Immune Monitoring Core.
Kinase Substrate Similarity Network

The Kinase Substrate Similarity Network uses Clustergrammer to visualize a large network of kinases based on shared substrates. Data obtained from the Harmonizome.
MNIST Handwritten Digits

The Clustergrammer-Widget was used to visualize the MNIST handwritten digit dataset (see Notebook). K-means downsampling was used to visualize the entire MNIST dataset as a single heatmap.
Iris Dataset

The Clustergrammer-Widget was used to visualize the popular the Iris flower dataset. See the Clustergrammer Iris Jupyter Notebook.
Using Clustergrammer
Interactive Features

Clustergrammer enables users to intuitively explore and transform their data (see Documentation). Clustergrammer also has several biology-specific features for gene-level biological data (e.g. automatic gene name and description lookup and enrichment analysis).
Jupyter Notebook Widget

In addition to the web app, the Clustergrammer-Widget enables users to generate interactive visualizations within Jupter notebooks (see example notebook). Jupyter notebooks are ideal for generating reproducible workflows and can be shared using nbviewer.
Open Source Code for Developers

Clustergrammer is a free and open source project available through GitHub (see Developer-Documentation). Clustergrammer has also been integrated into several BD2K-LINCS DCIC web tools.
Web App Integration Examples
Enrichr

Clustergrammer visualizes enrichment analysis results from the Ma'ayan lab web-tool Enrichr and displays the overlap of a user's input gene list and the gene lists of enriched terms.
GEN3VA

Clustergrammer visualizes collections of gene expression signatures extracted from the Gene Expression Omnibus (GEO) using the Ma'ayan lab web-tool GEN3VA.
L1000CDS2

Clustergrammer visualizes gene-expression-signature search results from the Ma'ayan lab web tool L1000CDS2, which allows users to find perturbations from the L1000 project whose signatures are similar or antisimilar to their input signature.