Parameter balancing
for kinetic metabolic models



Main | Online Balancing | Documentation | Download | Contact

User manual

Download User Manual

Clearing the session

The variables of the browser session can be reset by clicking the 'Clear Session' button on bottom of the online balancing page. This can be handy, if e.g. large files have caused proxy errors and the tool shows random behaviour.

Overview

What is parameter balancing?

Parameter balancing is a way to determine consistent parameter sets for kinetic models of metabolism. Inserting experimentally measured values directly into a model will probably yield incomplete or inconsistent parameter sets, violating the thermodynamic Haldane relationships. Balanced parameter sets avoid this problem. They are computed based on kinetic constants and other data collected from experiments or the literature, but also based on known constraints between biochemical quantities and on assumptions about typical ranges, represented by prior values and bounds.

How can I run parameter balancing?

After preparing your model and data files, you can run parameter balancing interactively on this website. If you prefer working in the commandline, or if you would like to include parameter balancing in your programs, you may check out the various opportunities based on Python3 and Matlab code.

Which parameters of a metabolic model can be balanced?

In general, parameter balancing concerns the kinetic and thermodynamic constants in kinetic metabolic models. It can also cover metabolite concentrations, chemical potentials, and reaction Gibbs free energies (or, equivalently, "reaction affinities" or "driving forces"). Metabolic fluxes cannot be balanced, but they can be included in the analysis (this is described below). There are different typical application cases:

  • Kinetic constants, where equilibrium constants are fixed and given
  • This can be done separately for each individual reaction. If a network is large and equilibrium constants can be predefined (for instance, by parameter balancing), we suggest to split the network into single reactions and to run parameter balancing separately for every reaction.
  • Kinetic constants and equilibrium constants in a network
  • Equilibrium constants and concentrations in a network
  • Equilibrium constants, kinetic constants, and concentrations in a network

What input data are needed?

Parameter balancing employs SBML (Systems Biology Markup Language) files or SBtab files for model structures and SBtab table files for data and configuration files. Parameter balancing imports a model (SBML, obligatory) and a data table (SBtab, optional) with experimental data values. Furthermore, tables with information on the prior distributions and balancing options are possible. Parameter balancing produces tables with balanced parameters (SBtab) and a model with rate laws and balanced parameters included (SBML). Please prepare your SBtab files as described below. The validity of these files can be checked on the SBtab website. The quantities described in your data table will be linked to elements of the SBML model, via the entries in the columns !SBML:reaction:id and !SBML:species:id. The IDs in these columns must match the IDs chosen in the SBML file.

References and citation

Parameter balancing has been developed at Humboldt Universität Berlin and Charité - Universitätsmedizin Berlin. The concept of parameter balancing is described in The Journal of Physical Chemistry B. Please cite this publication if you use parameter balancing for your research.
Parameter balancing is applied as part of larger workflows in Stanford et al. (Plos One) and Noor et al. (Plos Computational Biology).
Additional information on Systems Biology applications can be found in "Systems Biology: A textbook" by Edda Klipp, Wolfram Liebermeister, Christoph Wierling, and Axel Kowald.

How to run parameter balancing online

Parameter balancing helps you find a consistent parameter set for a kinetic model, based on (i) kinetic constants and other data collected from experiments or the literature; (ii) constraints between biochemical quantities due to their definition or the laws of thermodynamics; (iii) assumptions about typical ranges, represented by prior distributions and pseudo values. As our standard rate laws, we use modular rate laws.

  1. Prepare your SBML model. Please make sure that your SBML model is valid. You can use the official SBML online validator for this.
  2. Prepare your data file. The SBtab Quantity table holds the kinetic parameters for the balancing. Here again, make sure that the SBtab file is valid. You can use the official SBtab online validator for this. Please also keep in mind that the SBML species and reaction IDs need to comply with the IDs that are used in the SBtab file.
  3. Prepare your parameter prior file (optional). This file holds information on the prior distributions on the parameter types (see Download area for example files). Initially, you can use the default prior table which is already loaded. If you want to use an alternative prior table, you can create your own prior table (keep in mind to adhere to the syntax of the prior tables).
  4. Prepare your options file (optional). This file can be used to change settings of the parameter balancing algorithm (see Download area for example files).
  5. Upload the files, run parameter balancing, and download the balanced parameters and model. If the balancing process was successful, you can download the SBML file with the balanced parameters and convenience kinetics. Analogously, you can download the SBtab parameter file with the balanced parameters.

Alternately, you provide all aforementioned information (model structure, experimental data, prior file, options file) in one single SBtab document, which consists of several SBtab tables. Mandatory for this option is an SBtab Reaction table, which can be translated to an SBMl model. Optional are SBtab Compartment, Parameter, and Compound tables, which are employed as additional model building information (see more information on the SBtab <-> SBML conversion on www.sbtab.net). The three additional tables (for data, parameter priors, and settings) can also be included.

File formats

The model can be provided in SBML format.

Input files for parameter balancing must be prepared in the SBtab format. Example files can be found here.

  1. Data tables must be provided as tab-seperated text (.tsv) in a specific file format. The columns !QuantityType, !SBML:reaction:id, !SBML:species:id, and !Mean (data value, arithmetic mean) are obligatory, while the columns !Std (data value, standard error), !Unit, and other columns are optional. Example files can be found here.
  2. Entries in the data table have to refer to species and reactions in the SBML file via the SBML element identifiers ("id") given in the columns !SBML:species:id and !SBML:reaction:id.
  3. Please make sure that the modifiers (inhibitors or stimulators) in your model are identified clearly by the corresponding SBO terms (inhibitor:20, stimulator:459). Otherwise, the software will not recognize them, and allosteric regulations will be ignored.

Table of biochemical quantities

At the beginning of parameter balancing, a metabolic network structure is read from an SBML file. It is assumed that all kinetic rate laws will be substituted by modular rate laws and the necessary kinetic constants and some dynamic quantities (referring to a specific metabolic state of the system) are estimated from collected data. The relevant quantities are listed below.

Quantity Type Symbol Unit BiologicalElement MathematicalType PhysicalType Dependence PriorMedian PriorStd/GeometricStd SBML element Abbreviation
Standard chemical potential μ0 kJ/mol Species Additive Thermodynamic Basic -880 kJ/mol 1500 kJ/mol Global parameter scp
Catalytic rate constant geometric mean kV 1/s Reaction Multiplicative Kinetic Basic 10 s-1 100 Local parameter kcrg
Michaelis constant kM mM Reaction/Species Multiplicative Kinetic Basic 0.1 mM 10 Local parameter kmc
Activation constant kA mM Reaction/Species Multiplicative Kinetic Basic 0.1 mM 10 Local parameter kac
Inhibitory constant kI mM Reaction/Species Multiplicative Kinetic Basic 0.1 mM 10 Local parameter kic
Concentration c mM Species Multiplicative Dynamic Basic 0.1 mM 10 Species (conc.)
Concentration of enzyme u mM Reaction Multiplicative Dynamic Basic 0.001 mM 100 Local parameter eco
Equilibrium constant keq dimensionless Reaction Multiplicative Thermodynamic Derived 1 100 Local parameter keq
Substrate catalytic rate constant kcat+ 1/s Reaction Multiplicative Kinetic Derived 10 s-1 100 Local parameter kcrf
Product catalytic rate constant kcat- 1/s Reaction Multiplicative Kinetic Derived 10 s-1 100 Local parameter kcrr
Chemical potential μ kJ/mol Species Additive Dynamic Derived -880 kJ/mol 1500
Reaction affinity A kJ/mol Reaction Additive Dynamic Derived 0.0 kJ/mol 10.0 kJ/mol
Forward maximal velocity vmax+ mM/s Reaction Multiplicative Dynamic Derived 0.001 mM/s 100 Local parameter vmaf
Reverse maximal velocity vmax- mM/s Reaction Multiplicative Dynamic Derived 0.001 mM/s 100 Local parameter vmar

Remarks

  1. Note that the thermodynamic quantities refer to biochemical reactants (e.g.ATP) rather than chemical species (e.g. ATP4-). Therefore, they represent transformed quantities. In Alberty's exact notation, they would be written as K' (for keq), μ' (for μ), and μ'0 (for μ0).

  2. In parameter balancing, all quantities representing energies (in kJ/mol) are treated in their original scale, while all other quantities are converted to logarithmic scale (column "Scaling"). Since the latter quantities are described by log-normal (instead of normal) distributions, we need to distinguish between their mean and median values. For more information on this topic, see the review Biochemical thermodynamics by R. Alberty.

  3. We further distinguish between basic and derived quantities (column "Type"). The difference is that the basis quantities can be freely chosen (e.g., as a result of an estimation), while the derived quantities depend on the basic quantities and are computed from them. In parameter balancing, we define typical ranges for the basic quantities by prior distributions and for the derived quantities by pseudo values.

  4. When inserted into the SBML model, most quantities are inserted into kinetic rate laws as local parameters. Exceptions are concentrations (initial concentration attribute in species), standard chemical potentials (global parameters), and reaction affinities and chemical potentials, which could just be computed from other elements.

  5. Some quantities depend on the specific definition of the reaction sum formula (nominal direction, appearance of small molecules like water); in particular for equilibrium constants, catalytic rate constants, and maximal velocities, make sure that the definitions match between model and data set.

  6. Gibbs free energies can be used as proxies for the standard chemical potentials. However, make sure not to mix values from different data sets. It is possible that they will follow different conventions (setting the GFE for some large molecules to zero values for convenience) and will therefore be incompatible.

Frequently asked questions

Where is the parameter balancing method described?

Parameter balancing is described in Lubitz et al. (2010). If you use parameter balancing in your work, please refer to this article. A modelling workflow based on parameter balancing is described in Stanford et al. (2013).

How does parameter balancing work mathematically?

Parameter balancing employs Bayesian estimation to determine a consistent set of all model parameters. To use it efficiently, it is good to know about some of its details. For technical reasons, all quantities are internally converted to natural scaling. This means that for energy quantities (in kJ/mol), we keep the original values while for all other quantities, we take the natural logarithms. Furthermore, we distinguish between basic quantities and derived quantities (which are uniquely determined by the basic quantities). See the overview of all quantities shown above. During balancing, we integrate information from data (values and standard errors), prior distributions (typical values and spread for basic quantities), and pseudo values (typical values and spread for derived quantities). All these values and spreads are represented by normal distributions (priors, data with standard errors, pseudo values, and posteriors) for the naturally scaled quantities. When converting back to non-logarithmic values, we obtain log-normal distributions, which makes it crucial to distinguish between median and mean values. Eventually, the median values (which are more realistic and guaranteed to satisfy the relevant constraints) are inserted into the model.

Which kinetic rate laws are assumed in parameter balancing?

Parameter balancing is based on modular rate laws, a generalised version of the convenience kinetics. The modular rate laws include reversible mass-action and reversible Michaelis-Menten rate laws as special cases. Modular rate laws are also supported by SBMLsqueezer, which allows you to directly insert rate laws into SBML models. In parameter balancing, rate laws and rate constants can be directly inserted into your model at the end of the workflow. Note that all rate laws previously present in your model will be removed.

What files do I need to prepare?

A valid SBML file and a corresponding data file, provided in the SBtab format.

Where can I find example files?

A number of example files (SBML models and SBtab data tables for parameter balancing) can be found here.

What is the SBtab format?

SBtab tables can express various kinds of data. For the parameter balancing you need an SBtab file of the type "Quantity". You can also edit the prior distribution for the different parameter types by providing an SBtab file of the type "QuantityInfo". Finally, you can configure several options for the parameter balancing process by providing an SBtab file of the type "Config". Examples for each of these SBtab files are on the corresponding pages of the workflow and in the Downloads section. The current SBtab format is explained here. SBtab files are provided in the .tsv-format (tab separated values).

What does a SBtab file look like?

In writing SBtab files, please regard the following facts:

  1. The SBtab file begins with a specification line: "!!SBtab TableType='QuantityType' Level='1' Version '0.1'". Please do not alter this specification row, it will lead to trouble.
  2. The next row holds the headers of the different columns. Each header has to be started with an exclamation mark to be recognized as a header name properly.
  3. There are several mandatory column headers: !QuantityType, !SBMLReactionID, ! SBMLSpeciesID, !Mean, !Std, !Unit
  4. Please consider the following rules concerning the columns:
    • !QuantityType can only hold the specific names of parameter types. You can have a look at the QuantityTypes.tsv-file in the Download area to see which those are. Watch spelling!
    • !SBML:reaction:id and !SBML:species:id hold the identifiers of the corresponding reaction and species. Watch out: they HAVE TO be the same identifier names like in the SBML file that is used. Watch spelling, too. No capital switches or anything.
    • !Mean: this column HAS TO hold a numeric value. If you do not have one, you do not need this row.
    • !Std: the standard deviation of the mean value. This can be left blank, if you have no std.
    • !Unit: please enter the unit of the mean value here.
    • Please note that different parameter types need either the !SBML:reaction:id (e.g. equilibrium constant), or the !SBML:species:id (e.g. concentration), or even both (e.g. Michaelis constant). If this is not entered correctly, the value will not be taken into account. Whether you need Reaction, Species, or both you can see in the default prior table.
    • To support consistent style, please stick to the presented order of the columns.

