{ "cells": [ { "cell_type": "markdown", "id": "4f3151f1-fee2-40d3-9913-d02f15a8fa30", "metadata": {}, "source": [ "## 2 COUPLED reactions: `A + B <-> C` and `C + D <-> E` , \n", "### with 1st-order kinetics for each species, taken to equilibrium\n", "\n", "Both reactions are stronger in their respective forward rates. For the most part, \"C\" is produced by the 1st reaction, and consumed by the 2nd one\n", "\n", "Diffusion not applicable (just 1 bin)\n", "\n", "LAST REVISED: June 4, 2023" ] }, { "cell_type": "code", "execution_count": 1, "id": "1ae6fc7e-a758-4f90-9fd5-835a4daee70b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Added 'D:\\Docs\\- MY CODE\\BioSimulations\\life123-Win7' to sys.path\n" ] } ], "source": [ "import set_path # Importing this module will add the project's home directory to sys.path" ] }, { "cell_type": "code", "execution_count": 2, "id": "ecd38f71-69ed-4040-9fca-45e01a2fc639", "metadata": {}, "outputs": [], "source": [ "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from src.modules.reactions.reaction_data import ChemData as chem\n", "from src.modules.reactions.reaction_dynamics import ReactionDynamics\n", "from src.life_1D.bio_sim_1d import BioSim1D\n", "\n", "import plotly.express as px\n", "from src.modules.html_log.html_log import HtmlLog as log\n", "from src.modules.visualization.graphic_log import GraphicLog" ] }, { "cell_type": "code", "execution_count": 3, "id": "05cc8402-3b3c-468a-bb98-ea4159816a0f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> Output will be LOGGED into the file 'reaction_8.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_1\"],\n", " extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "c5443325-1f60-4129-aa6d-47d328ab7c05", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "1 bins and 5 species:\n", " Species 0 (A). Diff rate: None. Conc: [3.]\n", " Species 1 (B). Diff rate: None. Conc: [5.]\n", " Species 2 (C). Diff rate: None. Conc: [1.]\n", " Species 3 (D). Diff rate: None. Conc: [0.4]\n", " Species 4 (E). Diff rate: None. Conc: [0.1]\n" ] } ], "source": [ "# Initialize the system\n", "chem_data = chem(names=[\"A\", \"B\", \"C\", \"D\", \"E\"]) # NOTE: Diffusion not applicable (just 1 bin)\n", "\n", "# Specify the reactions\n", "\n", "\n", "# Reactions A + B <-> C and C + D <-> E , with 1st-order kinetics for each species\n", "chem_data.add_reaction(reactants=[\"A\", \"B\"], products=[\"C\"], forward_rate=5., reverse_rate=2.)\n", "chem_data.add_reaction(reactants=[\"C\", \"D\"], products=[\"E\"], forward_rate=8., reverse_rate=4.)\n", "\n", "bio = BioSim1D(n_bins=1, chem_data=chem_data)\n", "\n", "bio.set_all_uniform_concentrations( [3., 5., 1., 0.4, 0.1] )\n", "\n", "bio.describe_state()" ] }, { "cell_type": "code", "execution_count": 5, "id": "98f90fcf-5e0c-488c-a96b-2b545e13b453", "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", "
SYSTEM TIMEABCDEcaption
003.05.01.00.40.1Initial state
\n", "
" ], "text/plain": [ " SYSTEM TIME A B C D E caption\n", "0 0 3.0 5.0 1.0 0.4 0.1 Initial state" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Save the state of the concentrations of all species at bin 0\n", "bio.add_snapshot(bio.bin_snapshot(bin_address = 0), caption=\"Initial state\")\n", "bio.get_history()" ] }, { "cell_type": "code", "execution_count": 6, "id": "d79393b1-8751-4cdc-81fe-381b1161ec93", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 2 (at temp. 25 C)\n", "0: A + B <-> C (kF = 5 / kR = 2 / Delta_G = -2,271.45 / K = 2.5) | 1st order in all reactants & products\n", "1: C + D <-> E (kF = 8 / kR = 4 / Delta_G = -1,718.28 / K = 2) | 1st order in all reactants & products\n" ] } ], "source": [ "chem_data.describe_reactions()" ] }, { "cell_type": "code", "execution_count": 7, "id": "c05a44f2-085e-418d-be55-8ea403b1b44e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2 COUPLED reactions: A + B C and C + D E\n", "[GRAPHIC ELEMENT SENT TO LOG FILE `reaction_8.log.htm`]\n" ] } ], "source": [ "# Send a header and a plot to the HTML log file\n", "log.write(\"2 COUPLED reactions: A + B <-> C and C + D <-> E\",\n", " style=log.h2)\n", "# Send the plot to the HTML log file\n", "graph_data = chem_data.prepare_graph_network()\n", "GraphicLog.export_plot(graph_data, \"vue_cytoscape_1\")" ] }, { "cell_type": "markdown", "id": "db7979c8-c39d-418c-bd70-e6e234d71cf7", "metadata": { "tags": [] }, "source": [ "### First step" ] }, { "cell_type": "code", "execution_count": 8, "id": "73e5e562-60d7-46d9-b9d5-03748e0103eb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.01:\n", "1 bins and 5 species:\n", " Species 0 (A). Diff rate: None. Conc: [2.27]\n", " Species 1 (B). Diff rate: None. Conc: [4.27]\n", " Species 2 (C). Diff rate: None. Conc: [1.702]\n", " Species 3 (D). Diff rate: None. Conc: [0.372]\n", " Species 4 (E). Diff rate: None. Conc: [0.128]\n" ] } ], "source": [ "# First step\n", "bio.react(time_step=0.01, n_steps=1, snapshots={\"sample_bin\": 0})\n", "bio.describe_state()" ] }, { "cell_type": "markdown", "id": "1b8f010c-0bfc-43e2-aad3-26b3422ba1ca", "metadata": {}, "source": [ "1 bins and 5 species:\n", " [[2.27 ]\n", " [4.27 ]\n", " [1.702]\n", " [0.372]\n", " [0.128]]" ] }, { "cell_type": "code", "execution_count": 9, "id": "29d41ef5-46ae-49fb-ab07-605a4d194573", "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", "
SYSTEM TIMEABCDEcaption
00.003.005.001.0000.4000.100Initial state
10.012.274.271.7020.3720.128
\n", "
" ], "text/plain": [ " SYSTEM TIME A B C D E caption\n", "0 0.00 3.00 5.00 1.000 0.400 0.100 Initial state\n", "1 0.01 2.27 4.27 1.702 0.372 0.128 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio.get_history()" ] }, { "cell_type": "code", "execution_count": 10, "id": "ae1ad0a8-b118-400d-ab94-8f404597642d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.02:\n", "1 bins and 5 species:\n", " Species 0 (A). Diff rate: None. Conc: [1.819395]\n", " Species 1 (B). Diff rate: None. Conc: [3.819395]\n", " Species 2 (C). Diff rate: None. Conc: [2.10707348]\n", " Species 3 (D). Diff rate: None. Conc: [0.32646848]\n", " Species 4 (E). Diff rate: None. Conc: [0.17353152]\n" ] } ], "source": [ "# Identical 2nd step\n", "bio.react(time_step=0.01, n_steps=1, snapshots={\"sample_bin\": 0})\n", "bio.describe_state()" ] }, { "cell_type": "markdown", "id": "39744f2c-3823-405c-b5ab-e844b4537765", "metadata": {}, "source": [ "1 bins and 5 species:\n", " [[1.819395 ]\n", " [3.819395 ]\n", " [2.10707348]\n", " [0.32646848]\n", " [0.17353152]]" ] }, { "cell_type": "code", "execution_count": 11, "id": "cd441e5a-cc00-489e-a702-879a91844656", "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", "
SYSTEM TIMEABCDEcaption
00.003.0000005.0000001.0000000.4000000.100000Initial state
10.012.2700004.2700001.7020000.3720000.128000
20.021.8193953.8193952.1070730.3264680.173532
\n", "
" ], "text/plain": [ " SYSTEM TIME A B C D E \\\n", "0 0.00 3.000000 5.000000 1.000000 0.400000 0.100000 \n", "1 0.01 2.270000 4.270000 1.702000 0.372000 0.128000 \n", "2 0.02 1.819395 3.819395 2.107073 0.326468 0.173532 \n", "\n", " caption \n", "0 Initial state \n", "1 \n", "2 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio.get_history()" ] }, { "cell_type": "markdown", "id": "100a4ed1-cf8d-40ba-a49c-680ee02a1d49", "metadata": {}, "source": [ "### Numerous more steps" ] }, { "cell_type": "code", "execution_count": 12, "id": "9bf6ad6f-5e63-44c2-a5eb-e27a5d442c45", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 2.02:\n", "1 bins and 5 species:\n", " Species 0 (A). Diff rate: None. Conc: [0.50508029]\n", " Species 1 (B). Diff rate: None. Conc: [2.50508029]\n", " Species 2 (C). Diff rate: None. Conc: [3.16316668]\n", " Species 3 (D). Diff rate: None. Conc: [0.06824696]\n", " Species 4 (E). Diff rate: None. Conc: [0.43175304]\n" ] } ], "source": [ "# Numerous more identical steps, to equilibrium\n", "bio.react(time_step=0.01, n_steps=200, snapshots={\"sample_bin\": 0, \"frequency\": 10})\n", "bio.describe_state()" ] }, { "cell_type": "markdown", "id": "37d92ec2-0efc-4ad1-a7d4-46eb351ac2fa", "metadata": {}, "source": [ "1 bins and 5 species:\n", " [[0.50508029]\n", " [2.50508029]\n", " [3.16316668]\n", " [0.06824696]\n", " [0.43175304]]" ] }, { "cell_type": "markdown", "id": "7c4e149f-3f80-48b1-a910-b828701c2806", "metadata": { "tags": [] }, "source": [ "### Equilibrium" ] }, { "cell_type": "code", "execution_count": 13, "id": "99dd2a45-b7fa-459b-a25f-3475043bdbb7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A + B <-> C\n", "Final concentrations: [C] = 3.163 ; [A] = 0.5051 ; [B] = 2.505\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 2.5\n", " Formula used: [C] / ([A][B])\n", "2. Ratio of forward/reverse reaction rates: 2.5\n", "Discrepancy between the two values: 8.882e-14 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that each reaction has reached equilibrium\n", "bio.reaction_dynamics.is_in_equilibrium(rxn_index=0, conc=bio.bin_snapshot(bin_address = 0))" ] }, { "cell_type": "code", "execution_count": 14, "id": "ab2dbc91-ba95-45a9-9d41-638b78019752", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C + D <-> E\n", "Final concentrations: [E] = 0.4318 ; [C] = 3.163 ; [D] = 0.06825\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 2\n", " Formula used: [E] / ([C][D])\n", "2. Ratio of forward/reverse reaction rates: 2.0\n", "Discrepancy between the two values: 4.441e-14 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio.reaction_dynamics.is_in_equilibrium(rxn_index=1, conc=bio.bin_snapshot(bin_address = 0))" ] }, { "cell_type": "code", "execution_count": 15, "id": "df7086e8-1ea6-45f0-9fa3-66c84a9475e7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "At equilibrium: -4.440892098500626e-15 (this should be close to 0 at equilibrium)\n" ] } ], "source": [ "# Do a consistent check with the equilibrium concentrations:\n", "\n", "A_eq = bio.bin_concentration(0, 0)\n", "B_eq = bio.bin_concentration(0, 1)\n", "C_eq = bio.bin_concentration(0, 2)\n", "D_eq = bio.bin_concentration(0, 3)\n", "E_eq = bio.bin_concentration(0, 4)\n", "\n", "Rf0 = chem_data.get_forward_rate(0)\n", "Rb0 = chem_data.get_reverse_rate(0)\n", "\n", "Rf1 = chem_data.get_forward_rate(1)\n", "Rb1 = chem_data.get_reverse_rate(1)\n", "\n", "equil = -(Rf0 * A_eq * B_eq - Rf1 * C_eq * D_eq) + (Rb0 * C_eq - Rb1 * E_eq)\n", "\n", "print(\"\\nAt equilibrium: \", equil, \" (this should be close to 0 at equilibrium)\")" ] }, { "cell_type": "code", "execution_count": 16, "id": "29054060-59d2-4516-944d-da09094cf975", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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 TIMEABCDEcaption
00.003.0000005.0000001.0000000.4000000.100000Initial state
10.012.2700004.2700001.7020000.3720000.128000
20.021.8193953.8193952.1070730.3264680.173532
30.120.6546542.6546543.0321200.0867740.413226
40.220.5276272.5276273.1419940.0696200.430380
50.320.5085782.5085783.1598300.0684080.431592
60.420.5056252.5056253.1626460.0682700.431730
70.520.5051652.5051653.1630850.0682510.431749
80.620.5050942.5050943.1631540.0682480.431752
90.720.5050822.5050823.1631650.0682470.431753
100.820.5050812.5050813.1631660.0682470.431753
110.920.5050802.5050803.1631670.0682470.431753
121.020.5050802.5050803.1631670.0682470.431753
131.120.5050802.5050803.1631670.0682470.431753
141.220.5050802.5050803.1631670.0682470.431753
151.320.5050802.5050803.1631670.0682470.431753
161.420.5050802.5050803.1631670.0682470.431753
171.520.5050802.5050803.1631670.0682470.431753
181.620.5050802.5050803.1631670.0682470.431753
191.720.5050802.5050803.1631670.0682470.431753
201.820.5050802.5050803.1631670.0682470.431753
211.920.5050802.5050803.1631670.0682470.431753
222.020.5050802.5050803.1631670.0682470.431753
\n", "
" ], "text/plain": [ " SYSTEM TIME A B C D E \\\n", "0 0.00 3.000000 5.000000 1.000000 0.400000 0.100000 \n", "1 0.01 2.270000 4.270000 1.702000 0.372000 0.128000 \n", "2 0.02 1.819395 3.819395 2.107073 0.326468 0.173532 \n", "3 0.12 0.654654 2.654654 3.032120 0.086774 0.413226 \n", "4 0.22 0.527627 2.527627 3.141994 0.069620 0.430380 \n", "5 0.32 0.508578 2.508578 3.159830 0.068408 0.431592 \n", "6 0.42 0.505625 2.505625 3.162646 0.068270 0.431730 \n", "7 0.52 0.505165 2.505165 3.163085 0.068251 0.431749 \n", "8 0.62 0.505094 2.505094 3.163154 0.068248 0.431752 \n", "9 0.72 0.505082 2.505082 3.163165 0.068247 0.431753 \n", "10 0.82 0.505081 2.505081 3.163166 0.068247 0.431753 \n", "11 0.92 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "12 1.02 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "13 1.12 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "14 1.22 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "15 1.32 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "16 1.42 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "17 1.52 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "18 1.62 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "19 1.72 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "20 1.82 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "21 1.92 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "22 2.02 0.505080 2.505080 3.163167 0.068247 0.431753 \n", "\n", " caption \n", "0 Initial state \n", "1 \n", "2 \n", "3 \n", "4 \n", "5 \n", "6 \n", "7 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 \n", "13 \n", "14 \n", "15 \n", "16 \n", "17 \n", "18 \n", "19 \n", "20 \n", "21 \n", "22 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio.get_history()" ] }, { "cell_type": "markdown", "id": "bbd28c26-ea7e-4f5c-853a-96cb031b6b3c", "metadata": { "tags": [] }, "source": [ "# Plots of changes of concentration with time" ] }, { "cell_type": "code", "execution_count": 17, "id": "65010094-f1d7-4edf-8716-3c0be6faa043", "metadata": { "tags": [] }, "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": "navy", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.01, 0.02, 0.11999999999999998, 0.22000000000000006, 0.3200000000000001, 0.4200000000000002, 0.5200000000000002, 0.6200000000000003, 0.7200000000000004, 0.8200000000000005, 0.9200000000000006, 1.0200000000000007, 1.1200000000000008, 1.2200000000000009, 1.320000000000001, 1.420000000000001, 1.5200000000000011, 1.6200000000000012, 1.7200000000000013, 1.8200000000000014, 1.9200000000000015, 2.020000000000001 ], "xaxis": "x", "y": [ 3, 2.27, 1.819395, 0.6546542071373758, 0.5276265779980039, 0.5085777537856565, 0.5056248705954197, 0.5051651251130621, 0.5050935043527953, 0.5050823462155833, 0.5050806078226181, 0.5050803369877955, 0.5050802947927899, 0.5050802882189734, 0.5050802871947986, 0.5050802870352361, 0.5050802870103769, 0.5050802870065036, 0.5050802870059004, 0.5050802870058062, 0.5050802870057917, 0.5050802870057893, 0.505080287005789 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "cyan", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.01, 0.02, 0.11999999999999998, 0.22000000000000006, 0.3200000000000001, 0.4200000000000002, 0.5200000000000002, 0.6200000000000003, 0.7200000000000004, 0.8200000000000005, 0.9200000000000006, 1.0200000000000007, 1.1200000000000008, 1.2200000000000009, 1.320000000000001, 1.420000000000001, 1.5200000000000011, 1.6200000000000012, 1.7200000000000013, 1.8200000000000014, 1.9200000000000015, 2.020000000000001 ], "xaxis": "x", "y": [ 5, 4.27, 3.8193949999999997, 2.6546542071373755, 2.5276265779980043, 2.5085777537856573, 2.505624870595421, 2.5051651251130638, 2.5050935043527964, 2.505082346215585, 2.5050806078226193, 2.505080336987797, 2.5050802947927915, 2.505080288218975, 2.5050802871947995, 2.5050802870352373, 2.5050802870103785, 2.505080287006506, 2.5050802870059026, 2.5050802870058084, 2.5050802870057933, 2.5050802870057916, 2.5050802870057916 ], "yaxis": "y" }, { "hovertemplate": "Chemical=C
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "C", "line": { "color": "red", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "C", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.01, 0.02, 0.11999999999999998, 0.22000000000000006, 0.3200000000000001, 0.4200000000000002, 0.5200000000000002, 0.6200000000000003, 0.7200000000000004, 0.8200000000000005, 0.9200000000000006, 1.0200000000000007, 1.1200000000000008, 1.2200000000000009, 1.320000000000001, 1.420000000000001, 1.5200000000000011, 1.6200000000000012, 1.7200000000000013, 1.8200000000000014, 1.9200000000000015, 2.020000000000001 ], "xaxis": "x", "y": [ 1, 1.702, 2.10707348, 3.032119835748452, 3.1419937433830265, 3.159830490642069, 3.1626455660056068, 3.163085444467259, 3.1631540188897316, 3.163164703887413, 3.163166368610749, 3.1631666279694204, 3.1631666683765247, 3.1631666746717944, 3.163166675652573, 3.1631666758053743, 3.1631666758291797, 3.1631666758328887, 3.163166675833466, 3.1631666758335557, 3.163166675833569, 3.163166675833571, 3.163166675833571 ], "yaxis": "y" }, { "hovertemplate": "Chemical=D
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "D", "line": { "color": "orange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "D", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.01, 0.02, 0.11999999999999998, 0.22000000000000006, 0.3200000000000001, 0.4200000000000002, 0.5200000000000002, 0.6200000000000003, 0.7200000000000004, 0.8200000000000005, 0.9200000000000006, 1.0200000000000007, 1.1200000000000008, 1.2200000000000009, 1.320000000000001, 1.420000000000001, 1.5200000000000011, 1.6200000000000012, 1.7200000000000013, 1.8200000000000014, 1.9200000000000015, 2.020000000000001 ], "xaxis": "x", "y": [ 0.4, 0.372, 0.32646848, 0.08677404288582762, 0.06962032138103086, 0.06840824442772607, 0.06827043660102639, 0.0682505695803209, 0.06824752324252664, 0.06824705010299546, 0.06824697643336625, 0.06824696495721497, 0.06824696316931336, 0.06824696289076639, 0.06824696284736989, 0.0682469628406089, 0.06824696283955556, 0.06824696283939145, 0.0682469628393659, 0.06824696283936191, 0.06824696283936131, 0.06824696283936123, 0.06824696283936123 ], "yaxis": "y" }, { "hovertemplate": "Chemical=E
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "E", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "E", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.01, 0.02, 0.11999999999999998, 0.22000000000000006, 0.3200000000000001, 0.4200000000000002, 0.5200000000000002, 0.6200000000000003, 0.7200000000000004, 0.8200000000000005, 0.9200000000000006, 1.0200000000000007, 1.1200000000000008, 1.2200000000000009, 1.320000000000001, 1.420000000000001, 1.5200000000000011, 1.6200000000000012, 1.7200000000000013, 1.8200000000000014, 1.9200000000000015, 2.020000000000001 ], "xaxis": "x", "y": [ 0.1, 0.128, 0.17353152, 0.41322595711417237, 0.4303796786189691, 0.43159175557227397, 0.43172956339897367, 0.4317494304196792, 0.43175247675747347, 0.43175294989700463, 0.43175302356663386, 0.43175303504278506, 0.4317530368306867, 0.43175303710923374, 0.4317530371526302, 0.4317530371593912, 0.43175303716044455, 0.43175303716060864, 0.43175303716063423, 0.43175303716063823, 0.4317530371606388, 0.4317530371606388, 0.4317530371606388 ], "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": "2 COUPLED reactions: A + B <-> C and C + D <-> E . Changes in concentrations" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 2.020000000000001 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.2057393170028965, 5.273986279842258 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAABTkAAAFoCAYAAACc6v8hAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3QmcFOWd//Ff9/SczDAMGEAMcqnrERU1Kjl0jeb/T5ZozJqNq6vxDEHwRP4geATRKChBiasQQjziasLiLtkNkSTGZIlJjMeaaEzUaEDQBEGEYZiBObv7/3qqu4aanj6ququrnqr+tC9fQE/Vc7x/1T3T33mqKpJMJpPCAwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQCKhAhJAzoJVj2AgggAACCCCAAAIIIIAAAggggAACCCBgCBByciAggAACCCCAAAIIIIAAAggggAACCCCAQKAFCDkDXT4GjwACCCCAAAIIIIAAAggggAACCCCAAAKEnBwDCCCAAAIIIIAAAggggAACCCCAAAIIIBBoAULOQJePwSOAAAIIIIAAAggggAACCCCAAAIIIIAAISfHAAIIIIAAAggggAACCCCAAAIIIIAAAggEWoCQM9DlY/AIIIAAAggggAACCCCAAAIIIIAAAgggQMjJMYAAAggggAACCCCAAAIIIIAAAggggAACgRYg5Ax0+Rg8AggggAACCCCAAAIIIIAAAggggAACCBBycgwggAACCCCAAAIIIIAAAggggAACCCCAQKAFCDkDXT4GjwACCCCAAAIIIIAAAggggAACCCCAAAKEnBwDCCCAAAIIIIAAAggggAACCCCAAAIIIBBoAULOQJePwSOAAAIIIIAAAggggAACCCCAAAIIIIAAISfHAAIIIIAAAggggAACCCCAAAIIIIAAAggEWoCQM9DlY/AIIIAAAggggAACCCCAAAIIIIAAAgggQMjJMYAAAggggAACCCCAAAIIIIAAAggggAACgRYg5Ax0+Rg8AggggAACCCCAAAIIIIAAAggggAACCBBycgwggAACCCCAAAIIIIAAAggggAACCCCAQKAFCDkDXT4GjwACCCCAAAIIIIAAAggggAACCCCAAAKEnBwDCCCAAAIIIIAAAggggAACCCCAAAIIIBBoAULOQJePwSOAAAIIIIAAAggggAACCCCAAAIIIIAAISfHAAIIIIAAAggggAACCCCAAAIIIIAAAggEWoCQM9DlY/AIIIAAAggggAACCCCAAAIIIIAAAgggQMjJMYAAAggggAACCCCAAAIIIIAAAggggAAC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rqVmfrizblvow3+2m2Vka9/uB59CBmYI+Je3/ybqh/1cj8y7q+e667XTm+UUWv2Ua/yZJpnWqq7qYV3Jac4tc9vMIDSzzmZfuUI36+or1Ue206DthpzWD1nWWmQ7Tt0IOe2sUrZzCYZsx02poVK214/ZT6HXUTFvnjrsk+t4L3W+mce0OubvnD9Nbly0asCqZSfHqfLK9rrb/O42KWUlp7UO2Y6BYi8zUOrxmO292Ryrk+8jOhxndsZQ6HuHasPO+73TkNMcWy5va592wx3VZuZ81HG07Lar5NE1P5XRI4eLuQrRSZvZ3q/V94vxY0dn/d6T62cI6/GTbd52jq9yhZxqjtnGnTkmO98Hndra6deOaSnva+b7jXlTqFxnD9j9GSTzODTf27du/0Ayf8GZyz7zdefENbNOqo9yXQ/YzvsM2yCAAAIIIIAAAoUECDkLCfF1BBBAAAEEEECgTAKlXpe2TMOiWQQQQAABBBBAAAEEAidAyBm4kjFgBBBAAAEEEAiagFoV9/jap2XOjPOkvq7GGH7mqdxBmxPjRQABBBBAAAEEEEBAJwFCTp2qwVgQQAABBBBAIJQC2U79LfZyCqEEYlIIIIAAAggggAACCJQoQMhZIiC7I4AAAggggAACCCCAAAIIIIAAAggggIC/AoSc/vrTOwIIIIAAAggggAACCCCAAAIIIIAAAgiUKEDIWSIguyOAAAIIIIAAAggggAACCCCAAAIIIICAvwKEnP760zsCCCCAAAIIIIAAAggggAACCCCAAAIIlChAyFkiILsjgAACCCCAAAIIIIAAAggggAACCCCAgL8ChJz++tM7AggggAACCCCAAAIIIIAAAggggAACCJQoQMhZIiC7I4AAAggggAACCCCAAAIIIIAAAggggIC/AoSc/vrTOwIIIIAAAggggAACCCCAAAIIIIAAAgiUKEDIWSIguyOAAAIIIIAAAggggAACCCCAAAIIIICAvwKEnP760zsCCCCAAAIIIIAAAggggAACCCCAAAIIlChAyFkiILsjgAACCCCAAAIIIIAAAggggAACCCCAgL8ChJz++tM7AggggAACCCCAAAIIIIAAAggggAACCJQoQMhZIiC7I4AAAggggAACCCCAAAIIIIAAAggggIC/AoSc/vrTOwIIIIAAAggggAACCCCAAAIIIIAAAgiUKEDIWSIguyOAAAIIIIAAAggggAACCCCAAAIIIICAvwKEnP760zsCCCCAAAIIIIAAAggggAACCCCAAAIIlChAyFkiILsjgAACCCCAAAIIIIAAAggggAACCCCAgL8ChJz++tM7AggggAACCCCAAAIIIIAAAggggAACCJQoQMhZIiC7I4AAAggggAACCCCAAAIIIIAAAggggIC/AoSc/vrTOwIIIIAAAggggAACCCCAAAIIIIAAAgiUKEDIWSIguyOAAAIIIIAAAggggAACCCCAAAIIIICAvwKEnP760zsCCCCAAAIIIIAAAggggAACCCCAAAIIlChAyFkiILsjgAACCCCAAAIIIIAAAggggAACCCCAgL8ChJz++tM7AggggAACCCCAAAIIIIAAAggggAACCJQoQMhZIiC7I4AAAggggAACCCCAAAIIIIAAAggggIC/AoSc/vrTOwIIIIAAAggggAACCCCAAAIIIIAAAgiUKEDIWSIguyOAAAIIIIAAAggggAACCCCAAAIIIICAvwKEnP760zsCCCCAAAIIIIAAAggggAACCCCAAAIIlChAyFkiILsjgAACCCCAAAIIIIAAAggggAACCCCAgL8ChJz++tM7AggggAACCCCAAAIIIIAAAggggAACCJQoQMhZIiC7I4AAAggggAACCCCAAAIIIIAAAggggIC/AoSc/vrTOwIIIIAAAggggAACCCCAAAIIIIAAAgiUKEDIWSIguyOAAAIIIIAAAggggAACCCCAAAIIIICAvwKEnP760zsCCCCAAAIIIIAAAggggAACCCCAAAIIlChAyFkiILsjgAACCCCAAAIIIIAAAggggAACCCCAgL8ChJz++tM7AggggAACCCCAAAIIIIAAAggggAACCJQoQMhZIiC7I4AAAggggAACCCCAAAIIIIAAAggggIC/AoSc/vrTOwIIIIAAAggggAACCCCAAAIIIIAAAgiUKEDIWSIguyOAAAIIIIAAAggggAACCCCAAAIIIICAvwKEnP760zsCCCCAAAIIIIAAAggggAACCCCAAAIIlChAyFkiILsjgAACCCCAAAIIIIAAAggggAACCCCAgL8ChJz++tM7AggggAACCCCAAAIIIIAAAggggAACCJQoQMhZIiC7I4AAAggggAACCCCAAAIIIIAAAggggIC/AoSc/vrTOwIIIIAAAggggAACCCCAAAII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ECBAgAABAgQIEMgoIOTMiK0VAQIECBAgQIAAAQIECBAgQIAAAQLpBYSc6U1VJECAAAECBAgQIECAAAECBAgQIEAgo4CQMyO2VgQIECBAgAABAgQIECBAgAABAgQIpBcQcqY3VZEAAQIECBAgQIAAAQIECBAgQIAAgYwCQs6M2FoRIECAAAECBAgQIECAAAECBAgQIJBeQMiZ3lRFAgQIECBAgAABAgQIECBAgAABAgQyCgg5M2JrRYAAAQIECBAgQIAAAQIECBAgQIBAegEhZ3pTFQkQIECAAAECBAgQIECAAAECBAgQyCgg5MyIrRUBAgQIECBAgAABAgQIECBAgAABAukFhJzpTVUkQIAAAQIECBAgQIAAAQIECBAgQCCjgJAzI7ZWBAgQIECAAAECBAgQIECAAAECBAikFxBypjdVkQABAgQIECBAgAABAgQIECBAgACBjAJCzozYWhEgQIAAAQIECBAgQIAAAQIECBAgkF5AyJneVEUCBAgQIECAAAECBAgQIECAAAECBDIKCDkzYmtFgAABAgQIECBAgAABAgQIECBAgEB6gf8DyvQ61J3yY48AAAAASUVORK5CYII=", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = px.line(data_frame=bio.get_history(), x=\"SYSTEM TIME\", y=[\"A\", \"B\", \"C\", \"D\", \"E\"], \n", " title=\"2 COUPLED reactions: A + B <-> C and C + D <-> E . Changes in concentrations\",\n", " color_discrete_sequence = ['navy', 'cyan', 'red', 'orange', 'green'],\n", " labels={\"value\":\"concentration\", \"variable\":\"Chemical\"})\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "cde2dbcb-a43c-41f1-a8b3-b801290a8d57", "metadata": {}, "source": [ "A and B get consumed. \n", "C gets produced by the 1st reaction more quickly than consumed by the 2nd one.\n", "D gets consumed, while E gets produced." ] }, { "cell_type": "code", "execution_count": null, "id": "c27da7de-2903-4744-9317-e5ef1a9cc492", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }