From: Pascal Schulthess on
Hi everyone,

I recently started playing around with the SimBiology Toolbox. Although it tykes some time to get used to, I really like it. Especially the sensitivity analysis functionality. What I miss though, is the possibility to calculate sensitivities with respect to reaction rates. In metabolic control analysis this is reflected in the control and elasticity coefficients.

Perhaps I missed this, but can anyone help me with that.

Thanks in advance,

Pascal
From: Pascal Schulthess on
"Pascal Schulthess" <hello(a)pascalschulthess.de> wrote in message <hr8tpt$4k3$1(a)fred.mathworks.com>...
> Hi everyone,
>
> I recently started playing around with the SimBiology Toolbox. Although it tykes some time to get used to, I really like it. Especially the sensitivity analysis functionality. What I miss though, is the possibility to calculate sensitivities with respect to reaction rates. In metabolic control analysis this is reflected in the control and elasticity coefficients.
>
> Perhaps I missed this, but can anyone help me with that.
>
> Thanks in advance,
>
> Pascal

Hi again,

I just noticed that I forgot something in previous post. Is there an "easy" way to calculate the (local/global) response matrix with the SimBiology Toolbox?

Thanks a lot,

Pascal
From: Pramod on
Hello Pascal,

From your mail it seems that you would like to calculate sesitivities of the reaction fluxes. This is currently not possible in SimBiology.

However, You can calculate the sensitivities of the species and use that data to calculate the sensitivities of the reaction fluxes.

For example if you have a reaction R1 whose rate = k1*x*y then

flux = f = k1*x*y

Sens(f) = df/dp = d(k1*x*y)/dp = k1*dx/dp*y + k1*x*dy/dp = k1*(dx/dp * y + x * dy/dp) = k1(Sens(x)*y + Sens(y)*x)

Where p is a parameter, and Sens(x) mean s sesitivity of x with respect to p.

Let me know if you have further questions.

Are you using SimBiology desktop or command line?

Can you clarify what you meant by response matrix.

- Pramod
From: Pascal Schulthess on
Hi Pramod,

thanks for the help and sorry for my late answer.

What I meant by is response coefficient is the sensitivity of a species to small perturbations in another species (dx/dy). I discovered that I can calculate this with:

spe = sbioselect(model,'Type','species');
set(configsModel.SensitivityAnalysisOptions,'SpeciesInputFactors', spe);
set(configsModel.SensitivityAnalysisOptions,'SpeciesOutputs',spe);
simModel = sbiosimulate(model,configsModel,[],[]);
[T, R, snames, ifacs] = getsensmatrix(simModel);
R2 = squeeze(R);

This gives my the continuous sensitivity of every species to every other species. But now I'm struggling with the steady state response. Is there a way to calculate R2 at steady state?

Thank so much!

Pascal

"Pramod " <pramod.kumar(a)mathworks.com> wrote in message <hra85h$pmh$1(a)fred.mathworks.com>...
> Hello Pascal,
>
> From your mail it seems that you would like to calculate sesitivities of the reaction fluxes. This is currently not possible in SimBiology.
>
> However, You can calculate the sensitivities of the species and use that data to calculate the sensitivities of the reaction fluxes.
>
> For example if you have a reaction R1 whose rate = k1*x*y then
>
> flux = f = k1*x*y
>
> Sens(f) = df/dp = d(k1*x*y)/dp = k1*dx/dp*y + k1*x*dy/dp = k1*(dx/dp * y + x * dy/dp) = k1(Sens(x)*y + Sens(y)*x)
>
> Where p is a parameter, and Sens(x) mean s sesitivity of x with respect to p.
>
> Let me know if you have further questions.
>
> Are you using SimBiology desktop or command line?
>
> Can you clarify what you meant by response matrix.
>
> - Pramod
From: Arthur Goldsipe on
Hi Pascal,

I'd like to clarify how SimBiology uses 'SpeciesInputFactors', and make sure this is really what you mean by response coefficient. If you specify x as a SpeciesOutput and y as a SpeciesInputFactor, then SimBiology will calculate the sensitivity of species x (at some time t) with respect to the *initial amount* of species y. Hopefully, this is what you mean, since a perturbation in species y at time t shouldn't affect x at time t, but I just wanted to make sure.

Unfortunately, SimBiology does not yet calculate steady states. (In general, a model could be oscillatory or chaotic and so not even have steady states!) However, we know that in many cases steady states are well-defined, and this is definitely a feature we've been thinking about for the future.

In the interim, I think your best option is to set the stop time of the simulation to something that will approximate your steady state. Then, the approximate steady-state sensitivities will be the final row of the matrix R (where R is the second output from getsensmatrix).

Good luck!
-Arthur

"Pascal Schulthess" <hello(a)pascalschulthess.de> wrote in message <hs14qg$6pn$1(a)fred.mathworks.com>...
> Hi Pramod,
>
> thanks for the help and sorry for my late answer.
>
> What I meant by is response coefficient is the sensitivity of a species to small perturbations in another species (dx/dy). I discovered that I can calculate this with:
>
> spe = sbioselect(model,'Type','species');
> set(configsModel.SensitivityAnalysisOptions,'SpeciesInputFactors', spe);
> set(configsModel.SensitivityAnalysisOptions,'SpeciesOutputs',spe);
> simModel = sbiosimulate(model,configsModel,[],[]);
> [T, R, snames, ifacs] = getsensmatrix(simModel);
> R2 = squeeze(R);
>
> This gives my the continuous sensitivity of every species to every other species. But now I'm struggling with the steady state response. Is there a way to calculate R2 at steady state?
>
> Thank so much!
>
> Pascal