Skip to content

Commit

Permalink
added autodoc to requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
cornhundred committed Feb 17, 2017
1 parent e72d511 commit e28a2e2
Show file tree
Hide file tree
Showing 49 changed files with 479 additions and 265 deletions.
2 changes: 1 addition & 1 deletion docs/_build_html/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 6d951a9cf5925d085b5d376fd31212d6
config: e22f7d2efb6cf8a09998f298823ed2eb
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file modified docs/_build_html/.doctrees/case_studies.doctree
Binary file not shown.
Binary file modified docs/_build_html/.doctrees/clustergrammer_js.doctree
Binary file not shown.
Binary file modified docs/_build_html/.doctrees/clustergrammer_py.doctree
Binary file not shown.
Binary file modified docs/_build_html/.doctrees/clustergrammer_web.doctree
Binary file not shown.
Binary file modified docs/_build_html/.doctrees/clustergrammer_widget.doctree
Binary file not shown.
Binary file modified docs/_build_html/.doctrees/environment.pickle
Binary file not shown.
40 changes: 31 additions & 9 deletions docs/_build_html/_sources/app_integration.rst.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,39 @@
.. _app_integration:

Clustergrammer App Integrations
--------------------------------
Clustergrammer can be integrated into other web applications and is being utilized to visualize data for the following Ma'ayan lab web applications:
App Integration Examples
------------------------
Clustergrammer can be integrated into web applications to dynamically produce interactive visualizations -- see :ref:`building_web_page` for information. Clustergrammer is currently being utilized to visualize data for the following `Ma'ayan lab`_ web applications:

- `Enrichr`_
- `GEN3VA`_
- `L1000CDS2`_
- `GEO2Enrichr`_
- `Harmonizome`_
Enrichr
=======
The enrichment analysis tool, `Enrichr`_, uses the :ref:`clustergrammer_web`'s API to produce dynamic heatmaps of enriched terms as columns and user lists as rows. This helps users understand the relationships between their input genes and the returned enriched terms.

**<screenshot>**

GEN3VA
======
The gene signature analysis and visualization tool, `GEN3VA`_, uses Clustergrammer's core libraries, :ref:`clustergrammer_js` and :ref:`clustergrammer_py`, to dynamically visualize collections of gene expression signatures collected by users from `GEO`_ as interactive heatmaps. GEN3VA also uses Clustergrammer to visualize enrichment analysis results (obtained from `Enrichr`_) and perturbations that reverse or mimic gene expression signatures (obtained from `L1000CDS2`_)

**<screenshot>**

L1000CDS2
=========
`L1000CDS2`_ uses the :ref:`clustergrammer_web`'s API to produce interactive heatmaps of perturbagen gene signatures that mimic or reverse an input gene signature. This can be useful for users that are interested in the specific genes that are differentially regulated by the identified perturbagens.

**<screenshot>**

Harmonizome
===========
The `Harmonizome`_ uses :ref:`clustergrammer_web`'s API to generate visualize of curated biological datasets as heatmaps and adjacency matrices (to depict networks). The Harmonizome also uses the Clustergrammer to visualize the amount of biological information that is available for different families of genes in the `Harmonogram`_

**<screenshot>**

.. _`Enrichr`: http://amp.pharm.mssm.edu/Enrichr/
.. _`GEN3VA`: http://amp.pharm.mssm.edu/gen3va/
.. _`L1000CDS2`: http://amp.pharm.mssm.edu/l1000cds2/
.. _`GEO2Enrichr`: http://amp.pharm.mssm.edu/g2e/
.. _`Harmonizome`: http://amp.pharm.mssm.edu/Harmonizome/
.. _`Harmonizome`: http://amp.pharm.mssm.edu/Harmonizome/
.. _`GEO`: https://www.ncbi.nlm.nih.gov/geo/
.. _`L1000CDS2': http://amp.pharm.mssm.edu/l1000cds2/#/index
.. _`Harmonogram`: http://amp.pharm.mssm.edu/harmonogram/
.. _`Ma'ayan lab`: http://labs.icahn.mssm.edu/maayanlab/
2 changes: 1 addition & 1 deletion docs/_build_html/_sources/building_webpage.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Users can obtain a permanent link to their visualization by manually uploading t

Adding Clustergrammer to a Page
===============================
The Clustergrammer-JS library can be used to generate an interactive visualization in your webpage. Simply include the ``clustergrammer.js`` script in your page and load the pre-calculated :ref:`Clustergrammer-JSON <clustergrammer_json>` to generate a visualization.
The Clustergrammer-JS library can be used to generate an interactive visualization in your webpage. Simply include the ``clustergrammer.js`` script in your page and load the pre-calculated :ref:`visualization-JSON <visualization_json>` to generate a visualization.


Clustergrammer can be used to generate interactive visualizations for your own web application by: using the Clustergrammer.js library on your site, or embedding a visualization provided by the Clustergrammer web app.
Expand Down
4 changes: 3 additions & 1 deletion docs/_build_html/_sources/case_studies.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@ Clustergrammer was built to visualize biological data but is applicable for visu

- `Cancer Cell Line Encyclopedia Gene Expression Data`_
- `Zika Virus RNA-seq Data Visualization`_
- `Single Cell RNA-seq Data Visualization`_
- `Iris flower dataset`_
- `MNIST Handwritten Digit Dataset`_

.. _`Cancer Cell Line Encyclopedia Gene Expression Data`: http://amp.pharm.mssm.edu/clustergrammer/CCLE/
.. _`Zika Virus RNA-seq Data Visualization`: http://nbviewer.jupyter.org/github/maayanlab/Zika-RNAseq-Pipeline/blob/master/Zika.ipynb
.. _`Iris flower dataset`: http://nbviewer.jupyter.org/github/MaayanLab/iris_clustergrammer_visualization/blob/master/Iris%20Dataset.ipynb
.. _`MNIST Handwritten Digit Dataset`: https://maayanlab.github.io/MNIST_heatmaps/
.. _`MNIST Handwritten Digit Dataset`: https://maayanlab.github.io/MNIST_heatmaps/
.. _`Single Cell RNA-seq Data Visualization`: http://nbviewer.jupyter.org/github/MaayanLab/single_cell_RNAseq_Visualization/blob/master/Single%20Cell%20RNAseq%20Visualization%20Example.ipynb
17 changes: 9 additions & 8 deletions docs/_build_html/_sources/clustergrammer_js.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ This workflow shows how to make a visualization using a JSON produced by Cluster

var cgm = Clustergrammer(args);

The id of the container where the visualization will be made is passed as ``root`` (this root container must be made by the user). The visualization JSON contains the information necessary to make the visualization and is passed as ``network_data``. See the Clustergrammer.js API for additional arguments that can be passed to Clustergrammer.js.
The ``id`` of the container where the visualization will be made is passed as ``root`` (this root container must be made by the user). The :ref:`visualization_json` contains the information necessary to make the visualization and is passed as ``network_data``. See the :ref:`clustergrammer_js_api` for additional arguments that can be passed to Clustergrammer.js.

.. _example_pages:

Expand All @@ -55,19 +55,20 @@ Clustergrammer-JS API
=====================
Clustergrammer-JS' API allows users to pass options to the front-end visualization, such as optional callback functions.

.. _clustergrammer_json:
.. _visualization_json:

Clustergrammer-JSON
===================
The JSON format required for Clustergrammer.js is described here:
Visualization-JSON
==================
The visualization-JSON format required for Clustergrammer.js is described here:


Users can also generate the visualization-JSON using their own scripts as long as they adhere to the above format.

.. _clustergrammer_js_dev:

Clustergrammer-JS Development
=============================
Clustergrammer-JS' source code can be found in the `clustergrammer`_ GihHub repo. The Clustergrammer-JS library is utilized by the :ref:`clustergrammer_web` and the :ref:`clustergrammer_widget`.

Clustergrammer-JS is built with `Webpack Module Bundler`_ from the source files in `src`_.
Clustergrammer-JS' source code can be found in the `clustergrammer`_ GihHub repo. The Clustergrammer-JS library is utilized by the :ref:`clustergrammer_web` and the :ref:`clustergrammer_widget`. Clustergrammer-JS is built with `Webpack Module Bundler`_ from the source files in the `src`_ directory.

Please :ref:`contact` Nicolas Fernandez or Avi Ma'ayan with questions or use the GitHub `issues`_ feature to raise an issue.

Expand Down
29 changes: 22 additions & 7 deletions docs/_build_html/_sources/clustergrammer_py.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Clustergrammer-PY
-----------------
|pypi-version|

Clustergrammer-PY is the back-end Python library that is used to hierarchically cluster the data and generate the JSON for the front-end Clustergrammer.js visualization library. Clustergrammer-PY is compatible with Python 2 and 3.
Clustergrammer-PY is the back-end Python library that is used to hierarchically cluster the data and generate the :ref:`visualization_json` for the front-end :ref:`clustergrammer_js` visualization library. Clustergrammer-PY is compatible with Python 2 and 3.

