{ "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: May 6, 2024" ] }, { "cell_type": "code", "execution_count": 1, "id": "c27da7de-2903-4744-9317-e5ef1a9cc492", "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": "aa3f2a77", "metadata": {}, "outputs": [], "source": [ "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from src.modules.chemicals.chem_data import ChemData as chem\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_2\"],\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.4 / K = 2.5) | 1st order in all reactants & products\n", "1: C + D <-> E (kF = 8 / kR = 4 / delta_G = -1,718.3 / K = 2) | 1st order in all reactants & products\n", "Set of chemicals involved in the above reactions: {'A', 'D', 'B', 'E', 'C'}\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", "chem_data.plot_reaction_network(\"vue_cytoscape_2\")" ] }, { "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: [A] = 0.5051 ; [B] = 2.505 ; [C] = 3.163\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: [C] = 3.163 ; [D] = 0.06825 ; [E] = 0.4318\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: 3.331e-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": "iVBORw0KGgoAAAANSUhEUgAABWQAAAFoCAYAAADQAPLZAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3QmcHGWd//Fvdc+dTCaTQIAIBBLUgIsgiLCu4gHiGkQUNQt/WEE0xoQVCTGYgBIDQiIxEDkSQxTQBcWg7CKHusKCeCyIIIocC0vCZYCQZDKZycxkju7/66mZmvR0uqerqqurq6s//Xrllcl01XO8fzU96e8885SVTqfT4oEAAggggAACCCCAAAIIIIAAAggggAACCCBQcgGLQLbkxnSAAAIIIIAAAggggAACCCCAAAIIIIAAAgjYAgSyXAgIIIAAAggggAACCCCAAAIIIIAAAggggEBIAgSyIUHTDQIIIIAAAggggAACCCCAAAIIIIAAAgggQCDLNYAAAggggAACCCCAAAIIIIAAAggggAACCIQkQCAbEjTdIIAAAggggAACCCCAAAIIIIAAAggggAACBLJcAwgggAACCCCAAAIIIIAAAggggAACCCCAQEgCBLIhQdMNAggggAACCCCAAAIIIIAAAggggAACCCBAIMs1gAACCCCAAAIIIIAAAggggAACCCCAAAIIhCRAIBsSNN0ggAACCCCAAAIIIIAAAggggAACCCCAAAIEslwDCCCAAAIIIIAAAggggAACCCCAAAIIIIBASAIEsiFB0w0CCCCAAAIIIIAAAggggAACCCCAAAIIIEAgyzWAAAIIIIAAAggggAACCCCAAAIIIIAAAgiEJEAgGxI03SCAAAIIIIAAAggggAACCCCAAAIIIIAAAgSyXAMIIIAAAggggAACCCCAAAIIIIAAAggggEBIAgSyIUHTDQIIIIAAAggggAACCCCAAAIIIIAAAgggQCDLNYAAAggggAACCCCAAAIIIIAAAggggAACCIQkQCAbEjTdIIAAAggggAACCCCAAAIIIIAAAggggAACBLJcAwgggAACCCCAAAIIIIAAAggggAACCCCAQEgCBLIhQdMNAggggAACCCCAAAIIIIAAAggggAACCCBAIMs1gAACCCCAAAIIIIAAAggggAACCCCAAAIIhCRAIBsSNN0ggAACCCCAAAIIIIAAAggggAACCCCAAAIEslwDCCCAAAIIIIAAAggggAACCCCAAAIIIIBASAIEsiFB0w0CCCCAAAIIIIAAAggggAACCCCAAAIIIEAgyzWA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AggggAACCCCAAAIIIIAAAgjETIBANmYFZToIIIAAAggggAACCCCAAAIIIIAAAgggEF0BAtno1oaRIYAAAggggAACCCCAAAIIIIAAAggggEDMBAhkY1ZQpoMAAggggAACCCCAAAIIIIAAAggggAAC0RUgkI1ubRgZAggggAACCCCAAAIIIIAAAggggAACCMRMgEA2ZgVlOggggAACCCCAAAIIIIAAAggggAACCCAQXQEC2ejWhpEhgAACCCCAAAIIIIAAAggggAACCCCAQMwECGRjVlCmgwACCCCAAAIIIIAAAggggAACCCCAAALRFSCQjW5tGBkCCCCAAAIIIIAAAggggAACCCCAAAIIxEyAQDZmBWU6CCCAAAIIIIAAAggggAACCCCAAAIIIBBdAQLZ6NaGkSGAAAIIIIAAAggggAACCCCAAAIIIIBAzAQIZGNWUKaDAAIIIIAAAggggAACCCCAAAIIIIAAAtEVIJCNbm0YGQIIIIAAAggggAACCCCAAAIIIIAAAgjETIBANmYFZToIIIAAAggggAACCCCAAAIIIIAAAgggEF0BAtno1oaRIYAAAggggAACCCCAAAIIIIAAAggggEDMBAhkY1ZQpoMAAggggAACCCCAAAIIIIAAAggggAAC0RUgkI1ubRgZAggggAACCCCAAAIIIIAAAggggAACCMRMgEA2ZgVlOggggAACCCCAAAIIIIAAAggggAACCCAQXQEC2ejWhpEhgAACCCCAAAIIIIAAAggggAACCCCAQMwECGRjVlCmgwACCCCAAAIIIIAAAggggAACCCCAAALRFSCQjW5tGBkCCCCAAAIIIIAAAggggAACCCCAAAIIxEyAQDZmBWU6CCCAAAIIIIAAAggggAACCCCAAAIIIBBdAQLZ6NaGkSGAAAIIIIAAAggggAACCCCAAAIIIIBAzAQIZGNWUKaDAAIIIIAAAggggAACCCCAAAIIIIAAAtEVIJCNbm0YGQIIIIAAAggggAACCCCAAAIIIIAAAgjETIBANmYFZToIIIAAAggggAACCCCAAAIIIIAAAgggEF0BAtno1oaRIYAAAggggAACCCCAAAIIIIAAAggggEDMBAhkY1ZQpoMAAggggAACCCCAAAIIIIAAAggggAAC0RUgkI1ubRgZAggggAACCCCAAAIIIIAAAggggAACCMRMgEA2ZgVl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ECBAgACBcgkIZMtVT6shQIAAAQIECNwiMNYWBPV7x05EN1Y/WQay9Q8Uq3w+2XfIxkC2so4/XbEs2Tah8rktCyY6M7xOgAABAgQIECDQjIBAthktxxIgQIAAAQIECixw5K3/Cg8uXxJmzewbNcsYala2AogPzKp8jBXINttPloFsnNuPDv0yrFndn6wjz0A2jv2LN98O9y++L3mwmEC2wCe7qREgQIAAAQIEprGAQHYaF8/UCRAgQIAAAQK1AvEt99sGDoTXX9kSVq1YlrxUeZt9/Ht8YFXtHqdjBbLN9pN1IFu7prwD2dqxBbL+fREgQIAAAQIECEyGgEB2MlT1SYAAAQIECBCYIoFKmFo7/O32j42vj7dlQTP9TBTINvpQr7iHbP1HFoFsZX7HT5xKuo93Ee/duTG5A3fPvoPJ1+IWBfUfYwWyHuo1RSe3YQkQIECAAAECJREQyJakkJZBgAABAgQIECBAgAABAgQIECBAgEDxBQSyxa+RGRIgQIAAAQIECBAgQIAAAQIECBAgUBIBgWxJCmkZBAgQIECAAAECBAgQIECAAAECBAgUX0AgW/wamSEBAgQIECBAgAABAgQIECBAgAABAiUREMiWpJCWQYAAAQIECBAgQIAAAQIECBAgQIBA8QUEssWvkRkSIECAAAECBAgQIECAAAECBAgQIFASAYFsSQppGQQIECBAgAABAgQIECBAgAABAgQIFF9AIFv8GpkhAQIECBAgQIAAAQIECBAgQIAAAQIlERDIlqSQlkGAAAECBAgQIECAAAECBAgQIECAQPEFBLLFr5EZEiBAgAABAgQIECBAgAABAgQIECBQEgGBbEkKaRkECBAgQIAAAQIECBAgQIAAAQIECBRfQCBb/BqZIQECBAgQIECAAAECBAgQIECAAAECJREQyJakkJZBgAABAgQIECBAgAABAgQIECBAgEDxBQSyxa+RGRIgQIAAAQIECBAgQIAAAQIECBAgUBIBgWxJCmkZBAgQIECAAAECBAgQIECAAAECBAgUX0AgW/wamSEBAgQIECBAgAABAgQIECBAgAABAiUREMiWpJCWQYAAAQIECBAgQIAAAQIECBAgQIBA8QUEssWvkRkSIECAAAECBAgQIECAAAECBAgQIFASAYFsSQppGQQIECBAgAABAgQIECBAgAABAgQIFF9AIFv8GpkhAQIECBAgQIAAAQIECBAgQIAAAQIlERDIlqSQlkGAAAECBAgQIECAAAECBAgQIECAQPEFBLLFr5EZEiBAgAABAgQIECBAgAABAgQIECBQEgGBbEkKaRkECBAgQIAAAQIECBAgQIAAAQIECBRfQCBb/BqZIQECBAgQIECAAAECBAgQIECAAAECJREQyJakkJZBgAABAgQIECBAgAABAgQIECBAgEDxBQSyxa+RGRIgQIAAAQIECBAgQIAAAQIECBAgUBIBgWxJCmkZBAgQIECAAAECBAgQIECAAAECBAgUX0AgW/wamSEBAgQIECBAgAABAgQIECBAgAABAiUREMiWpJCWQYAAAQIECBAgQIAAAQIECBAgQIBA8QUEssWvkRkSIECAAAECBAgQIECAAAECBAgQIFASAYFsSQppGQQIECBAgAABAgQIECBAgAABAgQIFF9AIFv8GpkhAQIECBAgQIAAAQIECBAgQIAAAQIlERDIlqSQlkGAAAECBAgQIECAAAECBAgQIECAQPEFBLLFr5EZEiBAgAABAgQIECBAgAABAgQIECBQEgGBbEkKaRkECBAgQIAAAQIECBAgQIAAAQIECBRfQCBb/BqZIQECBAgQIECAAAECBAgQIECAAAECJREQyJakkJZBgAABAgQIECBAgAABAgQIECBAgEDxBQSyxa+RGRIgQIAAAQIECBAgQIAAAQIECBAgUBIBgWxJCmkZBAgQIECAAAECBAgQIECAAAECBAgUX+D/AUCc93rSs48yAAAAAElFTkSuQmCC", "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": "3204f3ee", "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 }