Search code examples
simulatorsbml

Simulating the SBML models with coupled compartment and species rate rules


I am working on the Simulation Biology Simulation Core Library (SBSCL) where we are currently simulating the SBML models from the SBML Test Suite. But I am having issues in simulating the SBML models where there are coupled compartment and species rate rules and the species are in concentration units (i.e. the species depends on the values of the compartment). The models with this property can be found in the SBML Test Suite with one of them being the test case 1198.

The series of discussions on this issue can also be found at the sbml-discuss google group [Link]. Even I have created an issue for this in SBSCL.

Can I get the best way of simulating this type of SBML models?


Solution

  • If you can treat your species concentration like a parameter, this is the easiest solution: simply set the rate of change directly. If asked to compute the amount of the species, multiply that concentration by the compartment size.

    If, however, your simulator is like most SBML simulators, your fundamental unit of change is the species amount. This makes this scenario particularly awkward, because the rate of change of the species amount must be derived from the rate of change of the species concentration as well as the rate of change of the compartment size.

    However, it's still doable. If we use "S1" as the species amount, "[S1]" as the species concentration, and "C" as the compartment size:

    Again, this applies in the scenario where dC/dt and d[S1]/dt are defined, and dS1/dt is unknown.

    This can be derived as follows:

    (via the chain rule)