Skip to main content

PyPi NPM Gitter.im Documentation Status Travis Coverage Status MIT

Escher

Escher is a web-based tool to build, view, share, and embed metabolic maps. The easiest way to use Escher is to browse or build maps on the Escher website.

Visit the documentation to get started with Escher and explore the API.

Check out the developer docs, the Gitter chat room, and the Development Roadmap for information on Escher development. Feel free to submit bugs and feature requests as Issues, or, better yet, Pull Requests.

Follow @zakandrewking for Escher updates.

You can help support Escher by citing our publication when you use Escher or EscherConverter:

Zachary A. King, Andreas Dräger, Ali Ebrahim, Nikolaus Sonnenschein, Nathan E. Lewis, and Bernhard O. Palsson (2015) Escher: A web application for building, sharing, and embedding data-rich visualizations of biological pathways, PLOS Computational Biology 11(8): e1004321. doi:10.1371/journal.pcbi.1004321

Escher was developed at SBRG. Funding was provided by The National Science Foundation Graduate Research Fellowship under Grant no. DGE-1144086, The European Commission as part of a Marie Curie International Outgoing Fellowship within the EU 7th Framework Program for Research and Technological Development (EU project AMBiCon, 332020), and The Novo Nordisk Foundation through The Center for Biosustainability at the Technical University of Denmark (NNF10CC1016517)

Building and testing Escher

JavaScript

First, install dependencies with npm (or you can use yarn):

npm install

Escher uses webpack to manage the build process. To run typical build steps, just run:

npm run build

You can run a development server with:

npm run start
# or for live updates when the source code changes:
npm run watch

To test the JavaScript files, run:

npm run test

Python

Escher has a Python package for generating Escher visualizations from within a Python data anlaysis session. To learn more about using the features of the Python package, check out the documentation:

https://escher.readthedocs.io/en/latest/escher-python.html

You can install it with pip:

pip install escher

Jupyter extensions

When you pip install escher, the Jupyter notebook extension should be installed automatically. If that doesn't work, try:

# The notebook extenstion should install automatically. You can check by running:
jupyter nbextension list
# Make sure you have version >=5 of the `notebook` package
pip install "notebook>=5"
# To manually install the extension
jupyter nbextension install --py escher
jupyter nbextension enable --py escher
# depending on you environment, you might need the `--sysprefix` flag with those commands

To install the Jupyter lab extension, simply install Escher with pip install escher then install the extension:

jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install escher

Python/Jupyter Development

For development of the Python package, first build the JavaScript package and copy it over to the py directory with these commands in the Escher root:

npm install
npm run build
npm run copy

Then in the py directory, install the Python package:

cd py
pip install -e . # installs escher in develop mode and dependencies

For Python testing, run this in the py directory:

cd py
pytest

To develop the Jupyter notebook and Jupyter Lab extensions, you will need install them with symlinks.

First, install the Python package for development as described above.

For the Jupyter notebooks, run:

cd py
jupyter nbextension install --py --symlink escher
jupyter nbextension enable --py escher

If you are using virtualenv or conda, you can add the --sys-prefix flag to those commands to keep your environment isolated and reproducible.

When you make changes, you will need to yarn build && yarn copy and refresh notebook browser tab.

For Jupyter Lab, run (in the root directory):

yarn watch # keep this running as a separate process
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension link
jupyter lab --watch

If you don't see changes when you edit the code, try refreshing or restarting jupyter lab --watch.

Docs

Build and run the docs::

cd docs
./build_docs
cd _build/html
python -m SimpleHTTPServer # python 2
python -m http.server # python 3

Metadata

Release files for Escher-legacy 1.7.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Escher-legacy 1.7.4
File Size Uploaded
Escher-legacy-1.7.4.tar.gz 598.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Escher-legacy 1.7.4
File Interpreter ABI Platform
Escher_legacy-1.7.4-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / Escher-legacy-1.7.4.tar.gz

Download URL Escher-legacy-1.7.4.tar.gz
Size 598.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4e3d2308c5fc39070b3121bc85b84a7d031425a7b6dd108a694f25365a8cfecb
BLAKE2b-256 checksum
How to use checksums
8b2792b9df14cf2d182ee781d71ced757a27b07eb2344c381cbe232f2383d7e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / Escher_legacy-1.7.4-py3-none-any.whl

Download URL Escher_legacy-1.7.4-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
88793a5c2d0ed3a103a05e9caf0cd585a44ce9a72b0909efd83f9b019aabb656
BLAKE2b-256 checksum
How to use checksums
6020c726dbf29d59bde3db6a047d240a0ad9259812e89dfa0ccbd96142f11d67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

This release

1.7.4 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page