1 Introduction

Cellular processes often exhibit non-trivial temporal dynamics in the absence of the external stimulus. Most common is the cell division cycle. However, as observed more than 50 years ago (Kuenzi and Fiechter 1969), yeast populations in low growth conditions exhibit metabolic cycling (MC) (Tu et al. 2005; Slavov et al. 2011) also known as respiratory cycling (Robertson et al. 2008). While traditionally described as a result of carbon limitation, limitations by other essential nutrients like phosphate (Silverman 2010) or ammonium, ethanol, glucose, and sulfur (Brauer 2008; Slavov and Botstein 2011) can lead to MC also known as metabolic oscillations. Under the growth conditions commonly used in this system, the population doubling time and thus the length of the cell division cycle is about 8 h, and the metabolic oscillations have period 40–44 min (Klevecz et al. 2004).

The oscillations were first observed as periodic oscillations in the oxygen consumption of continuous, glucose-limited cultures growing in a chemostat, but were later also observed in batch cultures (Jules et al. 2005). The MC has two distinct phases: low oxygen consumption (LOC) phase when dissolved oxygen in the medium is high and high oxygen consumption phase (HOC) when the oxygen in the medium drops to low levels (Slavov et al. 2011; Tu et al. 2005; Klevecz et al. 2004). Using experimental techniques ranging from micorarray analysis (Klevecz et al. 2004; Tu et al. 2005) to short-life luciferase fluorescent reporters (Robertson et al. 2008), researchers were able to assign transcription of particular genes to these phases. During the LOC phase the yeast culture performs oxidative metabolism focused on amino-acid and ribosome synthesis, while during the HOC phase reductive reactions including DNA replication and proteosome related reactions occur (Tu et al. 2005). Cellular metabolism during the reductive HOC phase seems to be devoted to the production of acetyl-CoA, preparing cells for the upcoming oxidative phase, during which metabolism shifts to respiration as accumulated acetyl-CoA units for ATP production via the TCA cycle and the electron transport chain (Tu et al. 2005).

This compartmentalization of cellular processes in time is thought to be related to help assembly of macro-molecular complexes from units that, at low growth rates, are expressed at very low levels. Expressing them at the same time helps ensure timely synthesis and avoids waste of limited resources (Slavov et al. 2011).

There were many different hypotheses centered on chemical signals that may mediate metabolic synchrony. In particular, Murray et al. (2003) proposed acetaldehyde and sulphate, Henson (2004) and Sohn and Kuriyama (2001) hydrogen sulphide, while Adams et al. (2003) found that Gts1 protein plays a key stabilizing role. Finally, Muller et al. (2003) suggest a signalling agent, cAMP, plays a major role in mediating the integration of energy metabolism and cell cycle progression.

Several mathematical models that do not specify the synchronizing chemical agent, but explore a general idea that cells in one phase of a cell cycle can slow down, or speed up progression of other cells through a different phase, have been suggested (Boczko et al. 2010; Stowers et al. 2011). Finally, paper (Morgan et al. 2018) explores synchronization which is a result of criticality of necessary cellular resources combined with the engagement of a cell cycle checkpoint, when these resources dip below the required level.

In this paper we explore the hypothesis that oscillations may arise spontaneously when several cellular processes share a limited resource. This does not explain why the processes separate into oxidative and reductive phase but argues that compartmentalization in time may help utilize limited resources more efficiently. Ribosomes are essential cellular resources as they produce enzymes used in all metabolic processes as well as all other proteins including those used to assemble ribosomes themselves. Yeast ribosomes are large molecular machines consisting of 79 proteins (Woolford and Baserga 2013) and therefore they require substantial investment of cellular resources. This is reflected in the observation that the ratio of ribosomal proteins to all proteins scales linearly with cell growth rate across metabolic conditions (Scott et al. 2014). For this reason in our model we equate the limited shared cellular resource to the number of available ribosomes.

In many biological systems, time delays are often incorporated into the models because many of these processes have nontrivial time spans that dictate the overall system behavior (Rihan et al. 2018; Fowler 1981; Gulbudak et al. 2021; Huang et al. 2010; Gopalsamy and Aggarwala 1981; Longtin and Milton 1989; Rosen 1987; Pell et al. 2023). For this reason, the time delay framework is ideal for modeling a metabolic process where the protein production times can take upwards of 40 min. We aim to model the protein synthesis process in yeast cells using time delays and explore under what conditions oscillations are present in the responses. This paper is structured as follows. In Sect. 2 we introduce a single protein model and extract theoretical results such as the fixed points and its linear stability behavior. Section 3 presents the three protein extension to the single protein model and the equilibrium conditions are derived along with the system linearization. We then show the numerical methods that are utilized on the models in Sect. 4 where we describe the spectral element linear stability method, response feature analysis of system simulations under low growth conditions, and boundary value problem computation of periodic solutions to the nonlinear systems from simulation data. Results for the single protein system are then presented in Sect. 5 where the numerical methods are applied and the stability of the system is characterized in a subset of the overall parameter space. We then apply the same methods to the three protein system in Sect. 6. Finally, we give concluding remarks in Sect. 7.

2 Theory: Single Protein

2.1 Model Derivation

Both transcription and translation involve processing molecules (RNAP, ribosomes) that are sequestered during the time of processing. These processing molecules constitute cellular resources that need to be shared by all necessary protein production processes. We will concentrate here on ribosomes, as their concentration is known to be tightly correlated with the microbial growth rate (Scott et al. 2014). The rate of production of protein p(t) is proportional to the rate of initiation \(\mu \) at some time \(t-\tau (t)\) in the past when the processing started

$$\begin{aligned} {\dot{p}}(t) = B \mu (t-\tau ) - D p(t), \end{aligned}$$
(1)

with the maximal growth rate B and the decay rate D. The rate of initiation \(\mu (t)\) is a product of the activator (which we assume for simplicity is the protein p itself) and the ribosome R:

$$\begin{aligned} \mu (t) = f(p(t)) R(t), \end{aligned}$$
(2)

with Hill function

$$\begin{aligned} f(t) = \frac{p^n(t)}{\kappa ^n + p^n(t)}. \end{aligned}$$

A suggestion for the sequestration equation based on Mier-y-Terán-Romero et al. (2010) is given by

$$\begin{aligned} R(t) = R_T - A \int _{t-\tau }^t \mu (s) ds, \end{aligned}$$
(3)

where \(R_T\) is the total resource (ribosomes) and the integral is the resource which is currently being sequestered to produce a protein. Differentiation of Eq. (3) leads to

$$\begin{aligned} {\dot{R}}(t) = A\left( \mu (t-\tau ) - \mu (t)\right) . \end{aligned}$$
(4)

We note that this differentiation step is only valid for constant delays and if variable delays are used, Eq. (3) must be used for analysis. Putting the equations together, we have the model

$$\begin{aligned} \begin{aligned} {\dot{p}}(t)&= B f(p(t-\tau )) R(t-\tau ) - D p(t), \\ {\dot{R}}(t)&= A \left( f(p(t-\tau )) R(t-\tau ) - f(p(t))) R(t)\right) . \\ \end{aligned} \end{aligned}$$
(5)

The constant total resource \(R_T\) is the sum of R(t) and the integral over the history of \(\mu (s)\) from \(s=t-\tau (t)\) to \(s=t\). This means that the initial functions for \(p(\theta )\) and \(R(\theta )\) with \(\theta \in [-\tau (0),0]\) specify the value \(R_T\).

2.2 Equilibrium Points

Equilibrium conditions of the system can be obtained by setting \(p(t)=p(t-\tau )=p^*\), \(R(t)=R(t-\tau )=R^*\), \({\dot{p}}(t)=0\), \({\dot{R}}(t)=0\) in Eq. (5). This process yields one equilibrium condition (Eq. (6)) because the equation for \({\dot{R}}(t)\) in Eq. (5) is satisfied for all constant p and R.

$$\begin{aligned} Dp^*=Bf(p^*)R^* \end{aligned}$$
(6)

The other equilibrium conditions are obtained from Eq. (3) by assuming that the integrand is constant when equilibrium has been reached. This yields Eq. (7).

$$\begin{aligned} R^*=\frac{R_T}{1+A\tau f(p^*)} \end{aligned}$$
(7)

We then substitute Eq. (7) into Eq. (6) to obtain,

$$\begin{aligned} p^*=\frac{Bf(p^*)R_T}{D(1+A\tau f(p^*))}. \end{aligned}$$
(8)

Finally, inserting the definition of \(f(p^*)\), we get a polynomial expression that must be satisfied for the equilibrium points as shown in Eq. (9).

$$\begin{aligned} (1+A \tau ){p^*}^{n+1}-\frac{BR_T}{D}{p^*}^{n}+\kappa ^n{p^*}=0 \end{aligned}$$
(9)

Any solution to Eq. (9) can then be plugged in to Eq. (7) to obtain the equilibrium solutions. Note that this polynomial does not have analytical solutions for all values of n, but there is always one trivial equilibrium solution at \((p^*,R^*)=(0,R_T)\). The nontrivial equilibrium points are then obtained from solving the following system for (\(p^*,R^*\)).

$$\begin{aligned}{} & {} (1+A \tau ){p^*}^{n}-\frac{BR_T}{D}{p^*}^{n-1}+\kappa ^n=0, \end{aligned}$$
(10a)
$$\begin{aligned}{} & {} R^*=\frac{R_T}{1+A\tau f(p^*)}. \end{aligned}$$
(10b)

Once the trivial solution is removed from the conditions, the remaining polynomial in \(p^*\) has either 0 or 2 positive real roots by Descartes’ rule of signs for every \(~n\in {\mathbb {Z}}^+\) assuming only positive parameters are chosen. In conclusion, there is at least 1 trivial root at \((0,R_T)\) and at most 3 equilibrium points including the trivial point where the other two points are the nontrivial equilibria. We choose to restrict the analysis to \(n=2\) so that we can obtain analytical solutions for the equilibrium points. Solving Eq. (9) for \(n=2\) yielded three equilibrium points:

$$\begin{aligned} \begin{aligned}&(p^*, R^*) = (p_{\text {trivial}},R_{\text {trivial}}),\\&(p^*, R^*) = (p_{\text {middle}}, R_{\text {middle}}),\\&(p^*, R^*) = (p_{\text {top}}, R_{\text {top}}), \end{aligned} \end{aligned}$$

where,

$$\begin{aligned} p_{\text {trivial}}= & {} 0,\\ R_{\text {trivial}}= & {} R_T,\\ p_{\text {middle}}= & {} \frac{B R_T-\sqrt{B^2 R_T^2-4 D^2 \kappa ^2 (A \tau +1)}}{2 D(A \tau +1)},\\ R_{\text {middle}}= & {} \frac{B R_T \sqrt{B^2 R_T^2-4 D^2 \kappa ^2 (A \tau +1)}-2 A D^2 \kappa ^2 \tau (A \tau +1)-B^2 R_T^2}{B (A \tau +1) \left( \sqrt{B^2 R_T^2-4 D^2 \kappa ^2 (A \tau +1)}-B R_T\right) },\\ p_{\text {top}}= & {} \frac{B R_T+\sqrt{B^2 R_T^2-4 D^2 \kappa ^2 (A \tau +1)}}{2 D(A \tau +1)},\\ R_{\text {top}}= & {} \frac{B R_T \sqrt{B^2 R_T^2-4 D^2 \kappa ^2 (A \tau +1)}+2 A D^2 \kappa ^2 \tau (A \tau +1)+B^2 R_T^2}{B (A \tau +1) \left( \sqrt{B^2 R_T^2-4 D^2 \kappa ^2 (A \tau +1)}+B R_T\right) }. \end{aligned}$$

\(A, B, D, \tau , \kappa , \text { and } R_T\) are system parameters. Note that the second equilibrium point has a protein production rate that is between the protein production rates of the other two equilibrium points. Therefore, we refer to this equilibrium point as the “middle” equilibrium point and the point with the largest \(p^*\) as the “top” equilibrium point. By studying the stability of these three fixed points, the stability of the system can be characterized for certain parameters.

To understand the role that each equilibrium point plays in the system, we need to understand which equilibrium points are present in different regions of the parameter space. For this system, we can compute the saddle node bifurcation by studying the curve where the argument in the square root term becomes negative indicating that the top and middle equilibria are no longer real numbers. This curve forms a boundary that separates the region with three equilibrium points and the region with only the trivial equilibrium point. It can be computed analytically for this system and is defined in terms of \(\tau \) and \(R_T\) as:

$$\begin{aligned} R_T<\sqrt{\frac{4D^2 \kappa ^2(1+A\tau )}{B^2}}. \end{aligned}$$
(11)

This boundary given by the equality of Eq. (11) is plotted in the stability diagrams in Sect. 5 as a red curve with triangles. So any parameters that satisfy (11) only have a single equilibrium at the trivial point, and if the parameters do not satisfy this inequality, the top and middle equilibrium points are valid equilibrium solutions along with the trivial point.

2.3 System Linearization

In the analysis of nonlinear dynamical systems it is useful to study the associated linearized system about the fixed points. The Hartman–Grobman theorem states that near a hyperbolic equilibrium point, the linearized system exhibits the same behavior as the nonlinear system (Seydel 2010). We linearize (5) by computing the Jacobian matrices of the present and delayed states about an equilibrium point \(\textbf{q}=\begin{bmatrix}p^*~R^*\end{bmatrix}^T\). We start by defining two state space vectors, \(\textbf{x}\) and \(\textbf{x}_\tau \) where,

$$\begin{aligned} \begin{aligned} \textbf{x}&= \begin{bmatrix} p(t)\\ R(t) \end{bmatrix}=\begin{bmatrix} x_1\\ x_2 \end{bmatrix},\\ \textbf{x}_\tau&= \begin{bmatrix} p(t-\tau )\\ R(t-\tau ) \end{bmatrix}=\begin{bmatrix} x_{1 \tau }\\ x_{2 \tau } \end{bmatrix}. \end{aligned} \end{aligned}$$

The nonlinear delay system can then be written in the form,

$$\begin{aligned} \dot{\textbf{x}}(t)=\textbf{g}(\textbf{x}, \textbf{x}_\tau ), \end{aligned}$$
(12)

where, \(\textbf{g}=\textbf{g}_1(\textbf{x})+\textbf{g}_2(\textbf{x}_\tau )\)\(\textbf{g}_1=\begin{bmatrix} -Dx_1\\ -Af(x_1)x_2 \end{bmatrix}\)\(\textbf{g}_2=\begin{bmatrix} Bf(x_{1\tau })x_{2\tau }\\ Af(x_{1\tau })x_{2\tau } \end{bmatrix}\). In this form, the system is written as a sum of a nonlinear component as a function of t and a nonlinear delay component as a function of \(t-\tau \). We linearize each piece of g by computing the Jacobian matrix of the vector functions.

$$\begin{aligned} {{\textbf {G}}}_1=\frac{\partial \textbf{g}_{1}}{\partial x}=\begin{bmatrix} \frac{\partial \textbf{g}_{11}}{\partial x_1} &{}\quad \frac{\partial \textbf{g}_{11}}{\partial x_2}\\ \frac{\partial \textbf{g}_{12}}{\partial x_1} &{}\quad \frac{\partial \textbf{g}_{12}}{\partial x_2}\\ \end{bmatrix}=\begin{bmatrix} -D &{} 0\\ -A f'(x_1)x_2 &{} -A f(x_1) \end{bmatrix}, \end{aligned}$$
(13)

and

$$\begin{aligned} {{\textbf {G}}}_2=\frac{\partial \textbf{g}_{2}}{\partial x_\tau }=\begin{bmatrix} \frac{\partial \textbf{g}_{21}}{\partial x_{1\tau }} &{}\quad \frac{\partial \textbf{g}_{21}}{\partial x_{2\tau }}\\ \frac{\partial \textbf{g}_{22}}{\partial x_{1\tau }} &{}\quad \frac{\partial \textbf{g}_{22}}{\partial x_{2\tau }}\\ \end{bmatrix}=\begin{bmatrix} B f'(x_{1\tau })x_{2\tau } &{}\quad B f(x_{1\tau })\\ Af'(x_{1\tau })x_{2\tau } &{}\quad Af(x_{1\tau }) \end{bmatrix}, \end{aligned}$$
(14)

where \(f'(x_{1\tau })=\frac{n\kappa ^nx_{1\tau }^{n-1}}{(\kappa ^n+x_{1\tau }^n)^2}\). The linearized system about an equilibrium q is then written as

$$\begin{aligned} \dot{\textbf{x}}\approx & {} \begin{bmatrix} -D &{} 0\\ -A f'(x_1)x_2 &{} -A f(x_1) \end{bmatrix}\bigg |_q (\textbf{x}-\textbf{q})\nonumber \\{} & {} +\begin{bmatrix} B f'(x_{1\tau })x_{2\tau } &{}\quad B f(x_{1\tau })\\ Af'(x_{1\tau })x_{2\tau } &{}\quad Af(x_{1\tau }) \end{bmatrix}\bigg |_q(\textbf{x}_\tau -\textbf{q}). \end{aligned}$$
(15)

If a change of variables, \(\textbf{y} = \textbf{x} - \textbf{q}\) is implemented, with \(\textbf{y}_\tau = \textbf{x}_\tau - \textbf{q}\), Eq. (15) simplifies to Eq. (16) effectively moving the equilibrium point to the origin.

$$\begin{aligned} \dot{\textbf{y}}\approx \begin{bmatrix} -D &{}\quad 0\\ -A f'(p^*)R^* &{}\quad -A f(p^*) \end{bmatrix} \textbf{y}+\begin{bmatrix} B f'(p^*)R^* &{}\quad B f(p^*)\\ Af'(p^*)R^* &{}\quad Af(p^*) \end{bmatrix}\textbf{y}_\tau . \end{aligned}$$
(16)

We can write Eq. (16) in a simplified form as,

$$\begin{aligned} \dot{\textbf{y}}\approx {{\textbf {G}}}_1(q)\textbf{y}+{{\textbf {G}}}_2(q)\textbf{y}_\tau . \end{aligned}$$
(17)

We will use this linearized system to evaluate the stability of the equilibrium points of the system. Note that Eq. (17) was derived only from the DDE system Eq. (5). In addition, the constraint Eq. (3) must hold also for the perturbations. It is straightforward to directly compute the linearized system about the trivial equilibrium. We do this by inserting \((p^*,R^*)=(0,R_T)\) into (17), which leads to the elementary ODE system

$$\begin{aligned} \dot{\textbf{y}}\approx \begin{bmatrix} -D &{}\quad 0\\ 0 &{}\quad 0 \end{bmatrix} \textbf{y}, \end{aligned}$$
(18)

because all elements of \({{\textbf {G}}}_2\) become zero. This system has only two characteristic exponents that are directly obtained from the diagonal of \({{\textbf {G}}}_1\) as \(-D\) and 0. Since the original nonlinear DDE system is infinite dimensional, there are infinitely many other characteristic exponents, which all tend to \(-\infty \) as \(\textbf{q} \rightarrow \begin{bmatrix}0~R_T\end{bmatrix}^T\). Moreover, the characteristic exponent equal to zero corresponds to perturbations of the resources R(t), which changes the value of the overall resources \(R_T\). However, such perturbations do not fulfill the additional constraint Eq. (3), which means that this eigenvalue corresponds to the eigenvector along a one dimensional family of equilibria parameterized by the total resource \(R_T\). As such this eigenvalue does not reflect the stability of the equilibrium within a phase space with \(R_T\) fixed. As a result, the trivial equilibrium point is a locally stable node as long as the decay rate is positive \((D>0)\). We emphasize that using the Jacobian methods for linearization at this step is valid for constant delays. For state-dependent delays or time-dependent delays the system can be linearized using methods from Gedeon et al. (2022).

3 Theory: Three Protein Model

3.1 Model

We extend the single protein model in Eq. (5) to incorporate production of three proteins with shared resource i.e. a shared ribosomal pool. If the resources are shared, we expect that oscillations may occur if there are not enough resources to produce all three proteins simultaneously. The extended model is shown in Eq. (19).

$$\begin{aligned} \dot{p_1}(t)&=B_1 f(p_2(t-\tau _1))f(p_3(t-\tau _1))R(t-\tau _1) - D_1 p_1,\nonumber \\ \dot{p_2}(t)&=B_2 f(p_1(t-\tau _2))R(t-\tau _2) - D_2 p_2,\nonumber \\ \dot{p_3}(t)&=B_3 f(p_1(t-\tau _3))R(t-\tau _3) - D_3 p_3,\nonumber \\ {\dot{R}}(t)&=A(\mu _1(t-\tau _1)+\mu _2(t-\tau _2)+\mu _2(t-\tau _3)-\mu _1(t)-2\mu _2(t)), \end{aligned}$$
(19)

where A, \(B_1\), \(B_2\), \(B_3\), \(\tau _1\), \(\tau _2\), \(\tau _3\), \(D_1\), \(D_2\), \(D_3\), are system parameters, \(\mu _1(t)=f(p_2(t))f(p_3(t))R(t)\), and \(\mu _2(t)=f(p_1(t))R(t)\) and \(f(x)=\frac{x^n}{\kappa ^n+x^n}\). This means that production of the first protein is activated when the other two protein production rates are nonzero and production of the second and third proteins is activated by \(p_1\). Analogously to the single protein system, the total resource (\(R_T\)) is computed using,

$$\begin{aligned} R_T= & {} R(t) + A\left( \int _{t-\tau _1}^t f(p_2(s))f(p_3(s))R(s)ds + \int _{t-\tau _2}^t f(p_1(s))R(s)ds\right. \nonumber \\{} & {} \left. +\int _{t-\tau _3}^t f(p_1(s))R(s)ds\right) . \end{aligned}$$
(20)

3.2 Equilibrium Points

The equilibrium conditions are found by first setting \(\dot{p_1}=\dot{p_2}=\dot{p_3}=0\) yielding the following conditions:

$$\begin{aligned} D_1p_1^*&=B_1 f(p_2^*)f(p_3^*)R^*,\nonumber \\ D_2p_2^*&=B_2f(p_1^*)R^*,\nonumber \\ D_3p_3^*&=B_3f(p_1^*)R^*, \end{aligned}$$
(21)

where (\(p_1^*\), \(p_2^*\), \(p_3^*\),\(R^*\)) is the equilibrium point. Similarly to the single protein system, the \({\dot{R}}\) expression in Eq. (19) is always satisfied at equilibrium, but Eq. (20) yields the fourth and final equilibrium condition:

$$\begin{aligned} R_T = R^*+A\left[ f(p_2^*)f(p_3^*)R^*\tau _1 +f(p_1^*)R^*(\tau _2+\tau _3)\right] . \end{aligned}$$
(22)

This system has a trivial equilibrium at \(p_1^*=p_2^*=p_3^* = 0, R^*=R_T\). For finding the other equilibria, we need to solve this system of equations. We see that the relations in Eq. (21) all depend directly on \(R^*\). We eliminate \(R^*\) by solving Eq. (22) for \(R^*\),

$$\begin{aligned} R^* = \frac{R_T}{1+A\left( f(p_2^*)f(p_3^*)\tau _1 +f(p_1^*)(\tau _2+\tau _3)\right) }, \end{aligned}$$
(23)

and substituting \(R^*\) in the three Eq. (21), along with using the definition of f(x). These steps result in three multivariate polynomial equilibrium equations shown in Eqs. (24), (25) and (26).

$$\begin{aligned}{} & {} D_1p_1^*(\kappa ^n+p_1^{*n})(\kappa ^n+p_2^{*n})(\kappa ^n+p_3^{*n}) +AD_1p_1^*p_2^{*n}p_3^{*n}(\kappa ^n+p_1^{*n})\tau _1\nonumber \\{} & {} \qquad +AD_1p_1^{*(n+1)} (\kappa ^n+p_2^{*n})(\kappa ^n+p_3^{*n})(\tau _2+\tau _3)\nonumber \\{} & {} \quad = B_1R_Tp_2^{*n}p_3^{*n}(\kappa ^n+p_1^{*n}), \end{aligned}$$
(24)
$$\begin{aligned}{} & {} D_2p_2^*(\kappa ^n+p_1^{*n})(\kappa ^n+p_2^{*n})(\kappa ^n+p_3^{*n}) +AD_2p_2^{*(n+1)}p_3^{*n}(\kappa ^n+p_1^{*n})\tau _1\nonumber \\{} & {} \qquad +AD_2p_1^{*n} p_2^*(\kappa ^n+p_2^{*n})(\kappa ^n+p_3^{*n})(\tau _2+\tau _3)\nonumber \\{} & {} \quad = B_2R_Tp_1^{*n}(\kappa ^n+p_2^{*n})(\kappa ^n+p_3^{*n}), \end{aligned}$$
(25)
$$\begin{aligned}{} & {} D_3p_3^*(\kappa ^n+p_1^{*n})(\kappa ^n+p_2^{*n})(\kappa ^n+p_3^{*n}) +AD_3p_2^{*n}p_3^{*(n+1)}(\kappa ^n+p_1^{*n})\tau _1\nonumber \\{} & {} \qquad +AD_3p_1^{*n}p_3^* (\kappa ^n+p_2^{*n})(\kappa ^n+p_3^{*n})(\tau _2+\tau _3)\nonumber \\{} & {} \quad = B_3R_Tp_1^{*n}(\kappa ^n+p_2^{*n})(\kappa ^n+p_3^{*n}). \end{aligned}$$
(26)

The solutions \((p_1^*, p_2^*, p_3^*)\) to these three equations correspond to the equilibrium point of the system and the resource equilibrium is obtained by substituting these values in to Eq. (23). Due to the complexity of these equations, we solve them numerically using the variable precision (VPA) solver in Matlab (vpasolve Mathworks). Details for how these equations were solved are outlined in Sect. 6.

3.3 Three Protein System Linearization

The three protein system was also linearized about its equilibrium points for stability analysis using the spectral element linear stability method described in Sect. 4.1. We will linearize the system about the equilibrium point, \(\textbf{q}=\begin{bmatrix}p_1^*~p_2^*~p_3^*~R^*\end{bmatrix}^T\) from the solution to Eqs. (24), (25) and (26). Similarly to the single protein model, we define state vectors for the current states and delayed states, but in this case, three delayed states are present due to the system having multiple time delays. The system states are,

$$\begin{aligned} \textbf{x}&= \begin{bmatrix} p_1(t)\\ p_2(t)\\ p_3(t)\\ R(t) \end{bmatrix}=\begin{bmatrix} x_1\\ x_2\\ x_3\\ x_4 \end{bmatrix},\quad \textbf{x}_{\tau _i} = \begin{bmatrix} p_1(t-\tau _i)\\ p_2(t-\tau _i)\\ p_3(t-\tau _i)\\ R(t-\tau _i) \end{bmatrix}=\begin{bmatrix} x_{1 \tau _i}\\ x_{2 \tau _i}\\ x_{3 \tau _i}\\ x_{4 \tau _i} \end{bmatrix}, \end{aligned}$$
(27)

where \(i \in [1,2,3]\) represents the system state at delay \(\tau _i\). We then write the system as:

$$\begin{aligned} \dot{\textbf{x}} = \textbf{g}(\textbf{x},\textbf{x}_{\tau _1},\textbf{x}_{\tau _2},\textbf{x}_{\tau _3}), \end{aligned}$$
(28)

and separate \(\textbf{g}\) as a sum of terms only dependent on one of the system states.

$$\begin{aligned} \textbf{g}(\textbf{x},\textbf{x}_{\tau _1},\textbf{x}_{\tau _2},\textbf{x}_{\tau _3}) = \textbf{g}_1(\textbf{x}) + \textbf{g}_2(\textbf{x}_{\tau _1}) + \textbf{g}_3(\textbf{x}_{\tau _2}) + \textbf{g}_4(\textbf{x}_{\tau _3}), \end{aligned}$$

where,

$$\begin{aligned} \textbf{g}_1(\textbf{x})&= \begin{bmatrix} -D_1x_1\\ -D_2x_2\\ -D_3x_3\\ -Af(x_1)x_4-2Af(x_2)x_4 \end{bmatrix},\quad \textbf{g}_2(\textbf{x}_{\tau _1}) = \begin{bmatrix} B_1f(x_{2\tau })f(x_{3\tau })x_{4\tau }\\ 0\\ 0\\ Af(x_{1\tau })x_{4\tau } \end{bmatrix},\\ \textbf{g}_3(\textbf{x}_{\tau _2})&= \begin{bmatrix} 0\\ B_2f(x_{1\tau })x_{4\tau }\\ 0\\ Af(x_{2\tau })x_{4\tau } \end{bmatrix},\quad \textbf{g}_4(\textbf{x}_{\tau _3}) = \begin{bmatrix} 0\\ 0\\ B_3f(x_{1\tau })x_{4\tau }\\ Af(x_{2\tau })x_{4\tau } \end{bmatrix}, \end{aligned}$$

where \(f(x)=\frac{x^n}{\kappa ^n+x^n}\). Now, the system can be linearized about q as,

$$\begin{aligned} \dot{\textbf{x}}\approx {{\textbf {G}}}_1(\textbf{q})(\textbf{x}-\textbf{q}) +\sum _{i=2}^4{{\textbf {G}}}_i(q)(\textbf{x}_{\tau _i} - \textbf{q}), \end{aligned}$$
(29)

where \({{\textbf {G}}}_i\) is the Jacobian matrix of \(\textbf{g}_i(\textbf{x}_{\tau _{i-1}})\). The Jacobian matrices for this system are analytically computed with the matrix of partial derivatives. For example, \({{\textbf {G}}}_1\) is computed as,

$$\begin{aligned} {{\textbf {G}}}_1 = \begin{bmatrix} \frac{\partial \textbf{g}_{11}}{\partial x_1} &{}\quad \frac{\partial \textbf{g}_{11}}{\partial x_2} &{}\quad \frac{\partial \textbf{g}_{11}}{\partial x_3}&{}\quad \frac{\partial \textbf{g}_{11}}{\partial x_4}\\ \frac{\partial \textbf{g}_{12}}{\partial x_1} &{}\quad \frac{\partial \textbf{g}_{12}}{\partial x_2} &{}\quad \frac{\partial \textbf{g}_{12}}{\partial x_3}&{}\quad \frac{\partial \textbf{g}_{12}}{\partial x_4}\\ \frac{\partial \textbf{g}_{13}}{\partial x_1} &{}\quad \frac{\partial \textbf{g}_{13}}{\partial x_2} &{}\quad \frac{\partial \textbf{g}_{13}}{\partial x_3}&{}\quad \frac{\partial \textbf{g}_{13}}{\partial x_4}\\ \frac{\partial \textbf{g}_{14}}{\partial x_1} &{}\quad \frac{\partial \textbf{g}_{14}}{\partial x_2} &{}\quad \frac{\partial \textbf{g}_{14}}{\partial x_3}&{}\quad \frac{\partial \textbf{g}_{14}}{\partial x_4}\\ \end{bmatrix}, \end{aligned}$$

where \(\frac{\partial g_{1j}}{\partial x_k}\) is the partial derivative of the j-th component of the \(g_1\) vector with respect to \(x_k\). A similar process is used for \({{\textbf {G}}}_2,~{{\textbf {G}}}_3~\text {and}~{{\textbf {G}}}_4\) with the main difference being that the derivatives are computed with respect to delayed states at the corresponding delay \(\tau _i\). Carrying out this procedure yields the following expressions for the Jacobian matrices.

$$\begin{aligned} {{\textbf {G}}}_1(\textbf{q})&= \begin{bmatrix} -D_1 &{} 0 &{} 0 &{} 0\\ 0 &{} -D_2 &{} 0 &{} 0\\ 0 &{} 0 &{} -D_3 &{} 0\\ -2Af'(p_1^*)R^* &{} -Af'(p_2^*)f(p_3^*)R^* &{} -Af(p_2^*)f'(p_3^*)R^* &{} -2Af(p_1^*)-Af(p_2^*)f(p_3^*) \end{bmatrix},\\ {{\textbf {G}}}_2(\textbf{q})&= \begin{bmatrix} 0 &{} B_1f'(p_2^*)f(p_3^*)R^* &{} B_1f(p_2^*)f'(p_3^*)R^* &{} B_1f(p_2^*)f(p_3^*)\\ 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 0\\ 0 &{} Af'(p_2^*)f(p_3^*)R^* &{} Af(p_2^*)f'(p_3^*)R^* &{} Af(p_2^*)f(p_3^*) \end{bmatrix},\\ {{\textbf {G}}}_3(\textbf{q})&= \begin{bmatrix} 0 &{} 0 &{} 0 &{} 0\\ B_2f'(p_1^*)R^* &{} 0 &{} 0 &{} B_2f(p_1^*)\\ 0 &{} 0 &{} 0 &{} 0\\ Af'(p_1^*)R^* &{} 0&{} 0 &{} Af(p_1^*) \end{bmatrix},\\ {{\textbf {G}}}_4(\textbf{q})&= \begin{bmatrix} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 0\\ B_3f'(p_1^*)R^* &{} 0 &{} 0 &{} B_3f(p_1^*)\\ Af'(p_1^*)R^* &{} 0&{} 0 &{} Af(p_1^*) \end{bmatrix}, \end{aligned}$$

where \(f'(x)=\frac{n\kappa ^nx^{n-1}}{(\kappa ^n+x^n)^2}\). Finally, we introduce the change of variables \(\textbf{y}=\textbf{x}-\textbf{q} \) to Eq. (29) resulting in the linearized system:

$$\begin{aligned} {\dot{y}} \approx {{\textbf {G}}}_1(\textbf{q})\textbf{y}(t) + {{\textbf {G}}}_2(\textbf{q})\textbf{y}(t-\tau _1)+ {{\textbf {G}}}_3(\textbf{q})\textbf{y}(t-\tau _2) + {{\textbf {G}}}_4(\textbf{q})\textbf{y}(t-\tau _3). \end{aligned}$$
(30)

For the trivial equilibrium \((0,0,0,R_T)\), we have \(f(0)=0\) and \(f'(0)=0\), and the matrices \({{\textbf {G}}}_2\), \({{\textbf {G}}}_3\) and \({{\textbf {G}}}_4\) vanish. Thus, similarly to the single protein system, the linearization at the trivial equilibrium becomes a simple ODE system

$$\begin{aligned} {\dot{y}}\approx \begin{bmatrix} -D_1 &{}\quad 0 &{}\quad 0 &{}\quad 0\\ 0 &{}\quad -D_2 &{}\quad 0 &{}\quad 0\\ 0 &{}\quad 0 &{}\quad -D_3 &{}\quad 0\\ 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \end{bmatrix}\textbf{y}. \end{aligned}$$

This system has four eigenvalues \(-D_1\), \(-D_2\), \(-D_3\), and zero. Again, the characteristic exponent equal to zero corresponds to family of equilibria parameterized by \(R_T\) and can be discarded. We conclude that the trivial equilibrium point is locally stable for all positive decay rates (\(D_1>0,~D_2>0,~D_3>0\)).

4 Methods

4.1 Spectral Element Approach: Linear Stability Analysis

For analyzing the dynamic behavior of the system and identify regions of bistablity in parameter space, we study the linear stability of the equilibria. We use the spectral element method, which is an advanced numerical method for the stability analysis of DDE systems (Khasawneh and Mann 2013). In particular, the linear variational systems Eqs. (17) and (30) for perturbations around the equilibrium points are converted to a dynamic map, which describes the evolution of the system state \(\textbf{z}_{n-1}\) at time step \(n-1\) to the system state \(\textbf{z}_n\) at time step n

$$\begin{aligned} \textbf{z}_n = {\textbf{U}} \textbf{z}_{n-1}, \end{aligned}$$
(31)

where \({\textbf{U}}\) is the monodromy matrix. The state vector \(\textbf{z}_n\) is a discrete representation of the DDE state, which contains information of the system variable \(\textbf{y}\) for the time interval \([t-\tau _{\text {max}},t]\), where \(\tau _{\text {max}}\) is the maximum delay. The matrix \({\textbf{U}}\) is a high dimensional approximation of the monodromy operator which is an operator that allows for mapping dynamic states forward in time by one period (Khasawneh and Mann 2013). The full operator is infinite dimensional, but this method utilizes finite approximations of the operator to permit computing approximate solutions to the characteristic equation of the system. Specifically for the spectral element method, because the system is transformed into a discrete map, if the eigenvalues of \({\textbf{U}}\) have a magnitude less than unity, that equilibrium point is stable and larger than one makes it unstable. If the magnitude is exactly one the equilibrium point is said to be marginally stable and this also is indicative that the equilibrium is non-hyperbolic (Kuznetsov 2004). Note that the monodromy matrix for an autonomous system always has a trivial eigenvalue \(\lambda =1\) which does not dictate the stability of the equilibrium point (Beyn et al. 1999). In the case where the trivial eigenvalue is the furthest from the origin we take the second largest eigenvalue of the system to characterize the stability.

This problem falls under the broader classification of pseudospectral differencing methods where in general an approximation of an infinite dimensional operator is computed resulting in a matrix where the eigenvalues approach solutions to the characteristic equation of the linear delay differential equations (Breda et al. 2005). Further, Breda et al. proved many useful convergence results for such methods such as the fact that none of the eigenvalues of the approximation matrix are “ghost roots”. This means that all of the computed eigenvalues will eventually converge to a true root of the full infinite dimensional system if sufficient nodes are used in the discretization (Breda et al. 2005). It is also known that roots closer to the origin in the complex plane are approximated first with these differencing methods so it is important to use sufficient discretization meshes to find the unstable eigenvalues (Breda et al. 2005). It has been shown that for a DDE system the number of characteristic equation roots in the right half of the complex plane is finite (Stépán 1989) meaning that if enough eigenvalues are approximated for the system about its equilibrium, eventually the right most eigenvalue will be computed which allows for characterizing the stability of the equilibrium point. For a discrete system this means that the number of eigenvalues outside of the unit circle is finite. In further sections, methods described in Khasawneh and Mann (2013) are applied for discretizing and computing dominant eigenvalues for the metabolic systems to evaluate the system stability at different parameters.

4.2 Numerical Simulations

For the second method, we chose to perform many numerical simulations to demonstrate the behavior of the system and connect the results to experimental observations. This was done through simulation of the system using the Julia differential equations library. The goal was to study specific features of the system trajectories in the parameter space to locate regions with different types of solutions. A diagram is obtained from the simulations by computing scalar features of the asymptotic solutions from time domain simulations and plotting the result as an image as a 2D projection of the overall parameter space. The features can be used to distinguish periodic solutions from equilibria. If the simulation times are long enough such that the system behaviour is characteristic of its long run behavior, we refer to this as the steady state response as this is when the transient response has dissipated. The method for computing these response feature diagrams for this system was inspired by the AttractionsViaFeaturizing function of the dynamical systems library in Julia (Datseris 2018). This method computes a feature \(M: {\mathbb {R}}^n\rightarrow {\mathbb {R}}\) on the system trajectory with n system variables that indicate different features of the system response at each point in the parameter space. For this analysis, we needed to fix the history function for our systems. Specifically for this paper, we focus on a feature based on the amplitude of the time series signals. However, many other features can be used to study system behavior such as the mean response and standard deviation. We compute the amplitude feature A of a response \(x_i(t)\) as:

$$\begin{aligned} A_i = \frac{1}{2}\left( \max {(x_i(t)}-\min {(x_i(t))}\right) . \end{aligned}$$

The amplitude feature is then consolidated into a scalar value by summing over the variables in i as:

$$\begin{aligned} M_A=\sum _{i=1}^n A_i. \end{aligned}$$
(32)

If the trajectory is stable, we expect \(M_A\) to be close to zero and if the response contains oscillations \(M_A\) should be nonzero and finite.

4.3 Low Growth History Functions

To compute features of the system response, sufficient information is required to simulate the system such as the start time, end time and initial conditions. One critical difference between time delay differential equation systems (DDE) and ordinary differential equation systems (ODE) is that a DDE system requires the solution to be defined over the interval \([-\tau _{\text {max}},0]\) rather than just supplying a single point initial condition for an ODE system. A history function was chosen based on the experimental process for achieving these metabolic oscillations in practice (Tu et al. 2005). In this paper, the authors starve the cells of all resource prior to the oscillations. Consequently, the protein production rate is also zero during this time.

4.3.1 Single Protein History Function and Initial Conditions

To define the history function for the single protein model, we assume that the cell was operating at zero protein production on \([-\tau ,0)\). In other words, \(p(\theta )=0\) and \(R(\theta )=0\) for \(\theta \in [-\tau ,0)\), whereas at time \(t=0\) we set \(p(0)=p_0\). We obtain the initial conditions of the system by letting \(t=0\) in Eq. (3) yielding:

$$\begin{aligned} R_T=R_0+A\int _{-\tau }^0 f(p(s))R(s)ds, \end{aligned}$$
(33)

where \(R_0=R(0)\) is the resource value at time \(t=0\). For a response of this system to be valid, Eq. (33) must hold for the value of \(R_T\) used for the simulation. Since p and R are zero for the history function, the integral in Eq. (33) vanishes and we have \(R_0=R_T\). As a result, for each simulation \(R_T\) can be specified and any positive value of \(p_0\) can be chosen. This system can then be studied by varying the parameters \(p_0\), \(\tau \) and \(R_T\) and holding the remaining parameters constant to determine which parameter values result in periodic solutions.

4.3.2 Three Protein History Function and Initial Conditions

The solutions for the three protein system are also studied using the same zero resource and zero protein production assumption prior to \(t=0\). So \(p_1(\theta )=p_2(\theta )=p_3(\theta )=0\) and \(R(\theta )=0\) for \(\theta \in [-\tau _{\text {max}},0)\). Applying this to the total resource equation from Eq. (20) again yields \(R_0=R_T.\) Similar to the single protein system, the initial protein production rates \(p_{10}\), \(p_{20}\) and \(p_{30}\) can be varied in the system. The dimension of the parameter space is reduced by limiting this system to the case where \(\tau _1=\tau _2=\tau _3=\tau \) or in other words, all three proteins require the same production time. We then vary this delay and the total resource to determine which parameter combinations yield oscillations in the system response.

4.4 Boundary Value Calculation of Periodic Solutions to Nonlinear DDE Systems

As an alternative to detecting periodic orbits by simulation and amplitude computation, we will find them directly by solving a boundary value problem (BVP). This method comes from Khasawneh et al. (2012) where the authors describe how a nonlinear DDE system can be converted to a BVP where the solutions to this problem correspond to periodic solutions of the original system. Specifically, the system is converted to the boundary value problem in Eq. (34) and the spectral element method is used to discretize the DDE system to approximate the infinite dimensional BVP as a finite dimensional problem that can be solved numerically to obtain a single period of the periodic solution to the system (Khasawneh et al. 2012).

$$\begin{aligned} \begin{aligned}&\textbf{f}=\frac{d\textbf{x}}{dt}-T\textbf{g}(\textbf{x}(t),\quad \textbf{x}(t-\tau /T))=0,\quad t\in [0,1],\\&\textbf{x}(s) - \textbf{x}(s+1) = 0,\quad s\in [-\tau /T,0],\\&p(\textbf{x})=0, \end{aligned} \end{aligned}$$
(34)

where T is the system period, \(\textbf{x}\) is the vector of system variables, and the first line corresponds to the specific DDE system being studied. In this case we take \(\textbf{g}\) to be Eq. (12) for the single protein system, and Eq. (28) for the three protein system. The second line imposes a periodicity condition on the system and the last line imposes a phase condition to yield a unique periodic solution by setting \(p(\textbf{x})\) to be the inner product of the initial state (\(\textbf{x}_0\)) and the time derivative \(\dot{\textbf{x}}(t)\) (Khasawneh et al. 2012). An initial guess is provided by simulating the system in Julia using the differential equations library and this simulation is provided to the boundary value problem solver in Matlab to perform Newton–Raphson iteration and converge on the periodic solution. This process also yields an approximation to the period T of the system. This method has been shown to compute accurate periodic solutions for nonlinear DDE systems with exponential convergence rates as the number of mesh points increases (Khasawneh et al. 2012) making it ideal for verifying parameters of the metabolic system that result in oscillating solutions to the system.

5 Results: Single Protein

The single protein system is analyzed in this section by applying the three methods outlined in Sect. 4.

5.1 Spectral Element Linear Stability

The eigenvalues of the linearized single protein system about its nontrivial equilibrium points were approximated at each set of parameters in a \(400\times 400\) grid in the \((\tau , R_T)\) plane varying each parameter from zero to 50 using the monodromy matrix from the spectral element method (Khasawneh and Mann 2013). We hold the remaining parameters constant at \(\kappa =0.5\), \(A=1.0\), \(B=2.0\), \(D=10.0\), \(n=2\). The monodromy matrix requires an oscillation period to map the system states to the next period. It has been shown that for systems with one delay the period can be set as the delay for stability computations (Khasawneh and Mann 2013). For this reason, we set the period to \(\tau \) for this stability analysis. We examine the stability of the equilibrium points by plotting the magnitude of the eigenvalue furthest from the origin. Stability diagrams were plotted for the nontrivial equilibrium points. Note that below the curve in Eq. (11), only the trivial equilibrium is present \((0,R_T)\), but above this curve three equilibrium points exist in the system. We only consider the stability of the nontrivial equilibria in this section as the stability of the trivial solution is computed analytically in Sect. 2.3. As a result, we color points in the stability diagram as white if only the trivial equilibrium is present in that region.

We start by computing the stability of the middle equilibrium point as shown in Fig. 1 where we plot the dominant eigenvalue of the middle equilibrium point for combinations of \(\tau \) and \(R_T\) between 0 and 50. We see that for all parameters shown, this equilibrium point is unstable because its largest eigenvalue is outside of the unit circle in the complex plane.

Next, we plot the largest magnitude eigenvalue of the top equilibrium point in Fig. 2 where we see that for small delay and sufficient resource, the top equilibrium point is stable with \(|\lambda | < 1\). As the delay increases for a given total resource, a pair of complex conjugate eigenvalues leave the unit circle that govern the stability of this equilibrium point making it an unstable focus (Kuznetsov 2004).

Therefore, a Hopf bifurcation occurs from the top equilibrium point along this line. We plot the Hopf bifurcation curve in subsequent stability diagrams as a green line with dots. This line was found to be approximately,

$$\begin{aligned} R_T = 2.6449 \tau + 4.6323, \end{aligned}$$
(35)

for \(\tau \ge 0.75\) by computing a linear regression along the boundary where the eigenvalue exits the unit circle. The model had a coefficient of determination of 0.9999 indicating that this boundary is well approximated by a linear model.

Fig. 1
figure 1

Single protein middle equilibrium point stability diagrams. Specifically, the eigenvalues with maximum magnitude of the monodromy matrix are plotted with respect to the parameters \(\tau \) and \(R_T\). (left) The real part of the dominant eigenvalue, (middle) imaginary part of the dominant eigenvalue, (right) the modulus of the eigenvalue. The red curve with triangles is the saddle node boundary that separates regions with 1 and 3 equilibria. Above the red curve all three equilibrium points exist and below the curve only the trivial point is present (Color figure online)

Fig. 2
figure 2

Single protein top equilibrium point stability diagrams. Specifically, the eigenvalues with maximum magnitude of the monodromy matrix are plotted with respect to the parameters \(\tau \) and \(R_T\). (left) The real part of the dominant eigenvalue, (middle) imaginary part of the dominant eigenvalue, (right) the modulus of the eigenvalue. The red curve with triangles is the saddle node boundary that separates regions with 1 and 3 equilibria. Above the red curve all three equilibrium points exist and below the curve only the trivial point is present. The Hopf bifurcation curve is shown as a line with green dots (Color figure online)

5.2 Response Features

Response feature diagrams were generated for the single protein system (Eq. (5)) for \(\kappa =0.5\), \(A=1.0\), \(B=2.0\), \(D=10.0\), \(n=2\) with varying \(\tau \), \(R_T\) and \(p_0\). The results for these simulations are shown in Fig. 3 where we color pixels in the parameter space according to the response amplitude feature using Eq. (32). We used the starving cell history function from Sect. 4.3.1 and each simulation was taken between 10,000 and 11,000 time units to ensure that the transient response had dissipated. The authors acknowledge the arbitrarily chosen parameters for this system and that these parameters may not be in biologically significant range. However, our model is conceptual and the purpose of this paper is to demonstrate that certain parameters yield oscillations in the protein production when the cell is starved of resource prior to \(t=0\). This is also the reason why we use “time units" instead of seconds for the simulations.

First we study the dependence on the initial protein production rate \(p_0\) by fixing the delay at \(\tau =10\) and plotting the amplitude feature over the region \((p_0, R_T)\in [0,10]\times [0,50]\). We see in Fig. 3a that for nontrivial \(p_0\), the response is essentially independent of the initial condition so any large enough initial protein production rate was sufficient. For small \(p_0\) the response approaches the trivial equilibrium point. While this diagram is only shown for a single delay, we observed a trend where as the delay varies, the only change is in the width of the limit cycle region for large enough \(p_0\). For this reason, we arbitrarily choose \(p_0=10\) for our initial \(p_0\).

Next, we keep \(p_0=10\) and vary the parameters \((\tau , R_T)\in [0,50]\times [0,50]\) and plot the amplitude feature in this region of the parameter space in Fig. 3b along with the Hopf and saddle node bifurcation boundaries obtained from the linear stability analysis. We see that periodic solutions were found above the Hopf curve for this particular history function indicating that the Hopf bifurcation is subcritical. So slightly above the green curve we have a bistability between the top equilibrium, trivial equilibrium, and the limit cycle. Below the Hopf curve we have a bistability between the trivial equilibrium point and the limit cycle and below \(R_T\approx 7\) we did not observe any oscillations and the trajectory approached the trivial equilibrium. Note that the pink curves in Fig. 3a are specific to \(\tau =10\) and will increase as the delay is increased according to the bounds of the periodic region in Fig. 3b. In other words, at a delay of 10 if we draw a vertical line in Fig. 3b, we should expect it to intersect the blue region at \(R_T\approx 7\) and \(R_T\approx 42\) which correspond to the pink curves in Fig. 3a for nontrivial \(p_0\). We can also show a horizontal slice of Fig. 3b which produces a bifurcation diagram in \(\tau \) as shown in Fig. 3c. The stable periodic orbit was generated by setting \(R_T = 30\) and using simulations with the initial conditions from Fig. 3b. The stability region for the top equilibrium point was computed using analytical expressions. This region ends in subcritical Hopf bifurcation at \(\tau \approx 9.59\). Importantly, the region between \(\tau \approx 6.78\) and \(\tau \approx 9.59\) exhibits bistability since the stable equilibrium and a stable periodic orbits coexist. Since the branch of periodic orbits connecting the Hopf bifurcation to the stable periodic orbit at \(\tau \approx 9.59\) is unstable, we are unable to find it using simulations.

Fig. 3
figure 3

Single protein model response feature diagrams by varying system parameters \(p_0\), \(\tau \) and \(R_T\) and simulating the system at for each parameter combination between 0 and 50. The solid pink curve corresponds to a point on the horizontal boundary at \(\tau =25\) in the middle image and the dashed pink curve corresponds to a point on the boundary above the green curve at \(\tau =25\) in the middle image. The red curve with triangles is the saddle node boundary that separates regions with 1 and 3 equilibria, the line with green dots is the Hopf bifurcation boundary. The right image corresponds to a horizontal slice of the middle plot at \(R_T=30\) to show the bifurcation diagram as \(\tau \) is varied (Color figure online)

5.3 Periodic Solutions

Next we utilize the spectral element approach to solve the boundary value problem in Eq. (34). This process was performed on the three points in the \((\tau , R_T)\) parameter space where oscillations were expected and the two points where we expect fixed point responses. The first point considered was \(\tau =12\) and \(R_T=50\). We see that this point corresponds to a response with nonzero amplitude indicating that oscillations should be expected and is in the subcritical region of the Hopf bifurcation. The system was simulated and sampled between 15,988 and 16,000 time units for the period. Because the system is autonomous, we can take the period to be equal to the delay. Solving the boundary value problem in Eq. (34) for the periodic solution, we obtain the response shown in Fig. 4. We see that the periodic solution from the boundary value problem closely matches the simulation result with the period matching the delay. Further, the protein production rate is nearly constant and close to the top equilibrium point \((p^*, R^*)=(0.7434, 5.3982)\) for most of the period in this case with a drop in the production rate emerging yielding the metabolic oscillations.

Fig. 4
figure 4

\(\tau =12\) and \(R_T=50\) single protein periodic solution results from solving the relevant boundary value problem

The next parameters that were considered were \(\tau =10\) and \(R_T=20\). The system was simulated at these parameters from 15,990 to 16,000 time units and the period was set to 10. Passing this initial guess into the boundary value problem, the obtained periodic solution is shown in Fig. 5. Interestingly, we see that the time that the protein production rate spends at 0 is much longer compared to Fig. 4. As the Hopf bifurcation curve is crossed, the drop in the protein production rate appears to spend more time at zero during the oscillation period.

Fig. 5
figure 5

\(\tau =10\) and \(R_T=20\) single protein periodic solution results from solving the relevant boundary value problem

The third set of parameters considered was \(\tau =45\) and \(R_T=15\). The system was simulated at these parameters from 15,955 to 16,000 time units and the period was set to 45 resulting in the periodic solution shown in Fig. 6. We see that the trajectory starts to spend more time near a protein production rate of zero as the total resource approaches the horizontal line \(R_T\approx 7\) in Fig. 3b. The periodic solutions shown demonstrate the transition from the fixed point stability at the top equilibrium to fixed point stability at the trivial equilibrium.

Fig. 6
figure 6

\(\tau =45\) and \(R_T=15\) single protein periodic solution results from solving the relevant boundary value problem

5.4 Steady State Solutions

We also explore the steady state solutions of the system by examining two parameter conditions. The first case is where the total resource is too low to sustain protein production (low growth conditions). In this case, we found a trajectory that approaches the trivial equilibrium point. This was verified by simulating the system at \(\tau =45\) and \(R_T=5\). The resulting response is shown in Fig. 7 where we see the system approach \((p,R)=(0,R_T)\).

Fig. 7
figure 7

Approach to trivial fixed point for low growth conditions in the cell (\(\tau =45\), \(R_T=5\))

We also consider the case where the cell has access to plentiful resources and can synthesize proteins at a constant rate (high growth conditions). To examine this case, we simulated the system at \(\tau =5\) and \(R_T=50\). The response for these parameters is shown in Fig. 8. We see that as time progresses, the protein production rate approaches a steady state value because the cell is able to produce proteins at a constant rate. Further, the point that this trajectory approaches corresponds to the top equilibrium point of the system which for these parameters works out to be \((p^*,R^*)\approx (1.6412, 8.968)\).

Fig. 8
figure 8

Fixed point response for high growth conditions in the cell (\(\tau =5\), \(R_T=50\))

5.5 Single Protein Summary

Three distinct behaviors were observed in the single protein time delay model. First, if the resources are not sufficient to sustain metabolic activity, the system will approach the trivial equilibrium point with zero protein production rate. If the resources are plentiful, they can sustain constant protein production at the top equilibrium point. Between these two cases, the cell initially has enough resource to synthesize proteins, but as the protein production rate increases, resources are used and the metabolic activity decreases. This balance between constant production and no production seems to lead to oscillations in the system response. Slightly above the Hopf bifurcation curve, we observe oscillations that are close to a constant solution at the top equilibrium and as the parameters cross the Hopf curve and approach the line \(R_T\approx 7\), the solution continues to oscillate but with a solution that is closer to a constant solution at the trivial equilibrium. The oscillation region represents a transition between the top and trivial equilibria and the middle solution remains unstable for all parameters in this region. For \(\tau <0.75\), the solution can switch directly between the top and trivial equilibrium with no oscillations, but after this bifurcation point at \((\tau , R_T)\approx (0.75, 6.6)\), the periodic solution emerges to transition from constant to zero protein production.

6 Results: Three Proteins

The three protein system is analyzed in this section by applying the three methods outlined in Sect. 4.

6.1 Spectral Element Linear Stability

Our main goal with the three protein system was to find parameters where the protein production rates peak at different times in the period. This phenomena would be indicative of the cell prioritizing its resources to produce proteins in a way that could be more efficient. To begin exploring this systems parameter space, we use the spectral element method to study the linear stability of the three protein system with arbitrarily chosen parameters \(\kappa =0.5\), \(A=1.0\), \(B_1=2.0\), \(B_2=2.0\), \(B_3=2.0\), \(D_1=10.0\), \(D_2=10.0\), \(D_3=10.0\), \(n=2\). We set \(\tau _1=\tau _2=\tau _3=\tau \) such that all three proteins require the same amount of production time, and vary \(\tau \) and \(R_T\) just as was done with the single protein system.

However, for this system we do not have analytical expressions for the equilibrium solutions and we only have the coupled polynomial system in Eqs. (24), (25) and (26). Solving this system of equations is a nontrivial task, but if we make some assumptions based on our observations from the single protein system we can still generate stability diagrams using this method. Namely, we will assume that this system also exhibits three possible equilibrium points (top, middle, and trivial). Using the variable precision accuracy (VPA) solver in Matlab, we can solve this system of equations numerically in our parameter space and approximate the dominant eigenvalues to characterize the stability of each point. The documentation for the VPA solver used states that for polynomial systems, all solutions in a region will be returned by the function (vpasolve Mathworks). This solver was applied to a \(400 \times 400\) grid of parameters in \((\tau , R_T)\in [0,50]\times [0,100]\), and the assumption was found to be correct where one region of the space contained 3 equilibrium points and the other region only contained the trivial point.

With the single protein system, we defined the top and middle equilibrium points based on the magnitude of the equilibrium protein production rate \(p^*\). However, in the three protein system we have multiple equilibrium protein production rates. To modify this approach for the three protein system, we form the following vector of equilibrium coordinates,

$$\begin{aligned} \textbf{p}=\begin{bmatrix} p_1^*&p_2^*&p_3^* \end{bmatrix}^T. \end{aligned}$$

Thus, the top and middle equilibria are defined by the \(l_2\) norm of \(\textbf{p}\) where the top equilibrium has the largest \(l_2\) norm and the middle solution has a norm between the top and trivial. We then use Eq. (23) to obtain \(R^*\) for a given set of parameters at each equilibrium point. This system can then be linearized about each equilibrium point using Eq. (30) and the dominant eigenvalue of the linearized system at a given set of parameters can be approximated with the spectral element method described in Sect. 4.1. We note that because a single delay is present, we use this delay for the system period when computing the monodromy matrix for the system.

Similar to the single protein model, we start by plotting the stability of the middle equilibrium point in Fig. 9. Note that we color the region as white if only the trivial equilibrium is present. We see that there are two distinct regions in the plot of the magnitude of the eigenvalue. The curve that separates these regions is the saddle node bifurcation curve for this system. Using a third order polynomial fit, the saddle node curve was found to be,

$$\begin{aligned} R_T=0.0016\tau ^3 -0.1118\tau ^2 + 4.8855\tau +10.3749, \end{aligned}$$
(36)

for \(\tau \ge 0.625\). This curve had a coefficient of determination of 0.9997. We plot the saddle node boundary as a red curve with triangles in the stability diagrams.

Because the dominant eigenvalue for the middle equilibrium always has a modulus greater than one for these parameters, this equilibrium point will not govern the stability of the system if another point is stable or marginally stable. This was also the case with the single protein system.

Fig. 9
figure 9

Three protein middle equilibrium point stability diagrams at equal delay. Specifically, the eigenvalues with maximum magnitude of the monodromy matrix are plotted with respect to the parameters \(\tau \) and \(R_T\). (left) The real part of the dominant eigenvalue, (middle) imaginary part of the dominant eigenvalue, (right) the modulus of the eigenvalue. The red curve with triangles is the saddle node boundary that separates regions with 1 and 3 equilibria. Above the red curve all three equilibrium points exist and below the curve only the trivial point is present (Color figure online)

Lastly, we plot the stability of the top equilibrium point of this system in Fig. 10. These diagrams show that for small delay and large resource, this point is stable. As the delay increases for a given resource, this point becomes an unstable focus by way of a Hopf bifurcation. We plot the Hopf bifurcation curve as a green line with dots. This curve was approximated by locating points in the parameter space with unit length eigenvalues. Using linear regression, the Hopf bifurcation curve was approximated to be,

$$\begin{aligned} R_T=12.0948\tau + 4.7910, \end{aligned}$$
(37)

for \(\tau \ge 0.75\). This model had a coefficient of determination of 0.9987 suggesting that it is a good approximation. Note that while there is interesting behavior that occurs between the green (dots) and red (triangles) curves in these stability diagrams, all of the eigenvalues plotted are outside of the unit circle and are therefore unstable so this is not a bifurcation it just means that another eigenvalue moved further from the origin.

Fig. 10
figure 10

Three protein top equilibrium point stability diagrams at equal delay. Specifically, the eigenvalues with maximum magnitude of the monodromy matrix are plotted with respect to the parameters \(\tau \) and \(R_T\). (left) The real part of the dominant eigenvalue, (middle) imaginary part of the dominant eigenvalue, (right) the modulus of the eigenvalue. The red curve with triangles is the saddle node boundary that separates regions with 1 and 3 equilibria. Above the red curve all three equilibrium points exist and below the curve only the trivial point is present. The Hopf bifurcation curve is shown as a line with green dots (Color figure online)

6.2 Response Features

Holding the remaining parameters constant at the values from Sect. 6.1, an amplitude feature diagram was generated with equal delays for all three proteins and varying the delay \(\tau \) with the total resource \(R_T\). The three protein system was simulated between 10,000 and 11,000 time units using the zero history function described in Sect. 4.3.2, and the amplitude feature was plotted in the \(\tau -R_T\) space where \(\tau \) is the same for all three proteins. The results are shown in Fig. 11. We see that the amplitude diagram has a similar structure to the single protein system, but there is a change in the amplitude feature for a small region at low total resource. System responses in these regions are explored further in Sect. 6.3. We plot the Hopf bifurcation curve from Sect. 6.1 in Fig. 11 as the green line with dots. The red curve with triangles corresponds to the saddle node bifurcation curve from the approximations in Sect. 6.1.

Fig. 11
figure 11

Three protein system response amplitude diagram in the \(\tau -R_T\) parameter space where \(\tau \) is the same delay for all three proteins. The low growth history function was used for all simulations in this diagram

6.3 Periodic Solutions

Three points were considered within the region of the parameter space with nontrivial amplitude in Fig. 11. Namely, we choose \((\tau , R_T)=(5.7,100)\), (25, 50) and (25, 11.8). The first point is in the nonzero amplitude region to the left of the Hopf bifurcation curve. This point was chosen to verify the subcriticality of the Hopf bifurcation. The second point was chosen to show the response near the middle of the oscillation region. We chose the third point in the region of differing amplitude at low total resource to observe the changes that occur when the cell has limited resources available. The steady state regions or regions with near zero amplitude were found to exhibit similar behaviors to the single protein model outside of the oscillation region so these responses will not be considered.

Starting with \(\tau =5.7\) and \(R_T=100\), the system was simulated between 15,000 and 15,005.7 time units to capture a single period of the response. This solution was then verified by solving the nonlinear DDE boundary value problem to obtain the periodic solution in Fig. 12. We see that the obtained solution is nearly identical to the simulation and appears to be close to a constant solution at the top equilibrium point which for these parameters is at \((p_1^*,p_2^*,p_3^*,R^*)\approx (0.9942,1.1328, 1.1328, 7.0965).\) We also note that all of the protein production rates here appear to oscillate in-phase.

Fig. 12
figure 12

Boundary value problem solution for the three protein system with \(\tau =5.7\) and \(R_T=100\)

Next, we study the solution when \(\tau =25\) at the same resource \(R_T=50\). This point corresponds to a region in the response feature diagram in Fig. 11 with the same amplitude as the solution in Fig. 12. Plotting the response for these parameters between 15,000 and 15,025 time units yielded Fig. 13. We see that as the total resource has decreased, the periodic solution is at zero protein production rates for most of the period. Again, the protein production rates appear to oscillate in-phase for these parameters.

Fig. 13
figure 13

Boundary value problem solution for the three protein system with \(\tau =25\) and \(R_T=50\)

Lastly, we compute a periodic solution in the thin region of larger amplitude feature at low total resource. To do this, we chose \(\tau =25\) and \(R_T=11.8\). The periodic solution was obtained using simulation data between 15,000 and 15,025 time units and the resulting solution is shown in Fig. 14. It is clear that the periodic solution at these parameters is much different from the others. We see that the peak for \(p_1(t)\) has shifted out of phase with the other proteins. This behavior could indicate that at extremely low resource, the best way to share that resource is to separate production of different proteins to different times, as this results in a more efficient use of resource for the cell.

Fig. 14
figure 14

Boundary value problem solution for the three protein system with \(\tau =25\) and \(R_T=11.8\)

6.4 Three Protein Summary

The three protein system was found to behave similarly to the single protein system. Three equilibrium points were found numerically, and a subcritical Hopf bifurcation was found in the \(\tau -R_T\) parameter space where all three proteins exhibited the same production time \(\tau \). A large region of periodic solutions was found by numerical simulation by way of a resource limiting history function which aligns with experimental observations (Tu et al. 2005). It was found that for small delay and large total resource, the cell can produce all proteins at a constant rate at the top equilibrium point. Due to the subcritical Hopf bifurcation of the top equilibrium point, an oscillation region appears in the parameter space which facilitates the transition from constant production to zero production just as was observed in the single protein system. Below the Hopf bifurcation curve, there is a bistability between the trivial equilibrium and the limit cycle, but slightly above the Hopf bifurcation curve there is a bistability between the top and trivial equilibrium points and the limit cycle. The trivial equilibrium was found to have a small basin of attraction and is only approached for small initial protein production rates \(p_0\).

7 Conclusion

We introduced a nonlinear time delay framework for modeling metabolic oscillations during protein synthesis in yeast cells. The model contains many parameters that control the behavior of the system where the delays correspond to the respective protein production times. The single protein and three protein variants of this model were studied to locate regions in the parameter space where the metabolic activity contained oscillations. Due to the complexity of the model, three numerical methods were utilized for locating limit cycles in these systems. First, a spectral element method was used to approximate the system as a high dimensional map whose eigenvalues approximate the true spectrum of the system allowing for the stability of the fixed points to be characterized in a subset of the parameter space. Three equilibrium points were found for each system and a subcritical Hopf bifurcation curve was located in the parameter space where an equilibrium point of the system loses stability and a limit cycle emerges leading to periodic solutions. The second numerical method utilized system simulations carried out over a range of \(\tau \) to show the region of bistability where the stable steady state and a stable periodic orbit coexist. The simulation results were verified with the third numerical method where a finite dimensional boundary value problem (BVP) was solved by discretizing the system using a spectral element approach. We found a large region of the parameter space to have nonzero amplitude of oscillation for a range of delay and total resource values. It was observed that the oscillation region forms as a transition between two steady states in the system (constant production and zero production) for large enough production times. It was also observed that for the three protein model when the resources were shared and each protein had an equal production time, certain parameters at low total resource resulted in a temporal shift in the protein production rate peaks. Our simulation results are consistent with what has been observed in experiment, and our model helps argue that the observed temporal shift is a more efficient use of resources for the cell.