{ "cells": [ { "cell_type": "markdown", "id": "5cbc8640", "metadata": {}, "source": [ "# **Enzyme Kinetics**\n", "### An _accurate numerical solution_ of an enzymatic reaction `E + S <-> ES -> E + P` is computed - and then it gets compared to the **Michaelis-Menten model** approximation and to the alternative **Morrison model**.\n", "\n", "#### Real-life kinetic parameters are being used. \n", "#### Scenario with **_small amount of Enzyme_**, relative to the initial Substrate concentration.\n", "\n", "* In the follow-up experiments `enzyme_1_b` and `enzyme_1_c`, the enzyme concentration gets progressively increased. \n", "* A side-tour in experiment `enzyme_1_a_technical` takes an under-the-hood look at how the enzymatic reaction is internally modeled with 2 coupled elementary reactions" ] }, { "cell_type": "markdown", "id": "604b150b-7812-4fd3-9403-69a06dd7e397", "metadata": {}, "source": [ "### THE REACTION: \n", "the enzyme `Adenosine deaminase` with the substrate `2,6-Diamino-9-β-D-deoxyribofuranosyl-9-H-purine`, \n", "and the initial concentration values choosen below, all satisfy the customary Michaelis-Menten assumptions that `[E] << [S]` and that the reaction rate constants satisfy `k1_reverse >> k2_forward` \n", "\n", "For this reaction: k1_forward = 18, k1_reverse = 100, k2_forward = 49 \n", "\n", "Source of kinetic parameters: *page 16 of \"Analysis of Enzyme Reaction Kinetics, Vol. 1\", by F. Xavier Malcata, Wiley, 2023*" ] }, { "cell_type": "markdown", "id": "c123db4f-c802-47f0-a3d3-0b857314d8e5", "metadata": {}, "source": [ "### TAGS : \"uniform compartment\", \"chemistry\", \"numerical\", \"enzymes\"" ] }, { "cell_type": "code", "execution_count": 1, "id": "6e9d0902-6fc9-4692-ac39-0651d08902ca", "metadata": { "tags": [] }, "outputs": [], "source": [ "LAST_REVISED = \"Sep. 2, 2025\"\n", "LIFE123_VERSION = \"1.0.0rc6\" # Library version this experiment is based on" ] }, { "cell_type": "code", "execution_count": 2, "id": "1e0ae9a9-9d0c-4edf-a5f2-1c589419e6cf", "metadata": { "tags": [] }, "outputs": [], "source": [ "#import set_path # Using MyBinder? Uncomment this before running the next cell!" ] }, { "cell_type": "code", "execution_count": 3, "id": "a29db1c7", "metadata": { "tags": [] }, "outputs": [], "source": [ "#import sys\n", "#sys.path.append(\"C:/some_path/my_env_or_install\") # CHANGE to the folder containing your venv or libraries installation!\n", "# NOTE: If any of the imports below can't find a module, uncomment the lines above, or try: import set_path \n", "\n", "import ipynbname\n", "import pandas as pd\n", "\n", "from life123 import check_version, ChemData, UniformCompartment, ReactionEnzyme, GraphicLog, PlotlyHelper" ] }, { "cell_type": "code", "execution_count": 4, "id": "af15ecf0-e083-4fef-b68e-abe794dcc86e", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OK\n" ] } ], "source": [ "check_version(LIFE123_VERSION) # To check compatibility" ] }, { "cell_type": "code", "execution_count": 5, "id": "121fdfdd", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> Output will be LOGGED into the file 'enzyme_1_a.log.htm'\n" ] } ], "source": [ "# Initialize the HTML logging (for the graphics)\n", "log_file = ipynbname.name() + \".log.htm\" # Use the notebook base filename for the log file\n", " # IN CASE OF PROBLEMS, set manually to any desired name\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": null, "id": "3713fa4d-e9bb-4e33-8734-c1d4d23cf177", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "34d1cefc-f644-410a-9fe4-5204964742ac", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "91a729ee-ad2f-4771-bc84-49ecb9d6a851", "metadata": {}, "source": [ "# PART 1. Accurate numerical solution" ] }, { "cell_type": "code", "execution_count": 6, "id": "ac9eea69-174c-43e5-9eed-443cbc5e2ba7", "metadata": { "tags": [] }, "outputs": [], "source": [ "chem_data = ChemData(names=[\"P\", \"ES\"], plot_colors=[\"green\", \"red\"])" ] }, { "cell_type": "code", "execution_count": 7, "id": "90f9ec41-6e1b-4558-9400-47e35ece6efc", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
| \n", " | name | \n", "label | \n", "plot_color | \n", "
|---|---|---|---|
| 0 | \n", "P | \n", "P | \n", "green | \n", "
| 1 | \n", "ES | \n", "ES | \n", "red | \n", "
| 2 | \n", "Adenosine deaminase | \n", "E | \n", "violet | \n", "
| 3 | \n", "2,6-Diamino-9-β-D-deoxyribofuranosyl-9-H-purine | \n", "S | \n", "darkturquoise | \n", "
| \n", " | SYSTEM TIME | \n", "rxn0_rate_1 | \n", "rxn0_rate_2 | \n", "step | \n", "
|---|---|---|---|---|
| 0 | \n", "0.000000 | \n", "360.000000 | \n", "0.000000 | \n", "0 | \n", "
| 1 | \n", "0.000500 | \n", "274.543200 | \n", "8.820000 | \n", "1 | \n", "
| 2 | \n", "0.000750 | \n", "243.269275 | \n", "12.075109 | \n", "2 | \n", "
| 3 | \n", "0.000763 | \n", "241.911753 | \n", "12.216716 | \n", "3 | \n", "
| 4 | \n", "0.000769 | \n", "241.237493 | \n", "12.287060 | \n", "4 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 822 | \n", "1.468805 | \n", "0.253941 | \n", "0.285397 | \n", "822 | \n", "
| 823 | \n", "1.475832 | \n", "0.244291 | \n", "0.274566 | \n", "823 | \n", "
| 824 | \n", "1.482859 | \n", "0.235005 | \n", "0.264142 | \n", "824 | \n", "
| 825 | \n", "1.489886 | \n", "0.226068 | \n", "0.254109 | \n", "825 | \n", "
| 826 | \n", "1.496913 | \n", "0.217468 | \n", "0.244454 | \n", "826 | \n", "
827 rows × 4 columns
\n", "| \n", " | SYSTEM TIME | \n", "P | \n", "ES | \n", "E | \n", "S | \n", "step | \n", "caption | \n", "P_rate | \n", "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "1.000000 | \n", "20.000000 | \n", "\n", " | Set concentration | \n", "0.000000 | \n", "
| 1 | \n", "0.000500 | \n", "0.000000 | \n", "0.180000 | \n", "0.820000 | \n", "19.820000 | \n", "1 | \n", "1st reaction step | \n", "8.820000 | \n", "
| 2 | \n", "0.000750 | \n", "0.002205 | \n", "0.246431 | \n", "0.753569 | \n", "19.751364 | \n", "2 | \n", "\n", " | 12.075109 | \n", "
| 3 | \n", "0.000763 | \n", "0.002356 | \n", "0.249321 | \n", "0.750679 | \n", "19.748323 | \n", "3 | \n", "\n", " | 12.216716 | \n", "
| 4 | \n", "0.000769 | \n", "0.002432 | \n", "0.250756 | \n", "0.749244 | \n", "19.746811 | \n", "4 | \n", "\n", " | 12.287060 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 822 | \n", "1.468805 | \n", "19.947437 | \n", "0.005824 | \n", "0.994176 | \n", "0.046738 | \n", "822 | \n", "\n", " | 0.285397 | \n", "
| 823 | \n", "1.475832 | \n", "19.949443 | \n", "0.005603 | \n", "0.994397 | \n", "0.044954 | \n", "823 | \n", "\n", " | 0.274566 | \n", "
| 824 | \n", "1.482859 | \n", "19.951372 | \n", "0.005391 | \n", "0.994609 | \n", "0.043237 | \n", "824 | \n", "\n", " | 0.264142 | \n", "
| 825 | \n", "1.489886 | \n", "19.953228 | \n", "0.005186 | \n", "0.994814 | \n", "0.041586 | \n", "825 | \n", "\n", " | 0.254109 | \n", "
| 826 | \n", "1.496913 | \n", "19.955014 | \n", "0.004989 | \n", "0.995011 | \n", "0.039997 | \n", "826 | \n", "\n", " | 0.244454 | \n", "
827 rows × 8 columns
\n", "| \n", " | SYSTEM TIME | \n", "P | \n", "ES | \n", "E | \n", "S | \n", "step | \n", "caption | \n", "P_rate | \n", "Michaelis_rate | \n", "
|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "1.000000 | \n", "20.000000 | \n", "\n", " | Set concentration | \n", "0.000000 | \n", "34.656189 | \n", "
| 1 | \n", "0.000500 | \n", "0.000000 | \n", "0.180000 | \n", "0.820000 | \n", "19.820000 | \n", "1 | \n", "1st reaction step | \n", "8.820000 | \n", "34.564299 | \n", "
| 2 | \n", "0.000750 | \n", "0.002205 | \n", "0.246431 | \n", "0.753569 | \n", "19.751364 | \n", "2 | \n", "\n", " | 12.075109 | \n", "34.528950 | \n", "
| 3 | \n", "0.000763 | \n", "0.002356 | \n", "0.249321 | \n", "0.750679 | \n", "19.748323 | \n", "3 | \n", "\n", " | 12.216716 | \n", "34.527380 | \n", "
| 4 | \n", "0.000769 | \n", "0.002432 | \n", "0.250756 | \n", "0.749244 | \n", "19.746811 | \n", "4 | \n", "\n", " | 12.287060 | \n", "34.526599 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 822 | \n", "1.468805 | \n", "19.947437 | \n", "0.005824 | \n", "0.994176 | \n", "0.046738 | \n", "822 | \n", "\n", " | 0.285397 | \n", "0.275111 | \n", "
| 823 | \n", "1.475832 | \n", "19.949443 | \n", "0.005603 | \n", "0.994397 | \n", "0.044954 | \n", "823 | \n", "\n", " | 0.274566 | \n", "0.264664 | \n", "
| 824 | \n", "1.482859 | \n", "19.951372 | \n", "0.005391 | \n", "0.994609 | \n", "0.043237 | \n", "824 | \n", "\n", " | 0.264142 | \n", "0.254610 | \n", "
| 825 | \n", "1.489886 | \n", "19.953228 | \n", "0.005186 | \n", "0.994814 | \n", "0.041586 | \n", "825 | \n", "\n", " | 0.254109 | \n", "0.244934 | \n", "
| 826 | \n", "1.496913 | \n", "19.955014 | \n", "0.004989 | \n", "0.995011 | \n", "0.039997 | \n", "826 | \n", "\n", " | 0.244454 | \n", "0.235622 | \n", "
827 rows × 9 columns
\n", "| \n", " | SYSTEM TIME | \n", "P | \n", "ES | \n", "E | \n", "S | \n", "step | \n", "caption | \n", "P_rate | \n", "Michaelis_rate | \n", "Morrison_rate | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "1.000000 | \n", "20.000000 | \n", "\n", " | Set concentration | \n", "0.000000 | \n", "34.656189 | \n", "34.292188 | \n", "
| 1 | \n", "0.000500 | \n", "0.000000 | \n", "0.180000 | \n", "0.820000 | \n", "19.820000 | \n", "1 | \n", "1st reaction step | \n", "8.820000 | \n", "34.564299 | \n", "34.292188 | \n", "
| 2 | \n", "0.000750 | \n", "0.002205 | \n", "0.246431 | \n", "0.753569 | \n", "19.751364 | \n", "2 | \n", "\n", " | 12.075109 | \n", "34.528950 | \n", "34.291025 | \n", "
| 3 | \n", "0.000763 | \n", "0.002356 | \n", "0.249321 | \n", "0.750679 | \n", "19.748323 | \n", "3 | \n", "\n", " | 12.216716 | \n", "34.527380 | \n", "34.290945 | \n", "
| 4 | \n", "0.000769 | \n", "0.002432 | \n", "0.250756 | \n", "0.749244 | \n", "19.746811 | \n", "4 | \n", "\n", " | 12.287060 | \n", "34.526599 | \n", "34.290905 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 822 | \n", "1.468805 | \n", "19.947437 | \n", "0.005824 | \n", "0.994176 | \n", "0.046738 | \n", "822 | \n", "\n", " | 0.285397 | \n", "0.275111 | \n", "0.276209 | \n", "
| 823 | \n", "1.475832 | \n", "19.949443 | \n", "0.005603 | \n", "0.994397 | \n", "0.044954 | \n", "823 | \n", "\n", " | 0.274566 | \n", "0.264664 | \n", "0.265721 | \n", "
| 824 | \n", "1.482859 | \n", "19.951372 | \n", "0.005391 | \n", "0.994609 | \n", "0.043237 | \n", "824 | \n", "\n", " | 0.264142 | \n", "0.254610 | \n", "0.255628 | \n", "
| 825 | \n", "1.489886 | \n", "19.953228 | \n", "0.005186 | \n", "0.994814 | \n", "0.041586 | \n", "825 | \n", "\n", " | 0.254109 | \n", "0.244934 | \n", "0.245914 | \n", "
| 826 | \n", "1.496913 | \n", "19.955014 | \n", "0.004989 | \n", "0.995011 | \n", "0.039997 | \n", "826 | \n", "\n", " | 0.244454 | \n", "0.235622 | \n", "0.236566 | \n", "
827 rows × 10 columns
\n", "