Clustergrammer-Web¶
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 (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 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
Similarity Matrix View
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.