{ "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 23, 2024 (using v. 1.0 beta34.1)" ] }, { "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 life123 import ChemData as chem\n", "from life123 import BioSim1D\n", "\n", "import plotly.express as px\n", "from life123 import HtmlLog as log\n", "from life123 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: {'C', 'D', 'B', 'E', 'A'}\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\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": "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Cz0p9LrJlNd5GibsyB/g3mb/uft7Pbn2c9E1EcoWqifMbEc/bS71Pl7rSYad5Z/bl9xzWv9cn/Nf/LfvOee3G6z0do7nP77zH0v6cTd86GCJcqOv3DYXutaEnblpIpT1Oj+C/h0p9Tnmt/5C1173eD/9DnudKvT3M/8c9BvK6jbn90eXpbf88zVImfr4/P8L9Pn55W98X7xeRMl/HOrjcx2D/A+QP45xhbK6nvz/pbyuSfnXLq//jYKEsrre/DK9zrnerplRr2vuOBZbTiD/77Zupw6Fvc6D/PPQvZ4VO++e+fO6nuGO6ur1f2xW/576vdaxHwIIIIAAAgggEFWAUDaqIMcjgAACCCCAAAIRBdyALuyLBxGr53AEEEAAAQQQQAABBBBIWIBQNmFwqkMAAQQQQACB8hbQsyfdt8m7EoVmPJa3FL1HAAEEEEAAAQQQQCC7AoSy2R1beoYAAggggAACFgp4vXW+0JJGFjafJiGAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUglPUrxX4IIIAAAggggAACCCCAAAIIIIAAAggggIABAUJZA4gUgQACCCCAAAIIIIAAAggggAACCCCAAAII+BUg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CCCQoAChbILYVIUAAggggAACCCCAAAIIIIAAAggggAACCBDKcg4ggAACCCCAAAIIIIAAAggggAACCCCAAAIJChDKJohNVQgggAACCCCAAAIIIIAAAggggAACCCCAAKEs5wACCCCAAAIIIIAAAggggAACCCCAAAIIIJCgAKFsgthUhQACCCCAAAIIIIAAAggggAACCCCAAAIIEMpyDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAgkKEMomiE1VCCCAAAIIIIAAAggggAACCCCAAAIIIIAAoSznAAIIIIAAAggggAACCCCAAAIIIIAAAgggkKAAoWyC2FSFAAIIIIAAAggggAACCCCAAAIIIIAAAggQynIOIIAAAggggAACCCCAAAIIIIAAAggggAACCQoQyiaITVUIIIAAAggggAACCCCAAAIIIIAAAggggAChLOcAAggggAACCCCAAAIIIIAAAggggAACCCCQoAChbILYVIUAAggggAACCCCAAAIIIIAAAggggAACCBDKcg4ggAACCCCAAAIIIIAAAggggAACCCCAAAIJChDKJohNVQgggAACCCCAwP9v7+5d5CqjOADff8AQV8FCQQkqbCTNFi5IBCuxiiFVGiFEEVOksfEjYBGIH40WKQx+EQgEQdC4VQgphISAgjZBUijBQgtBE/AvkPfCO8zOzp17bvbMLLN5psves+c995m7zY837yVAgAABAgQIECBAgAABoaxngAABAgQIECBAgAABAgQIECBAgAABAgsUEMouENtSBAgQIECAAAECBAgQIECAAAECBAgQEMp6BggQIECAAAECu0jg7JffNucubGy5ozdeOdScfPVI8/zhk+21a5fObqkp11b27mm+P3+mvdbX65kXjs2UW9n7QLvO8Tc/an785dbU2jNvv9Ycfulg8/KxU83vf/zV1H/X4kuXrzenPvyiefKJR0dzTTaKzHHw2QPNxpUbo1899OJzzQfvvj5o3ch97KJHya0QIECAAAECBAjMUUAoO0dcrQkQIECAAAECixSooeHXn77XHFjdN1q6hKtXr/08CjVLiLm+ttp89fFbo5p33v+suf7TzVFYG+01GZ5Ohqrleun1753/OkPVUlND2cm56s9nhbLjxjXEnTbHtGtD1o3cxyK/b2sRIECAAAECBAgsr4BQdnm/O5MTIECAAAECBDYJlLC17gCdRTMZTt68dbs5euL0pl2q0V6ZoexDK3vaHbU1VK5zlaC2L9SNzNEVykbXFcr6gyNAgAABAgQIEMgSEMpmSepDgAABAgQIENhhgXL8wFP7Htu0A7ZrpBIw/nb7z3ZnbNktWoLJ8Z2zQ3qVNWbtUI2EmWWG/U8/3vz9z93mkYcfbI8WKLt3y6f8bJ6hbHTdyH3s8CNgeQIECBAgQIAAgSUREMouyRdlTAIECBAgQIBAn0ANRmtdPdO16/fGz2L99Yfzm8qG9uoLZSNnypZwdH1tf3uGbJmnzFd2zX7y+TdzD2Uj6zpTtu8JdJ0AAQIECBAgQCAqIJSNSqkjQIAAAQIECCyRQP2v/3Xkacca1CC1vgSs6/aG9NrOmbIllK0v3yqz1N27Q3ao3suZstF1h8yxRI+KUQkQIECAAAECBHZAQCi7A+iWJECAAAECBAgsUqAcA7Bx5Ua7+3T8M+0s2b65unr17ZTtO36gHl9QQtnyYrJzFzZGZ9wOCUO3E8r2rTtkjj5H1wkQIECAAAECBO5vAaHs/f39u3sCBAgQIEBglwiUgPXid1fbnaaTnxo21hdo1etdoey99MoMZct85Uzbct5t+QwJQ7cTyvatO2SOXfJYuQ0CBAgQIECAAIE5CQhl5wSrLQECBAgQIEBgkQLjRwyM74itP19fW93yArBZoezRE6fb8aO9skPZcbshYeh2Q9lZ6w6ZY5HfvbUIECBAgAABAgSWT0Aou3zfmYkJECBAgAABAp0C4y/vqkVdZ8b2HV8wpFdfKBt90de0nb5DwtCuOeqxC9WknrE7fmzCJOrkul705Q+PAAECBAgQIEAgS0AomyWpDwECBAgQIECAAAECBAgQIECAAAECBAICQtkAkhICBAgQIECAAAECBAgQIECAAAECBAhkCQhlsyT1IUCAAAECBAgQIECAAAECBAgQIECAQEBAKBtAUkKAAAECBAgQIECAAAECBAgQIECAAIEsAaFslqQ+BAgQIECAAAECBAgQIECAAAECBAgQCAgIZQNISggQIECAAAECBAgQIECAAAECBAgQIJAlIJTNktSHAAECBAgQIECAAAECBAgQIECAAAECAQGhbABJCQECBAgQIECAAAECBAgQIECAAAECBLIEhLJZkvoQIECAAAECBAgQIECAAAECBAgQIEAgICCUDSApIUCAAAECBAgQIECAAAECBAgQIECAQJaAUDZLUh8CBAgQIECAAAECBAgQIECAAAECBAgEBISyASQlBAgQIECAAAECBAgQIECAAAECBAgQyBIQymZJ6kOAAAECBAgQIECAAAECBAgQIECAAIGAgFA2gKSEAAECBAgQIECAAAECBAgQIECAAAECWQJC2SxJfQgQIECAAAECBAgQIECAAAECBAgQIBAQEMoGkJQQIECAAAECBAgQIECAAAECBAgQIEAgS0AomyWpDwECBAgQIECAAAECBAgQIECAAAECBAICQtkAkhICBAgQIECAAAECBAgQIECAAAECBAhkCQhlsyT1IUCAAAECBAgQIECAAAECBAgQIECAQEBAKBtAUkKAAAECBAgQIECAAAECBAgQIECAAIEsAaFslqQ+BAgQIECAAAECBAgQIECAAAECBAgQCAgIZQNISggQIECAAAECBAgQIECAAAECBAgQIJAlIJTNktSHAAECBAgQIECAAAECBAgQIECAAAECAQGhbABJCQECBAgQIECAAAECBAgQIECAAAECBLIEhLJZkvoQIECAAAECBAgQIECAAAECBAgQIEAgICCUDSApIUCAAAECBAgQIECAAAECBAgQIECAQJaAUDZLUh8CBAgQIECAAAECBAgQIECAAAECBAgEBISyASQlBAgQIECAAAECBAgQIECAAAECBAgQyBIQymZJ6kOAAAECBAgQIECAAAECBAgQIECAAIGAgFA2gKSEAAECBAgQIECAAAECBAgQIECAAAECWQJC2SxJfQgQIECAAAECBAgQIECAAAECBAgQIBAQEMoGkJQQIECAAAECBAgQIECAAAECBAgQIEAgS0AomyWpDwECBAgQIECAAAECBAgQIECAAAECBAICQtkAkhICBAgQIECAAAECBAgQIECAAAECBAhkCQhlsyT1IUCAAAECBAgQIECAAAECBAgQIECAQEBAKBtAUkKAAAECBAgQIECAAAECBAgQIECAAIEsAaFslqQ+BAgQIECAAAECBAgQIECAAAECBAgQCAgIZQNISggQIECAAAECBAgQIECAAAECBAgQIJAl8D8St6c+fmJAwAAAAABJRU5ErkJggg==", "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 }