{ "cells": [ { "cell_type": "markdown", "id": "49bcb5b0-f19d-4b96-a5f1-e0ae30f66d8f", "metadata": {}, "source": [ "## Accurate results in the simulation of the 2 coupled reactions `2 S <-> U` and `S <-> X` \n", "Both mostly forward. 1st-order kinetics throughout. \n", "\n", "Same as `variable_steps_1`, but with FIXED TIME STEPS: a lot of TINY steps - as a proxy for the \"exact value\"\n", "\n", "LAST REVISED: June 23, 2024 (using v. 1.0 beta34.1)" ] }, { "cell_type": "code", "execution_count": 1, "id": "a1cfd309-b251-4491-a4e5-7daf6aa5426a", "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": "b7fe14ab", "metadata": { "tags": [] }, "outputs": [], "source": [ "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from life123 import ChemData as chem\n", "from life123 import UniformCompartment\n", "\n", "from life123 import GraphicLog" ] }, { "cell_type": "code", "execution_count": 3, "id": "cc53849f-351d-49e0-bfa8-22f8d8e22f8e", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> Output will be LOGGED into the file 'variable_steps_2.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": "markdown", "id": "d6d3ca49-589d-49b7-8424-37c7b01bcacf", "metadata": {}, "source": [ "### Initialize the system" ] }, { "cell_type": "code", "execution_count": 4, "id": "23c15e66-52e4-495b-aa3d-ecddd8d16942", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 2 (at temp. 25 C)\n", "0: 2 S <-> U (kF = 8 / kR = 2 / delta_G = -3,436.6 / K = 4) | 1st order in all reactants & products\n", "1: S <-> X (kF = 6 / kR = 3 / delta_G = -1,718.3 / K = 2) | 1st order in all reactants & products\n", "Set of chemicals involved in the above reactions: {'X', 'U', 'S'}\n", "[GRAPHIC ELEMENT SENT TO LOG FILE `variable_steps_2.log.htm`]\n" ] } ], "source": [ "# Initialize the system\n", "chem_data = chem(names=[\"U\", \"X\", \"S\"])\n", "\n", "# Reaction 2 S <-> U , with 1st-order kinetics for all species (mostly forward)\n", "chem_data.add_reaction(reactants=[(2, \"S\", 1)], products=\"U\",\n", " forward_rate=8., reverse_rate=2.)\n", "\n", "# Reaction S <-> X , with 1st-order kinetics for all species (mostly forward)\n", "chem_data.add_reaction(reactants=\"S\", products=\"X\",\n", " forward_rate=6., reverse_rate=3.)\n", "\n", "chem_data.describe_reactions()\n", "\n", "# Send the plot of the reaction network to the HTML log file\n", "chem_data.plot_reaction_network(\"vue_cytoscape_2\")" ] }, { "cell_type": "markdown", "id": "d1d0eabb-b5b1-4e15-846d-5e483a5a24a7", "metadata": {}, "source": [ "### Set the initial concentrations of all the chemicals" ] }, { "cell_type": "code", "execution_count": 5, "id": "e80645d6-eb5b-4c78-8b46-ae126d2cb2cf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "3 species:\n", " Species 0 (U). Conc: 50.0\n", " Species 1 (X). Conc: 100.0\n", " Species 2 (S). Conc: 0.0\n", "Set of chemicals involved in reactions: {'X', 'U', 'S'}\n" ] } ], "source": [ "dynamics = UniformCompartment(chem_data=chem_data)\n", "dynamics.set_conc(conc={\"U\": 50., \"X\": 100.})\n", "dynamics.describe_state()" ] }, { "cell_type": "code", "execution_count": 6, "id": "bcf652b8-e0dc-438e-bdbe-02216c1d52a0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3500 total step(s) taken\n" ] }, { "data": { "text/html": [ "
\n", " | SYSTEM TIME | \n", "U | \n", "X | \n", "S | \n", "caption | \n", "
---|---|---|---|---|---|
0 | \n", "0.0000 | \n", "50.000000 | \n", "100.000000 | \n", "0.000000 | \n", "Initialized state | \n", "
1 | \n", "0.0001 | \n", "49.990000 | \n", "99.970000 | \n", "0.050000 | \n", "\n", " |
2 | \n", "0.0002 | \n", "49.980042 | \n", "99.940039 | \n", "0.099877 | \n", "\n", " |
3 | \n", "0.0003 | \n", "49.970126 | \n", "99.910117 | \n", "0.149631 | \n", "\n", " |
4 | \n", "0.0004 | \n", "49.960252 | \n", "99.880234 | \n", "0.199263 | \n", "\n", " |
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
3496 | \n", "0.3496 | \n", "61.042146 | \n", "58.689164 | \n", "19.226544 | \n", "\n", " |
3497 | \n", "0.3497 | \n", "61.045319 | \n", "58.683094 | \n", "19.226269 | \n", "\n", " |
3498 | \n", "0.3498 | \n", "61.048490 | \n", "58.677024 | \n", "19.225995 | \n", "\n", " |
3499 | \n", "0.3499 | \n", "61.051662 | \n", "58.670957 | \n", "19.225720 | \n", "\n", " |
3500 | \n", "0.3500 | \n", "61.054832 | \n", "58.664891 | \n", "19.225445 | \n", "\n", " |
3501 rows × 5 columns
\n", "