Commit bcce9155 authored by jeq008-uib's avatar jeq008-uib
Browse files

correction.

parent 9b8192cb
%% Cell type:markdown id: tags:
# BIOINF 305. Assignment - week 37.
## Assem Maratova
%% Cell type:markdown id: tags:
**Simulate the dynamics of a feedforward loop (X->Y, Y->Z, X->Z).**
Make the following assumptions:
- The cell expresses numerous copies of protein X. Whenever signal Sx appears or disappears, step-like activation or deactivation of X is triggered (no delay between Sx switching on/off and X becoming activated/deactivated).
- The signal Sy for activation of Y is present throughout the simulation such that all copies of protein Y that are produced immediately become active, Y*=Y.
- The production rate of Y is modelled using an activating or repressing Hill function f(X).
- The production rate of Z is modelled using a product of activating or repressing Hill functions f(X)*g(Y) (AND logic).
%% Cell type:code id: tags:
``` python
import numpy as np
import pandas as pd
from scipy.integrate import odeint
import matplotlib.pyplot as plt
%matplotlib inline
```
%% Cell type:code id: tags:
``` python
# setting some parameters for plots
plt.style.use('seaborn')
SMALL_SIZE = 12
MEDIUM_SIZE = 16
BIGGER_SIZE = 20
plt.rc('font', size=SMALL_SIZE) # controls default text sizes
plt.rc('axes', titlesize=SMALL_SIZE) # fontsize of the axes title
plt.rc('axes', labelsize=MEDIUM_SIZE) # fontsize of the x and y labels
plt.rc('xtick', labelsize=SMALL_SIZE) # fontsize of the tick labels
plt.rc('ytick', labelsize=SMALL_SIZE) # fontsize of the tick labels
plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize
plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title
plt.rcParams['figure.figsize'] = 10 , 6 # default figure size
```
%% Cell type:code id: tags:
``` python
def Hill_activator(X,K,n):
Xn = np.power(X,n)
Kn = np.power(K,n)
f_X = Xn/((Kn)+Xn)
return f_X
def Hill_repressor(X,K,n):
f_X = 1.0 - Hill_activator(X,K,n)
return f_X
```
%% Cell type:code id: tags:
``` python
def Hill_y_regulator(Y,t,X,B,a,K,n):
return B*Hill_activator(X,K,n)-(a*Y)
def Hill_z_regulator(Z,t,X,Y,B,a,K1,K2,n):
return B*Hill_activator(X,K1,n)*Hill_activator(Y,K2,n)-(a*Z)
```
%% Cell type:code id: tags:
``` python
# data for simulation
Bx, ax = 1, 1
By, ay = 1, 1
Bz, az = 1, 1
Kxy, Kyz = 0.5, 0.75
n = 20
D = [5,15,25,28]
time = np.linspace(0,35,100)
signal = 1*((time>D[0])&(time<D[1])) | ((time>D[2])&(time<D[3]))
```
%% Cell type:code id: tags:
``` python
def rate_XY(u,t,ax,ay,az,Bx,By,Bz,Kxy,Kyz,n,D):
x,y,z = u
dxdt = step(x,t,Bx,ax,D)
if (t>D[0] and t<D[1]) or (t>D[2] and t<D[3]):
x = x
else:
x = 0
dydt = Hill_y_regulator(y,t,x,By,ay,Kxy,n)
dzdt = Hill_z_regulator(z,t,x,y,Bz,az,Kxy,Kyz,n)
return [dxdt,dydt,dzdt]
def step(X,t,B,a,D):
if (t>D[0] and t<D[1]) or (t>D[2] and t<D[3]):
dxdt = B - (a*X)
else:
dxdt = -(a*X)
return dxdt
```
%% Cell type:code id: tags:
``` python
U1 = odeint(rate_XY,[0,0,0],time,
args=(ax,ay,az,Bx,By,Bz,Kxy,Kyz,n,D))
```
%% Cell type:code id: tags:
``` python
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
ax1.step(time,signal)
ax1.set_ylabel('Signal Sx')
ax2.plot(time,U1[:,0],label='X')
ax2.plot(time,U1[:,1],label='Y')
ax2.plot(time,U1[:,2],label='Z')
ax2.set_xlabel('Time')
ax2.set_ylabel('Production')
ax2.legend()
plt.show()
```
%%%% Output: display_data
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmcAAAF4CAYAAAAR2l7CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl8U2XaP/7PSdKmTZd0S5uuFCiUrYALCrJUrcu4YNURhYdBx2UAtz6OIwMoysiXR+Q3MC6Ijo6MPvgoqONSUWc6IMtYRETBUqAta+lG13RJ0rRZzvn9URqoNGmAbG0+79eLV7PcnHNxcZpeve9z37cgSZIEIiIiIvILMl8HQERERERnsDgjIiIi8iMszoiIiIj8CIszIiIiIj/C4oyIiIjIj7A4IyIiIvIjCl8H4C4NDXqPnyM6WoXm5naPn6c/Y46cY376xhw5x/z0jTlyjvnpmzdypNFEOHyPPWfnQaGQ+zoEv8ccOcf89I05co756Rtz5Bzz0zdf54jFGREREZEf8UlxJkkSFi5ciHXr1vX6/vbt2zF9+nTceOONyMvLg8Fg8HKERERERL7h9eLs2LFjuO+++1BQUNDr+zqdDosXL8aaNWtQUFCA1NRUrFq1ystREhEREfmG1ycEvP/++5gxYwaSkpJ6fb+wsBBZWVlIT08HAMyaNQu5ublYunQpBEHwYqR0Pj7aehR7Sushlwuw2bhdqyPMj2MTRsTj7mszfB0G9TPdnz1n6y/fZ7zmyRGvF2fPPfccAGDnzp29vl9bWwutVmt/rtVqYTAYYDQaER4e7vC40dEqr9zA52x2RSDbe6QBzYZOxKlDIJeziHaG+TlXY2sH9h5pwKP3XAKA32d9YX7OOPuz52z+/n32y2ve23gN9c2XOfK7pTREUey1h0wmcz4C641pwRpNhFeW7OiPbDYJ0eFKrFtyA3PkBK+h3i14/TvYbBIaGvTMUR+Yn566P3tenDfJ/lp/yNHZ17y39Yf8+Jo3ctSvltJITExEff2ZLuq6ujqo1WqoVCofRkVERETkHX5XnE2ZMgVFRUUoLy8HAGzcuBE5OTm+DYqIiIjIS/yiOCsuLkZubi4AIDY2FitWrEBeXh5uuukmHD58GAsXLvRxhERERETe4bN7zl588UX746ysLOTn59ufZ2dnIzs72xdhEREREfmUX/ScEREREVEXFmdEREREfoTFGREREZEfYXFGRERE5EdYnBERERH5ERZnRERERH6ExRkRERGRH2FxRkRERORHWJwRERER+REWZ0RERER+hMUZERERkR9hcUZERETkR1icEREREfkRFmdEREREfoTFGREREZEfYXFGRERE5EdYnBERERH5ERZnRERERH7E68XZ9u3bMX36dNx4443Iy8uDwWA4p83mzZsxffp05Obm4t5770VFRYW3wyQiIiLyCa8WZzqdDosXL8aaNWtQUFCA1NRUrFq1qkebjo4OLFiwAK+99hry8/Nx7bXXYvny5d4Mk4iIiMhnvFqcFRYWIisrC+np6QCAWbNmYdOmTZAkyd7GZrNBkiTo9XoAgNFohFKp9GaYRERERD6j8ObJamtrodVq7c+1Wi0MBgOMRiPCw8MBAGFhYXj++ecxc+ZMREVFQRRFbNiwoc9jR0eroFDIPRZ7N40mwuPn6I/kcsH+mDlyjvk5V/f1050b5sg55ueMX1473fw9R47i9hZ/z48/8GWOvFqciaIIQRDOeV0mO9OBV1ZWhrVr1+Lrr79GWloa1q9fj8cffxz5+fm9/t1uzc3tHon5bBpNBBoa9B4/T39ks53p/WSOHOM11Lvu66ehQc8c9YH56ensa6dbf8hRb3F7S3/Ij695I0fOij+vDmsmJiaivr7e/ryurg5qtRoqlcr+WmFhIS699FKkpaUBAGbPno0jR46gubnZm6ESERER+YRXi7MpU6agqKgI5eXlAICNGzciJyenR5tRo0Zhz549aGxsBABs2bIFKSkpiImJ8WaoRERERD7h1WHN2NhYrFixAnl5ebBYLEhLS8PKlStRXFyMJUuWID8/H5MmTcKDDz6IOXPmICgoCGq1Gq+//ro3wyQiIiLyGa8WZwCQnZ2N7OzsHq9FRUUhPz/f/nz27NmYPXu2t0MjIiIi8jnuEEBERETkR1icEREREfkRl4qz6upqp+9/8803bgmGiIiIKNC5VJzddttt+Pjjj895XafT4YknnsBjjz3m9sCIiIiIApFLxdktt9yC5557DnPnzkVDQwMAID8/HzfffDN27dqF559/3qNBEhEREQUKl2ZrLlu2DLfccgueffZZ3HrrrcjMzMSPP/6IO+64A0899RSio6M9HScRERFRQHB5QsCVV16J+fPnQ6/X44cffsCw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)
%% Cell type:markdown id: tags:
**Coherent FFL where X and Y are both activators**
- Calculate the temporal profiles of Y and Z following an ON step of Sx (Sx=0 for t<=0 and Sx=1 for t>0).
- Calculate the temporal profiles of Y and Z following an OFF step of Sx (Sx=1 for t<=0 and Sx=0 for t>0).
- Calculate the temporal profiles of Y and Z for pulses of Sx (Sx=0 except for a pulse of duration D). Compare the profiles for pulses of various lengths.
**Incoherent FFL where X is an activator and Y a repressor**
- Calculate the temporal profiles of Y and Z following an ON step of Sx (Sx=0 for t<=0 and Sx=1 for t>0).
- Calculate the temporal profiles of Y and Z following an OFF step of Sx (Sx=1 for t<=0 and Sx=0 for t>0).
%% Cell type:code id: tags:
``` python
def d_x(X,t,b,a,D):
if t<D:
dxdt = b - (a*X)
else:
dxdt = -(a*X)
return dxdt
def d_y(Y,t,X,b,a,D):
if t<D:
dydt = b - (a*Y)
else:
dydt = -(a*Y)
return dydt
def d_z(Z,t,X,Y,b,b_,a,T_,D):
if t<T_:
dzdt = b - (a*Z)
elif (t>T_) and (t<D):
dzdt = b_ - (a*Z)
else:
dzdt = -(a*Z)
return dzdt
```
%% Cell type:code id: tags:
``` python
# additional data for simulation
Bz_ = 0.5
Yst = By/ay
Xst = Bx/ax
Zm = Bz/az
Zst = Bz_/az
T_ = (1/ay)*np.log(1/(1-(Kyz/Yst)))
D = 15
signal = 1*(time>0)&(time<D)
```
%% Cell type:code id: tags:
``` python
def rate_XY_2(u,t,ax,ay,az,Bx,By,Bz,Bz_,T_,D):
x,y,z = u
dxdt = d_x(x,t,Bx,ax,D)
dydt = d_y(y,t,x,By,ay,D)
dzdt = d_z(z,t,x,y,Bz,Bz_,az,T_,D)
return [dxdt,dydt,dzdt]
```
%% Cell type:code id: tags:
``` python
U2 = odeint(rate_XY_2,[0,0,0],time,args=(ax,ay,az,Bx,By,Bz,Bz_,T_,D))
```
%% Cell type:code id: tags:
``` python
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=False,figsize=(10, 6))
ax1.step(time,signal)
ax1.set_ylabel('Sx')
ax2.plot(time,U2[:,1],label='Y')
ax2.plot(time,U2[:,2],label='Z')
ax2.set_xlabel('Time')
ax2.set_ylabel('Production')
ax2.legend()
plt.show()
```
%%%% Output: display_data
![](data:image/png;base64,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)
%% Cell type:code id: tags:
``` python
```
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment