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

Clustergrammer Web

Users can easily generate an interactive and shareable heatmap visualization using the Web App. Simply upload a tab-separated matrix file in the homepage to be redirected to a permanent and shareable visualization of your data.

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:

  1. clustered heatmap view of their matrix
  2. clustered similarity matrix of the columns in their original matrix
  3. clustered 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.