Where can I find kinetic and other data for parameter balancing?

The parameter balancing relies on a posterior distribution of the different parameter types and on a collection of kinetic data provided by the user. Typical input data for estimating kinetic parameters comprise catalytic constants (kcat values), Michaelis-Menten constants (KM values), equilibrium constants, standard reaction Gibbs free energies, and Gibbs free energies of formation. Typical input data for estimating metabolic states also comprise metabolite concentrations. Data obtained from experiments can be found in the literature and in web resources:

  • A large collection of kinetic data is provided by the BRENDA Enzyme Database.
  • Thermodynamic data for many reactions can be obtained from the website eQuilibrator. This comprises calculated equilibrium constants and standard reaction Gibbs free energies for different values of pH and ionic strength. We provide a collection of these data for parameter balancing here.

What physical units are used?

The units are predefined in the prior table and cannot be changed, unless you provide your own customised prior table.

Can I also use flux data?

Metabolic fluxes do not directly fit into the dependence scheme that parameter balancing uses internally to link different quantitities. Therefore, fluxes cannot be used as input data, nor can they be predicted directly. However, they can be used in an indirect way, as described in Stanford et al. (2013). The idea is as follows: In parameter balancing including metabolite levels and reaction Gibbs free energies, known flux directions can be used to define the signs of all reaction Gibbs free energies. The resulting rate laws and metabolite levels will be consistent with the predefined fluxes. The kinetic model, parametrised in this way, and with the balanced metabolite levels, will yield reaction rates with the same signs as the predefined fluxes. By rescaling the Vmax values (i.e., scaling the catalytic constants, enzyme levels, or both), reaction rates and fluxes can be matched. The resulting model will correlate to the predefined flux distribution by construction. Note that, in order for this to work, the predefined fluxes must be thermodynamically feasible (i.e., loop-free, and realisable for the (potentially predefined) external metabolite levels.

How can I define or modify the priors on model parameters?

Experimental data alone will usually not suffice to determine all model parameters. To determine underdetermined parameters, and to keep parameters in realistic ranges, parameter balancing uses prior distributions and constraints for each type of parameter. These priors and constraints are defined in a data table, which can be customised by the user. The table is described here.

What known caveats exist in parameter balancing?

Parameter balancing makes specific assumptions about the rate laws used. In some cases, this can lead to problems, or parameter balancing may not be suitable for your modelling. Here we list points that can typically lead to problems:

  • Large models
  • Large networks lead to large parameter sets, which increase the numerical effort of parameter balancing. One possibility to avoid this problem is to use fixed, precalculated equilibrium constants. Then, the kinetic constants of each reaction can be balanced separately, which reduces the effort.
  • Biomass reaction or polymerisation reactions
  • Many metabolic models (especially, models used in flux balance analysis) contain a "biomass" reaction that involves a large number of compounds with largely varying stoichiometric coefficients. Modular rate laws, as assumed in parameter balancing, use the stoichiometric coefficients as exponents in the formula. For biomass reactions or polyerisation reactions, this is not very realistic as assumption. Furthermore, these reactions usually do not have to be thermodynamically consistent. For both reasons, it is advisable to discard the automatically proposed kinetics, and insert a more realistic kinetics instead (see, for instance, the rate laws proposed in Hofmeyr et al., (2013)).
  • Very large or small parameter values
  • Very large or small parameter values can lead to unrealistic models and numerical problems. Extreme values should be avoided by using proper bounds. In any case, we suggest to have a look at all balanced values and to see if they are in realistic ranges.
  • Large uncertainties and strongly shifted mean values
  • Each balanced parameter value comes with an uncertainty. The uncertainties are described by normal distributions for the logarithmic parameter values, so median and mean value on logarithmic scale will be identical. For the non-logarithmic values, we obtain a log-normal distribution, and median and mean value will differ. If the uncertainty is large (which can easily happen if a value is not constrained by any data values), the mean and median can become very different, and the mean value can become very high. This can be avoided by reducing the uncertainty range - by providing more data that constraints the parameter value, by using narrower priors or constraints, or by using "pseudo" values.
  • What if the model cannot be simulated?
  • Problems in simulating the model (e.g., using COPASI) may be caused by unrealistically high or low parameter values. If you notice such parameter values in your model and would like to avoid them, you may use tighter priors or pseudo values to exclude extreme parameter values.

Who can answer my other questions?

Please refer to the Contact Page.


Main | Online Balancing | Documentation | Download | Contact