{ "cells": [ { "cell_type": "markdown", "id": "49bcb5b0-f19d-4b96-a5f1-e0ae30f66d8f", "metadata": {}, "source": [ "### `A` down-regulates `B` , by being the *limiting reagent* in reaction `A + 2 B <-> Y` (mostly forward)\n", "1st-order kinetics. \n", "If [A] is low and [B] is high, then [B] remains high. If [A] goes high, [B] goes low. However, at that point, A can no longer bring B up to any substantial extent.\n", "\n", "Single-bin reaction\n", "\n", "Based on experiment `reactions_single_compartment/down_regulate_2`" ] }, { "cell_type": "markdown", "id": "c105dcae-72e5-4ef3-a1d7-eee0679eacc2", "metadata": {}, "source": [ "### TAGS : \"reactions 1D\"" ] }, { "cell_type": "code", "execution_count": 1, "id": "5b1f3654-3db0-4b2e-9e12-0eca9376f1f3", "metadata": {}, "outputs": [], "source": [ "LAST_REVISED = \"Dec. 16, 2024\"\n", "LIFE123_VERSION = \"1.0-rc.1\" # Library version this experiment is based on" ] }, { "cell_type": "code", "execution_count": 2, "id": "6a64f699-1090-49f6-8d94-948b2ae9dc6b", "metadata": {}, "outputs": [], "source": [ "#import set_path # Using MyBinder? Uncomment this before running the next cell!" ] }, { "cell_type": "code", "execution_count": 3, "id": "bea6d4a4", "metadata": { "tags": [] }, "outputs": [], "source": [ "#import sys\n", "#sys.path.append(\"C:/some_path/my_env_or_install\") # CHANGE to the folder containing your venv or libraries installation!\n", "# NOTE: If any of the imports below can't find a module, uncomment the lines above, or try: import set_path \n", "\n", "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from life123 import UniformCompartment, BioSim1D\n", "\n", "import plotly.express as px\n", "from life123 import GraphicLog" ] }, { "cell_type": "code", "execution_count": 4, "id": "cc53849f-351d-49e0-bfa8-22f8d8e22f8e", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> Output will be LOGGED into the file 'down_regulation_1.log.htm'\n" ] } ], "source": [ "# Initialize the HTML logging\n", "log_file = get_notebook_basename() + \".log.htm\" # Use the notebook base filename for the log file\n", "\n", "# Set up the use of some specified graphic (Vue) components\n", "GraphicLog.config(filename=log_file,\n", " components=[\"vue_cytoscape_2\"],\n", " extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")" ] }, { "cell_type": "code", "execution_count": 5, "id": "23c15e66-52e4-495b-aa3d-ecddd8d16942", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 1 (at temp. 25 C)\n", "0: A + 2 B <-> Y (kF = 8 / kR = 2 / delta_G = -3,436.6 / K = 4) | 1st order in all reactants & products\n", "Set of chemicals involved in the above reactions: {'B', 'A', 'Y'}\n", "[GRAPHIC ELEMENT SENT TO LOG FILE `down_regulation_1.log.htm`]\n" ] } ], "source": [ "# Initialize the system. NOTE: Diffusion not applicable (just 1 bin)\n", "uc = UniformCompartment(names=[\"A\", \"B\", \"Y\"])\n", "\n", "\n", "# Reaction A + 2 B <-> Y , with 1st-order kinetics for all species\n", "uc.add_reaction(reactants=[\"A\", (2, \"B\", 1)], products=[\"Y\"],\n", " forward_rate=8., reverse_rate=2.)\n", "\n", "uc.describe_reactions()\n", "\n", "# Send the plot of the reaction network to the HTML log file\n", "uc.plot_reaction_network(\"vue_cytoscape_2\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "be6fabbe-bded-4ff6-b220-5610e73b401f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "1 bins and 3 species:\n", " Species 0 (A). Diff rate: None. Conc: [5.]\n", " Species 1 (B). Diff rate: None. Conc: [100.]\n", " Species 2 (Y). Diff rate: None. Conc: [0.]\n" ] } ], "source": [ "bio = BioSim1D(n_bins=1, reaction_handler=uc)\n", "\n", "bio.set_uniform_concentration(species_name=\"A\", conc=5.) # Scarce\n", "bio.set_uniform_concentration(species_name=\"B\", conc=100.) # Plentiful\n", "# Initially, no \"Y\" is present\n", "\n", "bio.describe_state()" ] }, { "cell_type": "code", "execution_count": 7, "id": "5562fea2-834e-40a9-9b1d-5ea28a0100bf", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEABYcaption
005.0100.00.0
\n", "
" ], "text/plain": [ " SYSTEM TIME A B Y caption\n", "0 0 5.0 100.0 0.0 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Save the state of the concentrations of all species at bin 0 (the only bin in this system)\n", "bio.add_snapshot(bio.bin_snapshot(bin_address = 0))\n", "bio.get_history()" ] }, { "cell_type": "markdown", "id": "0b46b395-3f68-4dbd-b0c5-d67a0e623726", "metadata": { "tags": [] }, "source": [ "### Take the initial system to equilibrium" ] }, { "cell_type": "code", "execution_count": 8, "id": "bcf652b8-e0dc-438e-bdbe-02216c1d52a0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.015:\n", "1 bins and 3 species:\n", " Species 0 (A). Diff rate: None. Conc: [0.01385228]\n", " Species 1 (B). Diff rate: None. Conc: [90.02770457]\n", " Species 2 (Y). Diff rate: None. Conc: [4.98614772]\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEABYcaption
00.0005.000000100.0000000.000000
10.0011.85000093.7000003.150000
20.0020.73533291.4706654.264668
30.0030.30391190.6078224.696089
40.0040.13150190.2630024.868499
50.0050.06173890.1234764.938262
60.0060.03336990.0667374.966631
70.0070.02180990.0436184.978191
80.0080.01709590.0341894.982905
90.0090.01517290.0303434.984828
100.0100.01438790.0287744.985613
110.0110.01406790.0281344.985933
120.0120.01393690.0278724.986064
130.0130.01388390.0277664.986117
140.0140.01386190.0277224.986139
150.0150.01385290.0277054.986148
\n", "
" ], "text/plain": [ " SYSTEM TIME A B Y caption\n", "0 0.000 5.000000 100.000000 0.000000 \n", "1 0.001 1.850000 93.700000 3.150000 \n", "2 0.002 0.735332 91.470665 4.264668 \n", "3 0.003 0.303911 90.607822 4.696089 \n", "4 0.004 0.131501 90.263002 4.868499 \n", "5 0.005 0.061738 90.123476 4.938262 \n", "6 0.006 0.033369 90.066737 4.966631 \n", "7 0.007 0.021809 90.043618 4.978191 \n", "8 0.008 0.017095 90.034189 4.982905 \n", "9 0.009 0.015172 90.030343 4.984828 \n", "10 0.010 0.014387 90.028774 4.985613 \n", "11 0.011 0.014067 90.028134 4.985933 \n", "12 0.012 0.013936 90.027872 4.986064 \n", "13 0.013 0.013883 90.027766 4.986117 \n", "14 0.014 0.013861 90.027722 4.986139 \n", "15 0.015 0.013852 90.027705 4.986148 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio.react(time_step=0.0005, n_steps=30, snapshots={\"frequency\": 2, \"sample_bin\": 0}) # At every other step, take a snapshot \n", " # of all species at bin 0\n", "bio.describe_state()\n", "bio.get_history()" ] }, { "cell_type": "markdown", "id": "7dc56592-179d-4e4c-b75a-8eb81dcafe71", "metadata": {}, "source": [ "A, as the scarse limiting reagent, stops the reaction. \n", "When A is low, B is also low." ] }, { "cell_type": "markdown", "id": "962acf15-3b50-40e4-9daa-3dcca7d3291a", "metadata": {}, "source": [ "### Equilibrium" ] }, { "cell_type": "code", "execution_count": 9, "id": "c3afbcc8-bdae-4938-a3f1-ce00d62816f2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: A + 2 B <-> Y\n", "Final concentrations: [A] = 0.01385 ; [B] = 90.03 ; [Y] = 4.986\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 3.99823\n", " Formula used: [Y] / ([A][B])\n", "2. Ratio of forward/reverse reaction rates: 4\n", "Discrepancy between the two values: 0.0443 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "bio.reaction_dynamics.is_in_equilibrium(conc=bio.bin_snapshot(bin_address = 0))" ] }, { "cell_type": "markdown", "id": "cbf6c9c7-8cec-400f-9e70-49ff1a9f485c", "metadata": { "tags": [] }, "source": [ "## Plots of changes of concentration with time" ] }, { "cell_type": "code", "execution_count": 10, "id": "665dfff9-e943-44e1-b76d-af363d94c9f8", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "A", "line": { "color": "red", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001 ], "xaxis": "x", "y": [ 5, 1.8499999999999999, 0.7353324983767999, 0.3039112200628923, 0.13150108643314973, 0.061738042999482066, 0.033368669453993284, 0.021808897156502745, 0.017094731896225502, 0.015171616267744988, 0.014386985824432869, 0.014066839111196544, 0.013936209152987204, 0.013882907516112328, 0.013861158483520411, 0.013852284062864168 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001 ], "xaxis": "x", "y": [ 100, 93.7, 91.4706649967536, 90.60782244012579, 90.26300217286631, 90.12347608599897, 90.066737338908, 90.04361779431301, 90.03418946379244, 90.03034323253549, 90.02877397164886, 90.02813367822239, 90.02787241830596, 90.02776581503221, 90.02772231696703, 90.02770456812571 ], "yaxis": "y" }, { "hovertemplate": "Chemical=Y
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "Y", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "Y", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001 ], "xaxis": "x", "y": [ 0, 3.1500000000000004, 4.2646675016232, 4.696088779937108, 4.86849891356685, 4.938261957000519, 4.966631330546007, 4.978191102843497, 4.982905268103774, 4.984828383732255, 4.985613014175567, 4.985933160888804, 4.9860637908470125, 4.986117092483887, 4.98613884151648, 4.986147715937136 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Chemical" }, "tracegroupgap": 0 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Changes in concentrations (reaction A + 2 B <-> Y)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 0.01500000000000001 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -5.555555555555555, 105.55555555555556 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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AQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAKEB9eIiZAAAEEEEAAAQQQQAABhQDxoVBkDAQQQAABBBBAAAEEEPAK/H+JAgEQU2r6vgAAAABJRU5ErkJggg==", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = px.line(data_frame=bio.get_history(), x=\"SYSTEM TIME\", y=[\"A\", \"B\", \"Y\"], \n", " title=\"Changes in concentrations (reaction A + 2 B <-> Y)\",\n", " color_discrete_sequence = ['red', 'blue', 'green'],\n", " labels={\"value\":\"concentration\", \"variable\":\"Chemical\"})\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "448ec7fa-6529-438b-84ba-47888c2cd080", "metadata": { "tags": [] }, "source": [ "# Now, let's suddenly increase [A]" ] }, { "cell_type": "code", "execution_count": 11, "id": "7245be7a-c9db-45f5-b033-d6c521237a9c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.015:\n", "1 bins and 3 species:\n", " Species 0 (A). Diff rate: None. Conc: [40.]\n", " Species 1 (B). Diff rate: None. Conc: [90.02770457]\n", " Species 2 (Y). Diff rate: None. Conc: [4.98614772]\n" ] } ], "source": [ "bio.set_bin_conc(bin_address=0, species_index=0, conc=40.)\n", "bio.describe_state()" ] }, { "cell_type": "code", "execution_count": 12, "id": "007161ef-f4d0-4623-92c5-0fe3d2bda98a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEABYcaption
00.0005.000000100.0000000.000000
10.0011.85000093.7000003.150000
20.0020.73533291.4706654.264668
30.0030.30391190.6078224.696089
40.0040.13150190.2630024.868499
50.0050.06173890.1234764.938262
60.0060.03336990.0667374.966631
70.0070.02180990.0436184.978191
80.0080.01709590.0341894.982905
90.0090.01517290.0303434.984828
100.0100.01438790.0287744.985613
110.0110.01406790.0281344.985933
120.0120.01393690.0278724.986064
130.0130.01388390.0277664.986117
140.0140.01386190.0277224.986139
150.0150.01385290.0277054.986148
160.01540.00000090.0277054.986148
\n", "
" ], "text/plain": [ " SYSTEM TIME A B Y caption\n", "0 0.000 5.000000 100.000000 0.000000 \n", "1 0.001 1.850000 93.700000 3.150000 \n", "2 0.002 0.735332 91.470665 4.264668 \n", "3 0.003 0.303911 90.607822 4.696089 \n", "4 0.004 0.131501 90.263002 4.868499 \n", "5 0.005 0.061738 90.123476 4.938262 \n", "6 0.006 0.033369 90.066737 4.966631 \n", "7 0.007 0.021809 90.043618 4.978191 \n", "8 0.008 0.017095 90.034189 4.982905 \n", "9 0.009 0.015172 90.030343 4.984828 \n", "10 0.010 0.014387 90.028774 4.985613 \n", "11 0.011 0.014067 90.028134 4.985933 \n", "12 0.012 0.013936 90.027872 4.986064 \n", "13 0.013 0.013883 90.027766 4.986117 \n", "14 0.014 0.013861 90.027722 4.986139 \n", "15 0.015 0.013852 90.027705 4.986148 \n", "16 0.015 40.000000 90.027705 4.986148 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Save the state of the concentrations of all species at bin 0 (the only bin in this system)\n", "bio.add_snapshot(bio.bin_snapshot(bin_address = 0))\n", "bio.get_history()" ] }, { "cell_type": "markdown", "id": "24455d58-a0ea-43fa-b6ad-95c42a8b34b2", "metadata": {}, "source": [ "### Again, take the system to equilibrium" ] }, { "cell_type": "code", "execution_count": 13, "id": "c06fd8d8-d550-4e35-a239-7b91bee32be9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.055:\n", "1 bins and 3 species:\n", " Species 0 (A). Diff rate: None. Conc: [0.97997411]\n", " Species 1 (B). Diff rate: None. Conc: [11.98765279]\n", " Species 2 (Y). Diff rate: None. Conc: [44.00617361]\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEABYcaption
00.0005.000000100.0000000.000000
10.0011.85000093.7000003.150000
20.0020.73533291.4706654.264668
30.0030.30391190.6078224.696089
40.0040.13150190.2630024.868499
50.0050.06173890.1234764.938262
60.0060.03336990.0667374.966631
70.0070.02180990.0436184.978191
80.0080.01709590.0341894.982905
90.0090.01517290.0303434.984828
100.0100.01438790.0287744.985613
110.0110.01406790.0281344.985933
120.0120.01393690.0278724.986064
130.0130.01388390.0277664.986117
140.0140.01386190.0277224.986139
150.0150.01385290.0277054.986148
160.01540.00000090.0277054.986148
170.01619.34997348.72765125.636175
180.01713.05968136.14706731.926466
190.0189.78362229.59494935.202526
200.0197.74952825.52676037.236620
210.0206.36138522.75047538.624763
220.0215.35570420.73911339.630443
230.0224.59638719.22047840.389761
240.0234.00551018.03872440.980638
250.0243.53503817.09778041.451110
260.0253.15365316.33501141.832494
270.0262.84002115.70774742.146127
280.0272.57907915.18586242.407069
290.0282.35987614.74745642.626272
300.0292.17425414.37621242.811894
310.0302.01600414.05971242.970144
320.0311.88031413.78833343.105833
330.0321.76340013.55450443.222748
340.0331.66223913.35218243.323909
350.0341.57439213.17648843.411756
360.0351.49786613.02343743.488281
370.0361.43102212.88974943.555125
380.0371.37249612.77269643.613652
390.0381.32114612.66999643.665002
400.0391.27601012.57972443.710138
410.0401.23627312.50025143.749875
420.0411.20124012.43018543.784907
430.0421.17031712.36833843.815831
440.0431.14299112.31368643.843157
450.0441.11882012.26534543.867328
460.0451.09742312.22255043.888725
470.0461.07846612.18463643.907682
480.0471.06166012.15102443.924488
490.0481.04675212.12120943.939395
500.0491.03352212.09474843.952626
510.0501.02177412.07125243.964374
520.0511.01133812.05038143.974809
530.0521.00206512.03183543.984083
540.0530.99382212.01534943.992326
550.0540.98649312.00069043.999655
560.0550.97997411.98765344.006174
\n", "
" ], "text/plain": [ " SYSTEM TIME A B Y caption\n", "0 0.000 5.000000 100.000000 0.000000 \n", "1 0.001 1.850000 93.700000 3.150000 \n", "2 0.002 0.735332 91.470665 4.264668 \n", "3 0.003 0.303911 90.607822 4.696089 \n", "4 0.004 0.131501 90.263002 4.868499 \n", "5 0.005 0.061738 90.123476 4.938262 \n", "6 0.006 0.033369 90.066737 4.966631 \n", "7 0.007 0.021809 90.043618 4.978191 \n", "8 0.008 0.017095 90.034189 4.982905 \n", "9 0.009 0.015172 90.030343 4.984828 \n", "10 0.010 0.014387 90.028774 4.985613 \n", "11 0.011 0.014067 90.028134 4.985933 \n", "12 0.012 0.013936 90.027872 4.986064 \n", "13 0.013 0.013883 90.027766 4.986117 \n", "14 0.014 0.013861 90.027722 4.986139 \n", "15 0.015 0.013852 90.027705 4.986148 \n", "16 0.015 40.000000 90.027705 4.986148 \n", "17 0.016 19.349973 48.727651 25.636175 \n", "18 0.017 13.059681 36.147067 31.926466 \n", "19 0.018 9.783622 29.594949 35.202526 \n", "20 0.019 7.749528 25.526760 37.236620 \n", "21 0.020 6.361385 22.750475 38.624763 \n", "22 0.021 5.355704 20.739113 39.630443 \n", "23 0.022 4.596387 19.220478 40.389761 \n", "24 0.023 4.005510 18.038724 40.980638 \n", "25 0.024 3.535038 17.097780 41.451110 \n", "26 0.025 3.153653 16.335011 41.832494 \n", "27 0.026 2.840021 15.707747 42.146127 \n", "28 0.027 2.579079 15.185862 42.407069 \n", "29 0.028 2.359876 14.747456 42.626272 \n", "30 0.029 2.174254 14.376212 42.811894 \n", "31 0.030 2.016004 14.059712 42.970144 \n", "32 0.031 1.880314 13.788333 43.105833 \n", "33 0.032 1.763400 13.554504 43.222748 \n", "34 0.033 1.662239 13.352182 43.323909 \n", "35 0.034 1.574392 13.176488 43.411756 \n", "36 0.035 1.497866 13.023437 43.488281 \n", "37 0.036 1.431022 12.889749 43.555125 \n", "38 0.037 1.372496 12.772696 43.613652 \n", "39 0.038 1.321146 12.669996 43.665002 \n", "40 0.039 1.276010 12.579724 43.710138 \n", "41 0.040 1.236273 12.500251 43.749875 \n", "42 0.041 1.201240 12.430185 43.784907 \n", "43 0.042 1.170317 12.368338 43.815831 \n", "44 0.043 1.142991 12.313686 43.843157 \n", "45 0.044 1.118820 12.265345 43.867328 \n", "46 0.045 1.097423 12.222550 43.888725 \n", "47 0.046 1.078466 12.184636 43.907682 \n", "48 0.047 1.061660 12.151024 43.924488 \n", "49 0.048 1.046752 12.121209 43.939395 \n", "50 0.049 1.033522 12.094748 43.952626 \n", "51 0.050 1.021774 12.071252 43.964374 \n", "52 0.051 1.011338 12.050381 43.974809 \n", "53 0.052 1.002065 12.031835 43.984083 \n", "54 0.053 0.993822 12.015349 43.992326 \n", "55 0.054 0.986493 12.000690 43.999655 \n", "56 0.055 0.979974 11.987653 44.006174 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio.react(time_step=0.0005, n_steps=80, snapshots={\"frequency\": 2, \"sample_bin\": 0}) # At every other step, take a snapshot \n", " # of all species at bin 0\n", "bio.describe_state()\n", "bio.get_history()" ] }, { "cell_type": "code", "execution_count": 14, "id": "2783a665-fca0-44e5-8d42-af2a96eae392", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: A + 2 B <-> Y\n", "Final concentrations: [A] = 0.98 ; [B] = 11.99 ; [Y] = 44.01\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 3.74597\n", " Formula used: [Y] / ([A][B])\n", "2. Ratio of forward/reverse reaction rates: 4\n", "Discrepancy between the two values: 6.351 %\n", "Reaction IS in equilibrium (within 7% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "bio.reaction_dynamics.is_in_equilibrium(conc=bio.bin_snapshot(bin_address = 0), tolerance=7)" ] }, { "cell_type": "code", "execution_count": 15, "id": "58f4f09c-8af6-46b7-bd85-2f6ca194c42a", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "A", "line": { "color": "red", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001, 0.01500000000000001, 0.01600000000000001, 0.01700000000000001, 0.018000000000000013, 0.019000000000000013, 0.020000000000000014, 0.021000000000000015, 0.022000000000000016, 0.023000000000000017, 0.024000000000000018, 0.02500000000000002, 0.02600000000000002, 0.02700000000000002, 0.02800000000000002, 0.029000000000000022, 0.030000000000000023, 0.031000000000000024, 0.03200000000000002, 0.03300000000000002, 0.03400000000000002, 0.035000000000000024, 0.036000000000000025, 0.037000000000000026, 0.03800000000000003, 0.03900000000000003, 0.04000000000000003, 0.04100000000000003, 0.04200000000000003, 0.04300000000000003, 0.04400000000000003, 0.04500000000000003, 0.046000000000000034, 0.047000000000000035, 0.048000000000000036, 0.04900000000000004, 0.05000000000000004, 0.05100000000000004, 0.05200000000000004, 0.05300000000000004, 0.05400000000000004, 0.05500000000000004 ], "xaxis": "x", "y": [ 5, 1.8499999999999999, 0.7353324983767999, 0.3039112200628923, 0.13150108643314973, 0.061738042999482066, 0.033368669453993284, 0.021808897156502745, 0.017094731896225502, 0.015171616267744988, 0.014386985824432869, 0.014066839111196544, 0.013936209152987204, 0.013882907516112328, 0.013861158483520411, 0.013852284062864168, 40, 19.34997318335962, 13.059681363867579, 9.783622121395249, 7.749527869426785, 6.361384966231401, 5.355704384532325, 4.596386500366941, 4.005509528777298, 3.5350375757596812, 3.153653399140872, 2.840021089901386, 2.579078582996456, 2.3598759243803915, 2.174253844926734, 2.0160035484428174, 1.8803143335258734, 1.7633998686194108, 1.662238943680195, 1.574391639929586, 1.4978664133801132, 1.4310223019713473, 1.3724958367946896, 1.3211456342108385, 1.2760098435629665, 1.2362730774083273, 1.2012404289532388, 1.170316851069272, 1.1429906371970906, 1.118820073298418, 1.0974225652141778, 1.0784657160698707, 1.061659953059158, 1.0467523952084137, 1.0335217226820013, 1.0217738601982234, 1.0113383266951903, 1.0020651337369593, 0.9938221386114078, 0.9864927763402591, 0.9799741091476014 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001, 0.01500000000000001, 0.01600000000000001, 0.01700000000000001, 0.018000000000000013, 0.019000000000000013, 0.020000000000000014, 0.021000000000000015, 0.022000000000000016, 0.023000000000000017, 0.024000000000000018, 0.02500000000000002, 0.02600000000000002, 0.02700000000000002, 0.02800000000000002, 0.029000000000000022, 0.030000000000000023, 0.031000000000000024, 0.03200000000000002, 0.03300000000000002, 0.03400000000000002, 0.035000000000000024, 0.036000000000000025, 0.037000000000000026, 0.03800000000000003, 0.03900000000000003, 0.04000000000000003, 0.04100000000000003, 0.04200000000000003, 0.04300000000000003, 0.04400000000000003, 0.04500000000000003, 0.046000000000000034, 0.047000000000000035, 0.048000000000000036, 0.04900000000000004, 0.05000000000000004, 0.05100000000000004, 0.05200000000000004, 0.05300000000000004, 0.05400000000000004, 0.05500000000000004 ], "xaxis": "x", "y": [ 100, 93.7, 91.4706649967536, 90.60782244012579, 90.26300217286631, 90.12347608599897, 90.066737338908, 90.04361779431301, 90.03418946379244, 90.03034323253549, 90.02877397164886, 90.02813367822239, 90.02787241830596, 90.02776581503221, 90.02772231696703, 90.02770456812571, 90.02770456812571, 48.72765093484495, 36.14706729586087, 29.594948810916208, 25.52676030697928, 22.75047450058851, 20.73911333719036, 19.22047756885959, 18.038723625680305, 17.09777971964507, 16.335011366407453, 15.70774674792848, 15.185861734118621, 14.747456416886491, 14.376212257979176, 14.059711665011344, 13.788333235177456, 13.55450430536453, 13.352182455486098, 13.17648784798488, 13.023437394885933, 12.889749172068402, 12.772696241715087, 12.669995836547384, 12.579724255251639, 12.50025072294236, 12.430185426032182, 12.36833827026425, 12.313685842519886, 12.265344714722541, 12.222549698554062, 12.184636000265447, 12.151024474244021, 12.121209358542533, 12.094748013489708, 12.071252288522151, 12.050381221516085, 12.031834835599623, 12.01534884534852, 12.000690120806222, 11.987652786420908 ], "yaxis": "y" }, { "hovertemplate": "Chemical=Y
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "Y", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "Y", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001, 0.01500000000000001, 0.01600000000000001, 0.01700000000000001, 0.018000000000000013, 0.019000000000000013, 0.020000000000000014, 0.021000000000000015, 0.022000000000000016, 0.023000000000000017, 0.024000000000000018, 0.02500000000000002, 0.02600000000000002, 0.02700000000000002, 0.02800000000000002, 0.029000000000000022, 0.030000000000000023, 0.031000000000000024, 0.03200000000000002, 0.03300000000000002, 0.03400000000000002, 0.035000000000000024, 0.036000000000000025, 0.037000000000000026, 0.03800000000000003, 0.03900000000000003, 0.04000000000000003, 0.04100000000000003, 0.04200000000000003, 0.04300000000000003, 0.04400000000000003, 0.04500000000000003, 0.046000000000000034, 0.047000000000000035, 0.048000000000000036, 0.04900000000000004, 0.05000000000000004, 0.05100000000000004, 0.05200000000000004, 0.05300000000000004, 0.05400000000000004, 0.05500000000000004 ], "xaxis": "x", "y": [ 0, 3.1500000000000004, 4.2646675016232, 4.696088779937108, 4.86849891356685, 4.938261957000519, 4.966631330546007, 4.978191102843497, 4.982905268103774, 4.984828383732255, 4.985613014175567, 4.985933160888804, 4.9860637908470125, 4.986117092483887, 4.98613884151648, 4.986147715937136, 4.986147715937136, 25.636174532577517, 31.926466352069557, 35.20252559454189, 37.23661984651035, 38.62476274970574, 39.63044333140481, 40.389761215570196, 40.98063818715984, 41.451110140177455, 41.832494316796264, 42.146126626035745, 42.40706913294067, 42.62627179155673, 42.81189387101039, 42.970144167494304, 43.10583338241125, 43.22274784731771, 43.32390877225693, 43.41175607600754, 43.48828130255701, 43.55512541396578, 43.613651879142445, 43.66500208172629, 43.71013787237416, 43.7498746385288, 43.784907286983895, 43.81583086486786, 43.84315707874004, 43.86732764263871, 43.888725150722955, 43.907681999867265, 43.92448776287798, 43.93939532072872, 43.95262599325513, 43.964373855738906, 43.97480938924193, 43.984082582200166, 43.992325577325715, 43.999654939596866, 44.006173606789524 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Chemical" }, "tracegroupgap": 0 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Changes in concentrations (reaction A + 2 B <-> Y)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 0.05500000000000004 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -5.555555555555555, 105.55555555555556 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = px.line(data_frame=bio.get_history(), x=\"SYSTEM TIME\", y=[\"A\", \"B\", \"Y\"], \n", " title=\"Changes in concentrations (reaction A + 2 B <-> Y)\",\n", " color_discrete_sequence = ['red', 'blue', 'green'],\n", " labels={\"value\":\"concentration\", \"variable\":\"Chemical\"})\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "158e3787-f2d5-4a01-aaa9-6066e93e584c", "metadata": {}, "source": [ "**A**, still the limiting reagent, is again stopping the reaction. \n", "The (transiently) high value of [A] led to a high value of [B]" ] }, { "cell_type": "markdown", "id": "f6619731-c5ea-484c-af3e-cea50d685361", "metadata": { "tags": [] }, "source": [ "# Let's again suddenly increase [A]" ] }, { "cell_type": "code", "execution_count": 16, "id": "d3618eba-a673-4ff5-85d0-08f5ea592361", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.055:\n", "1 bins and 3 species:\n", " Species 0 (A). Diff rate: None. Conc: [30.]\n", " Species 1 (B). Diff rate: None. Conc: [11.98765279]\n", " Species 2 (Y). Diff rate: None. Conc: [44.00617361]\n" ] } ], "source": [ "bio.set_bin_conc(bin_address=0, species_index=0, conc=30.)\n", "bio.describe_state()" ] }, { "cell_type": "code", "execution_count": 17, "id": "359b153e-9b63-45a3-851a-6c49259909b7", "metadata": {}, "outputs": [], "source": [ "# Save the state of the concentrations of all species at bin 0 (the only bin in this system)\n", "bio.add_snapshot(bio.bin_snapshot(bin_address = 0))" ] }, { "cell_type": "markdown", "id": "0974480d-ca45-46fe-addd-c8d394780fdb", "metadata": {}, "source": [ "### Yet again, take the system to equilibrium" ] }, { "cell_type": "code", "execution_count": 18, "id": "8fe20f9c-05c4-45a4-b485-a51005440200", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.09:\n", "1 bins and 3 species:\n", " Species 0 (A). Diff rate: None. Conc: [24.26245387]\n", " Species 1 (B). Diff rate: None. Conc: [0.51256052]\n", " Species 2 (Y). Diff rate: None. Conc: [49.74371974]\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEABYcaption
00.0005.000000100.0000000.000000
10.0011.85000093.7000003.150000
20.0020.73533291.4706654.264668
30.0030.30391190.6078224.696089
40.0040.13150190.2630024.868499
..................
880.08624.2624580.51256949.743715
890.08724.2624560.51256649.743717
900.08824.2624550.51256349.743718
910.08924.2624540.51256249.743719
920.09024.2624540.51256149.743720
\n", "

93 rows × 5 columns

\n", "
" ], "text/plain": [ " SYSTEM TIME A B Y caption\n", "0 0.000 5.000000 100.000000 0.000000 \n", "1 0.001 1.850000 93.700000 3.150000 \n", "2 0.002 0.735332 91.470665 4.264668 \n", "3 0.003 0.303911 90.607822 4.696089 \n", "4 0.004 0.131501 90.263002 4.868499 \n", ".. ... ... ... ... ...\n", "88 0.086 24.262458 0.512569 49.743715 \n", "89 0.087 24.262456 0.512566 49.743717 \n", "90 0.088 24.262455 0.512563 49.743718 \n", "91 0.089 24.262454 0.512562 49.743719 \n", "92 0.090 24.262454 0.512561 49.743720 \n", "\n", "[93 rows x 5 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio.react(time_step=0.0005, n_steps=70, snapshots={\"frequency\": 2, \"sample_bin\": 0}) # At every other step, take a snapshot \n", " # of all species at bin 0\n", "bio.describe_state()\n", "bio.get_history()" ] }, { "cell_type": "code", "execution_count": 19, "id": "aff608b1-5c78-4070-845a-118afe7c2108", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: A + 2 B <-> Y\n", "Final concentrations: [A] = 24.26 ; [B] = 0.5126 ; [Y] = 49.74\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 3.99999\n", " Formula used: [Y] / ([A][B])\n", "2. Ratio of forward/reverse reaction rates: 4\n", "Discrepancy between the two values: 0.0003695 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "bio.reaction_dynamics.is_in_equilibrium(conc=bio.bin_snapshot(bin_address = 0))" ] }, { "cell_type": "code", "execution_count": 20, "id": "4229e039-b484-4849-a446-59409885deb4", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "A", "line": { "color": "red", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001, 0.01500000000000001, 0.01600000000000001, 0.01700000000000001, 0.018000000000000013, 0.019000000000000013, 0.020000000000000014, 0.021000000000000015, 0.022000000000000016, 0.023000000000000017, 0.024000000000000018, 0.02500000000000002, 0.02600000000000002, 0.02700000000000002, 0.02800000000000002, 0.029000000000000022, 0.030000000000000023, 0.031000000000000024, 0.03200000000000002, 0.03300000000000002, 0.03400000000000002, 0.035000000000000024, 0.036000000000000025, 0.037000000000000026, 0.03800000000000003, 0.03900000000000003, 0.04000000000000003, 0.04100000000000003, 0.04200000000000003, 0.04300000000000003, 0.04400000000000003, 0.04500000000000003, 0.046000000000000034, 0.047000000000000035, 0.048000000000000036, 0.04900000000000004, 0.05000000000000004, 0.05100000000000004, 0.05200000000000004, 0.05300000000000004, 0.05400000000000004, 0.05500000000000004, 0.05500000000000004, 0.05600000000000004, 0.057000000000000044, 0.058000000000000045, 0.059000000000000045, 0.060000000000000046, 0.06100000000000005, 0.06200000000000005, 0.06300000000000004, 0.06400000000000004, 0.06500000000000004, 0.06600000000000004, 0.06700000000000005, 0.06800000000000005, 0.06900000000000005, 0.07000000000000005, 0.07100000000000005, 0.07200000000000005, 0.07300000000000005, 0.07400000000000005, 0.07500000000000005, 0.07600000000000005, 0.07700000000000005, 0.07800000000000006, 0.07900000000000006, 0.08000000000000006, 0.08100000000000006, 0.08200000000000006, 0.08300000000000006, 0.08400000000000006, 0.08500000000000006, 0.08600000000000006, 0.08700000000000006, 0.08800000000000006, 0.08900000000000007, 0.09000000000000007 ], "xaxis": "x", "y": [ 5, 1.8499999999999999, 0.7353324983767999, 0.3039112200628923, 0.13150108643314973, 0.061738042999482066, 0.033368669453993284, 0.021808897156502745, 0.017094731896225502, 0.015171616267744988, 0.014386985824432869, 0.014066839111196544, 0.013936209152987204, 0.013882907516112328, 0.013861158483520411, 0.013852284062864168, 40, 19.34997318335962, 13.059681363867579, 9.783622121395249, 7.749527869426785, 6.361384966231401, 5.355704384532325, 4.596386500366941, 4.005509528777298, 3.5350375757596812, 3.153653399140872, 2.840021089901386, 2.579078582996456, 2.3598759243803915, 2.174253844926734, 2.0160035484428174, 1.8803143335258734, 1.7633998686194108, 1.662238943680195, 1.574391639929586, 1.4978664133801132, 1.4310223019713473, 1.3724958367946896, 1.3211456342108385, 1.2760098435629665, 1.2362730774083273, 1.2012404289532388, 1.170316851069272, 1.1429906371970906, 1.118820073298418, 1.0974225652141778, 1.0784657160698707, 1.061659953059158, 1.0467523952084137, 1.0335217226820013, 1.0217738601982234, 1.0113383266951903, 1.0020651337369593, 0.9938221386114078, 0.9864927763402591, 0.9799741091476014, 30, 27.598363506243185, 26.28756839193102, 25.521135154864083, 25.055618355020126, 24.766468636853933, 24.584397105338123, 24.468771203812402, 24.39494716123144, 24.34765148569197, 24.317285234915406, 24.29776130199777, 24.285197158848884, 24.27710715226921, 24.271896092562095, 24.268538662218113, 24.26637517253071, 24.264980906252482, 24.264082310469693, 24.263503147324965, 24.263129855062065, 24.26288925014938, 24.262734166939232, 24.262634206498838, 24.262569775698008, 24.26252824586542, 24.262501477142138, 24.26248422290872, 24.2624731013919, 24.262465932820778, 24.262461312189465, 24.26245833387791, 24.262456414153018, 24.262455176759307, 24.262454379174567, 24.262453865076722 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001, 0.01500000000000001, 0.01600000000000001, 0.01700000000000001, 0.018000000000000013, 0.019000000000000013, 0.020000000000000014, 0.021000000000000015, 0.022000000000000016, 0.023000000000000017, 0.024000000000000018, 0.02500000000000002, 0.02600000000000002, 0.02700000000000002, 0.02800000000000002, 0.029000000000000022, 0.030000000000000023, 0.031000000000000024, 0.03200000000000002, 0.03300000000000002, 0.03400000000000002, 0.035000000000000024, 0.036000000000000025, 0.037000000000000026, 0.03800000000000003, 0.03900000000000003, 0.04000000000000003, 0.04100000000000003, 0.04200000000000003, 0.04300000000000003, 0.04400000000000003, 0.04500000000000003, 0.046000000000000034, 0.047000000000000035, 0.048000000000000036, 0.04900000000000004, 0.05000000000000004, 0.05100000000000004, 0.05200000000000004, 0.05300000000000004, 0.05400000000000004, 0.05500000000000004, 0.05500000000000004, 0.05600000000000004, 0.057000000000000044, 0.058000000000000045, 0.059000000000000045, 0.060000000000000046, 0.06100000000000005, 0.06200000000000005, 0.06300000000000004, 0.06400000000000004, 0.06500000000000004, 0.06600000000000004, 0.06700000000000005, 0.06800000000000005, 0.06900000000000005, 0.07000000000000005, 0.07100000000000005, 0.07200000000000005, 0.07300000000000005, 0.07400000000000005, 0.07500000000000005, 0.07600000000000005, 0.07700000000000005, 0.07800000000000006, 0.07900000000000006, 0.08000000000000006, 0.08100000000000006, 0.08200000000000006, 0.08300000000000006, 0.08400000000000006, 0.08500000000000006, 0.08600000000000006, 0.08700000000000006, 0.08800000000000006, 0.08900000000000007, 0.09000000000000007 ], "xaxis": "x", "y": [ 100, 93.7, 91.4706649967536, 90.60782244012579, 90.26300217286631, 90.12347608599897, 90.066737338908, 90.04361779431301, 90.03418946379244, 90.03034323253549, 90.02877397164886, 90.02813367822239, 90.02787241830596, 90.02776581503221, 90.02772231696703, 90.02770456812571, 90.02770456812571, 48.72765093484495, 36.14706729586087, 29.594948810916208, 25.52676030697928, 22.75047450058851, 20.73911333719036, 19.22047756885959, 18.038723625680305, 17.09777971964507, 16.335011366407453, 15.70774674792848, 15.185861734118621, 14.747456416886491, 14.376212257979176, 14.059711665011344, 13.788333235177456, 13.55450430536453, 13.352182455486098, 13.17648784798488, 13.023437394885933, 12.889749172068402, 12.772696241715087, 12.669995836547384, 12.579724255251639, 12.50025072294236, 12.430185426032182, 12.36833827026425, 12.313685842519886, 12.265344714722541, 12.222549698554062, 12.184636000265447, 12.151024474244021, 12.121209358542533, 12.094748013489708, 12.071252288522151, 12.050381221516085, 12.031834835599623, 12.01534884534852, 12.000690120806222, 11.987652786420908, 11.987652786420908, 7.184379798907273, 4.562789570282945, 3.029923096149068, 2.098889496461152, 1.5205900601287592, 1.1564469970971405, 0.9251951940457003, 0.7775471088837733, 0.6829557578048321, 0.6222232562517063, 0.5831753904164372, 0.558047104118664, 0.54186709095932, 0.5314449715450875, 0.5247301108571282, 0.5204031314823276, 0.5176145989258717, 0.5158174073602901, 0.5146590810708367, 0.5139124965450395, 0.5134312867196724, 0.5131211202993724, 0.5129211994185828, 0.5127923378169232, 0.5127092781517409, 0.5126557407051808, 0.5126212322383498, 0.5125989892047105, 0.5125846520624635, 0.5125754107998425, 0.512569454176727, 0.512565614726942, 0.5125631399395226, 0.5125615447700421, 0.5125605165743496 ], "yaxis": "y" }, { "hovertemplate": "Chemical=Y
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "Y", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "Y", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.001, 0.002, 0.003, 0.004, 0.005000000000000001, 0.006000000000000002, 0.007000000000000003, 0.008000000000000004, 0.009000000000000005, 0.010000000000000005, 0.011000000000000006, 0.012000000000000007, 0.013000000000000008, 0.014000000000000009, 0.01500000000000001, 0.01500000000000001, 0.01600000000000001, 0.01700000000000001, 0.018000000000000013, 0.019000000000000013, 0.020000000000000014, 0.021000000000000015, 0.022000000000000016, 0.023000000000000017, 0.024000000000000018, 0.02500000000000002, 0.02600000000000002, 0.02700000000000002, 0.02800000000000002, 0.029000000000000022, 0.030000000000000023, 0.031000000000000024, 0.03200000000000002, 0.03300000000000002, 0.03400000000000002, 0.035000000000000024, 0.036000000000000025, 0.037000000000000026, 0.03800000000000003, 0.03900000000000003, 0.04000000000000003, 0.04100000000000003, 0.04200000000000003, 0.04300000000000003, 0.04400000000000003, 0.04500000000000003, 0.046000000000000034, 0.047000000000000035, 0.048000000000000036, 0.04900000000000004, 0.05000000000000004, 0.05100000000000004, 0.05200000000000004, 0.05300000000000004, 0.05400000000000004, 0.05500000000000004, 0.05500000000000004, 0.05600000000000004, 0.057000000000000044, 0.058000000000000045, 0.059000000000000045, 0.060000000000000046, 0.06100000000000005, 0.06200000000000005, 0.06300000000000004, 0.06400000000000004, 0.06500000000000004, 0.06600000000000004, 0.06700000000000005, 0.06800000000000005, 0.06900000000000005, 0.07000000000000005, 0.07100000000000005, 0.07200000000000005, 0.07300000000000005, 0.07400000000000005, 0.07500000000000005, 0.07600000000000005, 0.07700000000000005, 0.07800000000000006, 0.07900000000000006, 0.08000000000000006, 0.08100000000000006, 0.08200000000000006, 0.08300000000000006, 0.08400000000000006, 0.08500000000000006, 0.08600000000000006, 0.08700000000000006, 0.08800000000000006, 0.08900000000000007, 0.09000000000000007 ], "xaxis": "x", "y": [ 0, 3.1500000000000004, 4.2646675016232, 4.696088779937108, 4.86849891356685, 4.938261957000519, 4.966631330546007, 4.978191102843497, 4.982905268103774, 4.984828383732255, 4.985613014175567, 4.985933160888804, 4.9860637908470125, 4.986117092483887, 4.98613884151648, 4.986147715937136, 4.986147715937136, 25.636174532577517, 31.926466352069557, 35.20252559454189, 37.23661984651035, 38.62476274970574, 39.63044333140481, 40.389761215570196, 40.98063818715984, 41.451110140177455, 41.832494316796264, 42.146126626035745, 42.40706913294067, 42.62627179155673, 42.81189387101039, 42.970144167494304, 43.10583338241125, 43.22274784731771, 43.32390877225693, 43.41175607600754, 43.48828130255701, 43.55512541396578, 43.613651879142445, 43.66500208172629, 43.71013787237416, 43.7498746385288, 43.784907286983895, 43.81583086486786, 43.84315707874004, 43.86732764263871, 43.888725150722955, 43.907681999867265, 43.92448776287798, 43.93939532072872, 43.95262599325513, 43.964373855738906, 43.97480938924193, 43.984082582200166, 43.992325577325715, 43.999654939596866, 44.006173606789524, 44.006173606789524, 46.40781010054634, 47.718605214858506, 48.48503845192545, 48.95055525176941, 49.2397049699356, 49.42177650145141, 49.537402402977136, 49.6112264455581, 49.658522121097576, 49.68888837187414, 49.70841230479178, 49.720976447940664, 49.729066454520336, 49.73427751422745, 49.737634944571425, 49.73979843425882, 49.74119270053705, 49.74209129631984, 49.74267045946457, 49.74304375172747, 49.74328435664015, 49.743439439850306, 49.7435394002907, 49.74360383109153, 49.74364536092412, 49.74367212964739, 49.743689383880806, 49.743700505397626, 49.74370767396875, 49.74371229460006, 49.743715272911615, 49.74371719263651, 49.74371843003021, 49.74371922761496, 49.7437197417128 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Chemical" }, "tracegroupgap": 0 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Changes in concentrations (reaction A + 2 B <-> Y)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 0.09000000000000007 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -5.555555555555555, 105.55555555555556 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = px.line(data_frame=bio.get_history(), x=\"SYSTEM TIME\", y=[\"A\", \"B\", \"Y\"], \n", " title=\"Changes in concentrations (reaction A + 2 B <-> Y)\",\n", " color_discrete_sequence = ['red', 'blue', 'green'],\n", " labels={\"value\":\"concentration\", \"variable\":\"Chemical\"})\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "81a8be4a-f374-494e-b647-184e35707295", "metadata": {}, "source": [ "**A**, again the scarse limiting reagent, stops the reaction yet again \n", "\n", "Note: A can down-regulate B, but it cannot bring it up." ] }, { "cell_type": "markdown", "id": "0f4b82d6-f617-4af9-b4b6-67e03ae891ac", "metadata": {}, "source": [ "# For additional exploration, see the experiment \"reactions_single_compartment/down_regulate_2\"" ] }, { "cell_type": "code", "execution_count": null, "id": "c2a858c2", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "formats": "ipynb,py:percent" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }