The libSBML “fbc” extension implements support for the SBML
Level 3 Flux Balance Constraints package. It can be used in SBML Level 3 Version 1 and Version 2 documents.
Introduction
Constraint based modeling is a widely accepted methodology used to analyze
and study biological networks on both a small and whole organism (genome)
scale. Typically these models are underdetermined and constraint based
methods (e.g. linear, quadratic optimization) are used to optimize specific
model properties. This is assumed to occur under a defined set of constraints
(e.g. stoichiometric, metabolic) and bounds (e.g. thermodynamic, experimental
and environmental) on the values that the solution fluxes can obtain.
Perhaps the most well known (and widely used) analysis method is Flux
Balance Analysis (FBA), which is performed on Genome Scale
Reconstructions. When using FBA, a target flux is optimized (e.g., to
maximize a flux to biomass or minimize ATP production) while other fluxes can
be bounded to simulate a selected growth environment or specific metabolic
state.
As constraint based models are generally underdetermined, i.e., few or
none of the kinetic rate equations and related parameters are known, it is
crucial that a model definition includes the ability to define optimization
parameters such as objective functions, flux bounds and constraints. This is
not well-supported in SBML Level 3 Core. The question of how to best
encode constraint-based models in SBML is not new. However, advances in the
methods used to construct genome scale constraint-based models and the wider
adoption of constraint based modeling in biotechnological/medical
applications have led to a rapid increase in both the number of models being
constructed and the tools used to analyze them.
Faced with such growth, both in number and diversity, the need for a
standardized data format for the definition, exchange and annotation of
constraint based models has become critical. As the core model components
(e.g., species, reactions, stoichiometry) can already be efficiently
described in SBML, the Flux Balance Constraints (FBC) package is designed to
extend SBML Level 3 Core by adding the elements necessary to encode current
and future constraint-based models.
In version 2 of this package, the ability to encode gene products and
gene product references was added, and the encoding of flux bounds was modified
to reference parameters, instead of holding directly-encoded values.
Authors
The primary authors of the SBML Level, 3 Flux Balance Constraints package are Brett G. Olivier and Frank T. Bergmann.
The specification for this SBML package
This API documentation for libSBML does not
provide a complete explanation of the SBML Level 3 Flux Balance
Constraints (“fbc”) package. If you are developing software
that uses “fbc”, you are strongly urged to read the actual
specification for the package. A link to the specification document current
is provided below, along with a link to the page of known issues (if any).
Specification for SBML Level 3
Flux Balance Constraints, current at the time of this libSBML release
(5.18.0). Note: an Internet connection is required to access
these documents.
Specification (in PDF format) |
Known issues |
Flux Balance Constraints package, Version 1 Release 1
|
Errata page
|
Flux Balance Constraints package, Version 2 Release 1
|
Errata page
|
class CobraToFbcConverter_t |
class FbcSBMLDocumentPlugin_t |
class FbcToCobraConverter_t |
class FbcV1ToV2Converter_t |
class FbcV2ToV1Converter_t |