SBML Importer
What's SBML ?
The Systems Biology Markup Language (SBML) is a machine-readable format for describing qualitative and quantitative models of biochemical networks. It can also be used to express the interactions of biochemical networks with other phenomena. By a biochemical network, we mean a system consisting of biochemical entities linked by chemical reactions that alter, transport and/or transform the entities.
The primary encoding of SBML is XML, a popular text-based language for expressing structured data in a generic fashion. As a result, software developers can quickly write tools to manipulate SBML by reusing existing XML software tools.
(!) http://sbml.org/
SBML Level2 elements
http://www.sfc.keio.ac.jp/~ee97081/2003/SBML_Hierarchy.gif
SBML Importer ?
SBML Importer is a module to convert a SBML format model into E-Cell3 format model. The function which converts SBML format into E-Cell format and some Processes which can simulate a converted model automatically is necessary to import the SBML model.
libSBML
LIBSBML is a C application programming interface (API) library for reading, writing and manipulating the Systems Biology Markup Language (SBML). Currently, the library supports all of SBML Level 1 Version 1 and Version 2, and nearly all of SBML Level 2 Version 1. (The still-unimplemented parts of Level 2 are support for RDF and support for MathML's semantics, annotation and annotation-xml elements. These will be implemented in the near future.)
Since the library provides a C API, familiarity with the C programming language is assumed. Some parts of the library were written in C++, however, experience with C++ is not required; its use is "hidden" behind C functions. The LIBSBML Developer's Manual provides more information about programming with LIBSBML, and the LIBSBML API Reference Manual provides detailed information about the API.
LIBSBML is entirely open-source and all specifications and source code are freely and publicly available. Some of the features of LIBSBML include:
(!) http://sbml.org/libsbml.html
libSBML-Python binding
In order to make the function for converting a format, it is necessary to take out the SBML elements in the SBML model. It is libSBML [1] that was developed with that purpose. LIBSBML is a C application programming interface (API) library for reading, writing and manipulating the Systems Biology Markup Language (SBML), supports SBML Level1, Level2 now. Although it is possible to get the SBML elements by using libSBML, since the front end of E-Cell3 is written in Python language, it can¡Çt use the libSBML directly. Then, in order to use the libSBML, it was solved in C-Python binding by SWIG that it was used for indirectly. Last term, Mr. Sakurada used the tool ¡ÈSWIG¡É for generating a wrapper for C-Python binding, and he generated a wrapper ¡Èsbml.py¡É for using libSBML.
Software Architecture
http://www.sfc.keio.ac.jp/~ee97081/2003/architecture.GIF
:)) support process
ExpressionFluxProcess?, ExpressionAssignmentProcess?, ExpressionAlgebraicProcess?
Usage
Now,E-Cell3 is released version3.1.100, it can¡Çt use SBML Importer, it is only installed. Because, in order to use SBML Importer, E-Cell3 needs to install libSBML and needs a wrapper for libSBML. In the future, we will make RPM package for SBML Importer so that it may be easy to use a user.
SBML Importer can be used by the following command.
% ecell3-sbml2eml sample.xml
The command to import is ¡Èecell3-sbml2eml¡É. After this command, it needs to specify the SBML model file name. EML format file which has the same name is generated by this command.
Importable models in SBML model repository
SBML Model repository
| SBML model | Importable | SBML model | Importable |
| CellCycle?-1991Gol | ¡û | CellCycle?-1991Tys | ¡û |
| CellCycle?-1991Tys-2 | ¡û | CellCycle?-1997Nov | ¡û |
| CellCycle?-1998Gar | ¡û | CircClock?-1999Lel | ¡û |
| CircClock?-2002Vil | ¡û | Electro-Phys-1952Hod | ¡ß(Rule) |
| Genetic-2000Elo | ¡û | Genetic-2003Mar | ¡û |
| MAPKcasc-2000Kho | ¡û | MAPKcasc-2000Lev | ¡û |
| MAPKcasc-2000Lev-2 | ¡û | Metabolism-2000Teu | ¡ß |
| Metabolism-2001Hel | ¡ß(Rule) | Metabolism-2001Kon | ¡û |
| Metabolism-2002Hoe | ¡û | Metabolism-2002Hoe-2 | ¡ß |
| Metabolism-2002Lam | ¡ß | Miscellaneous-1963Lor | ¡û |
| Miscellaneous-1974Fie | ¡ß(stoichiometry) | MolMoters?-2003Kol | ¡û |
| Receptor-1992DeY | ¡û | Receptor-1996Ede-2 | ¡ß(Unit) |
Model comparison between E-Cell3 and Gepasi
The behavior of the SBML model was compared between other software and E-Cell3. The software used this time is Gepasi. Gepasi is a free soft ware written by Pedro Mendes, and we can download from Gepasi. I compared the behaviors that E-Cell3 simulated the SBML models which can import in SBML model repository with Gepasi, it was the almost same behavior. But one model of different behavior was seen. Figures are the example which showed the same behavior. The models are MAPKcasc2000Lev
E-Cell3 simulation
http://www.sfc.keio.ac.jp/~ee97081/2003/ecell_MAPK.GIF
Gepasi simulation
http://www.sfc.keio.ac.jp/~ee97081/2003/gepasi_MAPK.GIF
