pwGetEmptyModel
m = pwGetEmptyModel()
Returns an empty PottersWheel model struct m.
The following fields can be set by the user directly.
Other fields are set automatically, e.g. when calling
m = pwAddR(m, ...)
ID Allowed are 38 characters using [a-zA-Z0-9_].
name Name of the model with no character restriction.
path Relative path. Usually set automatically.
filename Usually set automatically when loading the model to
[ID, '.m']
description String.
authors String array, e.g. {'Frank Sinatra', 'Eddie Murphy'}
dates String array, e.g. {'2011-10-25', '2012-01-02'}
type Used PottersWheel type, e.g. 'PW-2-1-12'
keywords String array.
amountBasedRates True or false. See below for further details.
t Default time-points when simulating synthetic data.
tStart Start of integration, usually 0. Use a negative value to
reach a steady state level at t=0, e.g. m.tStart = -100.
tPlotStart Start of the plotting. If tStart is -100 one can force
the plotting to start at 0 by m.tPlotStart = 0.
tRealUnit String comprising the name of the unit used to specify the model,
e.g. 'seconds'.
tDisplayUnit String comprising the name of the unit used to disply trajectories,
e.g. 'minutes'.
tDisplayUnitOverRealUnit Factor defining the ratio between displayed and real
units, e.g. 60.
Description
Reactions can be added via
m = pwAddR(m, ...)
The same holds for other elements like
dynamic or derived variables, parameters, algebraic equations, etc.
Amount based rates
Biochemical processes often benefit from compartmentalization, e.g.
in order to increase locally the pH-value required to degrade waste products.
Therefore, many biochemical models comprise compartmental information,
essentially the volume of each compartment and the classification of each
species to exactly one compartment. As discussed in the SBML specifications
(see www.sbml.org), the kinetic rate of a reaction with reactants and products
in different compartments, has to be expressed in amount-based units per time
instead of concentration changes per time. This is due to the fact, that the
loss of a single molecule from a small into a 100 times larger compartment
results in a 100 times stronger concentration change in the smaller compartment.
The additional burden to determine the amount of a kinetic rate is usually
handled by multiplication with the size of the corresponding volume. Note
that in reversible reactions from compartment C1 to C2, in most cases the part
of the kinetic rate comprising reactants is multiplied with c1, the size of C1,
and the part comprising the products is multiplied with c2, e.g.
k1*r1*c1 – k2*p1*c2
The question arises whether the modeling framework can take care of the
compartment size multiplication automatically, so that the user avoids
specifying redundant or repetitive information, as in a set of reactions all
taking place in the same compartment. At the same time, the readability of the
kinetic law would be improved and correspond closer to the expression in a
biochemistry textbook. In fact, PottersWheel is able to correct for the
compartment sizes automatically for most models which is called implicit
multi-compartment modeling. In the other cases, when importing an amount
based model, or to have full control, the compartment correction can be
turned off by the following line in the model definition file:
m.amountBasedRates = true;
Since SBML models are amount-based, an imported SBML model will comprise
the above line below the meta information paragraph corresponding to
explicit multi-compartment modeling.
Model families
If several model variants are under investigation, the concept
of model families should be applied, in order to avoid redundant model
paragraphs and copy-and-past errors. A core model is created which is
the same for all model variants. This model starts as usual with
m = pwGetEmptyModel;
Then, 'daughter'-models are derived using
m = motherModel;
where motherModel is the name of the mother model, e.g.
m = JakStatModel1;
Since PottersWheel models are structured as Matlab functions,
this approach ensures that changes to the mother model
are reflected also in all daughter models. Repeated derivation
is also possible.
Note
The Model Designer currently saves a daugther model into a full
model file.
See also