Clustergrammer Web App

version

The Web App (http://amp.pharm.mssm.edu/clustergrammer) enables users to easily generate interactive and shareable heatmap visualizations by uploading their data as a tab-separated file.

Uploading Data using the Web App Homepage

Users can easily generate an interactive and shareable heatmap visualization using the Clustergrammer Web App (see upload section screenshot below). Simply upload a tab-separated matrix file (see Matrix Formats and Input/Output for more information) at the homepage to be redirected to a permanent and shareable visualization of your data.

Clustergrammer Web

Users can upload their data using the web app homepage. Simply choose your file and upload to be redirected to your permanent and shareable visualization.

Clustergrammer-Web Visualization

Uploading a matrix to the Web App will redirect the user to a new permanent and shareable page with three views of their data:

  • Heatmap view of their matrix
  • Similarity matrix of the columns in their original matrix
  • Similarity matrix of the rows in their original matrix

See the screenshots below and the example visualization for an example Web App visualization page.

Heatmap View

Web application heatmap

Above is an example clustergram visualization produced by the Web App. Clustergrammer produces three views of your data and the clustered heatmap view is shown above.

Similarity Matrix View

Web application sim-mat

The Web App produces similarity matrices of rows and columns to provide additional perspectives on a user’s data. Above is an example column similarity matrix.

Users can view the heatmap/similarity-matrices in full screen by clicking the blue link under the visualizations. All visualizations are permanent and shareable, which enables sharing with collaborators. See Interacting with the Visualization for more information.

Clustergrammer-Web API

Clustergrammer-Web’s RESTful API enables users to programmatically generate visualizations. The API can be convenient for users that need to generate many clustergrams or developers who need to automatically generate visualizations for their own Web application.

Matrix Upload

Users can post a matrix file to Clustergrammer-Web using the endpoint

http://amp.pharm.mssm.edu/clustergrammer/matrix_upload/

and receive a permanent link to their visualization. Below is an example in Python 2.7 showing the post request and how to obtain the link from the response object:

import requests

filename = 'example_matrix.txt'
upload_url = 'http://amp.pharm.mssm.edu/clustergrammer/matrix_upload/'

r = requests.post(upload_url, files={'file': open(filename, 'rb')})

link = r.text

Clustergrammer-Web Development

Clustergrammer-Web is a dockerized Web application built using the Python library Flask and MongoDB database. Clustergrammer-Web uses the Clustergrammer-JS and Clustergrammer-PY libraries and the source code can be found in the clustergrammer-web GitHub repo.