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 :ref:`intro_heatmap_clustergram`). Clustergrammer's front end (:ref:`clustergrammer_js`) is built using D3.js and its back end (:ref:`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 :ref:`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 :ref:`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:
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 :ref:`clustergrammer_widget` within a Jupyter notebook and share using nbviewer (see example notebook)
The :ref:`clustergrammer_web` is the quickest way to generate an interactive and shareable visualization (see example visualization and :ref:`getting started Web-app<getting_started_web_app>`). For users who want to visualize their data within a Jupyter notebook, the :ref:`clustergrammer_widget` enables visualizations to be embedded into shareable Jupyter notebooks (see example notebook and :ref:`Getting Started Widget <getting_started_widget>`).
Web developers can use Clustergrammer's core libraries, :ref:`clustergrammer_js` and :ref:`clustergrammer_py`, or the :ref:`clustergrammer_web_api` to dynamically generate visualizations for their own web applications (see examples in :ref:`app_integration`).
Please read the :doc:`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 :ref:`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 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).
.. toctree:: :maxdepth: 2 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