STRIKE-GOLDD 4.0: user-friendly, efficient analysis of structural identifiability and observability

Abstract Motivation STRIKE-GOLDD is a toolbox that analyses the structural identifiability and observability of possibly non-linear, non-rational ODE models that may have known and unknown inputs. Its broad applicability comes at the expense of a lower computational efficiency than other tools. Results STRIKE-GOLDD 4.0 includes a new algorithm, ProbObsTest, specifically designed for the analysis of rational models. ProbObsTest is significantly faster than the previously available FISPO algorithm when applied to computationally expensive models. Providing both algorithms in the same toolbox allows combining generality and computational efficiency. STRIKE-GOLDD 4.0 is implemented as a Matlab toolbox with a user-friendly graphical interface. Availability and implementation STRIKE-GOLDD 4.0 is a free and open-source tool available under a GPLv3 license. It can be downloaded from GitHub at https://github.com/afvillaverde/strike-goldd. Supplementary information Supplementary data are available at Bioinformatics online.


Introduction
A model is structurally identifiable (respectively, observable) if it is theoretically possible to determine its parameters (respectively, state variables) by observations of its output.Structural identifiability and observability (SIO) are properties of dynamic models that are especially important in biological modelling due to the usual experimental limitations [32].Hence, in the last two decades many specialized software tools have been developed for their analysis.Structural identifiability can be tested locally or globally.Tools for analysing global and local identifiability include DAISY [2], COMBOS [17], GenSSI [11], SIAN [8], and StructuralIdentifiability [6].Tools that only analyse local identifiability include EAR [10], ObservabilityTest [21], STRIKE-GOLDD [28], and ORC-DF [22].A critical comparison of their strengths and weaknesses can be found in [20].
Most local identifiability tools implement some version of a probabilistic algorithm presented by [21], which is computationally fast but can only be applied to rational models.In contrast, STRIKE-GOLDD implements an algorithm that is usually less efficient, but allows analysing nonrational models.This versatility is the main strength of STRIKE-GOLDD, which can also analyse models with unknown inputs, search for model symmetries, and find identifiable reparameterizations.A timeline of these developments is shown in Fig. 1.A.However, STRIKE-GOLDD's generality comes at the expense of higher computation times for rational models than other toolboxes tailored to that problem class.
To address this issue, here we present STRIKE-GOLDD 4.0, which introduces two new features.First, it implements ProbObsTest, an extension of the algorithm by [21] for the analysis of rational models, for which it can achieve considerable speed-ups over FISPO.ProbObsTest can analyse models with unknown inputs, and it includes a procedure for rewriting certain non-rational models in rational form.As a second main feature, STRIKE-GOLDD 4.0 is implemented as a Matlab toolbox with a user-friendly graphical interface.

Methods
STRIKE-GOLDD 4.0 follows a differential geometry approach [24] to the analysis of structural properties of systems of nonlinear ordinary differential equations (ODE).It analyses the struc- tural local identifiability of their parameters, as well as the observability of their states and unknown inputs.For unidentifiable and/or unobservable models it can search for the Lie symmetries that underlie those deficiencies [16], and automatically suggest reparameterizations to surmount them [15].For the first task, SIO analysis, STRIKE-GOLDD 4.0 allows choosing among three algorithms.The most generally applicable is called FISPO -Full Input, State, and Parameter Observability -which can analyse both non-rational models and models with unknown inputs [29,31].The FISPO algorithm tests an extended version of the observability rank condition (ORC) [7] that includes unknown inputs as additional states.The ORC test computes an observability matrix from symbolic operations that involve Lie derivatives and calculates its rank.If the rank equals the total number of variables, the model has the FISPO property.The analysis of rational models that are affine in the inputs can also be performed with a second algorithm, ORC-DF [14], which was originally developed by [13].
STRIKE-GOLDD 4.0 includes a third algorithm, ProbObsTest, which implements an extension of the algorithm presented in [21] for analysing rational models.This algorithm reduces the computational cost of the ORC test by avoiding the need for symbolic computations of Lie derivatives to build the observability matrix.Instead, it computes a power series expansion whose coefficients are the terms of the observability matrix; since the model variables are specialised on random integer values, the resulting computations as well as the calculation of the rank can be performed numerically.The details of the methodology are provided in the Appendix.

