Automating Parameter Identifiability Analysis in SimBiology Is it possible to develop a MATLAB Live Script that automates a series of SimBiology model fits to obtain likelihood profiles? The goal is to fit a kinetic model to experimental data while systematically fixing the value of one kinetic constant (e.g., k1) and leaving the others unrestricted. The script would perform the following: Use a pre-configured SimBiology project where the best fit to the experimental data has already been established (including dependent/independent variables, covariates, the error model, and optimization settings). Iterate over a defined sequence of fixed values for a chosen parameter. For each fixed value, run the estimation to optimize the remaining parameters. Record the resulting Sum of Squared Errors (SSE) for each run. The final output would be a likelihood profile—a plot of SSE versus the fixed parameter value (e.g., k1)—to assess the practical identifiability of each model parameter. Automating Parameter Identifiability Analysis in SimBiology Hi @Luis B. Walter, what you are describing is already implemented in sbioparameterci, which is also the method used when you add a confidence interval step to a fit program in the Model Analyzer app. Best regards, Jérémy Thank you very much, Jérémy: Certainly, Simbiology has implemented this operation when calculating parameter confidence intervals if the Profile Likelihood Confidence Interval Calculation option is used. Now, it seems to be implemented to obtain confidence intervals rather than to establish the identifiability of a model's parameters—despite being the same calculation. I imagine that the color of the bar graphs indicating the statuses (success, constrained, or estimable) are related to the identifiability of the parameters, but this is not clear in the Simbiology User's Manual (where can I find out more about this?). I believe—and it is widely accepted in new enzymology—that obtaining confidence intervals to assess the quality of fit results is important only after establishing the identifiability of a model's parameters. Identifiability is a structural property of the model and the data that allows us to understand the information contained in the experimental data. Unfortunately, Simbiology does not save or print (or at least I couldn't find a way) the pairs of SSE values vs. parameters (pi) that it calculates when sweeping the values of each parameter, nor is it possible to define and/or change the sweep intervals. Access to this data would enable us to construct the 1D confidence contours, like those shown in attached sheet (A), which are important for assigning kinetic models to experimental data. However, this would not be enough to construct the 2D confidence contours (B) in the attached sheet, which would complement the characterization of parameter behavior. My question was aimed at finding an automated procedure to obtain the data to build the graphs (A) and (B) (in the attach), having carried out the fitting of the model to experimental data from the Simbiology GUI. I have begun this task but am encountering significant difficulties. I estimate that if I could trigger the adjustments in Simbiology from a live script and define which parameters and at what intervals they should be set in each optimization and retrieve the SSE values, the objective would be solved. What do you think?. Did I present any interpretation or observation above that you consider erroneous about this proposal? What would you recommend me to do? best regards Luis B. Hi @Luis B. Walter, SimBiology’s “Profile Likelihood Confidence Interval Calculation” computes profile likelihoods (PLL) by sweeping each parameter and re-optimizing others. It retrieves the Loglikelihood values (Likelihood profiles) instead of SSE but the curves will be the same. In your case the SSE are also normalized but again it won't change the Confidence intervals, and thus the results of the practical identifiability analysis. Status colors: “Estimable” ≈ locally identifiable (practical identifiability). If the confidence interval of the parameter estimate is unbounded, then it is set to be not estimable. The box plot you see as Confidence Interval plot is the default for all calculation method. However, PLL has a dedicated plot that looks exactly like the 1D confidence contour in your PDF: Built-in plot of profile-likelihood curves: https://www.mathworks.com/help/simbio/ref/simbiology.fit.parameterconfidenceinterval.plot.html You can switch from a box plot to a PLL plot in the Model Analyzer App in the Plot Settings: You can also define a MaxStepSize for the parameter sweep. But the exact value is determined by SimBiology depending on the current Loglikelihood change. Regarding the 2D confidence contour, assuming that the results are obtained by fixing 2 parameters and estimating the remaining ones, you are right that this is not built-in. However, your suggestion seems reasonable. You can indeed write a script to loop over the fixed parameter values and estimate the remaining ones. I recommend generating the fitting code from your fit program (right-click on program in the Model Analyzer Browser and 'View program code') and adapt it for this task. I hope this helps. Best regards, Jérémy Excellent answer, Jérémy. Very, very useful and descriptive. I'll try the live script as you recommended, and I'll contact you again if I need it. Thank you very much. best Luis B. simbiology likelihood profiles