Skip to content

Commit 3b1f741

Browse files
committed
Merge remote-tracking branch 'escher/master'
Conflicts: escher/js/src/Draw.js
2 parents d9ff467 + a553984 commit 3b1f741

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+17444
-1408
lines changed

INSTALL

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
For development, you can run the following command to install Escher with all its dependencies:
22

3-
pip install -e '.[docs]'
3+
pip install -e '.[all]'

README.md

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
[![Travis](https://api.travis-ci.org/zakandrewking/escher.svg?branch=master)](https://travis-ci.org/zakandrewking/escher)
22

3-
4-
Cite Escher v1.0 Beta 3:   [![DOI](https://zenodo.org/badge/6078/zakandrewking/escher.png)](http://dx.doi.org/10.5281/zenodo.11712)
5-
63
Escher
74
======
85

@@ -17,4 +14,4 @@ Follow [@zakandrewking](https://twitter.com/zakandrewking) for Escher updates.
1714
Built at SBRG
1815
=============
1916

20-
[![SBRG](https://raw.githubusercontent.com/zakandrewking/escher/new-website/escher/resources/sbrg-logo.png)](http://systemsbiology.ucsd.edu/)
17+
[![SBRG](https://raw.githubusercontent.com/zakandrewking/escher/master/escher/resources/sbrg-logo.png)](http://systemsbiology.ucsd.edu/)

escher/css/builder-1.0.0rc1.css renamed to builder-1.0.0.css

+19-11
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
background-color: rgba(255, 255, 255, 0.95);
4444
border-radius: 0px;
4545
}
46-
.help-button {
46+
.help-button {
4747
float: right;
4848
padding: 0 5px;
4949
font-size: 12px;
@@ -129,23 +129,31 @@
129129
height: 100%;
130130
z-index: 9;
131131
background: rgba(0, 0, 0, 0.4);
132+
padding: 5% 0 5% 0;
133+
text-align: center;
132134
}
133135
.settings-box-container {
134-
position: absolute;
135-
width: 100%;
136+
display: inline-block;
137+
position: relative;
138+
width: 90%;
139+
max-width: 520px;
136140
height: 100%;
137-
top: 0px;
138-
left: 0px;
139-
margin: 0;
140-
padding: 5% 0 5% 0;
141-
text-align: center;
142141
z-index: 10;
143142
}
143+
.settings-button {
144+
position: absolute;
145+
top: 5px;
146+
right: 20px;
147+
z-index: 10;
148+
}
149+
.settings-button-close {
150+
right: 60px;
151+
}
144152
.settings-box {
145153
display: inline-block;
146154
max-height: 100%;
147-
width: 90%;
148-
max-width: 520px;
155+
width: 100%;
156+
/* max-width: 520px; */
149157
overflow-y: scroll;
150158
overflow-x: hidden;
151159
background: rgba(255, 255, 255, 0.95);
@@ -308,7 +316,7 @@ td.options-label-wide {
308316
position: absolute;
309317
top: 17px;
310318
}
311-
/* For Settings and Search */
319+
/* For Search */
312320
.close-button {
313321
margin-left: 4px;
314322
float: right;

escher/css/builder-embed-1.0.0rc1.css renamed to builder-embed-1.0.0.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
stroke: rgb(50, 50, 50);
5252
}
5353
g.selected .node-circle{
54-
stroke-width: 3px;
54+
stroke-width: 6px;
5555
stroke: rgb(20, 113, 199);
5656
}
5757
g.selected .label {

builder-embed-latest.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
stroke: rgb(50, 50, 50);
5252
}
5353
g.selected .node-circle{
54-
stroke-width: 3px;
54+
stroke-width: 6px;
5555
stroke: rgb(20, 113, 199);
5656
}
5757
g.selected .label {

builder-latest.css

+19-11
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
background-color: rgba(255, 255, 255, 0.95);
4444
border-radius: 0px;
4545
}
46-
.help-button {
46+
.help-button {
4747
float: right;
4848
padding: 0 5px;
4949
font-size: 12px;
@@ -129,23 +129,31 @@
129129
height: 100%;
130130
z-index: 9;
131131
background: rgba(0, 0, 0, 0.4);
132+
padding: 5% 0 5% 0;
133+
text-align: center;
132134
}
133135
.settings-box-container {
134-
position: absolute;
135-
width: 100%;
136+
display: inline-block;
137+
position: relative;
138+
width: 90%;
139+
max-width: 520px;
136140
height: 100%;
137-
top: 0px;
138-
left: 0px;
139-
margin: 0;
140-
padding: 5% 0 5% 0;
141-
text-align: center;
142141
z-index: 10;
143142
}
143+
.settings-button {
144+
position: absolute;
145+
top: 5px;
146+
right: 20px;
147+
z-index: 10;
148+
}
149+
.settings-button-close {
150+
right: 60px;
151+
}
144152
.settings-box {
145153
display: inline-block;
146154
max-height: 100%;
147-
width: 90%;
148-
max-width: 520px;
155+
width: 100%;
156+
/* max-width: 520px; */
149157
overflow-y: scroll;
150158
overflow-x: hidden;
151159
background: rgba(255, 255, 255, 0.95);
@@ -308,7 +316,7 @@ td.options-label-wide {
308316
position: absolute;
309317
top: 17px;
310318
}
311-
/* For Settings and Search */
319+
/* For Search */
312320
.close-button {
313321
margin-left: 4px;
314322
float: right;

builder.html

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<script src="escher/lib/bootstrap-3.1.1.min.js"></script>
99

1010
<link rel="stylesheet" href="escher/lib/bootstrap-3.1.1.min.css"/>
11-
<link rel="stylesheet" href="escher/css/builder-1.0.0rc1.css"/>
11+
<link rel="stylesheet" href="escher/css/builder-1.0.0.css"/>
1212

1313
<!-- Require only loaded in standalone file. -->
1414
<script src="escher/lib/require.min.js"></script>
@@ -29,7 +29,7 @@
2929
var reaction_data_static = null;
3030
var metabolite_data_static = null;
3131
var gene_data_static = null;
32-
var embedded_css_static = '@charset "utf-8";#mouse-node { fill: none;}#canvas { stroke: #ccc; stroke-width: 7px; fill: white;}.resize-rect { fill: black; opacity: 0; stroke: none;}.label { font-family: sans-serif; font-style: italic; font-weight: bold; font-size: 8px; fill: black; stroke: none; text-rendering: optimizelegibility; cursor: default;}.reaction-label { font-size: 30px; fill: rgb(32, 32, 120); text-rendering: optimizelegibility;}.node-label { font-size: 20px;}.gene-label { font-size: 18px; fill: rgb(32, 32, 120); text-rendering: optimizelegibility;}.text-label .label { font-size: 50px;}.text-label-input { font-size: 50px;}.node-circle { stroke-width: 2px;}.midmarker-circle,.multimarker-circle { fill: white; fill-opacity: 0.2; stroke: rgb(50, 50, 50);}g.selected .node-circle{ stroke-width: 3px; stroke: rgb(20, 113, 199);}g.selected .label { fill: rgb(20, 113, 199);}.metabolite-circle { stroke: rgb(162, 69, 16); fill: rgb(224, 134, 91);}g.selected .metabolite-circle { stroke: rgb(5, 2, 0);}.segment { stroke: #334E75; stroke-width: 10px; fill: none;}.arrowhead { fill: #334E75;}.stoichiometry-label-rect { fill: white; opacity: 0.5;}.stoichiometry-label { fill: #334E75; font-size: 17px;}.membrane { fill: none; stroke: rgb(255, 187, 0);}.brush .extent { fill-opacity: 0.1; fill: black; stroke: #fff; shape-rendering: crispEdges;}#brush-container .background { fill: none;}.bezier-circle { fill: rgb(255,255,255); }.bezier-circle.b1 { stroke: red;}.bezier-circle.b2 { stroke: blue;}.connect-line{ stroke: rgb(200,200,200);}.direction-arrow { stroke: black; stroke-width: 1px; fill: white; opacity: 0.3;}.start-reaction-cursor { cursor: pointer;}.start-reaction-target { stroke: rgb(100,100,100); fill: none; opacity: 0.5;}.rotation-center-line { stroke: red; stroke-width: 5px;}.highlight { fill: #106F94;}.cursor-grab { cursor: grab; cursor: -webkit-grab;}.cursor-grabbing { cursor: grabbing; cursor: -webkit-grabbing;}.edit-text-cursor { cursor: text;}';
32+
var embedded_css_static = '@charset "utf-8";#mouse-node { fill: none;}#canvas { stroke: #ccc; stroke-width: 7px; fill: white;}.resize-rect { fill: black; opacity: 0; stroke: none;}.label { font-family: sans-serif; font-style: italic; font-weight: bold; font-size: 8px; fill: black; stroke: none; text-rendering: optimizelegibility; cursor: default;}.reaction-label { font-size: 30px; fill: rgb(32, 32, 120); text-rendering: optimizelegibility;}.node-label { font-size: 20px;}.gene-label { font-size: 18px; fill: rgb(32, 32, 120); text-rendering: optimizelegibility;}.text-label .label { font-size: 50px;}.text-label-input { font-size: 50px;}.node-circle { stroke-width: 2px;}.midmarker-circle,.multimarker-circle { fill: white; fill-opacity: 0.2; stroke: rgb(50, 50, 50);}g.selected .node-circle{ stroke-width: 6px; stroke: rgb(20, 113, 199);}g.selected .label { fill: rgb(20, 113, 199);}.metabolite-circle { stroke: rgb(162, 69, 16); fill: rgb(224, 134, 91);}g.selected .metabolite-circle { stroke: rgb(5, 2, 0);}.segment { stroke: #334E75; stroke-width: 10px; fill: none;}.arrowhead { fill: #334E75;}.stoichiometry-label-rect { fill: white; opacity: 0.5;}.stoichiometry-label { fill: #334E75; font-size: 17px;}.membrane { fill: none; stroke: rgb(255, 187, 0);}.brush .extent { fill-opacity: 0.1; fill: black; stroke: #fff; shape-rendering: crispEdges;}#brush-container .background { fill: none;}.bezier-circle { fill: rgb(255,255,255); }.bezier-circle.b1 { stroke: red;}.bezier-circle.b2 { stroke: blue;}.connect-line{ stroke: rgb(200,200,200);}.direction-arrow { stroke: black; stroke-width: 1px; fill: white; opacity: 0.3;}.start-reaction-cursor { cursor: pointer;}.start-reaction-target { stroke: rgb(100,100,100); fill: none; opacity: 0.5;}.rotation-center-line { stroke: red; stroke-width: 5px;}.highlight { fill: #106F94;}.cursor-grab { cursor: grab; cursor: -webkit-grab;}.cursor-grabbing { cursor: grabbing; cursor: -webkit-grabbing;}.edit-text-cursor { cursor: text;}';
3333

3434
</script>
3535
<script>
@@ -46,7 +46,7 @@
4646
// require.js is available: use it to load d3 and escher
4747

4848
require.config({paths: { d3: "escher/lib/d3.min",
49-
escher: "escher/lib/escher-1.0.0rc1.min" }});
49+
escher: "escher/lib/escher-1.0.0.min" }});
5050
require(["d3", "escher"], function(d3, escher) {
5151
window.d3 = d3;
5252
options = { enable_editing: true,
@@ -93,7 +93,7 @@
9393
} else {
9494
// require.js not available: dynamically load d3 & escher
9595
escher_load_lib("escher/lib/d3.min.js", function() {
96-
escher_load_lib("escher/lib/escher-1.0.0rc1.min.js", function() {
96+
escher_load_lib("escher/lib/escher-1.0.0.min.js", function() {
9797
options = { enable_editing: true,
9898
menu: "all",
9999
enable_keys: true,

builder_not_minified.html

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<script src="escher/lib/bootstrap-3.1.1.min.js"></script>
99

1010
<link rel="stylesheet" href="escher/lib/bootstrap-3.1.1.min.css"/>
11-
<link rel="stylesheet" href="escher/css/builder-1.0.0rc1.css"/>
11+
<link rel="stylesheet" href="escher/css/builder-1.0.0.css"/>
1212

1313
<!-- Require only loaded in standalone file. -->
1414
<script src="escher/lib/require.min.js"></script>
@@ -29,7 +29,7 @@
2929
var reaction_data_static = null;
3030
var metabolite_data_static = null;
3131
var gene_data_static = null;
32-
var embedded_css_static = '@charset "utf-8";#mouse-node { fill: none;}#canvas { stroke: #ccc; stroke-width: 7px; fill: white;}.resize-rect { fill: black; opacity: 0; stroke: none;}.label { font-family: sans-serif; font-style: italic; font-weight: bold; font-size: 8px; fill: black; stroke: none; text-rendering: optimizelegibility; cursor: default;}.reaction-label { font-size: 30px; fill: rgb(32, 32, 120); text-rendering: optimizelegibility;}.node-label { font-size: 20px;}.gene-label { font-size: 18px; fill: rgb(32, 32, 120); text-rendering: optimizelegibility;}.text-label .label { font-size: 50px;}.text-label-input { font-size: 50px;}.node-circle { stroke-width: 2px;}.midmarker-circle,.multimarker-circle { fill: white; fill-opacity: 0.2; stroke: rgb(50, 50, 50);}g.selected .node-circle{ stroke-width: 3px; stroke: rgb(20, 113, 199);}g.selected .label { fill: rgb(20, 113, 199);}.metabolite-circle { stroke: rgb(162, 69, 16); fill: rgb(224, 134, 91);}g.selected .metabolite-circle { stroke: rgb(5, 2, 0);}.segment { stroke: #334E75; stroke-width: 10px; fill: none;}.arrowhead { fill: #334E75;}.stoichiometry-label-rect { fill: white; opacity: 0.5;}.stoichiometry-label { fill: #334E75; font-size: 17px;}.membrane { fill: none; stroke: rgb(255, 187, 0);}.brush .extent { fill-opacity: 0.1; fill: black; stroke: #fff; shape-rendering: crispEdges;}#brush-container .background { fill: none;}.bezier-circle { fill: rgb(255,255,255); }.bezier-circle.b1 { stroke: red;}.bezier-circle.b2 { stroke: blue;}.connect-line{ stroke: rgb(200,200,200);}.direction-arrow { stroke: black; stroke-width: 1px; fill: white; opacity: 0.3;}.start-reaction-cursor { cursor: pointer;}.start-reaction-target { stroke: rgb(100,100,100); fill: none; opacity: 0.5;}.rotation-center-line { stroke: red; stroke-width: 5px;}.highlight { fill: #106F94;}.cursor-grab { cursor: grab; cursor: -webkit-grab;}.cursor-grabbing { cursor: grabbing; cursor: -webkit-grabbing;}.edit-text-cursor { cursor: text;}';
32+
var embedded_css_static = '@charset "utf-8";#mouse-node { fill: none;}#canvas { stroke: #ccc; stroke-width: 7px; fill: white;}.resize-rect { fill: black; opacity: 0; stroke: none;}.label { font-family: sans-serif; font-style: italic; font-weight: bold; font-size: 8px; fill: black; stroke: none; text-rendering: optimizelegibility; cursor: default;}.reaction-label { font-size: 30px; fill: rgb(32, 32, 120); text-rendering: optimizelegibility;}.node-label { font-size: 20px;}.gene-label { font-size: 18px; fill: rgb(32, 32, 120); text-rendering: optimizelegibility;}.text-label .label { font-size: 50px;}.text-label-input { font-size: 50px;}.node-circle { stroke-width: 2px;}.midmarker-circle,.multimarker-circle { fill: white; fill-opacity: 0.2; stroke: rgb(50, 50, 50);}g.selected .node-circle{ stroke-width: 6px; stroke: rgb(20, 113, 199);}g.selected .label { fill: rgb(20, 113, 199);}.metabolite-circle { stroke: rgb(162, 69, 16); fill: rgb(224, 134, 91);}g.selected .metabolite-circle { stroke: rgb(5, 2, 0);}.segment { stroke: #334E75; stroke-width: 10px; fill: none;}.arrowhead { fill: #334E75;}.stoichiometry-label-rect { fill: white; opacity: 0.5;}.stoichiometry-label { fill: #334E75; font-size: 17px;}.membrane { fill: none; stroke: rgb(255, 187, 0);}.brush .extent { fill-opacity: 0.1; fill: black; stroke: #fff; shape-rendering: crispEdges;}#brush-container .background { fill: none;}.bezier-circle { fill: rgb(255,255,255); }.bezier-circle.b1 { stroke: red;}.bezier-circle.b2 { stroke: blue;}.connect-line{ stroke: rgb(200,200,200);}.direction-arrow { stroke: black; stroke-width: 1px; fill: white; opacity: 0.3;}.start-reaction-cursor { cursor: pointer;}.start-reaction-target { stroke: rgb(100,100,100); fill: none; opacity: 0.5;}.rotation-center-line { stroke: red; stroke-width: 5px;}.highlight { fill: #106F94;}.cursor-grab { cursor: grab; cursor: -webkit-grab;}.cursor-grabbing { cursor: grabbing; cursor: -webkit-grabbing;}.edit-text-cursor { cursor: text;}';
3333

3434
</script>
3535
<script>
@@ -46,7 +46,7 @@
4646
// require.js is available: use it to load d3 and escher
4747

4848
require.config({paths: { d3: "escher/lib/d3.min",
49-
escher: "escher/lib/escher-1.0.0rc1" }});
49+
escher: "escher/lib/escher-1.0.0" }});
5050
require(["d3", "escher"], function(d3, escher) {
5151
window.d3 = d3;
5252
options = { enable_editing: true,
@@ -93,7 +93,7 @@
9393
} else {
9494
// require.js not available: dynamically load d3 & escher
9595
escher_load_lib("escher/lib/d3.min.js", function() {
96-
escher_load_lib("escher/lib/escher-1.0.0rc1.js", function() {
96+
escher_load_lib("escher/lib/escher-1.0.0.js", function() {
9797
options = { enable_editing: true,
9898
menu: "all",
9999
enable_keys: true,

docs/conf.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@
5151
# built documents.
5252
#
5353
# The short X.Y version.
54-
version = '1.0.0rc1'
54+
version = '1.0.0'
5555
# The full version, including alpha/beta/rc tags.
56-
release = '1.0.0rc1'
56+
release = '1.0.0'
5757

5858
# The language for content autogenerated by Sphinx. Refer to documentation
5959
# for a list of supported languages.

docs/getting_started.rst

+4
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ beta version of COBRApy which can be found here_.
4545
Once you have COBRApy v0.3.0b1 (or later) installed, then you can generate a
4646
JSON model by following this `example code`_.
4747

48+
.. _loading-reaction-gene-and-metabolite-data:
49+
4850
Loading reaction, gene, and metabolite data
4951
===========================================
5052

@@ -99,6 +101,8 @@ reaction data comparisons::
99101
Gene data and gene reaction rules
100102
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
101103

104+
.. _editing-and-building:
105+
102106
Editing and building
103107
====================
104108

docs/index.rst

+38-9
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,44 @@ the `Escher website`_.
1313

1414
.. image:: _static/screen1.png
1515

16+
Features
17+
--------
18+
19+
#. View pathway maps in any modern web browser
20+
#. :ref:`Build maps <editing-and-building>` using the content of genome-scale metabolic models
21+
#. :ref:`Visualize data <loading-reaction-gene-and-metabolite-data>` on
22+
reactions, genes, and metabolites
23+
#. Full text search
24+
#. Detailed options for changing colors, sizes, and more, all from the web
25+
browser
26+
#. View maps :doc:`inside the IPython Notebook <ipython_notebook>`
27+
#. :doc:`Embed maps <development>` within any website, with minimal dependencies
28+
(escher.js, d3.js, and optionally Twitter Bootstrap)
29+
1630
Supported browsers
1731
------------------
1832

1933
We recommend using Google Chrome for optimal performance, but Escher will also
2034
run in the latest versions of Firefox, Internet Explorer, and Safari (including
2135
mobile Safari).
2236

23-
Contents:
24-
---------
37+
Installation
38+
------------
39+
40+
Escher can be used without any installation by visiting the `Escher
41+
website`_. However, you can install escher if you would like to (1) run Escher
42+
offline, (2) include your own maps and models in the launch page, (3) view Escher maps
43+
in an IPython Notebook, or (4) modify the source code.
44+
45+
To install the latest stable version of Escher, run::
46+
47+
pip install escher
48+
49+
For more information, see the documentation on :doc:`ipython_notebook` and
50+
:doc:`development`.
51+
52+
Contents
53+
--------
2554

2655
.. toctree::
2756
:maxdepth: 2
@@ -32,13 +61,13 @@ Contents:
3261
contribute_maps
3362
javascript_api
3463
python_api
64+
65+
* :ref:`genindex`
3566

67+
License
68+
-------
3669

37-
Indices and tables
38-
==================
39-
40-
* :ref:`genindex`
41-
* :ref:`modindex`
42-
* :ref:`search`
70+
Escher is licensed under the `MIT license`_.
4371

44-
.. _Escher website: http://escher.github.io/
72+
.. _`Escher website`: http://escher.github.io/
73+
.. _`MIT license`: https://github.com/zakandrewking/escher/blob/master/LICENSE

0 commit comments

Comments
 (0)