Features and results
The new algorithm, ProbObsTest, presents two main developments with respect to the algorithm on which it is based, which enlarge the class of models that it can analyse.On the one hand, it has been extended so that it can analyse models with unknown inputs; on the other hand, it can automatically transform certain nonrational models -such as those with logarithmic and trigonometric functions, or non-integer exponents -into rational models.These developments are described in the Appendix.Fig. 1.B.shows a comparison of the computation times of ProbObsTest and FISPO for the analysis of 22 models of increasing complexity.It can be noticed that for models with a low computational cost (numbers 1-10, which can be analysed in a few seconds or minutes) ProObsTest is slightly slower than FISPO.However, for the more computationally expensive ones (11)(12)(13)(14)(15)(16)(17)(18)(19)(20)(21)(22) ProbObsTest is faster, and the difference is larger as the models become more complex.Indeed, while FISPO is unable to analyse models 20-22 due to computational limitations, ProbObsTest performs the calculations successfully.Notably, number 22 is a model of Chinese Hamster Overy cells (CHO) with 117 parameters.Details of the case studies are provided in the Appendix, where we also compare the two algorithms with Sedoglavic's ObservabilityTest for those models to which the latter can be applied.Additional comparisons of ProbObsTest to other methods can be found in [20].
A second new feature of STRIKE-GOLDD 4.0 is its implementation as a Matlab toolbox with a graphical interface, a screenshot of which is shown in Fig. 1.C.The interface allows choosing the algorithm from a drop-down menu and specifying its settings; likewise, it is possible to select one of the models already existing in the folder from a drop-down menu, or creating a new model from scratch in a new window.This new interface coexists with the previously existing way of executing the toolbox, which is by running a Matlab script; in this case one must indicate the settings by editing an options file.Further details can be found in the user guide included in the documentation folder of STRIKE-GOLDD 4.0.

Conclusion
STRIKE-GOLDD 4.0 is a user-friendly tool providing a quick way of analysing structural local identifiability and observability.It is arguably the most generally applicable toolbox for local SIO analysis, being able to handle ODE models that may be non-rational and not affine in the inputs, and which may admit unknown external inputs.Previously, this general purpose character came at the expense of high computation times for larger rational models.Version 4.0 addresses this issue by providing a faster algorithm for the analysis of such models, along with the more generally applicable one.The coexistence of both algorithms, as well as the other features included in the toolbox, provides the user with a convenient multi-purpose tool for the analysis and reformulation of systems biology models.Its usability is facilitated further by its implementation as a Matlab app with a user-friendly graphical interface.

A.1 Background on Structural Identifiability and Observability (SIO)
Structural identifiability and observability are two key concepts in system identification and dynamic modelling.To give their formal definitions we consider models described by ordinary differential equations with general form: where f and g are analytic functions (therefore infinitely differentiable); x(t) ∈ R nx is the state variables vector; u(t) ∈ R nu , the known inputs vector; y(t) ∈ R ny , the outputs vector; θ ∈ R n θ , the parameters vector.The input vector, u(t), is assumed to consist of infinitely differentiable functions.
A parameter θi of M (1) is structurally locally identifiable (s.l.i.) if a neighbourhood N (θ * ) exists such that, for any θ ∈ N (θ * ), y(t, θ * ) = y(t, θ) holds if and only if θ * i = θi, for almost any parameter vector θ * ∈ R n θ .We say that a parameter is structurally unidentifiable (s.u.) if this relationship does not hold in any N (θ * ).If all the parameters of a model are s.l.i., the model is s.l.i.too.Accordingly, if at least one the parameters is s.u., the model is s.u.A s.l.i.parameter can be determined from knowledge of the output y(t) and input u(t) of the model.Likewise, a state xi(τ ) is said to be observable if it can be determined from the output y(t) and any known inputs u(t) of the model in the interval t0 ≤ τ ≤ t ≤ t f , for a finite t f .Otherwise, it is unobservable.A model is observable if all its states are observable, and unobservable if at least one of them is unobservable.

A.2 SIO analysis with the Observability Rank Condition
Let us begin with the analysis of observability.The available knowledge for inferring the internal state x of model M consists of the output y and its derivatives.Following a differential geometry approach [4,26] we construct a matrix O(x) that represents a map between the model output y and its derivatives ẏ, ÿ, ..., on the one hand, and its state x on the other.We can then evaluate the observability by calculating the rank of O(x).If it has full rank, then the model is observable.If rank(O(x0)) = nx, M is observable around x0.
With time varying inputs, the output derivatives ẏ, ÿ, ... are the so-called "extended" Lie derivatives.The extended Lie derivative [10] of g with respect to f is defined by: and the high order derivatives are recursively calculated: The i th Lie derivative may contain input derivatives only up to order (i − 1) [31].We can then truncate the infinite summation at j = i − 1 and rewrite the extended Lie derivative: We summarise the way of computing the observability matrix in the following way: For structural identifiability, parameters can be considered as constant state variables [23].Assessing the observability of these states is equivalent to assessing the structural identifiability of the parameters.To this end we construct an augmented state vector x = [x(t); θ] with dimension nx = nx + n θ and then we have that ẋ = [f (x(t), u(t)); 0].For a new model with these changes in the variables and equations we construct now an observability-identifiability matrix, OI (x(t)), in the same way as O(x(t)).Then, if system M given by (1) satisfies rank(OI (x0)) = nx = nx + n θ , with x0 a point in the augmented state space, the model is observable and identifiable around x0.

A.3 SIO analysis with the FISPO algorithm in STRIKE-GOLDD
In [28] we see that full rank of OI might be achieved with less than nx − 1 Lie derivatives.We also have a minimum number of Lie derivatives, n d , for which the matrix may be full rank.In STRIKE-GOLDD, the OI is recursively calculated.Once the n d Lie derivative is computed, the rank is calculated after adding each new derivative allowing early termination of the procedure.If the full rank is achieved, the OIC is fulfilled; if the rank stops increasing, there is at least one unobservable state or unidentifiable parameter.In the latter case we can determine which parameter or state is unidentifiable or unobservable, respectively.Each column of OI corresponds to the partial derivative with respect to a parameter or state.Removing each of the columns and recalculating the rank allows us to know which of the variables is unidentifiable or unobservable.If the rank does not change when we remove the i th column, then the i th variable is unidentifiable or unobservable.
Some models have unmeasured inputs.This is the case of disturbances or time-varying parameters, for example.To analyse them we define a new model that includes them as additional variables: where w(t) refers to the unknown inputs.Then, we define a property analogous to observability for these variables.An unknown input wi(τ ) is reconstructible if it can be determined from y(t) and u(t) in t0 ≤ τ ≤ t ≤ t f , for a finite t f .A model is reconstructible if all its unknown inputs are reconstructible (or "input observable").
The property that encompasses observability, structural identifiability, and reconstructibility is called FISPO (full input, state, and parameter observability) [31].Let x(t) = [x(t), θ, w(t)] be the vector of unknown model quantities (i.e.states, parameters and inputs), with z(t) ∈ R nx+n θ +nw , and let us denote each element of x(t) at time τ as zi(τ ).We say that the model M (1) has the FISPO property if every xi(τ ) can be determined from the output y(t) and any known inputs u(t) of the model in the interval t0 ≤ τ ≤ t ≤ t f , for a finite t f .Thus, M is FISPO if, for every xi(τ ), for almost any vector x * (τ ) there is a neighbourhood N (x * (τ )) in which the following holds: For assessing reconstructibility, we consider a new augmented state vector x = [x(t); θ; w(t)] and consequently new state dynamics ẋ = [f (x(t), u(t)); 0; ẇ(t)].Now, the i th Lie derivative may contain derivatives up to w (i) so, we need to include them in the augmented state vector: thus the state dynamics are: where Let Mw be a model of the form (3). Mw is FISPO if the new matrix OI computed with the new augmented state vector x(t) (4) and its corresponding equations ẋ(t) (5) is such that rank(OI (x, u)) = nx.If the matrix is not full rank when it is not computationally feasible or convenient to keep calculating Lie derivatives, the result is inconclusive.To deal with this, we may set to zero the derivatives of w(t) of order higher than a given one (i).We will then have that w (j) = 0, ∀j ≥ i.Even though this assumption restricts the type of inputs that can be analysed, in [31] it was argued by induction that the results might apply to generic inputs under certain circumstances.
A.4 SIO analysis with a probabilistic algorithm to test local algebraic observability in polynomial time: ObservabilityTest Sedoglavic presented an algorithm [21] related with the differential algebra approach [5], with the goal of computing the set of observable variables of a model in polynomial time.When this technique determines that a variable is observable, the result is guaranteed to be correct.If it classifies it as unobservable, the result is correct with high probability.This approach is applicable to nonlinear rational dynamical systems without unknown inputs.Its definition of algebraic observability is built on the existence of algebraic relations between the state variables and the successive derivatives of the inputs and the outputs.If there is an algebraic relation that allows finitely many trajectories of the state variables that are solutions of the vector field and yield the same specified input-output behavior, the state variables are said to be locally observable [21].A Maple implementation of this method, called ObservabilityTest, is available at https://github.com/sedoglavic/ObservabilityTest/.
We say that xi, i ∈ {1, ..., nx} is locally algebraically observable if xi is algebraic over the field R U, Y .The system M (1) is locally algebraically observable if the field extension R U, Y → R U, Y (x) is algebraic.The number of non-observable state-variables which should be assumed known, in order to obtain an observable system, can be calculated as the transcendence degree of R U, Y → R U, Y (x).In [21] the transcendence degree is also calculated with the rank of O(x(t)) (2).Thus, if it is a full rank matrix, the transcendence degree is zero and the system is algebraically observable.If it is not full rank, then at least one of the variables is not identifiable and further analysis would be needed to determine which one it is.
While the way of analysing the properties is the same as in the FISPO algorithm, the procedure to compute the matrix and its rank is rather different.In this case, a variational system derived from M (1) is used to directly compute the Jacobian matrix O [21]; with x, θ, and u specialized on some given values.Let us denote by Φ(x, θ, u, t) the formal power series in t with coefficients in R u (x, θ) solution of Φ = f (Φ, θ, u) with initial condition Φ(x, θ, u, 0) = x.Then: Besides, using Φ, we define the formal power series in t with coefficients in R u (x, θ) as: Based on this we have: where ∇y(Φ, Γ, Λ, θ, u) = ∂g ∂x Γ, ∂g ∂x Λ + ∂g ∂x (Φ, Γ, Λ, θ, u).Consequently, we have to compute the nx first terms of the power series expansion of Φ, Γ = ∂Φ ∂x and Λ = ∂Φ ∂θ .Since P ( ẋ, x, θ, u) = 0, the numerators of the rational relations ẋ − f (x, θ, u) = 0 and ∇P : the power series Φ,Γ and Λ are solutions of the system of ordinary differential equations ∇P = 0 with the associated initial conditions Γ(x, θ, u, 0) = Idn x×nx and Λ(x, θ, u, 0) = 0n x ×n θ .
Next, we specialize the parameters on some random integer θ * and the inputs on the power series u * , which are truncated at order nx + 1 with random integer coefficients.Then, we solve the associated system ∇P = 0 for some integer initial conditions x0, and we compute with ∇y the specialization of O alg .
The Newton operator used in the algorithm is based on the resolution of the following system of linear ordinary differential equations: with Ej+1 = (Φ − Φj, Γ − Γj, Λ − Λj) mod t 2j+1 , correction term, with Φj, Γj and Λj are approximations of Φ, Γ and Λ, respectively.The system is solved using (Φj+1, Γj+1, Λj+1) = (Φj, Γj, Λj) + Ej+1 and the initial conditions Φ0 ∈ Z nx , Γ0 = Idn x ×nx and Λ0 = 0n x×nθ .The resolution of the linear ordinary differential system relies on the method of integrating factors.We take the homogeneous system where Ωj denotes a nx × nx unknown matrix whose coefficients are truncated series.This homogeneous system is then solved by means of a procedure called "Homogeneous Resolution" [21] based on matricial resolution and, in a similar way, the expression in ( 7) can be computed with a given precision by a procedure called "Constants Variation" [21].Algorithm 1 summarizes the procedure.
Preprocesing Construct a straight-line program encoding the variational system ∇P and the expressions used during its integration.Specialization Specialization of the parameters, θ * , and the inputs, u * Power Series Solution Computation of the power series solution of ∇P at order n x + 1 with a specialised value for the states Jacobian computation Evaluation of ∇y on the series Φ j , Γ j and Λ j where j = ln 2 (n x + 1), giving the coefficients of the Jacobian matrix Rank computation Calculation of the matrix rank and transcendence degree if transcendence degree = 0 then System is algebraically observable else Determine which variable or variables are not observable.end Algorithm 1: Probabilistic algorithm to test local algebraic observability in polynomial time B New developments in STRIKE-GOLDD 4.0 B.1 A new algorithm for SIO analysis in STRIKE-GOLDD: ProbObsTest STRIKE-GOLDD 4.0 includes a Matlab implementation of an extended version of Sedoglavic's ObservabilityTest algorithm.The new method is called ProbObsTest.It is introduced with the aim of complementing the FISPO algorithm, achieving computational acceleration with respect to it.In the FISPO algorithm the Lie derivatives are recursively calculated.When their number is relatively small they can be computed in a feasible amount of time.However, for each new Lie derivative that is needed the computational complexity increases, and calculations quickly become impracticable when the number of unknown variables grows.To avoid the need for such calculations, in our implementation of ProbObsTest we use the variational system described by Sedoglavic, substituting all the symbolic variables with random numerical values.After this, we get a polynomial matrix that we vectorize, exploiting MATLAB capabilities, in order to obtain an even more efficient implementation.Thus we perform the computations with numerical matrices instead of symbolic expressions.This yields a new code, whose computational complexity increases at a significantly slower rate than FISPO for complex models (as will be demonstrated in Section C).The remainder of this section describes the new developments included in ProbObsTest with respect to the ObservabilityTest algorithm originally presented in [21].

