{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#The response of an I1-FFL" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, we make the plot of the response of an incoherent fead-forward loop (I1-FFL). The IPython notebook may be downloaded [here](i1-ffl.ipynb).\n", "\n", "First thing's first. Let's import the necessary modules to do the computation." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Import necessary modules\n", "import numpy as np\n", "from scipy.integrate import odeint\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "sns.set_style('ticks')\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The incoherent feed-forward loop is shown below.\n", "\n", "\n", "\n", "The input, X, activates Y and Z, and Y represses Z. A dimensionless set of differential equations describing an I1-FFL network motif is\n", "\n", "\\begin{align}\n", "\\dot{y}&=F-y,\\\\[1em]\n", "\\dot{z} &= \\frac{1}{r}\\left(\\frac{F}{y}-z\\right),\n", "\\end{align}\n", "\n", "where $F$ is the fold change in the input X and $r$ is the ratio of the degradation rates of species Y and Z. The variables $y$ and $z$ represent the dimensionless concentrations of species Y and Z.\n", "\n", "Assume that for $t < 0$, we have $F = 2$. For $t \\ge 0$, we have $F = 4$. Assuming steady state for $t < 0$, we have $y_\\mathrm{ss} = 2$ and $z_\\mathrm{ss} = 1$. We can solve the first ODE analytically for $y(t)$, but we can easily solve these coupled equations using `odeint`, which we will do for illustrative purposes." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def rhs(yz, t, F, r):\n", " \"\"\"\n", " Right hand side of system of ODEs describing I1-FFL.\n", " \"\"\"\n", " y, z = yz\n", " return np.array([F - y, (F / y - z) / r])\n", "\n", "# Time points we want for the solution\n", "t = np.linspace(0, 4, 1000)\n", "\n", "# Initial condition\n", "yz_0 = np.array([2.0, 1.0])\n", "\n", "# Parameters\n", "F = 4.0\n", "r = 0.1\n", "\n", "# Integrate ODES\n", "yz = odeint(rhs, yz_0, t, args=(F, r))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With the results in hand, we can generate our plots." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "AElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Pluck out y and z\n", "y, z = yz.transpose()\n", "\n", "# Append the pre-fold change steady state\n", "t = np.insert(t, 0, -1.0)\n", "y = np.insert(y, 0, 2.0)\n", "z = np.insert(z, 0, 1.0)\n", "\n", "# Generate x\n", "x = 2.0 + 2.0 * (t > 0.0).astype(np.float)\n", "\n", "# Plot the results\n", "fig, ax = plt.subplots(1, 1)\n", "ax.plot(t, x, '-')\n", "ax.plot(t, y, '-')\n", "ax.plot(t, z, '-')\n", "ax.set_xticks([])\n", "ax.set_yticks([])\n", "ax.margins(0.02)\n", "ax.set_xlabel('time', x=1, fontsize=14)\n", "ax.set_ylabel('level', rotation=0, fontsize=14)\n", "ax.yaxis.set_label_coords(-0.05, 0.95) \n", "sns.despine(offset=0.1)\n", "plt.savefig('fig.pdf', bbox_inches='tight', transparent=True)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }