{"id":19220970,"url":"https://github.com/zakandrewking/escher","last_synced_at":"2025-04-13T04:59:10.892Z","repository":{"id":6412365,"uuid":"7650667","full_name":"zakandrewking/escher","owner":"zakandrewking","description":" Build, share, and embed visualizations of metabolic pathways.","archived":false,"fork":false,"pushed_at":"2024-08-15T01:44:20.000Z","size":29896,"stargazers_count":222,"open_issues_count":91,"forks_count":77,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-13T04:59:03.905Z","etag":null,"topics":["bioinfomatics","biology","d3js","escher","javascript","python","visualization"],"latest_commit_sha":null,"homepage":"https://escher.github.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zakandrewking.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-01-16T17:48:18.000Z","updated_at":"2025-04-08T21:37:42.000Z","dependencies_parsed_at":"2024-10-20T19:48:04.880Z","dependency_job_id":null,"html_url":"https://github.com/zakandrewking/escher","commit_stats":{"total_commits":1437,"total_committers":12,"mean_commits":119.75,"dds":"0.12804453723034104","last_synced_commit":"364c482077df0930a5aae6ec1c4d926e7fe0f157"},"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakandrewking%2Fescher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakandrewking%2Fescher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakandrewking%2Fescher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakandrewking%2Fescher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zakandrewking","download_url":"https://codeload.github.com/zakandrewking/escher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665759,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinfomatics","biology","d3js","escher","javascript","python","visualization"],"created_at":"2024-11-09T14:39:36.928Z","updated_at":"2025-04-13T04:59:10.873Z","avatar_url":"https://github.com/zakandrewking.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPi](https://img.shields.io/pypi/v/escher.svg)](https://pypi.python.org/pypi/Escher)\n[![NPM](https://img.shields.io/npm/v/escher.svg)](https://www.npmjs.com/package/escher)\n[![Gitter.im](https://img.shields.io/gitter/room/zakandrewking/gitter.svg?color=orange)](https://gitter.im/zakandrewking/escher)\n[![Documentation Status](https://readthedocs.org/projects/escher/badge/?version=latest)](https://escher.readthedocs.io/en/latest/?badge=latest)\n[![Travis](https://img.shields.io/travis/zakandrewking/escher/master.svg)](https://travis-ci.org/zakandrewking/escher)\n[![Coverage Status](https://img.shields.io/coveralls/zakandrewking/escher/master.svg)](https://coveralls.io/github/zakandrewking/escher?branch=master)\n[![MIT](https://img.shields.io/pypi/l/escher.svg?color=blueviolet)](https://github.com/zakandrewking/escher/blob/master/LICENSE)\n\n# Escher\n\nEscher is a web-based tool to build, view, share, and embed metabolic maps. The\neasiest way to use Escher is to browse or build maps on the\n[Escher website](http://escher.github.io/).\n\nVisit the [documentation](http://escher.readthedocs.org/) to get started with\nEscher and explore the API.\n\nCheck out the\n[developer docs](https://escher.readthedocs.org/en/latest/development.html),\nthe [Gitter chat room](https://gitter.im/zakandrewking/escher), and the\n[Development Roadmap](https://github.com/zakandrewking/escher/wiki/Development-Roadmap) for information\non Escher development. Feel free to submit bugs and feature requests as Issues,\nor, better yet, Pull Requests.\n\nFollow [@zakandrewking](https://twitter.com/zakandrewking) for Escher updates.\n\nYou can help support Escher by citing our publication when you use Escher or\nEscherConverter:\n\nZachary A. King, Andreas Dräger, Ali Ebrahim, Nikolaus Sonnenschein, Nathan\nE. Lewis, and Bernhard O. Palsson (2015) *Escher: A web application for\nbuilding, sharing, and embedding data-rich visualizations of biological\npathways*, PLOS Computational Biology 11(8):\ne1004321. doi:[10.1371/journal.pcbi.1004321](http://dx.doi.org/10.1371/journal.pcbi.1004321)\n\nEscher was developed at [SBRG](http://systemsbiology.ucsd.edu/). Funding was\nprovided by [The National Science Foundation Graduate Research Fellowship](https://www.nsfgrfp.org)\nunder Grant no. DGE-1144086, The European Commission as part of a Marie Curie\nInternational Outgoing Fellowship within the EU 7th Framework Program for\nResearch and Technological Development ([EU project AMBiCon, 332020](http://ec.europa.eu/research/mariecurieactions/node_en)),\nand [The Novo Nordisk Foundation](http://novonordiskfonden.dk/)\nthrough [The Center for Biosustainability](https://www.biosustain.dtu.dk/)\nat the Technical University of Denmark (NNF10CC1016517)\n\n# Building and testing Escher\n\n## JavaScript\n\nFirst, install dependencies with [npm](https://www.npmjs.com) (or you can use\n[yarn](https://yarnpkg.com)):\n\n```\nnpm install\n```\n\nEscher uses webpack to manage the build process. To run typical build steps, just run:\n\n```\nnpm run build\n```\n\nYou can run a development server with:\n\n```\nnpm run start\n# or for live updates when the source code changes:\nnpm run watch\n```\n\nTo test the JavaScript files, run:\n\n```\nnpm run test\n```\n\n## Python\n\nEscher has a Python package for generating Escher visualizations from within a\nPython data anlaysis session. To learn more about using the features of the\nPython package, check out the documentation:\n\nhttps://escher.readthedocs.io/en/latest/escher-python.html\n\nYou can install it with pip:\n\n```\npip install escher\n```\n\n## Jupyter extensions\n\nWhen you `pip install escher`, the Jupyter notebook extension should be\ninstalled automatically. If that doesn't work, try:\n\n```bash\n# The notebook extenstion should install automatically. You can check by running:\njupyter nbextension list\n# Make sure you have version \u003e=5 of the `notebook` package\npip install \"notebook\u003e=5\"\n# To manually install the extension\njupyter nbextension install --py escher\njupyter nbextension enable --py escher\n# depending on you environment, you might need the `--sysprefix` flag with those commands\n```\n\nTo install the Jupyter lab extension, simply install Escher with `pip install escher` then\ninstall the extension:\n\n```bash\njupyter labextension install @jupyter-widgets/jupyterlab-manager\njupyter labextension install escher\n```\n\n## Python/Jupyter Development\n\nFor development of the Python package, first build the JavaScript package and\ncopy it over to the `py` directory with these commands in the Escher root:\n\n```\nnpm install\nnpm run build\nnpm run copy\n```\n\nThen in the `py` directory, install the Python package:\n\n```\ncd py\npip install -e . # installs escher in develop mode and dependencies\n```\n\nFor Python testing, run this in the `py` directory:\n\n```\ncd py\npytest\n```\n\nTo develop the Jupyter notebook and Jupyter Lab extensions, you will need\ninstall them with symlinks.\n\nFirst, install the Python package for development as described above.\n\nFor the Jupyter notebooks, run:\n\n```\ncd py\njupyter nbextension install --py --symlink escher\njupyter nbextension enable --py escher\n```\n\nIf you are using virtualenv or conda, you can add the `--sys-prefix` flag to\nthose commands to keep your environment isolated and reproducible.\n\nWhen you make changes, you will need to `yarn build \u0026\u0026 yarn copy` and refresh\nnotebook browser tab.\n\nFor Jupyter Lab, run (in the root directory):\n\n```\nyarn watch # keep this running as a separate process\njupyter labextension install @jupyter-widgets/jupyterlab-manager\njupyter labextension link\njupyter lab --watch\n```\n\nIf you don't see changes when you edit the code, try refreshing or restarting\n`jupyter lab --watch`.\n\n## Docs\n\nBuild and run the docs::\n\n```\ncd docs\n./build_docs\ncd _build/html\npython -m SimpleHTTPServer # python 2\npython -m http.server # python 3\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzakandrewking%2Fescher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzakandrewking%2Fescher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzakandrewking%2Fescher/lists"}