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, ...)


Arguments for pwGetEmptyModel

 ID            Allowed are 38 characters using [a-zA-Z0-9_].
 name          Name of the model with no tight 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'}
 modelFormat   (replaces the "type" field prior to PW 3.0)
               Format of the PottersWheel model given as a number,
               e.g. "3.1" for a model created using the documented
               functions (i.e. API) of PottersWheel 3.1.5.
               Example: m.modelFormat = 3.1;
 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.
 conversionSource  Filename from which the present model is created by conversion
               via pwRegisterImportAdapter or pwConvertCustomFormatToPW.
 conversionActive  If true, reloading the model will include a fresh conversion
               from the source file. This is useful in order to efficiently
               work with third party software or custom model files.



 Reactions can be added via

 m = pwAddR(m, ...)

 The same holds for other elements like
 dynamic variables (pwAddX),
 dynamic parameters (pwAddK),
 derived variables (pwAddZ),
 algebraic equations (pwAddA),
 observables (pwAddY),
 scaling factors (pwAddS), and
 driving input functions (pwAddU).


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, 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.



 The Model Designer currently saves a daugther model into a full
 model file.

See also