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.

 

Arguments for pwSBML2PW

 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:

 

1. Using the SBML Matlab Toolbox

 Sarah Keating et al. developed a Matlab Toolbox that converts an SBML file
 into a Matlab object, namely a Matlab struct [2]. PottersWheel uses the
 conversion function within pwSBML2PW and interpretes the returned Matlab
 struct. This approach is useful if you want to convert many SBML models
 and if the installation of the SBML Matlab Toolbox on your system was
 successful.

 Attention:
 The conversion function is a C function which is compiled against
 the SBML Library libSBML [3] and the Matlab libraries as a C MEX file.
 Precompiled versions exist on the SBML homepage. Unfortunately,
 Matlab changes from time to time the structure of the MEX files.
 Therefore, the current precompiled version can not be used e.g.
 with Matlab 2006a. In addition, compilation of the C file on a
 Windows PC can not be done using the standard Matlab compiler lcc.
 Intead, e.g. Microsoft (R) Visual C++ has to be used. Finally,
 exchange of a Visual C++ compiled version to a computer without
 Visual C++ is not possible - else the PottersWheel team would
 supply precompiled files for all available systems.

 Therefore the second appraoch to import SBML models is recommended.

 

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

pwAddA
pwExportCouplesToSBML
pwConvertCustomFormatToPW