Welcome to Clustergrammer’s Documentation!¶
Clustergrammer is a web-based tool for visualizing and analyzing high-dimensional data as interactive and shareable hierarchically clustered heatmaps (see Introduction to Clustergrams). Clustergrammer’s front end (Clustergrammer-JS) is built using D3.js and its back end (Clustergrammer-PY) is built using Python. Clustergrammer produces highly interactive visualizations that enable intuitive exploration of high-dimensional data and has several optional biology-specific features (e.g. enrichment analysis; see Biology-Specific Features) to facilitate the exploration of gene-level biological data. The project is free and open-source and can be found on GitHub.
Press play or interact with the gene-expression demo above to see some of Clustergrammer’s interactive features and refer to Interacting with the Visualization for more information.
The Clustergrammer-Widget was recently presented at JupyterCon 2018.
Clustergrammer is currently being re-built using the WebGL library regl:
Try running the Clustergrammer2 Jupyter widget on MyBinder
and see Clustergrammer2-Examples.
The easiest ways to use Clustergrammer to produce an interactive visualization of your data are to:
- upload a tab-separated matrix file using the Clustergrammer web app: https://amp.pharm.mssm.edu/clustergrammer/
- or use the Clustergrammer Jupyter Widget within a Jupyter notebook and share using nbviewer (see example notebook)
The Clustergrammer Web App is the quickest way to generate an interactive and shareable visualization (see example visualization and getting started Web-app). For users who want to visualize their data within a Jupyter notebook, the Clustergrammer Jupyter Widget enables visualizations to be embedded into shareable Jupyter notebooks (see example notebook and Getting Started Widget).
Web developers can use Clustergrammer’s core libraries, Clustergrammer-JS and Clustergrammer-PY, or the Clustergrammer-Web API to dynamically generate visualizations for their own web applications (see examples in App Integration Examples).
Please read the Getting Started guide for more information.
Case Studies and Examples¶
Clustergrammer was developed to visualize high-dimensional biological data (e.g. genome-wide expression data), but it can also generally be applied to any high-dimensional data. Please refer to the Case Studies and Examples and links below for more information:
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).
- Getting Started
- What’s New
- Clustergrammer Web App
- Clustergrammer Jupyter Widget
- Clustergrammer2 Jupyter Widget
- Interacting with the Visualization
- Introduction to Clustergrams
- Interactive Demo
- Zooming and Panning
- Mouseover Interactions
- Sidebar Interactions
- Row and Column Reordering
- Interactive Dimensionality Reduction
- Interactive Dendrogram
- Interactive Categories
- Download Icon
- Snapshot Icon
- Opacity Slider
- Row Searching
- Sharing your Interactive Heatmap
- Biology-Specific Interactions
- Biology-Specific Features
- Case Studies and Examples
- Cancer Cell Line Encyclopedia Gene Expression Data
- Lung Cancer Post-Translational Modification and Gene Expression Regulation
- CyTOF Data: Single Cell Immune Response to PMA Treatment
- Large Network: Kinase Substrate Similarity Network
- Machine Learning and Miscellaneous Datasets
- Zika Virus RNA-seq Data Visualization
- Single-Cell RNA-seq Data Visualization
- Matrix Formats and Input/Output
- Web-Development with Clustergrammer
- App Integration Examples
- Developing Clustergrammer