Clustergrammer is a web-based tool for visualizing and analyzing high-dimensional data as interactive and shareable hierarchically clustered heatmaps (see intro_heatmap_clustergram
). 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_viz
for more information.
The Clustergrammer-Widget was recently presented at JupyterCon 2018.
Clustergrammer is currently being re-built using the WebGL library regl:
clustergrammer_gl
: WebGL JavaScript Libraryclustergrammer2
: WebGL Jupyter Widget
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_widget
within a Jupyter notebook and share using nbviewer (see example notebook)
The clustergrammer_web
is the quickest way to generate an interactive and shareable visualization (see example visualization and getting started Web-app<getting_started_web_app>
). For users who want to visualize their data within a Jupyter notebook, the clustergrammer_widget
enables visualizations to be embedded into shareable Jupyter notebooks (see example notebook and Getting Started Widget <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
).
Please read the getting_started
guide for more information.
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 links below for more information:
- CCLE Explorer (and the CCLE Jupyter Notebook)
- Lung Cancer PTM and Gene Expression Regulation
- Single-Cell CyTOF Data
- Kinase Substrate Similarity Network
- MNIST Notebook
- Iris Flower Dataset
- USDA Nutrient Dataset
Please contact Nicolas Fernandez (nicolas.fernandez@mssm.edu) and Avi Ma'ayan (avi.maayan@mssm.edu) for support, comments, and suggestions.
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).
Clustergrammer is being developed by the Ma'ayan Lab and the Human Immune Monitoring Center at the Icahn School of Medicine at Mount Sinai for the BD2K-LINCS DCIC and the KMC-IDG.
getting_started clustergrammer_web clustergrammer_widget clustergrammer2 interacting_with_viz biology_specific_features case_studies matrix_format_io building_webpage clustergrammer_js clustergrammer_gl clustergrammer_py app_integration developing_with_clustergrammer license