How SBML Uses XML for Biological Process Networks

The Systems Biology Markup Language (SBML) is a standardized, XML-based format designed for representing computational models of biological process networks. By structuring biological phenomena into hierarchical XML elements, SBML allows researchers to define chemical species, physical compartments, biological reactions, and mathematical kinetics in a machine-readable, software-independent format. This overview explores how SBML translates complex biochemical networks—such as metabolic pathways, gene regulatory networks, and cell signaling cascades—into well-defined XML nodes and attributes.

The Hierarchical Structure: The Root and Model Elements

Every SBML document is encapsulated within a root <sbml> tag that specifies the SBML level and version to ensure compatibility across simulation tools. Inside the root tag sits the <model> element, which serves as the top-level container for all the components of the biological network.

<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" level="3" version="2">
  <model id="SimplePathway" name="Simple Enzymatic Pathway">
    <!-- Network components defined here -->
  </model>
</sbml>

Physical Spaces: Compartments

Biological processes occur in specific physical locations. SBML represents these spaces using the <listOfCompartments> container, which holds individual <compartment> elements. Each compartment requires a unique id and can define attributes such as spatialDimensions, size, and units (e.g., volume or area).

<listOfCompartments>
  <compartment id="cytosol" spatialDimensions="3" size="1.0" units="litre" constant="true"/>
</listOfCompartments>

Biological Entities: Species

The distinct biological or chemical entities participating in a network—such as ions, small molecules, proteins, or genes—are defined as <species> within a <listOfSpecies> list. Each species is assigned to a specific compartment and given an initial concentration or amount.

<listOfSpecies>
  <species id="Substrate" compartment="cytosol" initialConcentration="10.0" substanceUnits="mole" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
  <species id="Product" compartment="cytosol" initialConcentration="0.0" substanceUnits="mole" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
</listOfSpecies>

Dynamic Processes: Reactions and Kinetics

Reactions represent the processes that transform, transport, or regulate species. SBML groups these under <listOfReactions>, where each <reaction> defines:

<listOfReactions>
  <reaction id="Reaction1" reversible="false">
    <listOfReactants>
      <speciesReference species="Substrate" stoichiometry="1"/>
    </listOfReactants>
    <listOfProducts>
      <speciesReference species="Product" stoichiometry="1"/>
    </listOfProducts>
    <kineticLaw>
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <apply>
          <times/>
          <ci> k1 </ci>
          <ci> Substrate </ci>
        </apply>
      </math>
    </kineticLaw>
  </reaction>
</listOfReactions>

Global Values and Custom Dynamics: Parameters and Rules

To support detailed quantitative modeling, SBML provides elements for parameters and mathematical rules:

Interoperability and Computational Execution

By leveraging XML’s schema validation, SBML guarantees that biological network models are unambiguous and mathematically consistent. Computational modeling software reads these XML definitions directly, compiles the reactions and kinetic laws into systems of differential equations, and performs simulations, steady-state analyses, or sensitivity tests without requiring manual model reconstruction.