{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hill Activation function\n", "\n", "Examine the Hill activation function. \n", "\n", "The components are\n", "- vmax_z: maximum rate of the reaction (ultimately, this will be the rate of transcription of Z)\n", "- K_xz: the activation threshold for X's activation of the reaction\n", "- n_xz: the Hill coefficient (exponent) for X's activation of the reaction\n", "- X: the amount of X in the system\n", "\n", "The activation function is\n", "\n", "$v_{max} \\frac{x^{n_{xz}}}{K_{xz}^{n_{xz}}+x^{n_{xz}}}$\n", "\n", "Assuming $v_{max}=1$, plot the activation as a function of X (X from 0 to 2 with step of 0.01) for values of $n_{xz}$ ranging from 1 to 10 with a step of 1. Identify on the plot the location of $K_{xz}=0.5$. Also, identify the location on each line where x=1, because we will be using X=1 for activated X in the model simulation." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import scipy.integrate" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "vmax_z = 1;\n", "K_xz = 0.5;\n", "n_xz = 5;\n", "\n", "x = np.arange(0,2,0.01)\n", "ns = np.arange(1,10,1)\n", "legs = []\n", "for i in range(ns.size):\n", " n_xz = ns[i]\n", " activation = vmax_z* x**n_xz/(K_xz**n_xz + x**n_xz)\n", " plt.plot( x, activation )\n", " legs.append( \"n =\" + str(n_xz) )\n", "plt.axvline( K_xz );\n", "legs.append( 'K')\n", "plt.legend( legs );\n", "plt.gca().set_prop_cycle(None) # this resets the color cycle\n", "for i in range(ns.size):\n", " n_xz = ns[i]\n", " activation = vmax_z* 1**n_xz/(K_xz**n_xz + 1**n_xz)\n", " plt.plot( 1, activation, '*' )\n", "plt.xlabel( 'Amount of activator X')\n", "plt.ylabel( 'Activation');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Transcription with a single activator\n", "\n", "Implement a model of Z, which is activated by X (a parameter) and that degrades. The model function takes as input the time, state variables, and parameters. It should have one state variable, Z, that is activated by a transcription factor X. In this scenario, X is considered an input. There is no differential equation for X, so we treat it as a parameter.\n", "\n", "The parameters are\n", "- vmax_z: maximum rate of Z's transcription\n", "- K_xz: the activation threshold for X's activation of Z\n", "- n_xz: the Hill coefficient (exponent) for X's activation of Z\n", "- d_z: the degradation rate constant for Z\n", "- X: the amount of X in the system\n", "\n", "The model's activation function is\n", "\n", "$v_{max} \\frac{x^{n_{xz}}}{K_{xz}^{n_{xz}}+x^{n_{xz}}}$\n", "\n", "and $\\frac{dZ}{dt}$ depends on activation and degradation." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def single_activator( t, statevars, params ):\n", " z = statevars[0];\n", " vmax_z = params[0];\n", " K_xz = params[1];\n", " n_xz = params[2];\n", " d_z = params[3];\n", " x = params[4]\n", "\n", " dydt = np.zeros( (1,) )\n", " dydt[0] = vmax_z* x**n_xz/(K_xz**n_xz + x**n_xz) - d_z*z;\n", " return dydt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulate the model\n", "\n", "Use $v_{max}=1$, $K_{xz}=0.5$, $n_{xz}=5$, and $d_z=2$. X should be 0 until t=0.5, and 1 thereafter. Simulate from t=0 to t=20 with a time steps of 0.01.\n", "\n", "We are going to take extra precautions when we solve this system. We will first simulate the situation before X is on, then start a new simulation with X on. This way, we can guarantee that we have the solution change behaviors at exactly the right time. (The danger is that the solver is so satisfied with the flat solution before X is on, that it takes such big steps that it doesn't notice when X is turned on.)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Assign each parameter a name by value\n", "vmax_z = 1;\n", "K_xz = 0.5;\n", "n_xz = 5;\n", "d_z = 2;\n", "\n", "# Set up parameters so that X is off, and then X is on\n", "time_x_on = 0.5\n", "params_off = (vmax_z, K_xz, n_xz, d_z,0);\n", "params_on = (vmax_z, K_xz, n_xz, d_z,1);\n", "\n", "# Make versions of the model with X off and X on\n", "mf_off = lambda t,y : single_activator(t,y, params_off)\n", "mf_on = lambda t,y : single_activator(t,y, params_on)\n", "\n", "# Simulate first with X off, then turn X on.\n", "sol1 = scipy.integrate.solve_ivp( fun=mf_off, t_span=(0,time_x_on), y0=(0,), \n", " t_eval=np.arange(0,time_x_on,.01) )\n", "sol2 = scipy.integrate.solve_ivp( fun=mf_on, t_span=(time_x_on,20), y0=sol1.y[:,-1], \n", " t_eval=np.arange(time_x_on,20,.01) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot the simulation\n", "Plot X over time in an upper subplot and Z over time in a lower subplot." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.subplot( 2, 1, 1)\n", "plt.plot( [sol1.t[0],time_x_on,time_x_on,sol2.t[-1]], [0,0,1,1] )\n", "plt.ylabel( \"X\")\n", "plt.subplot( 2, 1, 2 )\n", "plt.plot(sol1.t, sol1.y.T); #Simulation before signal on\n", "plt.gca().set_prop_cycle(None) # this resets the color cycle\n", "plt.plot(sol2.t, sol2.y.T); #Simulation after signal on\n", "plt.xlabel( 'Time')\n", "plt.ylabel( \"Z\")\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulate and plot the model for varying Hill coefficients\n", "For $n_{xz}$ from 1 to 10 (with step of 1), simulate the model (with all other info as above). Plot all simulation outputs on the same plot, and use a legend to label the value of $n_{xz}$ for each line." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.arange(0,2,0.01)\n", "ns = np.arange(1,10,1)\n", "legs = []\n", "for i in range(ns.size):\n", " n_xz = ns[i]\n", " params_off = (vmax_z, K_xz, n_xz, d_z,0);\n", " params_on = (vmax_z, K_xz, n_xz, d_z,1);\n", "\n", " mf_off = lambda t,y : single_activator(t,y, params_off)\n", " mf_on = lambda t,y : single_activator(t,y, params_on)\n", "\n", " sol1 = scipy.integrate.solve_ivp( fun=mf_off, t_span=(0,time_x_on), y0=(0,), \n", " t_eval=np.arange(0,time_x_on,.01) )\n", " sol2 = scipy.integrate.solve_ivp( fun=mf_on, t_span=(time_x_on,20), y0=sol1.y[:,-1], \n", " t_eval=np.arange(time_x_on,20,.01) ) \n", " plt.plot(sol2.t, sol2.y.T); #Simulation after signal on\n", " legs.append( \"n =\" + str(n_xz) )\n", "plt.legend( legs );" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Hill Repression function\n", "\n", "Examine the Hill repression function. \n", "\n", "The components are\n", "- vmax_z: maximum rate of the reaction (ultimately, this will be the rate of transcription of Z)\n", "- K_xz: the activation threshold for X's activation of the reaction\n", "- n_xz: the Hill coefficient (exponent) for X's activation of the reaction\n", "- X: the amount of X in the system\n", "\n", "The repression function is\n", "\n", "$v_{max} \\frac{K_{xz}^{n_{xz}}}{K_{xz}^{n_{xz}}+x^{n_{xz}}}$\n", "\n", "Assuming $v_{max}=1$, plot the activation as a function of X (X from 0 to 2 with step of 0.01) for values of $n_{xz}$ ranging from 1 to 10 with a step of 1. Identify on the plot the location of $K_{xz}=0.5$. Also, identify the location on each line where x=1, because we will be using X=1 for activated X in the model simulation." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "vmax_z = 1;\n", "K_xz = 0.5;\n", "n_xz = 5;\n", "\n", "x = np.arange(0,2,0.01)\n", "ns = np.arange(1,10,1)\n", "legs = []\n", "for i in range(ns.size):\n", " n_xz = ns[i]\n", " repression = vmax_z* K_xz**n_xz/(K_xz**n_xz + x**n_xz)\n", " plt.plot( x, repression )\n", " legs.append( \"n =\" + str(n_xz) )\n", "plt.axvline( K_xz );\n", "legs.append( 'K')\n", "plt.legend( legs );\n", "plt.gca().set_prop_cycle(None) # this resets the color cycle\n", "for i in range(ns.size):\n", " n_xz = ns[i]\n", " repression = vmax_z* K_xz**n_xz/(K_xz**n_xz + 1**n_xz)\n", " plt.plot( 1, repression, '*' )\n", "plt.xlabel( 'Amount of repressor X')\n", "plt.ylabel( 'Repression');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Transcription with a single repressor\n", "\n", "Implement a model of Z, which is repressed by X (a parameter) and that degrades. The model function takes as input the time, state variables, and parameters. It should have one state variable, Z, that is activated by a transcription factor X. In this scenario, X is considered an input. There is no differential equation for X, so we treat it as a parameter.\n", "\n", "The parameters are\n", "- vmax_z: maximum rate of Z's transcription\n", "- K_xz: the activation threshold for X's repression of Z\n", "- n_xz: the Hill coefficient (exponent) for X's repression of Z\n", "- d_z: the degradation rate constant for Z\n", "- X: the amount of X in the system\n", "\n", "The model's activation function is\n", "\n", "$v_{max} \\frac{K_{xz}^{n_{xz}}}{K_{xz}^{n_{xz}}+x^{n_{xz}}}$\n", "\n", "and $\\frac{dZ}{dt}$ depends on transcription (which can be repressed) and degradation." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def single_repressor( t, statevars, params ):\n", " z = statevars[0];\n", " vmax_z = params[0];\n", " K_xz = params[1];\n", " n_xz = params[2];\n", " d_z = params[3];\n", " x = params[4]\n", "\n", " dydt = np.zeros( (1,) )\n", " dydt[0] = vmax_z* K_xz**n_xz/(K_xz**n_xz + x**n_xz) - d_z*z;\n", " return dydt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulate the model\n", "\n", "Use $v_{max}=1$, $K_{xz}=0.5$, $n_{xz}=5$, and $d_z=2$. X should be 0 until t=0.5, and 1 thereafter. Simulate from t=0 to t=20 with a time steps of 0.01.\n", "\n", "We are going to take extra precautions when we solve this system. We will first simulate the situation before X is on, then start a new simulation with X on. This way, we can guarantee that we have the solution change behaviors at exactly the right time. (The danger is that the solver is so satisfied with the flat solution before X is on, that it takes such big steps that it doesn't notice when X is turned on.)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "import scipy.integrate\n", "\n", "vmax_z = 1;\n", "K_xz = 0.5;\n", "n_xz = 5;\n", "d_z = 2;\n", "\n", "time_x_on = 0.5\n", "params_off = (vmax_z, K_xz, n_xz, d_z,0);\n", "params_on = (vmax_z, K_xz, n_xz, d_z,1);\n", "\n", "mf_off = lambda t,y : single_repressor(t,y, params_off)\n", "mf_on = lambda t,y : single_repressor(t,y, params_on)\n", "\n", "sol1 = scipy.integrate.solve_ivp( fun=mf_off, t_span=(0,time_x_on), y0=(0,), \n", " t_eval=np.arange(0,time_x_on,.01) )\n", "sol2 = scipy.integrate.solve_ivp( fun=mf_on, t_span=(time_x_on,20), y0=sol1.y[:,-1], \n", " t_eval=np.arange(time_x_on,20,.01) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot the simulation\n", "Plot X over time in an upper subplot and Z over time in a lower subplot." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.subplot( 2, 1, 1)\n", "plt.plot( [sol1.t[0],time_x_on,time_x_on,sol2.t[-1]], [0,0,1,1] )\n", "plt.ylabel( \"X\")\n", "plt.subplot( 2, 1, 2 )\n", "plt.plot(sol1.t, sol1.y.T); #Simulation before signal on\n", "plt.gca().set_prop_cycle(None) # this resets the color cycle\n", "plt.plot(sol2.t, sol2.y.T); #Simulation after signal on\n", "plt.xlabel( 'Time')\n", "plt.ylabel( \"Z\")\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulate and plot the model for varying Hill coefficients\n", "For $n_{xz}$ from 1 to 10 (with step of 1), simulate the model (with all other info as above). Plot all simulation outputs on the same plot, and use a legend to label the value of $n_{xz}$ for each line." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.arange(0,2,0.01)\n", "ns = np.arange(1,10,1)\n", "legs = []\n", "for i in range(ns.size):\n", " n_xz = ns[i]\n", " params_off = (vmax_z, K_xz, n_xz, d_z,0);\n", " params_on = (vmax_z, K_xz, n_xz, d_z,1);\n", "\n", " mf_off = lambda t,y : single_repressor(t,y, params_off)\n", " mf_on = lambda t,y : single_repressor(t,y, params_on)\n", "\n", " sol1 = scipy.integrate.solve_ivp( fun=mf_off, t_span=(0,time_x_on), y0=(0,), \n", " t_eval=np.arange(0,time_x_on,.01) )\n", " sol2 = scipy.integrate.solve_ivp( fun=mf_on, t_span=(time_x_on,20), y0=sol1.y[:,-1], \n", " t_eval=np.arange(time_x_on,20,.01) ) \n", " plt.plot(sol2.t, sol2.y.T); #Simulation after signal on\n", " legs.append( \"n =\" + str(n_xz) )\n", "plt.legend( legs );" ] } ], "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }