MATLAB Answers

Simbiology stimulation reactions in custom PDPK models

2 views (last 30 days)
Hello all,
I've been using simbiology as part of an effort to run sensitivity analysis on a PDPK model as part of my masters. It's industry sponsored so the image below has the important information blurred but enough to give context.
The black lines are simple mass kinetics, easily done in Simbiology. The green lines, howeever, are stimulations, i.e. there's no actual transfer of material, just its pressence causes an effect. I had thought these would be quite easily by creating a reaction from 'null -> x' and but I'm unsure on how to create that custom dependency, i.e. a null -> x where the equation is kyx*[y] -> x. It was easy to do on the GUI, however, the GUI dosn't quite have the freedom I need for sentitivity analysis. I was struggling to get a global sensitivity analysis going, basically. If anyone has any suggestions about either of these topics, that would be greatly appreciated.
Many thanks,


Sign in to comment.

Accepted Answer

Sietse Braakman
Sietse Braakman on 5 Jun 2020
Hi Daniel,
It sounds like you're mostly there. For each reaction, you can define the stoichiometry (e.g. null -> x) as well as the reaction rate. If you don't want the reactant to be consumed, you can either add it to both the product and the reactant side (e.g. y -> x+y) or just use null -> x. You then need to define the reaction rate, this can depend on the reactants, the product, as well as parameters, e.g. ks*x*y. If you right-click on the reaction, you can select 'Show only lines' to still show the dependency of the reaction on x through a dash-dotted line (as opposed to a solid line for when the reactant is being consumed (e.g. x -> y).
For the sensitivity analysis, there are two main options,
  • Local sensitivity analysis, this can be added to any simulation task by defining the inputs (e.g. parameters, compartmental volumes, initial conditions) and outputs (e.g. species). Note that you can't use parameters/species/compartments that are subject to a repeated assignment as the output to a local sensitivity analysis. If you want to calculate the sensitivities for such quantities, you can use differentiation rules to calculate the sensitivities. E.g. if your repeated assignment is C = A + B, then the sensitivitiy of C wrt input parameter X would be dC/dX = dA/dX+dB/dX. You would have to calculate this afterwards from the simData.
  • Global sensitivity analysis. You can use Sobol GSA and Multiparametric GSA see the documentation: sbiosobol, sbiompgsa. These methods are currently not yet supported in the GUI but we have an app available to run these analyses, see here. In order to work with this, you can export your model (screenshot below) from SimBiology to the MATLAB Workspace (e.g. name the model object m1 in the workspace), selecting variants/doses from the model (e.g. dose = m1.Dose(1) and variants = m1.Variants([1 2]);), then run the GSA app by calling on the MATLAB command line: startGlobalSensitivityAnalysisApp(m1,dose,variants). If you don't have doses or variants, you can omit these input arguments from the startGlobalSensitivityAnalysisApp syntax. In the app (see screenshot below), you need to define the input parameters (parameters, species initial conditions, compartments), their ranges (e.g. CL between 0.1 and 10), number of iterations, output times and the observables (for Sobol) or classifier(s) (for MPGSA). I suggest you start with 3-5 parameters and a sample size of 1000-2000 to try things out and then scale up if need be. Note that the number of samples scales exponentially with the number of inputs.
Let me know how you get on.

  1 Comment

Daniel Bending
Daniel Bending on 5 Jun 2020
Hello Sietse, thank you that's amazing. So I can create the model in the GUI, arguably far more intuitive, export it to the workspace and into the global sensitivity app.
That's likely saved me hours of work, many thanks!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!