Dependencies
============
Expand All @@ -26,29 +26,41 @@ or the source code can be obtained from the `GitHub repo`_.

Python Workflow Example
=======================
This workflow shows how to cluster a matrix of data and generate a visualization JSON (for use by Clustergrammer.js) from a matrix file:
This workflow shows how to cluster a matrix of data from a file or DataFrame (see :ref:`matrix_format_io`) and generate a :ref:`visualization_json` (for use by :ref:`clustergrammer_js`):
::

# make network object
# make network object and load file
from clustergrammer import Network
net = Network()

# load matrix file
# load matrix from file
net.load_file('your_matrix.txt')

# or load matrix from DataFrame
net.load_df(df)

# calculate clustering using default parameters
net.make_clust()

# write visualization JSON to file
# save visualization JSON to file
net.write_json_to_file('viz', 'mult_view.json')

The file ``mult_view.json`` will be loaded by the front-end and used to build the interactive visualization.
The file ``mult_view.json`` will be loaded by the front-end and used to build the interactive visualization. See `make_clustergrammer.py`_ for an additional example.

.. _clustergrammer_py_api:

Clustergrammer-PY API
=====================
Clustergrammer-PY generates a Network object, which is used to load a matrix (e.g. from a Pandas DataFrame), normalize/filter the matrix, cluster the matrix, and finally generate the visualization JSON for the front-end Clustergrammer.js.
Clustergrammer-PY generates a Network object (see `Network class definition`_), which is used to load a matrix (e.g. from a Pandas `DataFrame`_), optionally normalize or filter the matrix, cluster the matrix, and finally generate the visualization JSON for the front-end Clustergrammer.js.

When a matrix is loaded into an instance of ``Network`` (e.g. ``net``) it is stored in the data, ``dat``, attribute. Normalization and filtering will modify the ``dat`` representation of the matrix. When the matrix is clustered (by calling :ref:`make_clust`)

.. automodule:: clustergrammer

.. autoclass:: Network
:members:



.. _clustergrammer_py_dev:

Expand All @@ -65,6 +77,9 @@ Please :ref:`contact` Nicolas Fernandez or Avi Ma'ayan with questions or use the
.. _`Pandas`: http://pandas.pydata.org/
.. _`Numpy`: http://www.numpy.org/
.. _`SciPy`: https://www.scipy.org/
.. _`Network class definition`: https://github.com/MaayanLab/clustergrammer-py/blob/master/clustergrammer/__init__.py
.. _`DataFrame`: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
.. _`make_clustergrammer.py`: https://github.com/MaayanLab/clustergrammer-py/blob/master/make_clustergrammer.py

.. |pypi-version| image:: https://img.shields.io/pypi/v/clustergrammer.svg
:alt: version
Expand Down
3 changes: 2 additions & 1 deletion docs/_build_html/_sources/clustergrammer_web.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,13 @@ and receive a permanent link to their visualization. Below is an example in Pyth

Clustergrammer-Web Development
==============================
Clustergrammer-Web is a `dockerized`_ web application built using the Python library `Flask`_. Clustergrammer-Web uses the :ref:`clustergrammer_js` and :ref:`clustergrammer_py` libraries and the source code can be found in the `clustergrammer-web`_ GitHub repo.
Clustergrammer-Web is a `dockerized`_ web application built using the Python library `Flask`_ and `MongoDB`_ database. Clustergrammer-Web uses the :ref:`clustergrammer_js` and :ref:`clustergrammer_py` libraries and the source code can be found in the `clustergrammer-web`_ GitHub repo.


.. _`Flask`: http://flask.pocoo.org/
.. _`dockerized`: https://docs.docker.com/
.. _`clustergrammer-web`: https://github.com/MaayanLab/clustergrammer-web/
.. _`MongoDB`: https://www.mongodb.com/

.. |github-version| image:: https://img.shields.io/github/release/MaayanLab/clustergrammer-web.svg
:alt: version
Expand Down
25 changes: 12 additions & 13 deletions docs/_build_html/_sources/getting_started.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,27 +28,26 @@ Interacting with Clustergrammer
===============================
Clustergrammer produces highly interactive visualizations that enable intuitive exploration of high-dimensional data including:

- zooming/panning
- row and column reordering (e.g. reorder based on sum)
- interactive dendrogram
- dimensionality reduction (e.g. filter rows based on variance)a
- interactive row/column categories
- cropping
- :ref:`zooming_and_panning`
- :ref:`row_col_reordering` (e.g. reorder based on sum)
- :ref:`interactive_dendrogram`
- :ref:`interactive_dim_reduction` (e.g. filter rows based on variance)a
- :ref:`interactive_categories`
- :ref:`crop`
- :ref:`search`

