Simulation Experiment Description Markup Language (SED-ML)
The Simulation Experiment Description Markup Language is an XML-based exchange format for the encoding of simulation experiments mainly in the field of computational biology. It stores the simulation recipe, including the models used in the experiment, the pre- and post-processing procedures, and the instructions for how to generate the simulation output.
The Model entity contains references to the models used in the simulation experiment and pre-processing procedures on these models before simulation. Models must be in standard representation formats (e.g., SBML, CellML, NeuroML). Examples for pre-processing are, e.g., changing the value of an observable, computing the change of a value using mathematics, or general changes on any XML element of the model representation.
The Simulation entity contains all information about the simulation settings and the steps taken during simulation, e.g., the particular type of simulation and the algorithm used for the execution of the simulation.
The Task entity applies one of the defined simulations on one of the referenced models at a time.
The DataGenerator entity encodes post-processing procedures which need to be applied to the simulation result before output, e.g., normalization of data.
The Output entity specifies the simulation output, e.g., the particular plots to be shown.
Structure of SED-ML
The SED-ML model elements define the identity and location of the model(s) to be simulated and specify the model’s native encoding format. The location is to be given as a Uniform Resource Identifier (URI), which enables software interpreting SED-ML to retrieve the model. In case of a relative URI, the base is the location of the referring SED-ML file. The SED-ML archive format can furthermore be used to share model and simulation descriptions together (see the specification (Waltemath et al. 2011b)). In addition to defining the source model’s location and encoding, SED-ML model elements can also list changes to be applied to a model before simulation. Such changes could be altering attribute values (e.g., a parameter value in an SBML model or the initial_value of a CellML variable) or changing the model structure. Attribute values may undergo a simple substitution or more complex calculation using content MathML 2.0 (http://www.w3.org/Math/). The model structure may be changed by adding or removing XML elements.
The SED-ML simulation elements define the simulation algorithms to be used in the experiment and their configuration. Simulation algorithms are specified using terms from the Kinetic Simulation Algorithm Ontology (KiSAO, http://biomodels.net/kisao/). KiSAO classifies and characterizes kinetic simulation algorithms. Furthermore, configuration details of the simulation can be described in SED-ML, such as the start and end times or the number of time points to output. The current implementation supports the description of time-course simulation setups. Extensions towards further experiment types are already being discussed and will be available in the next versions, including the description of steady-state analyses and nested simulations, such as parameter scans.
The SED-ML task elements apply a particular simulation algorithm to a specific model. Because simulations and models are described independently, they can be combined in diverse ways. Tasks allow for this flexibility. For example, a simulation can be applied to different versions of a model with varying parameterization.
The SED-ML dataGenerators define transformations of raw simulation output (as generated by a task) into the desired numerical form. They can simply be references to a model variable but may also be defined through complex mathematical expressions encoded using content MathML. Some variables used in an experiment are not explicitly defined in the model, but may be implicitly contained and can be addressed using SED-ML-specific constructs. The SED-ML website provides a mapping of these SED-ML symbols onto possibly existing concepts in the individual languages.
The SED-ML output elements describe how numerical data from the data generators are grouped together. SED-ML allows to generate 2D and 3D plots or sets of unrelated arrays.
SED-ML is a community-driven project that is part of the COmputational Modeling in BIology NEtwork (COMBINE, http://co.mbine.org). SED-ML development is coordinated by five elected editors. Format extensions are discussed on the SED-ML mailing list and on annual meetings. Simulation descriptions in SED-ML are currently provided for SBML and CellML models. The adoption of SED-ML for NeuroML models is ongoing.
SED-ML files can be created and read using software libraries and tools (Waltemath et al. 2011c). The libSedML (http://libsedml.sf.net/) is a set of. NET libraries for reading, validating, and writing SED-ML descriptions, along with all necessary utility functions for resolving models and XPath expressions. The libSedMLScript, which is part of libSedML, provides a script-based language for defining SED-ML experiments. Alternatively, jlibsedml (http://sourceforge.net/projects/jlibsedml/) is a Java library for creating, manipulating, validating, and working with SED-ML documents. The jlibsedml application programming interface (API) follows a similar organization to that of libSBML, a successful and popular library for manipulation of SBML documents. SProS (the SED-ML Processing Service) is an API for creating, reading, and manipulating SED-ML documents. It is integrated in the CellML API. Future versions of SProS will also provide support for running simulations described in SED-ML and involving CellML models (using the simulation facilities already present in the CellML API).
An up-to-date list of software supporting SED-ML is available from the Showcases on the SED-ML web page (http://sed-ml.org).
- Waltemath D, Adams R, Beard DA, Bergmann FT, Bhalla US, Britten R, Chelliah V, Cooling MT, Cooper J, Crampin EJ, Garny A, Hoops S, Hucka M, Hunter P, Klipp E, Laibe C, Miller AK, Moraru I, Nickerson D, Nielsen P, Nikolski M, Sahle S, Sauro HM, Schmidt H, Snoep JL, Tolle D, Wolkenhauer O, Le Novère N (2011a) Minimum information about a simulation experiment (MIASE). PLoS Comput Biol 7(4):e1001122PubMedCentralPubMedCrossRefGoogle Scholar
- Waltemath D, Bergmann FT, Adams R, Le Novère N (2011b) Simulation experiment description markup language (SED-ML): level 1 version 1. http://sed-ml.org/documents/sed-ml-L1V1.pdf. Accessed 28 Sept 2013
- Courtot M, Juty N, Knüpfer C, Waltemath D, Zhukova A, Dräger A, Dumontier M, Finney A, Golebiewski M, Hastings J, Hoops S, Keating S, Kell DB, Kerrien S, Lawson J, Lister A, Lu J, Machne R, Mendes P, Pocock M, Rodriguez N, Villeger A, Wilkinson DJ, Wimalaratne S, Laibe C, Hucka M, Le Novère N (2011) Controlled vocabularies and semantics in systems biology. Nat Mol Syst Biol 7:543Google Scholar
- Waltemath D, Henkel R, Winter F, Wolkenhauer O (2013) Reproducibility of model-based results in systems biology. In: Prokop A, Csukas B (eds) Systems biology: integrative biology and simulation tools, vol 1. Springer (in press)Google Scholar