'MassAction' versus 'unknown' kinetic law (SimBiology)

1 vue (au cours des 30 derniers jours)
emjey
emjey le 20 Août 2018
I have implemented a simple model
A <-> B
in SimBiology in 2 versions – both using reversible reactions
  • version1: using pre-defined reaction type ‘MassAction’
  • version2: using reaction type ‘uknown’
with concentrations A,B [micromole/L], compartments X,Y [L], reaction rates kf,kr [1/h].
See below screenshots of these models:
model version 1
model version 2
One gets two different models but no warnings or bugs for version 2 are flagged.
Version1 is correct, but after pre-processing - the user defined flux is corrected automatically by according volumes.
In Version2 the reaction rate is simply divided by the first volume X – this model is wrong as the volume is applied to the species from the other compartment.
I wonder why the software treats those models differently. The parser shiould have spotted such misformulation with ease (ziped file attached).
Any comments would be very appreciated, Maciej

Réponse acceptée

Arthur Goldsipe
Arthur Goldsipe le 20 Août 2018
Hi Maciej,
This is a good question. We do document what SimBiology does here. Let me try to give some insight into "why" in this post. (And let me add a disclaimer that this is just my guess/opinion, because I wasn't working on the product at the time the these decisions were made.)
I guess the short answer is this:
SimBiology doesn't do the volume correction you expect because it was not designed to analyze the mathematical form of reactions rates associated with unknown kinetic laws.
And here's a more detailed answer:
When a user creates a reaction that uses mass action kinetics, we can be reasonably confident of their modeling intent. SimBiology can then programmatically build up the reaction rate, adding volume corrections as appropriate. (I personally would like to change SimBiology's behavior to make these volume corrections more transparent to our users by having the reaction rate always display the volume corrections, instead of just showing them in the equation view.)
On the other hand, when a user can write the reaction rate using arbitrary MATLAB code, we must decide how much analysis we will do in order to recognize the user's intent. We decided that the only analysis we will do on reaction rates is dimensional analysis to (1) check for dimensional consistency and (2) determine whether the rate is in amount per time or concentration per time. If the analysis indicates that the reaction is in concentration per time, we then convert to amount per time using only the reactant volume, with the above exception of reversible mass action kinetics.
-Arthur

Plus de réponses (0)

Communautés

Plus de réponses dans  SimBiology Community

Catégories

En savoir plus sur Extend Modeling Environment dans Help Center et File Exchange

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by