Press play or interact with the demo:
Press play or interact with the demo (see :ref:`interacting_with_viz` for more information):

.. raw:: html

<iframe id='iframe_preview' src="http://amp.pharm.mssm.edu/clustergrammer/demo/" frameBorder="0" style='height: 495px; width:730px; margin-bottom:15px;'></iframe>

For more information please see the :ref:`interacting_with_viz` section.
Clustergrammer also has biology-specific features for working with gene-level data including:

Clustergrammer also has biology-specific features including:
- mouseover gene names and description look-up (using `Harmonizome`_)
- enrichment analysis to find biological information (e.g. up-stream transcription factors) specific to your set of genes (using `Enrichr`_)

- mouseover gene (row) names to show the full name and description of a gene (through `Harmonizome`_)
- find biological information (e.g. up-stream transcription factors) specific to your gene list using enrichment analysis through `Enrichr`_

For more information on Clustergrammer's biology specific features please see the :ref:`biology_specific_features` section.
See :ref:`biology_specific_features` for more information.

.. _`Enrichr`: http://amp.pharm.mssm.edu/Enrichr/
.. _`Harmonizome`: http://amp.pharm.mssm.edu/Harmonizome/
11 changes: 8 additions & 3 deletions docs/_build_html/_sources/index.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,18 @@ The easiest ways to use Clustergrammer to produce an interactive and shareable h
- upload a tab-separated matrix file using the Clustergrammer web app `homepage`_
- or use the :ref:`clustergrammer_widget` within a `Jupyter`_ notebook and share using `nbviewer`_

The :ref:`clustergrammer_web` is the quickest way for a user to generate an interactive and shareable visualization (see `example visualization`_). For more technical users that want to produce the visualization as part of a workflow, the :ref:`clustergrammer_widget` enables visualizations to be built within Jupyter notebooks and shared through Jupyter's `nbviewer`_ (see `example notebook`_). 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`).
The :ref:`clustergrammer_web` is the quickest way for a user to generate an interactive and shareable visualization (see `example visualization`_). For more technical users who want to produce the visualization as part of a workflow, the :ref:`clustergrammer_widget` enables visualizations to be built within Jupyter notebooks and shared through Jupyter's `nbviewer`_ (see `example notebook`_). 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 detailed information on using Clustergrammer.
Please read the :doc:`getting_started` guide for more information.

Use Cases
=========
Clustergrammer was built to visualize biological data but is applicable for visualizing high-dimensional data in general. Below are links to several example use cases (see :ref:`case_studies` for more information):

- `Cancer Cell Line Encyclopedia Gene Expression Data`_
- `Zika Virus RNA-seq Data Visualization`_
- `Single Cell RNA-seq Data Visualization`_
- `Kinase Substrate Similarity Network`_
- `Iris flower dataset`_
- `MNIST Handwritten Digit Dataset`_

Expand Down Expand Up @@ -53,6 +55,7 @@ Contents:
building_webpage
clustergrammer_js
clustergrammer_py
clustergrammer_py_api
app_integration
developing_with_clustergrammer
license
Expand All @@ -68,4 +71,6 @@ Contents:
.. _`Cancer Cell Line Encyclopedia Gene Expression Data`: http://amp.pharm.mssm.edu/clustergrammer/CCLE/
.. _`Zika Virus RNA-seq Data Visualization`: http://nbviewer.jupyter.org/github/maayanlab/Zika-RNAseq-Pipeline/blob/master/Zika.ipynb
.. _`Iris flower dataset`: http://nbviewer.jupyter.org/github/MaayanLab/iris_clustergrammer_visualization/blob/master/Iris%20Dataset.ipynb
.. _`MNIST Handwritten Digit Dataset`: https://maayanlab.github.io/MNIST_heatmaps/
.. _`MNIST Handwritten Digit Dataset`: https://maayanlab.github.io/MNIST_heatmaps/
.. _`Single Cell RNA-seq Data Visualization`: http://nbviewer.jupyter.org/github/MaayanLab/single_cell_RNAseq_Visualization/blob/master/Single%20Cell%20RNAseq%20Visualization%20Example.ipynb
.. _`Kinase Substrate Similarity Network`: https://maayanlab.github.io/kinase_substrate_similarity_network/

0 comments on commit e28a2e2

Please sign in to comment.