Questions tagged [sbml]

SBML (Systems Biology Markup Language) is a free and open XML-based interchange format for computer models of biological processes.

SBML

SBML (the Systems Biology Markup Language) is an XML-based format for communicating and storing representations of biological processes. Put more simply: SBML is a machine-readable format for representing models in biology. It is suitable for models commonly found in research on a number of topics, including cell signaling pathways, metabolic pathways, biochemical reactions, gene regulation, and many others.

SBML is not designed to be a universal language for representing quantitative models. It would be impossible to achieve a one-size-fits-all universal language. A more realistic alternative is to acknowledge the diversity of approaches and methods being explored in systems biology, and seek a common intermediate format—a lingua franca—enabling communication of the most essential aspects of the models. SBML is such a lingua franca. Today, SBML is used by many different software tools.

Summary of the structure and features of SBML

The core of SBML is focused on encoding models in which entities are located in containers and are acted upon by processes that modify, create or destroy entities. The containers do not need to correspond to physical structures; they can be conceptual or abstract. Additional constructs allow parameters, initial conditions, other variables, and other mathematical relationships to be defined. In the most common type of model, the "entities" are biochemical substances, the "containers" are well-mixed and spatially homogeneous, and the "processes" are biochemical reactions happening within or between the containers. This originally led to the SBML constructs being named (literally) species, compartments, and reactions, respectively, but these names are historical artifacts and belie the generality of the underlying scheme. Software applications can map the names to other concepts to better suit their purposes. For instance, species could be mapped to populations of molecules, cells, or even organisms.

Values of model variables and their changes over time may be fixed or determined by mathematical expressions, either before or during simulation, continuously or in response to discrete events, with or without time delays. Units of measurement can be specified for all entities and values; in addition to adding a layer of essential physical knowledge, information about units can be used to verify the relationships expressed in a model. Units also facilitate reuse of models and components, interconnection of models, conversion of models between different frameworks, and integration of data with models.

Any element of an SBML model can be elaborated using machine-readable metadata (known as annotations in SBML) as well as human-readable notes. These can be used to express relationships between the entities in a given model and entities in external resources such as databases. Software tools can also use annotations to encode tool-specific data in their own formats, thus providing a way to capture data that might otherwise be lost.

SBML Level 3 introduced an extensible modular architecture consisting of a central set of fixed features (known as SBML Level 3 Core) , and a scheme for adding packages that can augment the Core by extending existing elements, adding new elements, and adjusting the meaning or scope of elements. SBML Packages offer support for such things as hierarchically-structured models (e.g., models containing submodels), qualitative models, flux balance constraints models, and more. A model declares which packages it uses in order to guide its interpretation by software applications. If a software tool detects the presence of packages that it does not support, it may inform users if it cannot work with the model.

Using SBML

A software tool can read an SBML model description and translate it into its own internal format for model analysis. For example, a tool might provide the ability to simulate the model by constructing a system of differential equations and then performing numerical time integration on the equations to explore the model's dynamic behavior. Or, alternatively, a tool might construct a discrete stochastic representation of the model and use a Monte Carlo simulation method such as the Gillespie algorithm.

Resources

More information about SBML and its specifications can be found on SBML.org.

In addition to the SBML-related questions posed on Stack Overflow, the Bioinformatics and Computational Science stack exchange sites also see discussions about SBML and computational modeling in biology.

SBML is an official IETF MIME type, specified by RFC 3823.

38 questions
17
votes
6 answers

lxml: add namespace to input file

I am parsing an xml file generated by an external program. I would then like to add custom annotations to this file, using my own namespace. My input looks as below:
kai
  • 1,970
  • 2
  • 22
  • 30
10
votes
1 answer

Writing `configure` file for an r package

I am writing an r package which provides a wrapper around the libSBML C library. I am using the rcppgsl package as a reference, which looks for the location of header files and the library files for GNU Scientific Library GSL and uses that…
Satya
  • 1,708
  • 1
  • 15
  • 39
4
votes
3 answers

Xpath select attribute of current node?

