Skip to content

Future enhancements

Sarah Keating edited this page Mar 18, 2015 · 3 revisions

This page is merely to keep track of things that arise that could currently cannot be dealt with but that it would be good to support in the future.

1. Support a mixture of species/parameters

Models may well have variables that are considered to be species or parameters. At present we translate the model such that all variables are considered to be one or the other; we need to allow there to be mixtures.

2. Support initial assignments.

User code may well use mathematical expressions to assign values to things that remain constant throughout the remainder of the model. These can be represented in SBML as InitialAssignments but at present the XPP->SBML conversion does not support them and so values need to be calculated and hard coded.

Example in MATLAB

a = 10

b = a + 5

would become

<parameter id="a" value="10"/>

<parameter id="b" value="15"/>

which essentially loses the information that b depends on a.

3. Multiple compartments

This is a hard one but it does need to be considered.

4. Units

Allow users to assign units to things and make these consistent with the produced SBML.

5. Models spread over multiple files

MATLAB scoping means that a file may refer to functions in files within the same directory. We have examples of user models that use this facility to split the model code between multiple files. It is also possible that files may refer to functions that exist elsewhere on the user's MATLAB path. We need to consider this possibility.