Biocham 4.1.22 Copyright (C) 2003-2019 Inria, EPI Lifeware, Saclay-Île de France, France, license GNU GPL 2, http://lifeware.inria.fr/biocham4/

TD7 Doctor in the Cell

MSB_vol14_04_cover_RGB_ACsmall.jpg

Algorithm for the differential diagnosis of diabetes

  • logical circuits

image.png

Questions

1) Write a CRN for implementing the GluONe circuit

  • Out1: ¬A ∧ G

    • notA + A => _
    • notA + G => O1
  • Out2: A ∧ G

    • A + G => O2
In [1]:
MA(k1) for notA + A => _.
MA(k2) for notA + G => O1.

MA(k3) for A + G => O2.

parameter(k1=1, k2=1, k3=1).
present(notA, 0.01).
list_ode.
\begin{align*} O2_0 &= 0\\ G_0 &= 0\\ A_0 &= 0\\ O1_0 &= 0\\ notA_0 &= 0.01\\ k1 &= 1\\ k2 &= 1\\ k3 &= 1\\ \frac{dO2}{dt} &= k3*A*G\\ \frac{dG}{dt} &= - (k2*notA*G)-k3*A*G\\ \frac{dA}{dt} &= - (k1*notA*A)-k3*A*G\\ \frac{dO1}{dt} &= k2*notA*G\\ \frac{dnotA}{dt} &= - (k1*notA*A)-k2*notA*G\\ \end{align*}

2) Test the GluONe truth table with the continuous dynamics of your CRN

$G_0 = 0, A_0 = 0$

In [2]:
present(G,0).
present(A,0).

numerical_simulation.
plot(show:{O1,O2}).
In [3]:
numerical_simulation(method:ssa).
plot(show:{O1,O2}).

$G_0 = 1, A_0 = 0$

In [4]:
present(G,1).
present(A, 0).
numerical_simulation.
plot(show:{O1,O2}).
In [5]:
numerical_simulation(method:ssa).
plot(show:{O1,O2}).

$G_0 = 0, A_0 = 1$

In [6]:
present(G,0).
present(A, 1).

numerical_simulation.
plot(show:{O1,O2}).
In [7]:
numerical_simulation(method:ssa).
plot(show:{O1,O2}).

$G_0 = 1, A_0 = 1$

In [8]:
present(G,1).
present(A, 1).

numerical_simulation.
plot(show:{O1,O2}).
In [9]:
numerical_simulation(method:ssa).
plot(show:{O1,O2}).

The continuous and stochatic semantics yield what was expected, in accordance with the corresponding truth values table.

3) Play with the kinetic parameters of your CRN and describe the sensitivity of the circuit to their values

In [10]:
%slider k1 k2 k3
  • the higher $k_1$, the fastest one of the species $A$ and $notA$ (the one with the lowest initial concentration) disappears ("consumed" by the other, due to the first reaction)
  • the higher $k_2$ (resp. $k_3$), the steepest the variation of $O1$ (resp. $O2$) toward its final value is, looking more and more like a "step function", what we aim to approximate ultimately: so we'd better increase $k_1$ and $k_2$ as much as possible, to simulate as faithfully as possible the logic gates.