{
"cells": [
{
"cell_type": "markdown",
"id": "80abc7ee-f50e-48b7-9ea7-15ce6226b0bf",
"metadata": {},
"source": [
"## One-bin `2A <-> B` reaction, \n",
"### COMPARING 1st-order and 2nd-order kinetics in *forward* direction; reverse direction 1-st order\n",
"\n",
"Diffusion not applicable (just 1 bin)\n",
"\n",
"See also the experiment _\"reactions_single_compartment/react_4\"_ \n",
"\n",
"LAST REVISED: June 4, 2023"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "c1b7c7c2-bb26-445b-ac5d-02800472335f",
"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": "a182619a-ae73-4fca-9c63-55a195df46d7",
"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": "ecba68b6-d062-47fe-9a17-ec339907323e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-> Output will be LOGGED into the file 'reaction_7.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": "markdown",
"id": "43fb42a4-1582-45b5-9c8b-be146cb72236",
"metadata": {},
"source": [
"# INITIALLY, with 1st-order kinetics in both directions"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "72d71ac8-3f7d-47b5-94ba-142fca566ff4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0:\n",
"1 bins and 2 species:\n",
" Species 0 (A). Diff rate: None. Conc: [3.]\n",
" Species 1 (B). Diff rate: None. Conc: [5.]\n"
]
}
],
"source": [
"# Initialize the system\n",
"chem_data = chem(names=[\"A\", \"B\"]) # NOTE: Diffusion not applicable (just 1 bin)\n",
"\n",
"\n",
"\n",
"# Reaction 2A <-> B , FOR NOW with 1st-order kinetics in both directions\n",
"chem_data.add_reaction(reactants=[(2, \"A\")], products=[\"B\"], forward_rate=5., reverse_rate=2.)\n",
"\n",
"bio = BioSim1D(n_bins=1, chem_data=chem_data)\n",
"\n",
"bio.set_all_uniform_concentrations( [3., 5.] )\n",
"\n",
"bio.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "35163098-208e-4ba1-a115-e02463df2750",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0 | \n",
" 3.0 | \n",
" 5.0 | \n",
" Initial state | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B caption\n",
"0 0 3.0 5.0 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": "b472b184-9e22-45d4-ab18-b2507a83334a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 1 (at temp. 25 C)\n",
"0: 2 A <-> B (kF = 5 / kR = 2 / Delta_G = -2,271.45 / K = 2.5) | 1st order in all reactants & products\n"
]
}
],
"source": [
"chem_data.describe_reactions()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "f9fb2c7f-1f78-4564-9742-6a4dde887d57",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0: [(2, 0, 1)] <-> [(1, 1, 1)] ; Fwd: 5.0 / Back: 2.0\n"
]
}
],
"source": [
"chem_data._internal_reactions_data() # Low-level view of the reactions data"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "3be8b568-fc3c-41a3-98dd-6ad6983f2bc9",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Reaction 2A B is 1st order in all species:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `reaction_7.log.htm`]\n"
]
}
],
"source": [
"# Send a header and a plot to the HTML log file\n",
"log.write(\"Reaction 2A <-> B is 1st order in all species:\",\n",
" style=log.h2)\n",
"\n",
"graph_data = chem_data.prepare_graph_network()\n",
"GraphicLog.export_plot(graph_data, \"vue_cytoscape_1\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "4ee91e87-4800-41d6-bc21-223ac1e493b3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.02:\n",
"1 bins and 2 species:\n",
" Species 0 (A). Diff rate: None. Conc: [2.8]\n",
" Species 1 (B). Diff rate: None. Conc: [5.1]\n"
]
}
],
"source": [
"# First step\n",
"bio.react(time_step=0.02, n_steps=1, snapshots={\"sample_bin\": 0})\n",
"bio.describe_state()"
]
},
{
"cell_type": "markdown",
"id": "fb58f958-29fc-4a43-ad33-751ef02c3cc2",
"metadata": {},
"source": [
"Small conc. changes so far: [A] = 2.8 , [B] = 5.1"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "86a7497e-cd17-4f4d-b9b1-9bfd786c865f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 3.0 | \n",
" 5.0 | \n",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.02 | \n",
" 2.8 | \n",
" 5.1 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B caption\n",
"0 0.00 3.0 5.0 Initial state\n",
"1 0.02 2.8 5.1 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "1e458105-4a8d-4f81-9776-7bde2c92b630",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.42:\n",
"1 bins and 2 species:\n",
" Species 0 (A). Diff rate: None. Conc: [2.16928427]\n",
" Species 1 (B). Diff rate: None. Conc: [5.41535786]\n"
]
}
],
"source": [
"# Numerous more steps, to equilibrium\n",
"bio.react(time_step=0.02, n_steps=20, snapshots={\"sample_bin\": 0})\n",
"\n",
"bio.describe_state()"
]
},
{
"cell_type": "markdown",
"id": "bb5ee324-b0e9-4823-82ae-815aab494b57",
"metadata": {},
"source": [
"Consistent with the 5/2 ratio of forward/reverse rates (and the *1st order* reactions),\n",
"the systems settles in the following equilibrium: \n",
"[A] = 2.16928427 , [B] = 5.41535786"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "c3a088c4-c904-4d23-9940-307d9ca9a80f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2 A <-> B\n",
"Final concentrations: [B] = 5.415 ; [A] = 2.169\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 2.49638\n",
" Formula used: [B] / [A]\n",
"2. Ratio of forward/reverse reaction rates: 2.5\n",
"Discrepancy between the two values: 0.1448 %\n",
"Reaction IS in equilibrium (within 1% tolerance)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Verify that the 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": 13,
"id": "7508667b-5e7f-4eed-ba41-a478f4d068b6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 3.000000 | \n",
" 5.000000 | \n",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.02 | \n",
" 2.800000 | \n",
" 5.100000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.04 | \n",
" 2.648000 | \n",
" 5.176000 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.06 | \n",
" 2.532480 | \n",
" 5.233760 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.08 | \n",
" 2.444685 | \n",
" 5.277658 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.10 | \n",
" 2.377960 | \n",
" 5.311020 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.12 | \n",
" 2.327250 | \n",
" 5.336375 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.14 | \n",
" 2.288710 | \n",
" 5.355645 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.16 | \n",
" 2.259420 | \n",
" 5.370290 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.18 | \n",
" 2.237159 | \n",
" 5.381421 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.20 | \n",
" 2.220241 | \n",
" 5.389880 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.22 | \n",
" 2.207383 | \n",
" 5.396309 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.24 | \n",
" 2.197611 | \n",
" 5.401194 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.26 | \n",
" 2.190184 | \n",
" 5.404908 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.28 | \n",
" 2.184540 | \n",
" 5.407730 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.30 | \n",
" 2.180251 | \n",
" 5.409875 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.32 | \n",
" 2.176990 | \n",
" 5.411505 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.34 | \n",
" 2.174513 | \n",
" 5.412744 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.36 | \n",
" 2.172630 | \n",
" 5.413685 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.38 | \n",
" 2.171199 | \n",
" 5.414401 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.40 | \n",
" 2.170111 | \n",
" 5.414945 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.42 | \n",
" 2.169284 | \n",
" 5.415358 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B caption\n",
"0 0.00 3.000000 5.000000 Initial state\n",
"1 0.02 2.800000 5.100000 \n",
"2 0.04 2.648000 5.176000 \n",
"3 0.06 2.532480 5.233760 \n",
"4 0.08 2.444685 5.277658 \n",
"5 0.10 2.377960 5.311020 \n",
"6 0.12 2.327250 5.336375 \n",
"7 0.14 2.288710 5.355645 \n",
"8 0.16 2.259420 5.370290 \n",
"9 0.18 2.237159 5.381421 \n",
"10 0.20 2.220241 5.389880 \n",
"11 0.22 2.207383 5.396309 \n",
"12 0.24 2.197611 5.401194 \n",
"13 0.26 2.190184 5.404908 \n",
"14 0.28 2.184540 5.407730 \n",
"15 0.30 2.180251 5.409875 \n",
"16 0.32 2.176990 5.411505 \n",
"17 0.34 2.174513 5.412744 \n",
"18 0.36 2.172630 5.413685 \n",
"19 0.38 2.171199 5.414401 \n",
"20 0.40 2.170111 5.414945 \n",
"21 0.42 2.169284 5.415358 "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = bio.get_history()\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "7a77d5dc-035c-40b7-bd82-44bcfdef3ac6",
"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.02,
0.04,
0.06,
0.08,
0.1,
0.12000000000000001,
0.14,
0.16,
0.18,
0.19999999999999998,
0.21999999999999997,
0.23999999999999996,
0.25999999999999995,
0.27999999999999997,
0.3,
0.32,
0.34,
0.36000000000000004,
0.38000000000000006,
0.4000000000000001,
0.4200000000000001
],
"xaxis": "x",
"y": [
3,
2.8,
2.6479999999999997,
2.5324799999999996,
2.4446847999999997,
2.3779604479999996,
2.32724994048,
2.2887099547647995,
2.2594195656212475,
2.237158869872148,
2.2202407411028324,
2.2073829632381528,
2.197611052060996,
2.1901843995663572,
2.1845401436704317,
2.180250509189528,
2.1769903869840412,
2.174512694107871,
2.172629647521982,
2.171198532116706,
2.1701108844086967,
2.1692842721506094
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.02,
0.04,
0.06,
0.08,
0.1,
0.12000000000000001,
0.14,
0.16,
0.18,
0.19999999999999998,
0.21999999999999997,
0.23999999999999996,
0.25999999999999995,
0.27999999999999997,
0.3,
0.32,
0.34,
0.36000000000000004,
0.38000000000000006,
0.4000000000000001,
0.4200000000000001
],
"xaxis": "x",
"y": [
5,
5.1,
5.175999999999999,
5.233759999999999,
5.2776575999999995,
5.311019775999999,
5.336375029759999,
5.355645022617599,
5.370290217189376,
5.381420565063926,
5.389879629448584,
5.396308518380923,
5.401194473969502,
5.404907800216821,
5.407729928164784,
5.409874745405236,
5.411504806507979,
5.412743652946064,
5.413685176239008,
5.414400733941646,
5.414944557795651,
5.415357863924695
],
"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": "2A <-> B : changes in concentrations with time"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
0.4200000000000001
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
1.9889468503853824,
5.595695285689922
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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IHIesV0RIECAAAECBAgQIECAAAECBAgQINALiJy9qUUCBAgQIECAAAECBAgQIECAAAECBI4CIucR2xUBAgQIECBAgAABAgQIECBAgAABAr2AyNmbWiRAgAABAgQIECBAgAABAgQIECBA4Cggch6xXREgQIAAAQIECBAgQIAAAQIECBAg0AuInL2pRQIECBAgQIAAAQIECBAgQIAAAQIEjgIi5xHbFQECBAgQIECAAAECBAgQIECAAAECvYDI2ZtaJECAAAECBAgQIECAAAECBAgQIEDgKCByHrFdESBAgAABAgQIECBAgAABAgQIECDQC4icvalFAgQIECBAgAABAgQIECBAgAABAgSOAiLnEdsVAQIECBAgQIAAAQIECBAgQIAAAQK9gMjZm1okQIAAAQIECBAgQIAAAQIECBAgQOAoIHIesV0RIECAAAECBAgQIECAAAECBAgQINALiJy9qUUCBAgQIECAAAECBAgQIECAAAECBI4CIucR2xUBAgQIECBAgAABAgQIECBAgAABAr2AyNmbWiRAgAABAgQIECBAgAABAgQIECBA4Cggch6xXREgQIAAAQIECBAgQIAAAQIECBAg0AuInL2pRQIECBAgQIAAAQIECBAgQIAAAQIEjgIi5xHbFQECBAgQIECAAAECBAgQIECAAAECvYDI2ZtaJECAAAECBAgQIECAAAECBAgQIEDgKCByHrFdESBAgAABAgQIECBAgAABAgQIECDQCwzGiGZb2zrqJgAAAABJRU5ErkJggg==",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.get_history(), x=\"SYSTEM TIME\", y=[\"A\", \"B\"], \n",
" title=\"2A <-> B : changes in concentrations with time\",\n",
" color_discrete_sequence = ['navy', 'orange'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\"})\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "c3d00af0-3222-4cba-8367-3345cea820f4",
"metadata": {},
"source": [
"A gets depleted, while B gets produced."
]
},
{
"cell_type": "markdown",
"id": "ab27ab50-7be4-4257-a6cc-2ef163539e1f",
"metadata": {},
"source": [
"#### Let's verify that the stoichiometry is being respected"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "e88539b9-28e1-4b07-9b68-169d1e650e4f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([3., 5.], dtype=float32), array([2.8, 5.1], dtype=float32))"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# We'll check the first two arrays of concentrations, from the run's history\n",
"arr0 = bio.reaction_dynamics.get_historical_concentrations(row=0, df=df)\n",
"arr1 = bio.reaction_dynamics.get_historical_concentrations(row=1, df=df)\n",
"arr0, arr1"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "f1d42c06-f5bc-447d-93c0-bf7c4b1c824d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bio.reaction_dynamics.stoichiometry_checker(rxn_index=0, \n",
" conc_arr_before = arr0, \n",
" conc_arr_after = arr1)"
]
},
{
"cell_type": "markdown",
"id": "6c277db7-6b2b-4e74-b50e-4746cff17e90",
"metadata": {},
"source": [
"# STARTING OVER, this time with 2nd-order kinetics in the forward reaction"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "162100c5-e9d4-498b-81ee-be7b71e7f542",
"metadata": {},
"outputs": [],
"source": [
"bio.reaction_dynamics.clear_reactions()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "9c09f158-2d64-49d6-8d0c-6d3a8b7eff4b",
"metadata": {},
"outputs": [],
"source": [
"# Reaction 2A <-> B , NOW WITH 2nd-order kinetics in the forward direction\n",
"chem_data.add_reaction(reactants=[(2, \"A\", 2)], products=[\"B\"], forward_rate=5., reverse_rate=2.)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "f2dea24e-6f87-4f76-a513-176916934edb",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.42:\n",
"1 bins and 2 species:\n",
" Species 0 (A). Diff rate: None. Conc: [3.]\n",
" Species 1 (B). Diff rate: None. Conc: [5.]\n"
]
}
],
"source": [
"# RESET the concentrations to their original values\n",
"bio.set_all_uniform_concentrations( [3., 5.] )\n",
"\n",
"bio.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "8c2155d6-cb42-49e3-8247-c858b0c65860",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 3.000000 | \n",
" 5.000000 | \n",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.02 | \n",
" 2.800000 | \n",
" 5.100000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.04 | \n",
" 2.648000 | \n",
" 5.176000 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.06 | \n",
" 2.532480 | \n",
" 5.233760 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.08 | \n",
" 2.444685 | \n",
" 5.277658 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.10 | \n",
" 2.377960 | \n",
" 5.311020 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.12 | \n",
" 2.327250 | \n",
" 5.336375 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.14 | \n",
" 2.288710 | \n",
" 5.355645 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.16 | \n",
" 2.259420 | \n",
" 5.370290 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.18 | \n",
" 2.237159 | \n",
" 5.381421 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.20 | \n",
" 2.220241 | \n",
" 5.389880 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.22 | \n",
" 2.207383 | \n",
" 5.396309 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.24 | \n",
" 2.197611 | \n",
" 5.401194 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.26 | \n",
" 2.190184 | \n",
" 5.404908 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.28 | \n",
" 2.184540 | \n",
" 5.407730 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.30 | \n",
" 2.180251 | \n",
" 5.409875 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.32 | \n",
" 2.176990 | \n",
" 5.411505 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.34 | \n",
" 2.174513 | \n",
" 5.412744 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.36 | \n",
" 2.172630 | \n",
" 5.413685 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.38 | \n",
" 2.171199 | \n",
" 5.414401 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.40 | \n",
" 2.170111 | \n",
" 5.414945 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.42 | \n",
" 2.169284 | \n",
" 5.415358 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.42 | \n",
" 3.000000 | \n",
" 5.000000 | \n",
" RESET all concentrations to initial values | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B \\\n",
"0 0.00 3.000000 5.000000 \n",
"1 0.02 2.800000 5.100000 \n",
"2 0.04 2.648000 5.176000 \n",
"3 0.06 2.532480 5.233760 \n",
"4 0.08 2.444685 5.277658 \n",
"5 0.10 2.377960 5.311020 \n",
"6 0.12 2.327250 5.336375 \n",
"7 0.14 2.288710 5.355645 \n",
"8 0.16 2.259420 5.370290 \n",
"9 0.18 2.237159 5.381421 \n",
"10 0.20 2.220241 5.389880 \n",
"11 0.22 2.207383 5.396309 \n",
"12 0.24 2.197611 5.401194 \n",
"13 0.26 2.190184 5.404908 \n",
"14 0.28 2.184540 5.407730 \n",
"15 0.30 2.180251 5.409875 \n",
"16 0.32 2.176990 5.411505 \n",
"17 0.34 2.174513 5.412744 \n",
"18 0.36 2.172630 5.413685 \n",
"19 0.38 2.171199 5.414401 \n",
"20 0.40 2.170111 5.414945 \n",
"21 0.42 2.169284 5.415358 \n",
"22 0.42 3.000000 5.000000 \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 RESET all concentrations to initial values "
]
},
"execution_count": 20,
"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),\n",
" caption = \"RESET all concentrations to initial values\")\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "68b1c2fa-fc50-4f33-a4f0-55d231939752",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 1 (at temp. 25 C)\n",
"0: 2 A <-> B (kF = 5 / kR = 2 / Delta_G = -2,271.45 / K = 2.5) | 2-th order in reactant A\n"
]
}
],
"source": [
"chem_data.describe_reactions()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "2e67259c-e51c-4400-bdd5-7ea830e3b298",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0: [(2, 0, 2)] <-> [(1, 1, 1)] ; Fwd: 5.0 / Back: 2.0\n"
]
}
],
"source": [
"chem_data._internal_reactions_data() # Low-level view of the reactions data"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "9c9e81e0-b5b3-45eb-a4eb-0ab157dcf9db",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Reaction 2A B is 2nd order in A, and 1st order in B:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `reaction_7.log.htm`]\n"
]
}
],
"source": [
"# Send a header and a plot to the HTML log file\n",
"log.write(\"Reaction 2A <-> B is 2nd order in A, and 1st order in B:\",\n",
" style=log.h2)\n",
"graph_data = chem_data.prepare_graph_network()\n",
"GraphicLog.export_plot(graph_data, \"vue_cytoscape_1\")"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "ab938afe-a818-4e9c-bc2d-d347aa0d0a23",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.44:\n",
"1 bins and 2 species:\n",
" Species 0 (A). Diff rate: None. Conc: [1.6]\n",
" Species 1 (B). Diff rate: None. Conc: [5.7]\n"
]
}
],
"source": [
"# First step\n",
"bio.react(time_step=0.02, n_steps=1, snapshots={\"sample_bin\": 0})\n",
"bio.describe_state()"
]
},
{
"cell_type": "markdown",
"id": "0c8b4979-26aa-4b43-baa9-b65547d3ba24",
"metadata": {},
"source": [
"[A] = 1.6 , [B] = 5.7\n",
"_(Contrast with the counterpart in the 1st order kinetics: [A] = 2.8 , [B] = 5.1)_"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "a964cc75-e378-493a-aa5c-27da363c7baf",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 3.000000 | \n",
" 5.000000 | \n",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.02 | \n",
" 2.800000 | \n",
" 5.100000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.04 | \n",
" 2.648000 | \n",
" 5.176000 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.06 | \n",
" 2.532480 | \n",
" 5.233760 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.08 | \n",
" 2.444685 | \n",
" 5.277658 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.10 | \n",
" 2.377960 | \n",
" 5.311020 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.12 | \n",
" 2.327250 | \n",
" 5.336375 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.14 | \n",
" 2.288710 | \n",
" 5.355645 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.16 | \n",
" 2.259420 | \n",
" 5.370290 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.18 | \n",
" 2.237159 | \n",
" 5.381421 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.20 | \n",
" 2.220241 | \n",
" 5.389880 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.22 | \n",
" 2.207383 | \n",
" 5.396309 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.24 | \n",
" 2.197611 | \n",
" 5.401194 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.26 | \n",
" 2.190184 | \n",
" 5.404908 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.28 | \n",
" 2.184540 | \n",
" 5.407730 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.30 | \n",
" 2.180251 | \n",
" 5.409875 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.32 | \n",
" 2.176990 | \n",
" 5.411505 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.34 | \n",
" 2.174513 | \n",
" 5.412744 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.36 | \n",
" 2.172630 | \n",
" 5.413685 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.38 | \n",
" 2.171199 | \n",
" 5.414401 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.40 | \n",
" 2.170111 | \n",
" 5.414945 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.42 | \n",
" 2.169284 | \n",
" 5.415358 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.42 | \n",
" 3.000000 | \n",
" 5.000000 | \n",
" RESET all concentrations to initial values | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.44 | \n",
" 1.600000 | \n",
" 5.700000 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B \\\n",
"0 0.00 3.000000 5.000000 \n",
"1 0.02 2.800000 5.100000 \n",
"2 0.04 2.648000 5.176000 \n",
"3 0.06 2.532480 5.233760 \n",
"4 0.08 2.444685 5.277658 \n",
"5 0.10 2.377960 5.311020 \n",
"6 0.12 2.327250 5.336375 \n",
"7 0.14 2.288710 5.355645 \n",
"8 0.16 2.259420 5.370290 \n",
"9 0.18 2.237159 5.381421 \n",
"10 0.20 2.220241 5.389880 \n",
"11 0.22 2.207383 5.396309 \n",
"12 0.24 2.197611 5.401194 \n",
"13 0.26 2.190184 5.404908 \n",
"14 0.28 2.184540 5.407730 \n",
"15 0.30 2.180251 5.409875 \n",
"16 0.32 2.176990 5.411505 \n",
"17 0.34 2.174513 5.412744 \n",
"18 0.36 2.172630 5.413685 \n",
"19 0.38 2.171199 5.414401 \n",
"20 0.40 2.170111 5.414945 \n",
"21 0.42 2.169284 5.415358 \n",
"22 0.42 3.000000 5.000000 \n",
"23 0.44 1.600000 5.700000 \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 RESET all concentrations to initial values \n",
"23 "
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "95e9aab1-a16d-46b7-9b97-82ab60011e6b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.84:\n",
"1 bins and 2 species:\n",
" Species 0 (A). Diff rate: None. Conc: [1.51554944]\n",
" Species 1 (B). Diff rate: None. Conc: [5.74222528]\n"
]
}
],
"source": [
"# Numerous more steps\n",
"bio.react(time_step=0.02, n_steps=20, snapshots={\"sample_bin\": 0})\n",
"\n",
"bio.describe_state()"
]
},
{
"cell_type": "markdown",
"id": "bec6b756-4269-4ab5-b4e8-7ba989b4454e",
"metadata": {},
"source": [
"The systems settles in the following equilibrium: [A] = 1.51554944 , [B] = 5.74222528"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "8c2e158b-091f-485d-b5fd-a1dd21bcf6f0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2 A <-> B\n",
"Final concentrations: [B] = 5.742 ; [A] = 1.516\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 2.5\n",
" Formula used: [B] / [A]^2 \n",
"2. Ratio of forward/reverse reaction rates: 2.5\n",
"Discrepancy between the two values: 1.041e-08 %\n",
"Reaction IS in equilibrium (within 1% tolerance)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Verify that the 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": 28,
"id": "3eeeb74b-0427-48ce-a2e3-9a876c0c66a0",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 3.000000 | \n",
" 5.000000 | \n",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.02 | \n",
" 2.800000 | \n",
" 5.100000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.04 | \n",
" 2.648000 | \n",
" 5.176000 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.06 | \n",
" 2.532480 | \n",
" 5.233760 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.08 | \n",
" 2.444685 | \n",
" 5.277658 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.10 | \n",
" 2.377960 | \n",
" 5.311020 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.12 | \n",
" 2.327250 | \n",
" 5.336375 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.14 | \n",
" 2.288710 | \n",
" 5.355645 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.16 | \n",
" 2.259420 | \n",
" 5.370290 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.18 | \n",
" 2.237159 | \n",
" 5.381421 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.20 | \n",
" 2.220241 | \n",
" 5.389880 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.22 | \n",
" 2.207383 | \n",
" 5.396309 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.24 | \n",
" 2.197611 | \n",
" 5.401194 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.26 | \n",
" 2.190184 | \n",
" 5.404908 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.28 | \n",
" 2.184540 | \n",
" 5.407730 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.30 | \n",
" 2.180251 | \n",
" 5.409875 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.32 | \n",
" 2.176990 | \n",
" 5.411505 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.34 | \n",
" 2.174513 | \n",
" 5.412744 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.36 | \n",
" 2.172630 | \n",
" 5.413685 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.38 | \n",
" 2.171199 | \n",
" 5.414401 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.40 | \n",
" 2.170111 | \n",
" 5.414945 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.42 | \n",
" 2.169284 | \n",
" 5.415358 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.42 | \n",
" 3.000000 | \n",
" 5.000000 | \n",
" RESET all concentrations to initial values | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.44 | \n",
" 1.600000 | \n",
" 5.700000 | \n",
" | \n",
"
\n",
" \n",
" | 24 | \n",
" 0.46 | \n",
" 1.544000 | \n",
" 5.728000 | \n",
" | \n",
"
\n",
" \n",
" | 25 | \n",
" 0.48 | \n",
" 1.525453 | \n",
" 5.737274 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.50 | \n",
" 1.519033 | \n",
" 5.740483 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.52 | \n",
" 1.516780 | \n",
" 5.741610 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.54 | \n",
" 1.515984 | \n",
" 5.742008 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.56 | \n",
" 1.515703 | \n",
" 5.742148 | \n",
" | \n",
"
\n",
" \n",
" | 30 | \n",
" 0.58 | \n",
" 1.515604 | \n",
" 5.742198 | \n",
" | \n",
"
\n",
" \n",
" | 31 | \n",
" 0.60 | \n",
" 1.515569 | \n",
" 5.742216 | \n",
" | \n",
"
\n",
" \n",
" | 32 | \n",
" 0.62 | \n",
" 1.515556 | \n",
" 5.742222 | \n",
" | \n",
"
\n",
" \n",
" | 33 | \n",
" 0.64 | \n",
" 1.515552 | \n",
" 5.742224 | \n",
" | \n",
"
\n",
" \n",
" | 34 | \n",
" 0.66 | \n",
" 1.515550 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 35 | \n",
" 0.68 | \n",
" 1.515550 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 36 | \n",
" 0.70 | \n",
" 1.515550 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 37 | \n",
" 0.72 | \n",
" 1.515549 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 38 | \n",
" 0.74 | \n",
" 1.515549 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 39 | \n",
" 0.76 | \n",
" 1.515549 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 40 | \n",
" 0.78 | \n",
" 1.515549 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 41 | \n",
" 0.80 | \n",
" 1.515549 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 42 | \n",
" 0.82 | \n",
" 1.515549 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
" | 43 | \n",
" 0.84 | \n",
" 1.515549 | \n",
" 5.742225 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B \\\n",
"0 0.00 3.000000 5.000000 \n",
"1 0.02 2.800000 5.100000 \n",
"2 0.04 2.648000 5.176000 \n",
"3 0.06 2.532480 5.233760 \n",
"4 0.08 2.444685 5.277658 \n",
"5 0.10 2.377960 5.311020 \n",
"6 0.12 2.327250 5.336375 \n",
"7 0.14 2.288710 5.355645 \n",
"8 0.16 2.259420 5.370290 \n",
"9 0.18 2.237159 5.381421 \n",
"10 0.20 2.220241 5.389880 \n",
"11 0.22 2.207383 5.396309 \n",
"12 0.24 2.197611 5.401194 \n",
"13 0.26 2.190184 5.404908 \n",
"14 0.28 2.184540 5.407730 \n",
"15 0.30 2.180251 5.409875 \n",
"16 0.32 2.176990 5.411505 \n",
"17 0.34 2.174513 5.412744 \n",
"18 0.36 2.172630 5.413685 \n",
"19 0.38 2.171199 5.414401 \n",
"20 0.40 2.170111 5.414945 \n",
"21 0.42 2.169284 5.415358 \n",
"22 0.42 3.000000 5.000000 \n",
"23 0.44 1.600000 5.700000 \n",
"24 0.46 1.544000 5.728000 \n",
"25 0.48 1.525453 5.737274 \n",
"26 0.50 1.519033 5.740483 \n",
"27 0.52 1.516780 5.741610 \n",
"28 0.54 1.515984 5.742008 \n",
"29 0.56 1.515703 5.742148 \n",
"30 0.58 1.515604 5.742198 \n",
"31 0.60 1.515569 5.742216 \n",
"32 0.62 1.515556 5.742222 \n",
"33 0.64 1.515552 5.742224 \n",
"34 0.66 1.515550 5.742225 \n",
"35 0.68 1.515550 5.742225 \n",
"36 0.70 1.515550 5.742225 \n",
"37 0.72 1.515549 5.742225 \n",
"38 0.74 1.515549 5.742225 \n",
"39 0.76 1.515549 5.742225 \n",
"40 0.78 1.515549 5.742225 \n",
"41 0.80 1.515549 5.742225 \n",
"42 0.82 1.515549 5.742225 \n",
"43 0.84 1.515549 5.742225 \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 RESET all concentrations to initial values \n",
"23 \n",
"24 \n",
"25 \n",
"26 \n",
"27 \n",
"28 \n",
"29 \n",
"30 \n",
"31 \n",
"32 \n",
"33 \n",
"34 \n",
"35 \n",
"36 \n",
"37 \n",
"38 \n",
"39 \n",
"40 \n",
"41 \n",
"42 \n",
"43 "
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df2 = bio.get_history()\n",
"df2"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "16ec259b-98fe-4660-8123-83fdf55b74fb",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "navy",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.02,
0.04,
0.06,
0.08,
0.1,
0.12000000000000001,
0.14,
0.16,
0.18,
0.19999999999999998,
0.21999999999999997,
0.23999999999999996,
0.25999999999999995,
0.27999999999999997,
0.3,
0.32,
0.34,
0.36000000000000004,
0.38000000000000006,
0.4000000000000001,
0.4200000000000001,
0.4200000000000001,
0.4400000000000001,
0.46000000000000013,
0.48000000000000015,
0.5000000000000001,
0.5200000000000001,
0.5400000000000001,
0.5600000000000002,
0.5800000000000002,
0.6000000000000002,
0.6200000000000002,
0.6400000000000002,
0.6600000000000003,
0.6800000000000003,
0.7000000000000003,
0.7200000000000003,
0.7400000000000003,
0.7600000000000003,
0.7800000000000004,
0.8000000000000004,
0.8200000000000004,
0.8400000000000004
],
"xaxis": "x",
"y": [
3,
2.8,
2.6479999999999997,
2.5324799999999996,
2.4446847999999997,
2.3779604479999996,
2.32724994048,
2.2887099547647995,
2.2594195656212475,
2.237158869872148,
2.2202407411028324,
2.2073829632381528,
2.197611052060996,
2.1901843995663572,
2.1845401436704317,
2.180250509189528,
2.1769903869840412,
2.174512694107871,
2.172629647521982,
2.171198532116706,
2.1701108844086967,
2.1692842721506094,
3,
1.5999999999999999,
1.544,
1.5254528,
1.519033438994432,
1.5167795836780045,
1.5159843392384003,
1.5157032623056466,
1.5156038559406249,
1.515568692074582,
1.5155562523122668,
1.5155518514352155,
1.515550294500065,
1.5155497436882157,
1.5155495488220039,
1.515549479882208,
1.5155494554926734,
1.5155494468641386,
1.5155494438115338,
1.5155494427315825,
1.515549442349517,
1.5155494422143498
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.02,
0.04,
0.06,
0.08,
0.1,
0.12000000000000001,
0.14,
0.16,
0.18,
0.19999999999999998,
0.21999999999999997,
0.23999999999999996,
0.25999999999999995,
0.27999999999999997,
0.3,
0.32,
0.34,
0.36000000000000004,
0.38000000000000006,
0.4000000000000001,
0.4200000000000001,
0.4200000000000001,
0.4400000000000001,
0.46000000000000013,
0.48000000000000015,
0.5000000000000001,
0.5200000000000001,
0.5400000000000001,
0.5600000000000002,
0.5800000000000002,
0.6000000000000002,
0.6200000000000002,
0.6400000000000002,
0.6600000000000003,
0.6800000000000003,
0.7000000000000003,
0.7200000000000003,
0.7400000000000003,
0.7600000000000003,
0.7800000000000004,
0.8000000000000004,
0.8200000000000004,
0.8400000000000004
],
"xaxis": "x",
"y": [
5,
5.1,
5.175999999999999,
5.233759999999999,
5.2776575999999995,
5.311019775999999,
5.336375029759999,
5.355645022617599,
5.370290217189376,
5.381420565063926,
5.389879629448584,
5.396308518380923,
5.401194473969502,
5.404907800216821,
5.407729928164784,
5.409874745405236,
5.411504806507979,
5.412743652946064,
5.413685176239008,
5.414400733941646,
5.414944557795651,
5.415357863924695,
5,
5.7,
5.728,
5.7372736,
5.740483280502784,
5.741610208160997,
5.7420078303808,
5.742148368847177,
5.742198072029688,
5.74221565396271,
5.742221873843867,
5.742224074282393,
5.742224852749968,
5.7422251281558925,
5.7422252255889985,
5.7422252600588966,
5.7422252722536635,
5.742225276567931,
5.742225278094233,
5.7422252786342085,
5.7422252788252415,
5.742225278892825
],
"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": "2A <-> B : changes in concentrations (the jump at 0.42 is the concentration reset)"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
0.8400000000000004
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
1.2807341179544345,
5.97704060315274
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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BAgQIECAQD+BeLv1waVnw/Ej+ztPCa9vsY7fjw/V6V4zclDIOWk7uUPO7rGVDjm7aws5/TsjQIAAAQIECKxuASHn6t7/Rk+AAAECBAi0KFAHlN1d6LceZ/x82O3qk7QzKuQc98FDcU3O9JUj5Kz7d/bc+ar5ONv16cN7qpmi8Snz8RVvT09fg0JODx5q8QBXmgABAgQIECBQUEDIWRBbKQIECBAgQIAAAQIECBAgQIAAAQIE8gsIOfObapEAAQIECBAgQIAAAQIECBAgQIAAgYICQs6C2EoRIECAAAECBAgQIECAAAECBAgQIJBfQMiZ31SLBAgQIECAAAECBAgQIECAAAECBAgUFBByFsRWigABAgQIECBAgAABAgQIECBAgACB/AJCzvymWiRAgAABAgQIECBAgAABAgQIECBAoKCAkLMgtlIECBAgQIAAAQIECBAgQIAAAQIECOQXEHLmN9UiAQIECBAgQIAAAQIECBAgQIAAAQIFBYScBbGVIkCAAAECBAgQIECAAAECBAgQIEAgv4CQM7+pFgkQIECAAAECBAgQIECAAAECBAgQKCgg5CyIrRQBAgQIECBAgAABAgQIECBAgAABAvkFhJz5TbVIgAABAgQIECBAgAABAgQIECBAgEBBASFnQWylCBAgQIAAAQIECBAgQIAAAQIECBDILyDkzG+qRQIECBAgQIAAAQIECBAgQIAAAQIECgoIOQtiK0WAAAECBAgQIECAAAECBAgQIECAQH4BIWd+Uy0SIECAAAECBAgQIECAAAECBAgQIFBQQMhZEFspAgQIECBAgAABAgQIECBAgAABAgTyCwg585tqkQABAgQIECBAgAABAgQIECBAgACBggJCzoLYShEgQIAAAQIECBAgQIAAAQIECBAgkF9AyJnfVIsECBAgQIAAAQIECBAgQIAAAQIECBQUEHIWxFaKAAECBAgQIECAAAECBAgQIECAAIH8AkLO/KZaJECAAAECBAgQIECAAAECBAgQIECgoICQsyC2UgQIECBAgAABAgQIECBAgAABAgQI5BcQcuY31SIBAgQIECBAgAABAgQIECBAgAABAgUFhJwFsZUiQIAAAQIECBAgQIAAAQIECBAgQCC/gJAzv6kWCRAgQIAAAQIECBAgQIAAAQIECBAoKCDkLIitFAECBAgQIECAAAECBAgQIECAAAEC+QWEnPlNtUiAAAECBAgQIECAAAECBAgQIECAQEEBIWdBbKUIECBAgAABAgQIECBAgAABAgQIEMgvIOTMb6pFAgQIECBAgAABAgQIECBAgAABAgQKCgg5C2IrRYAAAQIECBAgQIAAAQIECBAgQIBAfgEhZ35TLRIgQIAAAQIECBAgQIAAAQIECBAgUFBAyFkQWykCBAgQIECAAAECBAgQIECAAAECBPILCDnzm2qRAAECBAgQIECAAAECBAgQIECAAIGCAkLOgthKESBAgAABAgQIECBAgAABAgQIECCQX0DImd9UiwQIECBAgAABAgQIECBAgAABAgQIFBQQchbEVooAAQIECBAgQIAAAQIECBAgQIAAgfwCQs78plokQIAAAQIECBAgQIAAAQIECBAgQKCggJCzILZSBAgQIECAAAECBAgQIECAAAECBAjkF/gfDCL0po75M2kAAAAASUVORK5CYII=",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.get_history(), x=\"SYSTEM TIME\", y=[\"A\", \"B\"], \n",
" title=\"2A <-> B : changes in concentrations (the jump at 0.42 is the concentration reset)\",\n",
" color_discrete_sequence = ['navy', 'orange'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\"})\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "3fd3bce2-7095-43a4-9ef0-764714be1301",
"metadata": {},
"source": [
"**Compared to first-order kinetics in A**, the (2nd order in A) reaction now takes place much more quickly, and proceeds to almost complete depletion of A"
]
},
{
"cell_type": "markdown",
"id": "ea064b52-efc9-4fb6-94c7-9a22264bc751",
"metadata": {},
"source": [
"#### Let's verify that the stoichiometry is still being respected"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "8798e44e-7a1b-41ba-af64-5a4b1e7cf687",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([3., 5.], dtype=float32), array([1.6, 5.7], dtype=float32))"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# We'll check the first two arrays of concentrations, from the run's history\n",
"arr0 = bio.reaction_dynamics.get_historical_concentrations(row=22, df=df2) # Row 22 is the conc. reset\n",
"arr1 = bio.reaction_dynamics.get_historical_concentrations(row=23, df=df2)\n",
"arr0, arr1"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "bdbcef17-1fc3-4547-8afe-7c932a586dc3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bio.reaction_dynamics.stoichiometry_checker(rxn_index=0, \n",
" conc_arr_before = arr0, \n",
" conc_arr_after = arr1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9bbb329b-3c10-45dd-8d43-bba25487f64f",
"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
}