Any progress on relaxing the constraints on species units?

2 views (last 30 days)
In SimBiology, there is a limited set of units one case use. Amount, or concentration.
This is often inconvenient, as (for example) I might want to use timers (units of time), or surrogates for concentration (like MFI for nanomoles/milliliter). Too, many sbml models use units that aren't in the set of acceptable ones.
One can use user-defined units, but these generally link with defined units and this means that one could have unit conversions that have no bearing on reality.
What is the recommended work-around for this?
What progress has been made with respect to allowing species units that are neither amounts nor concentrations?

Accepted Answer

Arthur Goldsipe
Arthur Goldsipe on 28 Jan 2022
I'd love to pick your brain about exactly what you need and expect from such functionality!
Which is to say that today species in SimBiology are still constrained to have units of amount/mass or concentration. The two most common workarounds I can think of are to use parameters and rate rules instead of species and reactions or to reformulate your problem so that species can be written with units of amount or concentration. For example, I've seen models where species amounts are scaled by body mass (with units of mg/kg). In such cases, I've recommended writing the model (namely, species and reactions) on the basis of 1 kg of body mass, and then rescaling the results as needed either via post-processing or via repeated assignment rules and/or observables.
And let me give you some insight into why this is such a challenge. Today, SimBiology needs to be able to perform mass balances for all species. We need to know whether the units of a species are in extensive (amount) or intensive (concentration) units, and how to convert between the two. For example, we know we can a species concentration by the corresponding compartment volume to determine the amount. We also need to know how to convert all reaction rates to amount/time. Or in the case of most reactions that span multiple compartments, we need to ensure that the user-specified reaction rate is explicitly in amount/time (unless it's clear which compartment volume we need to multiply by). And this is related to why we don't allow one species in a reaction to use mass units (like kilogram or kilogram/liter) while another uses amount (mole, molecule, molar, etc.), since we don't yet have a way to explicitly specify the molecular weight of a species.
Anyway, here are some of the things I'd like know from you: What is MFI? What does the larger modeling approach look like in cases where you want more flexible units? Will you have one or multiple compartments? Will you mix extensive and intensive units for species? For reaction rates? Any concrete examples you can share would be extremely helpful. Feel free to reach out to me via email to follow up on this.

Sign in to comment.

More Answers (0)


More Answers in the  SimBiology Community


Find more on Perform Sensitivity Analysis in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!