I use python with lxml to process the xml. After I query/filter to get to a nodes I want but I have some problem. How to get its attribute's value by xpath ? Here is my input example. >print(etree.tostring(node, pretty_print=True ))
Tg.
  • 5,608
  • 7
  • 39
  • 52
4
votes
1 answer

Building R package with Rtools4.0 on Windows 10

I am trying to build an R package using RTools4.0 on Windows 10 machine. My package needs the SBML C library and static libraries for SBML for building R packages on Window is provided by RTools4.0 link I was able to successfully install RTools4.0…
Satya
  • 1,708
  • 1
  • 15
  • 39
4
votes
3 answers

How to get the COBRA toolbox working with proper SBML support under MATLAB in linux (such as Ubuntu 14.04)?

Consider these 4 pieces of software: COBRA 2.05 LibSBML 5.10 MATLAB R2013a (Also known as 8.1, 64-bit; MATLAB no longer supports 32-bit Linux anyway) A 64-bit Linux OS (such as Ubuntu 14.04 or the latest Mint but not restricted to…
4
votes
3 answers

How to parse xml/sbml with R package xml?

I'm trying to parse information from the sbml/xml file below https://dl.dropboxusercontent.com/u/10712588/file.xml from this code http://search.bioconductor.jp/codes/11172 It seems that I can import the file normally by doc <-…
user1265067
  • 867
  • 1
  • 10
  • 26
3
votes
1 answer

Flux variability analysis only for transport reactions between compartments?

I would like to do a FVA only for selected reactions, in my case on transport reactions between compartments (e.g. between the cytosol and mitochondrion). I know that I can use selected_reactions in doFVA like this: import cbmpy as cbm mod =…
Vinz
  • 97
  • 5
3
votes
1 answer

Add new reactions with GPR

I have a model and want to add an entire new pathway to it. Some of the metabolites already exist in the model, others have to be created. I also have to add GPRs to the reactions using genes not yet present in the model. I found the function…
Hetitus
  • 33
  • 3
3
votes
1 answer

How to add annotation to a gene in SBML?

I have a genome-scale stoichiometric metabolic model iMM904.xml and when I open it in a text editor I can see that certain genes have annotation added to them, e.g.
Vinz
  • 97
  • 5
2
votes
1 answer

How to read attributes for a sbml file with libsbml

I have a sbml model from Reactome, you can download it from https://reactome.org/content/detail/R-HSA-156581 and clicking sbml. For the , some of it have attribute of , and I'm trying to use libsbml or cobrapy for doing…
kikyo91
  • 37
  • 1
  • 8
2
votes
1 answer

Simulating the SBML models with coupled compartment and species rate rules

I am working on the Simulation Biology Simulation Core Library (SBSCL) where we are currently simulating the SBML models from the SBML Test Suite. But I am having issues in simulating the SBML models where there are coupled compartment and species…
blackreaper
  • 69
  • 1
  • 7
2
votes
1 answer

What is the Systems Biology Markup Language?

Can someone summarize what SBML is? What does the acronym stand for and what is its purpose? I hear it has something to do with systems biology and computaitonal biology? What kind of computational biology is it used for?
rhody
  • 2,274
  • 2
  • 22
  • 40
2
votes
1 answer

How to export sbml file from other formats, such as graphml?

So, as mentioned I'm trying to find a way of translating a graphml file (or another format such as xgmml, csv, edgelist), from networkx or igraph (python or R) into this SBML format. I believe there should be an easy way but...I can't find one. Any…
gabt
  • 668
  • 1
  • 6
  • 20
2
votes
0 answers

XML -> list -> Data Frame in R with variable structure

This is my first post to Stack so please let me know if I haven't posted enough information. I have however, looked through many of the other answered questions and tried many of those solutions which as a result have ended me here. I am having…
2
votes
1 answer

How to fix "Model does not contain SBML fbc package information."

I'm trying to simulate some models using SBML package. Model seems to run fine, but I keep getting these warning. "Model does not contain SBML fbc package information. SBML package 'layout' not supported by cobrapy,information is not parsed SBML…
Tharmy
  • 21
  • 1
1
2 3