B.2 Extending the algorithm to admit unknown inputs
Sedoglavic's ObservabilityTest algorithm cannot analyse models with unknown inputs.Similarly to the FISPO algorith, ProbObsTest can handle unknown inputs by treating them as states.To this end the state is augmented as in (4) and the state function f as in (5).We can include as many input derivatives as additional states as the number of non-zero derivatives specified as options; the last element of vector f will always be a zero in the presence of unknown inputs.This method cannot handle an infinite number of non-zero derivatives, since the order of the computations grows with the number of derivatives.If the user indicates an infinite number of derivatives in the options, the toolbox automatically lowers it to a relatively small number of non-zero derivatives, warning the user of the change and advising her/him to increase the number if needed, or using the FISPO algorithm to consider the infinite case.

B.3 Automatic model reformulation: obtaining a rational model
In principle, ObservabilityTest can only be applied to rational models.In ProbObsTest we have included a procedure to replace non-rational expressions appearing in the model equations with their Taylor expansions.This allows applying the algorithm to non-rational models for which such an expansion is possible; while it is not feasible to do the Taylor expansion for all non-rational functions, this solution covers a significant amount of models.The toolbox automatically checks whether it is possible to perform the transformation.If it is, the nonrational expression is replaced.If it is not, the algorithm cannot be applied and an error is issued.
The polynomial numerators of rational terms are obtained with the function rational2poly− nomial, which we implemented as an adaptation of the dagnormal procedure in Observabili-tyTest.Both functions obtain the numerator and denominator of a rational expression.However, we realised that ObservabilityTest has problems when non-integer exponents appear in the equations: such terms are non-rational, but the algorithm does not detect it.To fix this issue we automatically approximate such values with the closest integer, which allows applying the procedure while obtaining correct results in the general case.

