Exercise 11.2: Tuning delay oscillators with positive feedback

Open in Google Colab | Download notebook


In this problem, we will explore the properties of a minimal 2 gene relaxation oscillator with positive and negative feedback loops introduced at the end of the chapter. The circuit for the oscillator is show below.

pos-neg oscillator

Different variants of this general circuit motif, sometimes implemented at the protein level, appear in natural systems, such as the cell cycle, and have been constructed and analyzed synthetically. Hasty and coworkers (PRL, 2002, Nature, 2008) analyzed and eventually constructed a version of this circuit. In their model, they included a cascade of molecular events that lead to binding of the activator and repressor to the promoter region, effectively adding time delay. Tsai and coworkers Science, 2008 modeled several circuits with this architecture, and incorporated intermediate steps leading toward binding of the promoter region which also gave rise to delay. In this problem, we will explore how this circuit enables relaxation oscillations, what role different parameters play, and whether time delays are, or are not, necessary for it to function.

To begin, note that the activator (A) and repressor (R) have the same promoter, so we will use the same function to describe their combinatorial regulation by both A and R. To explore the effects of time delays, we allow R to act on the promoter with a delay \(\tau\). When \(\tau=0\) the system is described by ordinary differential equations. When \(\tau>0\) it is described by delay differential equations. Defining \(a\) to be the concentration of A and \(r\) to be the concentration of R, we can model the dynamics of the circuit as

\[\begin{align} &\frac{\mathrm{d}a}{\mathrm{d}t} = f(a, r) - \gamma_a\,a,\\[1em] &\frac{\mathrm{d}r}{\mathrm{d}t} = f(a, r) - \gamma_r\,r, \end{align}\]

We will take \(f(a, r)\) to describe the regulation of the promoter to be governed by AND logic with single occupancy. By single occupancy, we mean that only the activator or repressor may be bound; they may not both be bound at the same time (for example, due to steric reasons). The resulting regulatory function, assuming some leakage \(\alpha\) is

\[\begin{align} f(a, r) = \alpha + \beta\,\frac{(a/k_a)^n}{1 + (a/k_a)^n + (r/k_r)^n}. \end{align}\]

Single occupancy regulation means that when \(a\) and \(r\) are beyond \(k_a\) and \(k_r\), respectively, the relative levels of \(a\) and \(r\) determine whether or not expression is activated. If \(a > r\), we get activation, but not when \(a < r\).

For simplicity, we have assumed the same Hill coefficient \(n\) for both activation and repression.

a) Show that the differential equations may be nondimensionalized to give

\[\begin{align} &\frac{\mathrm{d}a}{\mathrm{d}t} = \alpha + \beta \,\frac{(\kappa a)^n}{1+(\kappa a)^n +r^n} - \gamma\,a,\\[1em] &\frac{\mathrm{d}r}{\mathrm{d}t} = \alpha + \beta \,\frac{(\kappa a)^n}{1+(\kappa a)^n +r^n} - r, \end{align}\]

where all variables and parameters have been redefined to be dimensionless, and we have defined \(\gamma = \gamma_a / \gamma_r\) and \(\kappa = k_r / k_a\).

b) Show that in the absence of leakage (\(\alpha = 0\)), \(a = r = 0\) is a fixed point. Show also that for \(n > 1\), it is stable. Finally, show that the \(a = r = 0\) fixed point does not exist when \(\alpha > 0\) (even if \(n = 1\)). What does this imply about the role of leakage in this circuit when it oscillates? Going forward, we will assume \(\alpha > 0\).

c) Show that in the presence of leakage and absence of ultrasensitivity (\(n = 1\)), one fixed point exists and is stable. Hint: That the fixed point is stable is most easily shown graphically; you do not need to assess linear stability. Can the circuit have sustained oscillations without ultrasensitivity? Going forward, we will take \(n = 4\).

d) Finding the fixed points and determining their stability for this system is a bit sticky. Systems biology researchers bump up against this sort of problem all too often. In these cases, we need to resort to numerics. Nonetheless, it helps to have analytical guidance as we do so. Do one (or both if you are feeling motivated) of the following:

e) As we seek more analytical guidance, we can take advantage of a very useful result from dynamical systems, the Poincaré-Bendixson theorem. We will not derive (or even state) the theorem here, but will instead list two of its important consequences.

  1. If a two-dimensional dynamical system has no fixed points, it has a periodic solution.
  2. If a two-dimensional dynamical system has only one fixed point and it is unstable and not a saddle, the dynamical system has a periodic solution.

A saddle for a two-dimensional dynamical system is a fixed point with one positive eigenvalue and one negative eigenvalue. We can learn a lot about the system by finding the fixed points, evaluating how many there are, and then computing the eigenvalues if there is only one. So, our strategy for understanding what kind of dynamics we can expect for a given set of parameters is as follows.

  1. Numerically find the fixed point(s).
  2. If there is only one fixed point, compute its linear stability matrix.
  3. Compute the eigenvalues of the linear stability matrix.
  4. Given information about the fixed point and eigenvalues, we can classify the parameter set as follows (the colors associated with each are defined momentarily).

Our goal is to use these ideas to classify the dynamics of each set of parameters. We will do this step by step.

i) Write a function to numerically compute the fixed point(s). It is useful to know that you can do a bit of algebraic manipulation to convert the problem to finding the root of a single equation. You should also be able to bound the roots, both from above and below. You can use some of the root finding functions in the scipy.optimize module. Alternatively, because we are considering the special case of \(n = 4\), you can express the problem as finding the roots of a polynomial and you can use the np.roots() function to find them. If you choose to do it that way, be sure that you only include positive real roots.

ii) Write down the linear stability matrix (also referred to as the Jacobi matrix) for a fixed point \((a_0, r_0)\). (You need not solve for the fixed point, just refer to the fixed point as \((a_0, r_0)\) and assume you could find it.)

iii) Numerically explore the stability of the fixed points across different parameter regimes. We have already fixed \(n = 4\), and we are left with four parameters, \(\alpha\), \(\beta\), \(\kappa\), and \(\gamma\). So as not to have a more monumental computational and visualization task, we will make diagrams in two parts:

Comment on what you see; specifically what guidelines should you use to help choose parameter sets that will give sustained oscillations? You can use these plots to guide you for the last part of the problem. You can also choose additional visualizations of this analysis if you like.

f) Choose or find a parameter set that imparts this system with a relaxation-type oscillation. In this type of oscillation, the activator comes up, rising quickly. As it does so, it turns on the repressor. Once the repressor accumulates, it shuts off the activator. The activator decays away and is no longer present, but the repressor is still present in high copy number. The repressor slowly decays away until it is low enough for the activator to self-activate again. Make a plot of the activator and repressor dynamics over time for this regime (this will require numerical solution of the ODEs). Also make a plot of the system trajectory in the \(a\)-\(r\) plane. Comment on what this analysis has taught you about this circuit and its function as a relaxation operator.

g) In what other ways would you like to investigate this circuit? What do you hope to learn about it?

h) If you feel like exploring some more, you can add an explicit time delay. That is, use \(f(a, r(t-\tau))\) or \(f(a(t-\tau_a), r(t-\tau_r))\) for your regulatory functions. How does time delay affect the overall dynamics? How does it impact the requirements on other parameters? Play around with the system and comment on what you see.