pwSBML2PW
[result, message] = pwSBML2PW(fileIn, pwFile, showInEditor)
Converts an SBML model given as an xml file or as a converted
Matlab function into a valid PottersWheel model definition file.
fileIn Either an SBML file or a Matlab function that returns
an SBML Matlab struct, e.g. created by the PottersWheel
SBML conversion web service.
SBML supported up to level 3, version 1.
pwFile Name of the PottersWheel model definition file to be created.
File extension should be '.m' since PottersWheel models
are constructed as Matlab functions.
If left empty, the model ID is used: modelID.m
showInEditor If true, opens the created PW model file in the
Matlab text editor. Default: true
result true for a successful conversion
message Reason why conversion was not successful.
Description
Many mathematical models in Systems Biology are expressed as xml
files with a certain structure as defined in the Systems Biology
Markup Language (SBML) standard [1]. Two ways exist to create a
PottersWheel model definition file based on an SBML model:
2. Using the SBML to Matlab conversion service of potterswheel.de
At www.potterswheel.de a web service lets you upload an xml file, e.g.
InsulinModel.xml, for automatic conversion. The result, e.g. InsulinModel.m,
is a Matlab file, namely a Matlab function. It will return the same Matlab
struct as the SBML toolbox when executed. If the Matlab function is saved
on the local harddisk and its path is supplied to pwSBML2PW,
a valid PottersWheel model definition file can be created, either
using the menu button or the command line, e.g.
pwSBML2PW('../SBML/InsulinModel.m', '../Models/InsulinModel_pw.m');
The web service is written in C++ and uses an adaption of the SBML toolbox
based on libSBML. No Matlab is involved, hence no compatibility issues arise.
Notes
The Model ID is limited to 39 characters and will be shortened automatically
if required.
SBML models do not comprise driving inputs, where a variable is given
externally analytically or as a smooth interpolation function.
Instead, inputs are often specified via time-dependent events.
This however dramatically reduces integration speed, since the integrator
has to determine the event (which can not be done by all integrators
anyway). Therefore, it is recommended to manually convert time-dependent
events into PottersWheel driving inputs where this is not yet done
automatically by pwSBML2PW.
References
[1] M. Hucka, S. Hoops, S.M. Keating, N. Le Novère, S. Sahle, and D. Wilkinson
Systems Biology Markup Language (SBML) Level 2:
Structures and Facilities for Model Definitions.
Available from Nature Precedings 2008, http://dx.doi.org/10.1038/npre.2008.2715.1
[2] S.M. Keating, B.J. Bornstein, A. Finney, and M. Hucka
SBMLToolbox: an SBML toolbox for MATLAB users.
Bioinformatics 2006, 22(10):1275–1277.
[3] B.J. Bornstein, S.M. Keating, A. Jouraku, and M. Hucka
LibSBML: An API Library for SBML.
Bioinformatics 2008, 24(6):880–881, doi:10.1093/bioinformatics/btn051.
See also