B.4 Implementation: a Matlab toolbox with graphical interface
The ProbObsTest algorithm has been included in STRIKE-GOLDD 4.0, which has been implemented as a Matlab toolbox.A screenshot of its graphical interface is shown in Fig. 1.C of the main text.The interface allows choosing the algorithm from a drop-down menu and specifying its settings; likewise, it is possible to select one of the models already existing in the folder from a drop-down menu, or creating a new model from scratch in a new window.This new interface coexists with the previously existing way of executing the toolbox, which is by running a Matlab script; in this case one must indicate the settings by editing an options file.Further details can be found in the user manual included in the documentation folder of STRIKE-GOLDD 4.0.

C Results: comparing FISPO and ProbObsTest
To determine the computational improvement achieved by ProbObsTest with respect to FISPO, we have compared their performance by applying them to a set of 22 problems, which are listed in Table 1.We considered a number of variations of some of them, so as to assess the effect of varying the number of unknown input derivatives on the performance of the algorithms.The CPU times of both algorithms for the set of 22 models are shown in Figure 1.B of the main text.In the remainder of this section we describe each of the models and discuss the results of the two aforementioned algorithms while also comparing them, when possible, with ObservabilityTest.
C2M model: The model corresponds to a two compartment system appearing in [29,31].
The model consists of: • 4 parameters, θ = (k1e; k12; k21; b), and it is governed by the following state equations: Table 1: List of benchmark models and their main features.We start considering the input as known, obtaining a FISPO result from both algorithms.Then, we assume the input as unknown and parameter b as known.Finally, we also assume k1e as known.ObservabilityTest can not be applied when there is an unknown input.For the other two methods we also distinguish between constant input and with three non-zero derivatives.Table 2 shows the computation times.HIV model: This dynamic system represents a HIV virus infection.We consider two different types of this model.The first one, presented and analysed in [31,18], consists of:
The results obtained are the same for the three algorithms: 3 non observable states and 4 non identifiable parameters.FISPO takes 8237,7 seconds, ProbObsTest 10,57 and ObservabilityTest 0,203.
2DOF model: This model is introduced and studied in [13].It is an affine-in-the-inputs model that characterizes the behavior of a mechanical system.The model consists of: • 4 states, x = (x1; x2; ẋ1; ẋ2), • 3 parameters, θ = (k1; δk1; m2), • 1 known input, u = F1, • 1 unknown input, w = F2, • 2 output, and it is governed by the following state equations: , and the output equations: As we have an unknown input, we did the analysis for the constant case and with two non-zero derivatives.In both situations we find that the model is FISPO with both of the algorithms.FISPO spent 0,5 seconds running for the constant case and 0,83 for time-varying one, while ProbObsTest required 5,33 and 9,48, respectively.Also, to check the behavior with more than one unknown input, we have adapted the model taking the known input as unknown.For the constant case we found that x2 is non observable and F1 and F2 are not reconstructible.The solution obtained matches the one achieved with the previous implementation.FISPO took 0,5 seconds running while the ProbObsTest took 5,33.With two non-zero derivatives we found that ẋ2 and x2 are unobservable, and F1, Ḟ1, F2 and Ḟ2 are not reconstructible.The times are now 18,9 for STRIKE-GOLDD, and 20,79 for the new code.ObservabilityTest cannot be applied to this model since it has unknown inputs.
NF-κB model: NF-κB stands for "nuclear factor kappa-light-chain-enhancer of activated B cells".We use as reference the analysis done with STRIKE-GOLDD in [28] based in [12].The model consists of: , and it is governed by the following state equations: For this model the execution time with FISPO is 2866,55 seconds while for ProbObsTest is 279,51 and for ObservabilityTest 8,422 seconds.We found that states x8 and x15 are unobservable and k2, c4, c1c, c2c and c3c are unidentifiable.We also did the analysis with parameters a1, a2, a3, c1a, c2a, c5a, c6a, c1, c2, c3, c4, kv, e1a, c1c, c2c and c3c fixed to some specific values.In this case we have that x15 is unobservable.For the second model the times are 844,46, 291,21 and 3,14, respectively.βIG model: This example is one of the four case studies presented in [9], representing a physiological circuit that models possible regulatory mechanisms of glucose homeostasis.It was also included in [27].It consists of: • 3 states, x = (G; β; I), • 5 parameters, θ = (p; si; γ; c; α), • 1 input, called u that will be considered both as known and unknown, • 1 output, g(x, θ, w) = G, and it is governed by the following state equations: With this model we are going to analyse different cases.For all of them the results with the two algorithms match.With the input as known, FISPO takes 984,89 seconds while ProbObsTest only 12,65.For constant unknown input these times were 14140,08 and 21,85 seconds, respectively.With three non-zero derivatives of the unknown input, FISPO yields an out of memory error while ProbObsTest takes 38,95 seconds.Here we have the best exhibit of the improvements that the new implementation can achieve.For this relatively small but complex system, even for the known input case we see that a great computational acceleration is obtained.Moreover, with the unknown input with three non-zero derivatives we reach a point where FISPO cannot analyse the model while the new algorithm can.Finally, in order to analyse this model with ObservabilityTest we need to approximate the non-integer exponents in the equations with integer values.Otherwise, the code issues an error but it gives no clue about its cause or possible fix.After fixing it, the analysis took 0,016 seconds.
JAKSTAT model: This model is introduced in [ • 5 known inputs, u = (ActD; CISoe; SOCS3oe; SHP 1oe; Epo), • 0 unknown inputs, • 14 outputs, with equations: For state equations we will refer to [25].To analyse this model we consider the last parameter, which is the initial condition of one of the measured states, as known.FISPO yields an out of memory error; to avoid it, the analysis has to be done decomposing the model.In contrast, ProbObsTest takes 1914,79 seconds and ObservabilityTest just a few seconds.
CHO model: This is a metabolic model of Chinese Hamster Ovary (CHO) cells, which are used for protein production in fermentation processes [30].The model consists of: The state equations were modelled with in lin-log kinetics.The resulting expressions are nonrational, due to the presence of logarithms, so ObservabilityTest cannot be applied unless the model is reformulated.STRIKE-GOLDD 4.0 checks for this possibility and reformulates the model automatically.
In [28], the analysis of the model with STRIKE-GOLDD (i.e.FISPO) was only partially accomplished.When trying to analyse the whole model FISPO gives an out-of-memory error.After decomposing it in smaller submodels, four parameters were found to be unidentifiable, 95 were classified as identifiable, and the identifiability of the remaining 18 could not be determined.(After fixing six of them, the model was found to be FISPO.) In contrast, ProbObsTest can analyse the whole model, obtaining conclusive results for all parameters without the need for decomposition.However, it should be noted that it took 12 days to conclude the analysis, which reached the 99% of the computer memory.

Figure 1 :
Figure 1: (A) Timeline of the main releases of STRIKE-GOLDD.Each version provides an integrated solution with significantly new features with respect to the previous one: version 2 allowed for an in-depth analysis of the role of inputs, including time-varying and unknown inputs; version 3 allowed searching for the Lie symmetries in the model, and automatically reparameterizing the model to remove said symmetries; version 4 incorporates an algorithm that yields a faster analysis of rational models, as well as a new graphical user interface.These new capabilities are summarized in italics below each main version, along with their publication.(B) Computation times, in seconds, of the new algorithm (Prob Obs Test) vs FISPO algorithm, for 22 case studies of increasing computational complexity.The models and their characteristics are detailed in the Appendix.Circles represent individual computation times, lines are interpolations.(C) Graphical interface of the Matlab app STRIKE-GOLDD 4.0.

Table 2 :
Execution times (in seconds) for C2M model