{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "***Note: this is the stoich.ipynb notebook. The\n", "PDF version \"The stoich module\"\n", "is available [here](stoich.pdf).***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction\n", "__[BondGraphTools](http://pypi.org/project/BondGraphTools/)__ is a python based toolkit for the creation and analysis of bond graph models of physical systems. Such physical systems include biomolecular systems; **stoich** is a toolkit for the stoichiometric analysis of such systems. \n", "\n", "This document provides a simple introduction to **stoich** by means of a built-in bond graph model of a simple enzyme-catalysed reaction." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example. \n", "**stoich.model()** implements the enzyme-catalysed reaction: A+E = C = B+E where A is the substrate, B the product, E the enzyme and C an intermediate compound. This can be analysed using the following code.\n", "\n", "First import some code:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import BondGraphTools as bgt\n", "import numpy as np\n", "import sympy as sp\n", "import IPython.display as disp\n", "import stoich as st" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic analysis\n", "Now perform stoichiometric analysis on the model:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Swapping Re:r1 for two Sf in ABCE\n", "Swapping Re:r2 for two Sf in ABCE\n" ] } ], "source": [ "s = st.stoich(st.model())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "s is a Python dict containing the stoichiometric information. For example, the stoichometric matrix $N$ where $\\dot{X}=NV$ is revealed as:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-1 0]\n", " [ 0 1]\n", " [ 1 -1]\n", " [-1 1]]\n" ] } ], "source": [ "print(s['N'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This can be displayed in a more readable form as:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "N &=\n", "\\left(\\begin{matrix}-1 & 0\\\\0 & 1\\\\1 & -1\\\\-1 & 1\\end{matrix}\\right)\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(s,'N'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The state (vector of concentrations) $X$ and the vector $V$ of reaction flows are:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "X&= \\begin{pmatrix}\n", " X_{A}\\\\\n", " X_{B}\\\\\n", " X_{C}\\\\\n", " X_{E}\\\\\n", "\\end{pmatrix}\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(s,'species'))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "V&= \\begin{pmatrix}\n", " V_{r1}\\\\\n", " V_{r2}\\\\\n", "\\end{pmatrix}\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(s,'reaction'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The corresponding reactions can be displayed:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "A + E &\\Leftrightarrow C \\\\\n", "C &\\Leftrightarrow B + E \n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintrl(s))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The stoichometric matrix $N$ gives the species state $X$ in terms of reaction flow $V$ from $\\dot{X}=NV$. $N$ is also used together with thermodynamic constants $K$ and rate constants $\\kappa$ to give an explicit expresion for reaction flow $V$ in terms of species state $X$. **stoich** computes the symbolic expression as:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "N &=\n", "\\left(\\begin{matrix}-1 & 0\\\\0 & 1\\\\1 & -1\\\\-1 & 1\\end{matrix}\\right)\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(s,'N'))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "v_{r1} &= \\kappa_{r1} \\left(K_{A} K_{E} x_{A} x_{E} - K_{C} x_{C}\\right)\\\\\n", "v_{r2} &= \\kappa_{r2} \\left(- K_{B} K_{E} x_{B} x_{E} + K_{C} x_{C}\\right)\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintvl(s))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conserved moieties and Pathways\n", "Conserved moieties are revealed by the matrix $G$ where $G^T N = 0$. In this case:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "G &=\n", "\\left(\\begin{matrix}1 & 1 & 1 & 0\\\\-1 & -1 & 0 & 1\\end{matrix}\\right)\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(s,'G'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first row corresponds to $\\dot{x}_A+\\dot{x}_B+\\dot{x}_C=0$, the sum of the rows (0 0 1 1) corresponds to $\\dot{x}_C+\\dot{x}_E=0$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pathways are revealed by the matrix $K$ where $NK = 0$. In this case:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "K &=\n", "\\left(\\begin{matrix}\\end{matrix}\\right)\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(s,'K'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are no pathways: there is zero flow ($V=0$) in the steady state." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Chemostats. \n", "Consider the case where both substrate $A$ and product $B$ are chemostats:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "chemostats = ['A','B']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The same system, but with the chemostats, can be analysed using:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "sc = st.statify(s,chemostats=chemostats)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The stoichometric matrix $N$ is now:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "N &=\n", "\\left(\\begin{matrix}0 & 0\\\\0 & 0\\\\1 & -1\\\\-1 & 1\\end{matrix}\\right)\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(sc,'N'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first two rows are zero, corresponding to $\\dot{x}_A = \\dot{x}_B = 0$: this is because both substrate $A$ and product $B$ are chemostats." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The pathway matrix $K$ is now:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "K &=\n", "\\left(\\begin{matrix}1\\\\1\\end{matrix}\\right)\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(sc,'K'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This means that the flow though reactions r1 and r2 are the same and can be non-zero at steady-state.\n", "The conserved moieties of this chemostated system are revealed by the matrix $G$ " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "G &=\n", "\\left(\\begin{matrix}1 & 0 & 0 & 0\\\\0 & 1 & 0 & 0\\\\0 & 0 & 1 & 1\\end{matrix}\\right)\n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disp.Latex(st.sprintl(sc,'G'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The three rows correspond to:\n", "- $\\dot{x}_A= 0$ ($x_A$ is constant)\n", "- $\\dot{x}_B= 0$ ($x_B$ is constant)\n", "- $\\dot{x}_C + \\dot{x}_E = 0$ ($x_C + x_E$ is constant)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pathway analysis" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{align}\n", "A &\\Leftrightarrow B \n", "\\end{align}\n" ], "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Find the pathway stoichiometric matrix\n", "sp = st.path(s,sc)\n", "## And show the coreponding reaction\n", "disp.Latex(st.sprintrl(sp))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulation\n", "Although __[BondGraphTools](http://pypi.org/project/BondGraphTools/)__ has its own simulation tool, the particular form of stoichiometric equations allows for a special purpose simulation tool taking advantage of explicit equations and reducing the state dimension in the presence of conserved moieties.\n", "\n", "The system (without chemostats) can be simulated as:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "X0 = np.array([2,1,1,1]) # Set initial states\n", "result = st.sim(s,X0=X0) # Simulate" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "st.plot(s,result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The flows $V$ though r1 and r2 seem to be heading towards zero as predicted by pathway analysis. This can ve verified by simulating over a longer time:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t = np.linspace(0,10)\n", "result = st.sim(s,X0=X0,t=t)\n", "st.plot(s,result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The system with chemostats can be simulated as:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t = np.linspace(0,10)\n", "result = st.sim(s,X0=X0,t=t,sc=sc)\n", "st.plot(s,result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As predicted by pathway analysis, the two flows converge on a non-zero value." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, these simulations have been using default (unity) values for parameters. These defaults can be changed by explicitly supplying parameters:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "parameter={'kappa_r2':0.1}\n", "result = st.sim(s,X0=X0,t=t,sc=sc,parameter=parameter)\n", "st.plot(s,result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Moreover, the four initial conditions can be explicity chosen, for example:\n", "- $$\n", "X_0 = \n", "\\begin{pmatrix}\n", "1 & 2 & 1 & 1\n", "\\end{pmatrix}^T\n", "$$\n", "Note that the default value was \n", "- $$\n", "X_0 = \n", "\\begin{pmatrix}\n", "2 & 1 & 1 & 1\n", "\\end{pmatrix}^T\n", "$$" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAEMCAYAAADj8ECOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8VfWd//HX597cLJBAMEBAgoIsoqiAMK5tBbUjLlNrp9PSx1Rtf+0w/Y0z6rSdFtr+xtk6P7s8OvqYLvNj1FbHFqZjF3dtVWJp61KRIAgoqCxBNgOBBEhI7v38/jgXDBiSkJxzz03u+9nex1nuOef7+SCP++F7lu8xd0dERKSvEnEHICIiA4MKioiIhEIFRUREQqGCIiIioVBBERGRUKigiIhIKFRQREQkFCooIiISChUUEREJRVHcAeTS8OHDfdy4cb3ad//+/QwePDjcgPKcci4MhZZzoeULfc95+fLl77j7iO62y8uCYmZjgfuAasCBRe5+5zHbGHAncBVwAPiUu7/c1XHHjRvHSy+91KuYamtrmT17dq/27a+Uc2EotJwLLV/oe85mtqkn2+VlQQHagS+4+8tmVgEsN7Nfu/uaDttcCUzKfs4HfpCdiohIDPLyGoq7bzvc23D3JmAtMOaYza4F7vPA80ClmY3OcagiIpKVrz2UI8xsHDADeOGYr8YAWzos12fXbQs9iMcXMH3dMnirMvRD57PpjY3KuQAUWs6Fli/AxPZhkIPTfHldUMysHPgZcKu77+vlMeYD8wGqq6upra094WNMrK+nLJ2msbGxNyH0W2nlXBAKLec48m1PlbP7jE/SVj4GsJy2DZCxJLtWrOh2u3Q6zf79++nta03ytqCYWYqgmPzY3X/eySZbgbEdlmuy647i7ouARQCzZs3yXl2Ymj1bF/IKhHIe+OLI96233uKkigqqqqoI7ifKraamJioqKrrcxt1paGigqamJ8ePH96qdvLyGkr2D625grbt/5zibPQTcYIELgL3uHv7pLhGRPmppaYmtmPSUmVFVVUVLS0uvj5GvPZSLgeuBVWZWl133FeAUAHf/D+AxgluGNxDcNvzpGOIUEemRfC4mh/U1xrwsKO7+W7o50ejBSb6bchORiIh0Jy9PeYmISPh++ctfYmasW7cukuOroIiIFIjFixfzvve9j8WLF0dyfBUUEZEC0NzczG9/+1vuvvtulixZEkkbeXkNRURkoPrHh19lzdu9eqzuuM48eQi3/cnULrd58MEHmTt3LpMnT6aqqorly5czc+bMUONQD0VEpAAsXryYefPmATBv3rxITnuphyIikkPd9SSisHv3bp555hlWrVqFmZFOpzEzvvWtb4V6O7N6KCIiA9yDDz7I9ddfz6ZNm9i4cSNbtmxh/PjxLFu2LNR2VFBERAa4Bx54gOuuu+6odX/6p38a+mkvnfISERngHn300feM5XXzzTeH3o56KCIiEgoVFBERCYUKioiIhEIFRUREQqGCIiIioVBBERGRUKigiIgUgGQyyfTp05k2bRrnnnsuv//970NvQ8+hiIgUgLKyMurqghfgPvnkkyxcuJBnn3021DbUQxERKTD79u1j2LBhoR9XPRQRkVx6fAFsXxXuMUedDVfe3uUmBw8eZPr06bS0tLBt2zaeeeaZcGNABUVEpCB0POX13HPPccMNN7B69epQRxtWQRERyaVuehK5cOGFF/LOO++wa9cuRo4cGdpxdQ1FRKTArFu3jnQ6TVVVVajHVQ9FRKQAHL6GAuDu3HvvvSSTyVDbUEERESkA6XQ68jZ0yktEREKhgiIiIqFQQRERkVCooIiISChUUEREJBQqKCIiEgoVFBGRArB9+3bmzZvHhAkTmDlzJldddRWvv/56qG3oORQRkQHO3bnuuuu48cYbWbJkCQArV65kx44dTJ48ObR2VFBERAa43/zmN6RSKT73uc8dWTdt2rTQ21FBERHJoW+8+A3W7V4X6jGnnDSFL5/35eN+v2bNGmbOnBlqm53Jy2soZnaPme00s9XH+X62me01s7rs5+9zHaOIiBwtX3soPwK+C9zXxTbL3P2a3IQjIhKOrnoSUTnjjDN45JFHIm8nL3so7v4bYHfccYiIDASXXHIJra2tLFq06Mi6V155hWXLloXaTl4WlB660MxWmtnjZjY17mBERPKVmfGLX/yCp556igkTJjB16lQWLlzIqFGjwm3H3UM9IICZneLum4/z3fvdvduyaGbjgEfc/axOvhsCZNy92cyuAu5090nHOc58YD5AdXX1zMO3zJ2o5uZmysvLe7Vvf6WcC0Oh5RxHvkOHDmXixIk5bbOjdDrd43efbNiwgb179x61bs6cOcvdfVa3O7t76B/gTeBL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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "X0 = np.array([1,2,1,1])\n", "result = st.sim(s,t=t,sc=sc,parameter=parameter,X0=X0)\n", "st.plot(s,result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the product $B$ amount is greater than that of the substrate $A$, the flow proceeds in reverse." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Time-varying chemostats\n", "By default, chemostats remain at the corresponding initial state. This can be changed by declaring a time-varying expression for the chemostat state. For example, set the chemostat for substrate $A$ to have a value of $1+t$:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X_chemo = {'A':'1+t'}\n", "result = st.sim(s,t=t,sc=sc,parameter=parameter,X_chemo=X_chemo)\n", "st.plot(s,result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the flow rates reach a maximum value as the amount of enzyme $x_E$ reduces to zero. This behaviour is typical of systems with conserved moities in general and enzyme catalysed reactions in particular." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }