Introduction

The ‘reverse engineering problem’ in systems biology concerns itself with the discovery of the networks of interactions among the components of biomolecular networks, including signaling, gene regulatory, and metabolic control networks. The objective is to map out the direct or ‘local’ interactions among components, which capture the topology of the functional network, with the ultimate goal of elucidating the mechanisms underlying observed behavior (phenotype).

Typically, the analysis is based upon data gathered from steady-state perturbation experiments. Perturbations are done to particular gene or signaling components by means of traditional genetic experiments, RNA interference, hormones, growth factors, or pharmacological interventions. Observed are steady-state changes in concentrations of active proteins, mRNA levels, transcription rates, and so forth. A graph is used to summarize the deduced interactions. For example, if there are two components, labeled A and B, one may perform an up-perturbation in A. If this leads to an increased value of B, a directed edge A → B labeled ‘activation’ is introduced. If it leads to a decreased level of B, an edge labeled ‘repression’ is drawn. If there is no effect on B, no edge is put in. A major difficulty with such steady-state (or even time-resolved) experiments is that perturbations propagate, sometimes rapidly, throughout the network, thus causing ‘global’ changes which cannot be easily distinguished from direct effects. To illustrate this difficulty, consider the two graphs shown in Fig.  9.1 (arrows are supposed to be activating). In both instances, up-perturbations of the external signal u or of the block labeled x results in up-perturbations of the block y, but there is no obvious way to distinguish the two architectures. A major goal in reverse engineering is to unravel the local interactions among individual nodes from these observed global responses.

Fig. 9.1
figure 1_9

Cascade and feedforward architectures

The ‘unraveling’, or ‘Modular Response Analysis’ (MRA) method proposed in [7] and further elaborated upon in [13, 12], (see [4, 13] for reviews) provides one approach to solving this global-to-local problem. The MRA experimental design compares those steady states which result after performing independent perturbations to each ‘modular component’ of a network. These perturbations might be genetic or biochemical. For example, in eukaryotes they might be achieved through the down-regulation of mRNA, and therefore protein, levels by means of RNAi, as done in [10]. That work employed MRA in order to quantify positive and negative feedback effects in the Raf/Mek/Erk MAPK network in rat adrenal pheochromocytoma (PC-12) cells; using the algorithms from [12] and [1], the authors of [10] uncovered connectivity differences depending on whether the cells are stimulated with epidermal growth factor (EGF) or instead with neuronal growth factor (NGF).

Let us illustrate the underlying idea with the simplest non-trivial example. Suppose that we are faced with the problem of distinguishing between the two possible architectures schematically shown in Fig. 9.1. In general, components may be described by single variables or by many variables. For instance, a gene expression component might be described at various levels of resolution: by just one variable (resulting protein levels), or by a far more complicated mechanism (including binding and unbinding of transcription factors, transcription initiation and mRNA polymerase dynamics, ribosome binding and translation dynamics, etc.). For simplicity, let us discuss a simple model in which each component is described by a scalar linear system. Thus both possible architectures are special cases of:

$$\begin{array}{rcl} \dot{x}& =& -\mathit{ax} + \mathit{bu} \\ \dot{y}& =& \mathit{cx} -\mathit{dy} + \mathit{pu} \\ \end{array}$$

where all parameters are positive but otherwise unknown (a, d > 0, so the model is stable), and the question that we are interested in is that of deciding whether p = 0 or p ≠ 0. (Obviously, it would be difficult to distinguish a small p ≠ 0 from p = 0, if measurements are noisy. We assume for this introductory discussion that measurements are exact.) The available data are the steady states for both x and y, for a constant (but unknown) input u, under these three scenarios: (1) a = a 0, u = u 0; (2) a = a 0, u = u 1; (3) a = a 1, u = u 0. Once again, we emphasize that u and a are not known. All we know is that they have changed, one at a time, in experiments (2) and (3), which represent a change in the concentration of u and a change in the degradation rate of x (e.g., due to a protease concentration being changed) respectively. In general, the steady state, obtained by setting \(\dot{x} =\dot{ y} = 0\), is (for constant u) given by \(x(\infty ) = (b/a)u\) and \(y(\infty ) = (cb/a + p)u/d\). Let us write \({x}_{\Delta u} = (b/{a}_{0}){u}_{1} - (b/{a}_{0}){u}_{0} = (b/{a}_{0})\Delta u\), the difference between the measured steady state of x for experiments (2) and (1), and the corresponding quantity \({y}_{\Delta u} = (cb/a + p)\Delta u/d\) for y. Similarly, subtracting the data from experiments (3) and (1) provides the measured quantities \({x}_{\Delta a} = (1/{a}_{1} - 1/{a}_{0})b{u}_{0}\) and \({y}_{\Delta a} = (1/{a}_{1} - 1/{a}_{0})cb{u}_{0}/d\). Thus, we can compute from the data: \({y}_{\Delta u}/{x}_{\Delta u} - {y}_{\Delta a}/{x}_{\Delta a} = {a}_{0}p/(bd)\). If this last number is zero, then p = 0 (cascade architecture), and if it is nonzero, then p ≠ 0 (feedforward architecture). Our objective of distinguishing between the two structures has been achieved. (Moreover, we can even recover the numerical value \({y}_{\Delta a}/{x}_{\Delta a} = c/d\). And, if u 0 or u 1 were also known, then we would be able to compute b ∕ a 0 from the steady state value of x, and hence we would also obtain the value of p ∕ d, as \((b/{a}_{0}) \cdot ({a}_{0}p/(bd))\). Therefore, the relative strengths of all the terms in the equation for \(\dot{y}\) have been computed. Note that this is the best that one can do: the actual values of all three constants can never be obtained from purely steady-state data, because multiplying all constants by the same number doesn’t affect the steady states.)

The MRA method generalizes the procedure shown for the above example, and is reviewed in section “Modular Response Analysis” together with an application and an extension to quasi-steady state data.

The name ‘modular’ arises from the fact that, in MRA, only communicating intermediaries in-between ‘modules’ are measured. When applying MRA in a modular fashion, only perturbation data on these communicating signals are collected. The connectivity strength among a pair of such intermediary signals (such as levels of activated signaling proteins) is estimated, even if this apparent connectivity is not due to a ‘directed’ biochemical interaction. In principle, an obvious advantage of the modular approach is that it can be applied regardless the degree of internal complexity of the nodes, since ‘hidden’ variables (such as non-activated forms of a signaling protein) only affect connectivity in an indirect fashion, Thus, functional interactions among communicating variables can be deduced without requiring detailed knowledge of all the components involved.

Unfortunately, this analysis may be misleading, due to ‘impedance’ or ‘load’ effects. Following work by Saez-Rodriguez and others [9], we generically called such effects retroactivity in [5]. In this paper, we wish to discuss how stoichiometric constraints (conservation laws) might lead to erroneous conclusions when using the MRA methodology. Let us illustrate this phenomenon with one of the simplest possible examples. Suppose that we want to study a system in which we postulate that there are two ‘modules’ involving enzymes X and Y,the ‘active forms’ of which are the ‘communicating variables’. The active form X is reversibly produced from an inactive form X 0. We assume that Y is formed when X reversibly binds to a substrate S producing a complex C, which may dissociate into X and S or into X and Y (this is a standard Michaelis-Menten type of reaction). We also assume that Y can revert to S in one step; a more complicated model could be used as well, by modeling the phosphotase action in a Michaelis-Menten form, or by modeling mechanistically its binding and unbinding to Y,but the principle is the same.

The network of reactions is as follows:

and we consider experiments in which \({\mathit{X}}_{0}(0) = 3,\mathit{X}(0) = 0,\mathit{C}(0) = \mathit{Y }(0) = 0\), and S(0) = β, and either α or β is to be perturbed experimentally. We think of X 0 and X as constituting the first ‘module’ and S, C, Y as the second one. The two parameters α, β are usually viewed as affecting only the second module. The unique positive steady state (X, S, C, Y ) is then obtained by solving:

$$2\mathit{X} + \mathit{C} = 3,\quad \mathit{C} = \mathit{X}\mathit{S},\quad \mathit{C} = \alpha \mathit{Y },\quad \mathit{S} + \mathit{C} + \mathit{Y } = \beta $$

(and X 0 = X).

We will consider perturbations around α = 1 and β = 3. For these nominal parameter values, (X, S, C, Y ) = (1, 1, 1, 1). Taking implicit derivatives with respect to α, evaluating at \(\mathit{X} = \mathit{S} = \mathit{C} = \mathit{Y } = 1\), α = 1, β = 3, and denoting \(x = \partial \mathit{X}/\partial \alpha \), \(u = \partial \mathit{S}/\partial \alpha \), \(v = \partial \mathit{C}/\partial \alpha \), \(y = \partial \mathit{Y }/\partial \alpha \), we have that:

$$2x + v = 0,\quad v = x + u,\quad v = 1 + y,\quad u + v + y = 0$$

which solves to:

$$x = -1/7,\quad u = -3x,\quad v = -2x,\quad y = 5x$$

and thus ‘dX ∕ dY ’ computed as \(\frac{\partial \mathit{X}/\partial \alpha } {\partial \mathit{Y}/\partial \alpha }\) equals 1 ∕ 5 > 0.

The MRA method, or any other sensitivity-based approach, applied to the phenomenological model in which only active X and Y are viewed as ‘communicating intermediaries’ will lead us to include an edge Y → X labeled ‘activating’. But such an edge does not represent a true feedback effect: for example, it is not possible to delete this edge with a ‘mutation’ in the system that does not affect the forward edge. The edge merely reflects a ‘loading’ or impedance effect. In fact, the situation is even more confusing. Taking implicit derivatives with respect to β, evaluating at \(\mathit{X} = \mathit{S} = \mathit{C} = \mathit{Y } = 1\), α = 1, β = 3, and denoting \(x = \partial \mathit{X}/\partial \beta \), \(u = \partial \mathit{S}/\partial \beta \), \(v = \partial \mathit{C}/\partial \beta \), \(y = \partial \mathit{Y }/\partial \beta \), we now have that:

$$2x + v = 0,\quad v = x + u,\quad v = y,\quad u + v + y = 1$$

which solves to:

$$x = -1/7,\quad u = -3x,\quad v = -2x,\quad y = -2x$$

and thus ‘dX ∕ dY ’ computed as \(\frac{\partial \mathit{X}/\partial \beta } {\partial \mathit{Y}/\partial \beta }\) now equals \(-1/2 < 0\). Now the (false) effect is inhibition. (The intuition is that when we increase α, the substrate for X increases, sequestering more of X, and also Y is smaller. If instead we over-express S, then both X is sequestered more and Y is larger. But intuition is not enough: for some parameters, dX ∕ dY  < 0 for both experiments.)

Experimentally, it is often the case that one measures X + C and Y,instead of X and Y,so that one would be interested in the relative variations of \(\hat{x} = x + v\) and y. Since \(2x + v = 0\), it follows that \(\hat{x} = -x\). Thus, \(d(\mathit{X} + \mathit{C})/d\mathit{Y } = -d\mathit{X}/d\mathit{Y }\), so the signs are reversed, but are, again, ambiguous.

Of course, there is a simple explanation for the problem: the parameter α affects the differential equation for X, and the variables S and C in fact enter that differential equation. Thus, the conditions for applicability of MRA have been violated. The point, however, is that a naive application of sensitivity analysis (as usually done in practice) that does not account for these subtle dependencies is wrong. One way to avoid this potential pitfall is to insure that the postulated mechanism (without additional feedback loops) does not exhibit such ‘load’ effects. We will present an algorithm to detect such effects (at steady state).

Modular Response Analysis

Precise Problem Formulation

We consider systems

$$\dot{x} = f(x,p)$$

where x = (x 1, , x n ) is the state and p = (p 1, , p m ) is a vector of parameters. Parameters can be manipulated, but, once changed, they remain constant for the duration of the experiment. We will assume that m ≥ n. In biological applications, the variables x i might correspond to the levels of protein products corresponding to n genes in a network, and the parameters to translation rates, controlled by RNAi. Another example would be that in which the parameters represent total levels of proteins, whose half-lives are long compared to the time scale of the processes (such as phosphorylation modifications of these proteins in a signaling pathway) described by the variables x i . Yet another example would be one in which the parameters represent concentrations of enzymes that control the reactions, and whose turnover is slow. The goal is to obtain, for each pair of variables x i and x j , the relative signs and magnitudes of the partial derivatives \frac{∂f i } {∂x j } , which quantify the direct effects of each variable x j upon each variable x i . The entries of ∂f i  ∕ ∂x j of the Jacobian F of f with respect to x are functions of x and p. The steady-state version of MRA attempts to estimate this Jacobian when \(x = \bar{x}\) is an ‘unperturbed’ steady state attained when the vector of parameters has an ‘unperturbed’ value \(p = \bar{p}\). The steady-state condition means that \(f(\bar{x},\bar{p}) = 0\). Ideally, one would want to find the matrix F, since this matrix completely describes the influence of each variable x j upon the rate of change of each other variable x i . Unfortunately, such an objective is impossible to achieve from only steady-state data, because, for any parameter vector p and associated steady-state x, f(x, p) = 0 implies that Λf(x, p) = 0, for any diagonal matrix Λ = diag (λ1, , λ n ). In other words, the best that one could hope for is for steady state data to uniquely determine each of the rows

$${F}_{i} = ({F}_{i1},\ldots,{F}_{\mathit{in}})\,,\;\;i = 1,\ldots,n$$

of Fonly up to a scalar multiple. For example, if we impose the realistic condition that F ii  ≠ 0 for every i (these diagonal Jacobian terms typically represent degradation and/or dilution effects, and are in fact negative), one could hope to have enough data to estimate the ratios a ij  ∕ a ii for each i ≠ j. Note that F i is the same as the gradient ∇ f i of the ith coordinate f i of f, evaluated at steady states.

The critical assumption for MRA, and indeed the main point of [7, 8, 12], is that, while one may not know the detailed form of the vector field f, often one does know which parameters p j directly affect which variables x i . For example, x i may be the level of activity of a particular protein, and p i might be the total amount (active plus inactive) of that particular protein; in that case, we might postulate that p i only directly affects x i , and only indirectly affects the remaining variables.

Under the above assumptions, the steady-state MRA experimental design consists of the following steps:

  1. 1.

    Measure a steady state \(\bar{x}\) corresponding to the unperturbed vector of parameters \(\bar{p}\);

  2. 2.

    Separately perform a perturbation to each entry of \(\bar{p}\), and measure a new steady state.

The ‘perturbations’ are assumed to be small, in the sense that the theoretical analysis will be based on the computation of derivatives. Under mild technical conditions, this means that a perturbed steady state can be found near \bar{x}. Note that there are m + 1 experiments, and n numbers (coordinates of the corresponding steady state) are measured in each. In practice, of course, this protocol is repeated several times, so as to average out noise and obtain error estimates, as we discuss later. For our theoretical analysis, however, we assume ideal, noise-free measurements, and so we may assume that each perturbation is done only once.

Using these data (and assuming that a certain independence condition, which we review later, is satisfied), it is possible to calculate, at least in the ideal noise-free case, the Jacobian of f, evaluated at \((\bar{x},\bar{p})\), except for the unavoidable scalar multiplicative factor uncertainty on each row.

The obtained results typically look as shown in Fig. 9.2, which is reproduced from [10].The authors of that paper used MRA on their experimental data in order to infer positive and negative feedback effects in the Raf/Mek/Erk MAPK network in PC-12 cells, employing perturbations in which total mRNA, and thus protein, levels are down-regulated by means of RNAi. The numbers in the arrows in Fig. 9.2 have been normalized to − 1’s in the diagonal of the Jacobian.

Fig. 9.2
figure 2_9

Three reconstructed local interaction maps, in MRA experiments from [10]. Topologies derived from data obtained after stimulation by EGF (left panel, 5) or NGF (middle panel, 5, and right panel, 15)

Mathematical Details

We assume given a parameter vector \bar{p} and state \bar{x} such that f(\bar{x}, \bar{p}) = 0 and so that the following generic condition holds for the Jacobian of f: \(\det F(\bar{x},\bar{p}) =\det \frac{\partial f} {\partial x}(\bar{x},\bar{p})\not =0\). Therefore, we may apply the implicit function theorem and conclude the existence of a mapping ϕ, defined on a neighborhood of \(\bar{p}\), with the property that, for each row i,

$${f}_{i}(\varphi (p),p) = 0\quad \quad \mbox{ for all}\;\;p \approx \bar{p},$$
(9.1)

and \(\phi (\bar{p}) = \bar{x}\) (and, in fact, x = ϕ(p) is the unique state x near \(\bar{x}\) such that f(x, p) = 0).

We next discuss how one reconstructs the gradient \(\nabla {f}_{i}(\bar{x},\bar{p})\), up to a constant multiple. (The index i is fixed from now on, and the procedure must be repeated for each row f i .) We do this under the assumption that it is possible to apply n − 1 independent parameter perturbations. Mathematically, the assumption is that there are n − 1 indices j 1, j 2, , j n − 1 with the following two properties:

  1. (a)

    f i does not depend directly on any p j : ∂f i  ∕ ∂p j  ≡ 0, for j ∈ { j 1, j 2, , j n − 1}, and

  2. (b)

    the vectors \({v}_{j} = (\partial \varphi /\partial {p}_{j})(\bar{p})\), for these j’s, are linearly independent.

Assumption (a) is structural, and is key to the method and nontrivial, but assumption (b) is a weaker genericity assumption.

We then have, taking total derivatives in (9.1):

$$\nabla {f}_{i}(\bar{x},\bar{p})\,{v}_{j}\; =\; 0,\quad \quad j \in \{ {j}_{1},{j}_{2},\ldots,{j}_{n-1}\}.$$

Thus, the vector \(\nabla {f}_{i}(\bar{x},\bar{p})\) which we wish to estimate, and which we will denote simply as F i , is known to be orthogonal to the n − 1 dimensional subspace spanned by {v 1, , v n − 1}. Therefore, it is uniquely determined, up to multiplication by a positive scalar. The row vector Fi satisfies

$$Fi\,\Sigma \; =\; 0$$
(9.2)

where Σ is defined as the n ×(n − 1) matrix whose columns are the v i ’s. Generically, we assume that there is no degeneracy, and the rank of Σ is n − 1. Thus, Fi can be computed by using Gaussian elimination, as any vector which is orthogonal to the span of the columns of Σ. Another way to phrase this is to say that Fi is in the (one-dimensional) left nullspace of the matrix Σ. Of course, the sensitivities represented by the vectors v i (entries of the matrix Σ, or Σ# in the noisy case) cannot be directly obtained from typical experimental data. However, approximating the vectors v j by finite differences, one has that \(\nabla {f}_{i}(\bar{x},\bar{p})\) is approximately orthogonal to these differences as well.

We next briefly discuss how to modify the algorithm to account for repeated but noisy measurements. In principle, such noise may be due to combinations of internal sources, such as stochasticity in gene expression, external sources affecting the process being studied, or measurement errors. Our discussion is tailored to measurement noise, although in an approximate way may apply to internal noise; however, the effect of internal noise on MRA has not been studied in any detail.

In practice, one would estimate not merely the results of just n − 1 perturbation experiments, but many repetitions, collecting the data into a matrix Σ# whose columns are derived from the different experiments. We will think of each column of Σ# as having the form v + e, where v is a vector \((\partial \varphi /\partial {p}_{j})(\bar{p})\), for some parameter p j for which f i does not depend directly on p j , and where e is an ‘error’ vector. In matrix notation, \(\Sigma \# = \Sigma + E\), where E denotes an error matrix. Note that Eq. 9.2 implies that Σ has rank n − 1. On the other hand, because of noise in measurements, Σ# will have full rank n, which means that there is no possible nonzero solution Fi to Eq. 9.2 with the data matrix Σ# used in place of the (unknown) Σ. So, we proceed as follows. Assuming that the signal to noise ratio is not too large, the experimental matrix Σ# should be close to the ideal (noise-free) matrix, Σ. The best least-squares estimate of Σ, in the sense of minimization of the norm of E, is obtained by a singular value decomposition Σ# = UMV T: the matrix Σ of rank n − 1 for which E is minimized is \(\Sigma = U{M}_{n-1}{V }^{T}\), where M n − 1 is the matrix obtained from M by setting the smallest singular value σ n to zero. We now replace Eq. 9.2 by FiΣ# = 0, which, because V is nonsingular, is the same as \(FiU{M}_{n-1} = 0\). Under the generic assumption that σ1, , σ n − 1 are nonzero, this means that FiU = αe n T, where α is a scalar and e n T = (0, 0, , 0, 1). We then conclude that, up to a constant multiple, Fi T = Ue n is the right singular vector corresponding to the smallest singular value σ n .

This procedure can also be interpreted as follows (see [1] for details). If we normalize Fi to have its ith entry as ‘ − 1’ (in other words, we normalize the diagonal of the Jacobian to − 1’s), then the equation FiΣ# = 0 can also be written as ‘Az = b’ where z represents the unknown n − 1 remaining entries of Fi, b is the ith column of Σ#, and A is the matrix in which this column has been removed from Σ#. The estimation method outlined above is the ‘total least squares’ or ‘errors in variables’ procedure. Statistically, the method is justified if the elements of the noise matrix E are independent and identically distributed normal (Gaussian) random variables. If these entries are normal and independent but have different variances, then one must modify the above procedure to add an appropriate weighting, but in the general non-Gaussian case nonlinear SVD techniques are required.

Let us suppose that the entire network consists of an interconnection of n subsystems or ‘modules’, each of which is described by a set of differential equations such as:

$$\begin{array}{rcl} \dot{{x}}_{j}& =& \,\,{g}_{j}({\mathbf{y}}_{j},{x}_{1},\ldots,{x}_{n},{p}_{1},\ldots,{p}_{m}),\quad j = 1,\ldots,n \\ \dot{{\mathbf{y}}}_{j}& =& {G}_{j}({\mathbf{y}}_{j},{x}_{1},\ldots,{x}_{n},{p}_{1},\ldots,{p}_{m}),\quad j = 1,\ldots,n, \\ \end{array}$$

where the variables x j represent ‘communicating’ or ‘connecting’ intermediaries of module j that transmit information to other modules, whereas the vector variables \({\mathbf{y}}_{j}\) represent chemical species that interact within module j. Each vector \({\mathbf{y}}_{j}\) has dimension j . The integers j , j = 1, , n are in general different for each of the n modules, and they represent one less than the number of chemical species in the jth module respectively. Observe that, for each j, the rate of change of the communicating variable depends only on the remaining communicating variables x i , i ≠ j, and on the variables \({\mathbf{y}}_{j}\) in its own block, but does not directly depend on the internal variables of other blocks. In that sense, we think of the variables \({\mathbf{y}}_{j}\) as ‘hidden’ (except from the communicating variable in the same block).

We will assume, for each fixed module, that the Jacobian of G j with respect to the vector variable \({\mathbf{y}}_{j}\), evaluated at the steady state corresponding to \bar{p} (assumed to exist, as before) is nonsingular. The Implicit Mapping Theorem then implies that one may, in a neighborhood of this steady state, solve G j (y j , x, p) = 0 (x denotes the vector x 1, , x n , and similarly for p) for the vector variable \({\mathbf{y}}_{j}\), as a function of x, p, the solution being given locally by a function y j  = M j (x, p). Those steady states that are obtained by small perturbations of \bar{p} are the same as the steady states of the ‘virtual’ system \(\dot{{x}}_{j} = {h}_{j}({x}_{1},\ldots,{x}_{n},{p}_{1},\ldots,{p}_{m}) = {g}_{j}({\mathbf{M}}_{j}(x,p),x,p)\), j = 1, , n. From here on, the analysis then proceeds as before, using the h j ’s instead of the f j ’s. A generalization to the case of more than one communicating intermediate in a module, namely a vector \(({x}_{j,1},\ldots,{x}_{j,{k}_{j}})\), is easy.

An example of the experimental data used to derive the diagrams in Fig. 9.2 is provided by Fig. 9.3, which shows the level of active (doubly phosphorylated) Erk1/2 when PC-12 cells have been stimulated by EGF and NGF.(The Figure shows only responses in the unperturbed case. Similar plots, not shown, can be derived from the data for the perturbation experiments given in [10].) The response to NGF stimulation allows the application of the steady-state MRA method, and leads to the results shown in the right-most panel in Fig. 9.2. However, the plots in Fig. 9.3 indicate that, in certain problems, steady-state data cannot be expected to provide enough information, even for only finding the Jacobian rows up to multiplicative factors. Such a situation occurs when the system adapts to perturbations. In Fig. 9.3, notice that the steady state response to EGF stimulation is (near) zero (this holds for perturbed parameters as well, not shown). Thus, measuring steady-state level of activity of Erk1/2 after parameter perturbations, in the EGF-stimulated cells, will not provide nontrivial information. One needs more than steady-state data.

Fig. 9.3
figure 3_9

Active form of Erk1/2, in MRA experiments from [10]. Data shown only for unperturbed case

A variant of MRA, which allows for the use of general non-steady-state, time-series data was developed in [12]. However, that method requires one to compute second-order time derivatives, and hence is especially hard to apply when time measurements are spaced far apart and/or are noisy. In addition, as shown for 5 and 15 NGF stimulation by the middle and rightmost panels in Fig. 9.2, the relative strengths of functional interactions may change over time, so that a time-varying Jacobian may not be very informative from a biological standpoint. An appealing intermediate possibility is to use quasi-steady state data, meaning that one employs data collected at those times at which a variable has been observed to attain a local maximum (peak of activity) or a local minimum. Indeed, this is the approach taken in [10], which, for EGF stimulation, measured network responses at the time of peak Erk activity (approximately 5 min), and not at steady state. The left-most and middle panels in Fig. 9.2 represent, respectively, the networks reconstructed in [10] when using quasi steady-state data (at approximately 5 min) for EGF and NGF stimulation.

We next describe the extension to quasi-steady state MRA. We consider the following scenario. For any fixed variable, let us say the ith component x i of x, we consider some time instant \({\bar{t}}_{i}\) at which \(\dot{{x}}_{i}(t)\) is zero. Under the same independence hypothesis as in the steady-state case, plus the non-degeneracy assumption that the second time derivative \(\ddot{{x}}_{i}({\bar{t}}_{i})\) is not zero (so that we have a true local minimum or local maximum, but not an inflection point), we show here that the MRA approach applies in exactly the same manner as in the steady-state case. Specifically, the ith row of the Jacobian of f, evaluated at the vector \((\bar{x},\bar{p})\), is recovered up to a constant multiple, where \(\bar{x} = x({\bar{t}}_{i})\) is the full state x at time \({\bar{t}}_{i}\). The main difference with the steady-state case is that different rows of f are estimated at different pairs \((\bar{x},\bar{p})\), since the considered times \({\bar{t}}_{i}\) at which each individual \(\dot{{x}}_{i}(t)\) vanishes are in general different for different indices i, and so the state \(\bar{x}\) is different for different i’s.

We fix an index i ∈ { 1, , n}, and an initial condition x(0), and assume that the solution x(t) with this initial condition and a given parameter vector \(\bar{p}\) has the property that, for some time \(\bar{t} ={ \bar{t}}_{i}\), we have that both \(\dot{{x}}_{i}(\bar{t}) = 0\) and \(\ddot{{x}}_{i}(\bar{t})\not =0\). At the instant \(t = \bar{t}\), x i achieves a local minimum or a local maximum as a function of t. We describe the reconstruction of the ith row of the Jacobian of f, which that is, the gradient ∇ f i , where f i is the ith coordinate of f, evaluated at \(x = \bar{x}\) and \(p = \bar{p}\), where \(\bar{x} = x(\bar{t})\).

To emphasize the dependence of the solution on the parameters (the initial condition x(0) will remain fixed), we will denote the solution of the differential equation \(\dot{x} = f(x,p)\) by x(t, p). The function x(t, p) is jointly continuously differentiable in x and p, if the vector field f is continuously differentiable. Note that, with this notation, the left-hand side of the differential equation can also be written as ∂x ∕ ∂t, and that \(x(\bar{t},\bar{p}) = \bar{x}\).

Consider α(t, p) = \frac{∂x i } {∂t} (t, p) = f i (x(t, p), p). Thus,

$$\frac{\partial \alpha } {\partial t} (t,p)\; =\; \frac{{\partial }^{2}{x}_{i}} {\partial {t}^{2}} (t,p)\; =\; \nabla {f}_{i}(x(t,p),p)\,f(x(t,p),p)$$

and \(\alpha (\bar{t},\bar{p}) = 0\). The assumption that \(\ddot{{x}}_{i}(\bar{t})\not =0\) when \(p = \bar{p}\) means that \(\frac{\partial \alpha } {\partial t} (\bar{t},\bar{p})\not =0\). Therefore, we may apply the implicit function theorem and conclude the existence of a mapping τ, defined on a neighborhood of \(\bar{p}\), with the property that α(τ(p), p) = 0 for \(p \approx \bar{p}\) and \(\tau (\bar{p}) = \bar{t}\) (and, in fact, t = τ(p) is the unique value of t near \(\bar{t}\) such that \((\partial {x}_{i}/\partial t)(t,p) = \alpha (t,p) = 0\)). Finally, we define, also in a neighborhood of \(\bar{p}\), the differentiable function φ(p) = x(τ(p), p) and note that \(\varphi (\bar{p}) = \bar{x}\). Observe that, from the definition of α, we have that Eq. 9.1 holds, exactly as in the steady-state case. From here, the reconstruction of \(\nabla {f}_{i}(\bar{x},\bar{p})\) up to a constant multiple proceeds as in the steady-state case, again under the assumption that it is possible to apply n − 1 independent parameter perturbations. A noise analysis similar to that in the steady state case can be done here. However, there are now many more potential sources of numerical and experimental error, since measurements at different times are involved. In addition, internal (thermal) noise may introduce additional error, since, in the quasi-steady state case, the state probability distributions (solutions of the Chemical Master Equation) have not converged to steady state.

Retroactivity at Steady States

In this section, we analyze the retroactivity phenomenon of interconnections at steady states. As discussed in the introduction, such an analysis is required in order to understand the possible pitfalls of MRA. We will not define the term ‘retroactivity’ as such, but instead use it only informally; the results to be given provide a precise content to the term under slightly different contexts. The main question is, in any event, to understand what is the relation between the steady states of individual systems (described by chemical reactions) and the steady states of their interconnection.

Intuitively, one expects that retroactivity at steady state arises only when there are more conservation laws imposed by an interconnection, in addition to those that hold for each of the interconnected systems separately. Making this intuition precise is not completely trivial. In fact, unless certain properties are imposed on interconnections, the intuition is not even correct.

Our main results, Theorems 9.5 and 9.7, give sufficient conditions for retroactivity to exist or not, respectively. Neither is necessary. However, we will define a ‘consistency’ property for interconnections, under which Theorems 9.5 and  9.7 constitute a dichotomy.

See the Appendix for basic notations from chemical network theory. From now on, we will assume that the vector S of species has \(N = n + m\) components, which we partition into two vectors x ∈  n and z ∈  m: S = (x , z ) (we use primes to indicate transpose). Corresponding to these coordinates, the reaction vector is partitioned into two vectors R 1(x) and R 2(x, z) of dimensions r 1 and \({r}_{2} = r - {r}_{1}\) respectively: R(x, z) = (R 1(x), R 2(x, z)). We also assume that, in terms of this partition, the stoichiometry matrix looks as follows:

$$\Gamma \; =\; \left (\begin{array}{cccccccccccc} P\\ Q \end{array} \right )\; =\; \left (\begin{array}{cccccccccccc} A&&B\\ 0 & & C \end{array} \right )$$

where P ∈  n ×r, Q ∈  m ×r, \(A \in {\mathbb{R}}^{n\times {r}_{1}}\), \(B \in {\mathbb{R}}^{n\times {r}_{2}}\), \(C \in {\mathbb{R}}^{m\times {r}_{2}}\). (In some contexts, it will be convenient to use the ‘(P, Q)’ form, while for other contexts the ‘(A, B, C)’ form will be more useful.) The equations for the system take the following partitioned form:

$$\begin{array}{rcl} \dot{x}& =& A{R}_{1}(x)\, +\, B{R}_{2}(x,z) \\ \dot{z}& =& C{R}_{2}(x,z) \\ \end{array}$$

When there are no reactions involving x alone, we write A = 0, thought of as an n ×1 matrix. Observe that, of course, the actual reactions entering x and z need not be the same, since B and C may multiply different elements of the vector R 2(x, z) by zero coefficients.

We think of the overall system as an interconnection of the ‘upstream’ subsystem described by the x-variables, that feeds a signal to the ‘downstream’ subsystem described by the z variables. The ‘x’ appearing in CR 2(x, z) is seen, in that sense, as an input signal to the second system. The role of BR 2(x, z) is different. This term represents the ‘retroactivity to the output’, denoted by the letter ‘r’ in [5], and is interpreted as a ‘load’ effect that arises due to the physical interconnection. Of course, these interpretations are subjective, and partitioning a system into an interconnection can be done in non-unique ways. However, the questions to be posed depend on one such partition.

In this context, we call the system \(\dot{x} = A{R}_{1}(x)\) the isolated system, and the full system \(\dot{S}\,=\,\Gamma R(S)\) the interconnected system. We use the notation Δ 1(x) for the stoichiometry class of a state x of the isolated system:

$${\Delta }_{1}(x)\; =\; (x + {\Delta }_{1})\bigcap \nolimits {\mathbb{R}}_{\geq 0}^{n}\,,$$

where Δ 1 is the span of the columns of A.

Example 9.1.

Our first example is this network:

which represents the interaction of five species: an kinase which exists in inactive (X 0) or active (X, typically phosphorylated) form, a substrate S for the active kinase, a complex C that is a dimmer of X and S, and a ‘product’ Y of the enzymatic reaction. (For simplicity, we assume that the reverse transformation of Y back to S happens at a constant rate; more complicated models can be studied in exactly the same way.)

We wish to think of this system of chemical reactions as consisting of the upstream system described by the vector x = (X 0, X) which drives the downstream system described by the vector z = (S, C, Y ). Thus, with n = 2, m = 3, r 1 = 2, and r 2 = 3, we take, using mass-action kinetics, R 1(x) = (k 1 X 0, k 2 X) and R 2(x, z) = (k 3 XS, k 4 C, k 5 C, k 6 Y ). Note that

$$A = \left (\begin{array}{cccccccccccc} - 1 & 1\\ 1 & -1 \end{array} \right ),\quad B = \left (\begin{array}{cccccccccccc} 0 & 0 & 0 & 0\\ - 1 & 1 & 1 & 0 \end{array} \right )$$
$$C = \left (\begin{array}{cccccccccccc} - 1 & 1 & 0 & 1\\ 1 & - 1 & - 1 & 0 \\ 0 & 0 & 1 & 1 \end{array} \right )\,.$$

There are conservation laws in this system which tie together the isolated (x) system to the downstream (z) system, and one may expect that retroactivity effects appear. Indeed, this system will satisfy the sufficient condition for retroactivity given in Theorem 9.5 below. □ 

Example 9.2.

Consider these reactions:

Then, with x = X and z = (P, C), and listing reactions in the obvious order:

$$A = \left (\begin{array}{cccccccccccc} 1 & - 1 \end{array} \right ),\;B = \left (\begin{array}{cccccccccccc} - 1 & 1 \end{array} \right ),\;C = \left (\begin{array}{cccccccccccc} - 1 & 1\\ 1 & -1 \end{array} \right ).$$

Because of the production and/or decay of X, there are no conservation laws tying together the X and the P, C systems, and there is no retroactivity effect. Indeed this system will satisfy the sufficient condition in Theorem 9.7 for non-retroactivity. □ 

Example 9.3.

Consider the following reaction:

with x = X and z = Z. Here \(B = (-1\;0)\) and \(C = (1\; - 1)\), and A = 0. This example is one in which there are no conservation laws whatsoever, yet retroactivity holds. Neither Theorem 9.5 nor Theorem 9.7 applies to this example, showing the gap between the conditions. However, this example is somewhat pathological, as it represents an ‘inconsistent’ interconnection in the sense defined below. □ 

Consider the following property:

$$\mbox{ rank}\left (\begin{array}{cccccccccccc} P\\ Q \end{array} \right )\, =\, \mbox{ rank}\,P+\mbox{ rank}\,Q $$
({_\ast})

Remark 1.

Since the weak inequality ‘ ≤ ’ is always true, the negation of (*) is equivalent to:

$$\mbox{ rank}\left (\begin{array}{cccccccccccc} P\\ Q \end{array} \right )\, <\, \mbox{ rank}\,P+\mbox{ rank}\,Q $$
({_\ast}{\fontencoding{LECO}\selectfont\char216})

or, equivalently, the requirement that the row spaces of P and Q have a nonzero intersection. □ 

If property ∗̸ holds, then there is retroactivity at steady state. The precise statement is as follows:

Lemma 9.4.

Suppose that Property (∗) does not hold. Then, for each positive state \(\bar{S} = {(\bar{{x}}^{{\prime}},\bar{{z}}^{{\prime}})}^{{\prime}}\) of the interconnected system, there exists a state S 0 = (x 0 ,z 0 ) such that

$$\Delta ({S}_{0}) = \Delta (\bar{S})\;\;\;\mbox{ but}\;\;\;{\Delta }_{1}({x}_{0})\not ={\Delta }_{1}(\bar{x})\,.$$

Moreover, S 0 can be picked arbitrarily close to \(\bar{S}\).

Proof.

Suppose that ∗̸ holds, and pick any positive state \(\bar{S}\). By ∗̸ , there is some nonzero row vector θ which is in the row spaces of P and Q, that is to say, there are two row vectors μ0 and ν0 such that \(\theta = {\mu }_{0}P = {\nu }_{0}Q\not =0\). Replacing ν0 by − ν0, we will assume that \({\mu }_{0}P = -{\nu }_{0}Q\not =0\). Let r be any vector such that μ0 Pr ≠ 0 (for example, one may pick r = P μ0 ), and let u : = Pr and v : = Qr. Let, as earlier, Π : = Δ  ⊥ . Note that, for each π = (μ, ν) ∈ Π, \(\mu P + \nu Q = 0\), by definition of Π, and therefore also \(\mu u + \nu v = (\mu P + \nu Q)r = 0\). In particular, (μ0, ν0) ∈ Π satisfies that \({\mu }_{0}u = {\mu }_{0}\mathit{Pr}\not =0\) and also \({\nu }_{0}v = {\nu }_{0}Qr = -{\mu }_{0}\mathit{Pr}\not =0\). Since P = (AB) and Q = (0 C), every element (μ, ν) ∈ Π has the property that, in particular, μA = 0.

Notice that one could pick u and v as close to zero as wanted (multiplying, if necessary, u and v by a common small positive factor). So, without loss of generality, we assume that both \({x}_{0} :=\bar{ x} + u\) and \({z}_{0} :=\bar{ z} + v\) are non-negative, and write S 0 : = (x 0 , z 0 ). We claim that S 0 and \(\bar{S}\) are in the same stoichiometry class. Indeed, for any (μ, ν) ∈ Π: \(\mu \bar{x}+\nu \bar{z} = \mu \bar{x}+\nu \bar{z}+0 = \mu \bar{x}+\nu \bar{z}+\mu u+\nu v = \mu (\bar{x}+u)+\nu (\bar{z}+v) = \mu {x}_{0}+\nu {z}_{0}\,.\)

Finally, we claim that x 0 and \(\bar{x}\) are not in the same stoichiometry class for the isolated system. Since μ0 A = 0, μ0 is a conservation law for the isolated system. So it will be enough to show that \({\mu }_{0}\bar{x}\not ={\mu }_{0}\xi \). Indeed, \({\mu }_{0}\bar{x} = {\mu }_{0}({x}_{0} - u) = {\mu }_{0}\xi - {\mu }_{0}u\), and μ0 u ≠ 0. ■ 

Lemma 9.4 implies a steady-state retroactivity effect, in the following sense. Suppose that \(\bar{S}\) is an attractor for points near it and in \(\Delta (\bar{S})\). If x 0 is taken as the initial state of a trajectory x(t) for the isolated system, then every limit point ξ of this trajectory is in Δ 1(x 0). On the other hand, if the composite system is initialized at this same state x 0 for the x-subsystem, and at z 0 for the z-subsystem, then the ensuing trajectory converges to the steady state \(\bar{S}\), with x-component \(\bar{x}\). But \(\xi \not =\bar{x}\), because \(\bar{x}\not\in {\Delta }_{1}({x}_{0})\). The following result formalizes this fact.

Theorem 9.5.

Suppose that there is some positive steady state \(\bar{S} = {(\bar{{x}}^{{\prime}},\bar{{z}}^{{\prime}})}^{{\prime}}\) of the interconnected system which is a local attractor relative to its stoichiometry class. If Property (∗) is false, then there exist x 0 and z 0 such that, with the initial condition S 0 = (x 0 ,z 0 ):

  1. 1.

    \(\varphi (t,{S}_{0}) \rightarrow \bar{ S}\) as t → +∞, but

  2. 2.

    for the solution x(t) of the isolated system \(\dot{x} = A{R}_{1}(x)\) with x(0) = x 0, \(\bar{x}\not\in \mbox{ clos}\,\{x(t),t \geq 0\}\).

Proof.

We use Lemma 9.4. Let S 0 be as there. Since S 0 can be picked arbitrarily close to \(\bar{S}\) and in Δ(S), we may assume that S 0 belongs to the domain of attraction of the steady state \(\bar{S}\). Property (1) in the Theorem statement is therefore satisfied. Finally, we consider the solution x(t) of the isolated system \(\dot{x} = A{R}_{1}(x)\) with initial condition x(0) = x 0, and pick any state ξ ∈ clos {x(t), t ≥ 0}. As \({\Delta }_{0}(\xi ) = {\Delta }_{0}({x}_{0})\not ={\Delta }_{0}(\bar{x})\), it follows that \(\xi \not =\bar{x}\). ■ 

Next, consider the following property:

$$\mbox{ rank}(A\;B)\, =\, \mbox{ rank}A $$
(**)

i.e., the column space of B is included in that of A. Note that if this condition holds, then ( ∗ ) holds too.

Lemma 9.6.

Suppose that (∗∗) holds. Pick any two states \(\bar{S} = {(\bar{{x}}^{{\prime}},\bar{{z}}^{{\prime}})}^{{\prime}}\) and S 0 = (x 0 ,z 0 ) of the interconnected system. Then

$$\Delta (\bar{S}) = \Delta ({S}_{0})\;\; \Rightarrow \;\; {\Delta }_{1}(\bar{x}) = {\Delta }_{1}({x}_{0})\,.$$
(9.3)

Proof.

As \(\bar{S} - {S}_{0}\) belongs to the column space Δ of Γ, in particular, \(\bar{x} - {x}_{0}\) is in the column space of (AB). Since the latter equals the column space of A, it follows that \(\bar{x} - {x}_{0}\) is in the column space of A, which means that x 0 and \(\bar{x}\) are in the same stoichiometry class in the isolated system. ■ 

Lemma 9.4 implies a steady-state retroactivity effect, in the following sense. Suppose that there is a unique steady state in each stoichiometry class in the isolated system, and that this steady state is a global attractor relative to its class. Then, every omega-limit point of the composite system has the property that its x-component equals this same steady state of the isolated system. The following result formalizes this discussion.

Theorem 9.7.

Suppose that (∗∗) holds. For any initial condition S 0 = (x 0 ,z 0 ) , if a state \(\bar{S} = {(\bar{{x}}^{{\prime}},\bar{{z}}^{{\prime}})}^{{\prime}}\) of the interconnected system is in the omega-limit set of S 0 , then x 0 and \(\bar{x}\) are in the same stoichiometry class relative to the isolated system.

Proof.

If \(\bar{S} = {(\bar{{x}}^{{\prime}},\bar{{z}}^{{\prime}})}^{{\prime}}\) is in the omega-limit set of S 0 then \(\Delta ({S}_{0}) = \Delta (\bar{S})\). The conclusion thus follows from Lemma 9.6. ■ 

There is a gap between the negation of Property ( ∗ ) in Theorem 9.5 and Property ( ∗ ∗ ) in Theorem 9.7. In order to bridge this gap, we introduce the following property:

$$\mbox{ ker}\,C\; \subseteq \;\mbox{ ker}\,B $$
(C)

which we call consistency.

An interpretation of property \((\mathcal{C})\) is as follows. Suppose that \(S = {(\bar{{x}}^{{\prime}},\bar{{z}}^{{\prime}})}^{{\prime}}\) is a steady state of the interconnected system. That is to say, \(A{R}_{1}(\bar{x}) + B{R}_{2}(\bar{x},\bar{z}) = 0\) and \(C{R}_{2}(\bar{x},\bar{z}) = 0\). Since then \({R}_{2}(\bar{x},\bar{z}) \in \mbox{ ker}\,C \subseteq \mbox{ ker}\,B\), this means that also \(B{R}_{2}(\bar{x},\bar{z}) = 0\), and therefore we can conclude that \(A{R}_{1}(\bar{x}) = 0\). In summary, under consistency, the x-component of every steady state of the interconnected system is a steady state of the isolated system. Moreover, the ‘retroactivity’ signal BR 2(x, z) also vanishes at steady state. This property is satisfied in most interesting interconnections.

Property \((\mathcal{C})\) is equivalent to the requirement that the row space of B be a subspace of the row space of C. Under this property, \(\mbox{ rank}\,\Gamma = \mbox{ rank}\,A + \mbox{ rank}\,C\), and therefore Property ( ∗ ), i.e. \(\mbox{ rank}\,\Gamma = \mbox{ rank}\,(A\;B)\, +\, \mbox{ rank}\,C\) is equivalent to Property ( ∗ ∗ ). In other words, for consistent interconnections, the two Theorems provide a dichotomy. Summarizing this discussion and consequences of the two technical lemmas:

Corollary 9.8.

Suppose that Property \((\mathcal{C})\) holds. Then, the following statements are equivalent:

  1. (a)

    Property (∗) holds.

  2. (b)

    Property (∗∗) holds.

  3. (c)

    Property (9.3) holds for any two states.

Example 9.1 fails Property ( ∗ ): the ranks of P and Q are 2 and 3 respectively, but the composite matrix has rank 4 < 5. Thus this example exhibits retroactivity, by Theorem 9.5. Note that this example is consistent.

Example 9.2 does not exhibit any retroactivity effects, as is easy to see directly, or appealing to Theorem 9.7, since Property ( ∗ ∗ ) is satisfied. Note that this example is consistent.

Example 9.3 satisfies Property ( ∗ ), but nonetheless exhibits a retroactivity effect, in the sense that every state of the isolated system is a steady state, but for the interconnected system \(\dot{x} = -x\), \(\dot{y} = x - y\) every solution converges to \(x = y = 0\). However, Property ( ∗ ∗ ) cannot be used to show retroactivity, since this property also fails. Intuitively, this is a system that has no conservation laws, yet retroactivity fails. However, this system is ‘inconsistent’ in the sense that property \((\mathcal{C})\) does not hold.

Appendix: Chemical Reaction Network Formalism

The differential equations for the evolution of the concentrations of the reactants in a chemical reaction system are written in the following standard ‘chemical reaction network’ formalism. Suppose that there are N species S 1, , S N taking part in a reaction system, where each S i  = S i (t) is a non-negative function of time that lists the concentration of species i at time t ≥ 0. (We use the same letter for a chemical species and for its concentration.) Collecting all entries into an N-dimensional column vector S, one writes the evolution equations as follows: \(\dot{S} = \Gamma R(S)\). The matrix Γ ∈  N ×r is the stoichiometry matrix, and R(S) ∈  r is the vector of reactions: R(S(t)) indicates the values of the reaction rates when the species concentrations are S(t). A technical assumption is that solutions that start non-negative remain so. This property is automatically satisfied for all the usual chemical reaction rate forms, including mass-action kinetics. Mathematically, what is required is that, for each i ∈ { 1, , N}, the ith entry of ΓR(S) is non-negative whenever S i  = 0. We will also assume that, for each initial condition S 0 ∈   ≥ 0 N, the solution φ(t, S 0) of \(\dot{S} = \Gamma R(S)\) with S(0) = S 0 is defined for all times t ≥ 0.

For any chemical reaction system \(\dot{S} = \Gamma R(S)\), and any state S 0, the stoichiometry equivalence class of S 0, denoted here as Δ(S 0), is the intersection of the affine manifold S 0 + Δ with R  ≥ 0 N, where Δ is the span of the columns of Γ. Thus, two states S 0 and S 1 are in the same stoichiometry class if and only if S 0 − S 1 ∈ Δ, or equivalently if Δ(S 0) = Δ(S 1). Observe that φ(t, S 0) ∈ Δ(S 0) for all t ≥ 0. Moreover, since Δ(S 0) is a closed set, any S in the closure of the forward orbit \({\mathcal{O}}^{+}({S}_{0}) =\{ \varphi (t,{S}_{0}),t \geq 0\}\) is also in Δ(S 0).

We also introduce the vector space of ‘conservation laws’. This is the set of all vectors perpendicular to the stoichiometry space, written as rows: Π : = Δ  ⊥  = { π ∈  1 ×N | πΓ = 0} Observe that a state S 1 is in the stoichiometry class of a state S 0 (that is, S 1 − S 0 ∈ Δ) iff \(\pi ({S}_{1} - {S}_{0}) = 0\) for all π ∈ Π.

For any chemical reaction system \(\dot{S} = \Gamma R(S)\), and any steady state \(\bar{S}\) (that is, \(\Gamma R(\bar{S}) = 0\)) we say that \(\bar{S}\) is a local attractor relative to its stoichiometry class if there is some neighborhood \(\mathcal{U}\) of \(\bar{S}\) in R  ≥ 0 N such that, for each \({S}_{0} \in \mathcal{U}\bigcap \nolimits \Delta (\bar{S})\), \(\varphi (t,{S}_{0}) \rightarrow \bar{ S}\). A positive state S is one for which all components are strictly positive, that is, S ∈   > 0 N. Under certain hypotheses on the structure of the chemical reaction network, one may insure that in each stoichiometry class there is at least one positive steady state that is a local attractor relative to the class. Moreover, this steady state is often unique, and is a global attractor relative to the class; see for example [6, 11].