readSBMLmod: Reads a Metabolic Network in SBML Format

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/readSBMLmod.R

Description

The function reads a metabolic network in SBML format. The function returns an S4 object of the class modelorg

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
  readSBMLmod(filename, description,
              def_bnd = SYBIL_SETTINGS("MAXIMUM"),
              validateSBML = FALSE,
              extMetFlag = "b",
              bndCond = TRUE,
              ignoreNoAn = FALSE,
              mergeMet = TRUE,
              balanceReact = TRUE,
              remUnusedMetReact = TRUE,
              singletonMet = FALSE,
              deadEndMet = FALSE,
              remMet = FALSE,
              constrMet = FALSE,
              tol = SYBIL_SETTINGS("TOLERANCE"))

Arguments

filename

SBML file containing the model

description

Character vector containing a description of the model.
Default: filename.

def_bnd

Single numeric value. Absolute value for upper and lower bounds for reaction contraints – if they are missing in the SBML file.
Default: MAXIMUM(SYBIL_SETTINGS).

validateSBML

Boolean: validate the xml file.
Default: TRUE.

extMetFlag

A single character string how external metabolites were identified. If the metabolite id ends in "_extMetFlag", the corresponding metabolite is considered to be external and will be removed if bndCond is set to FALSE.
Default: "b".

bndCond

Boolean: use the value of SBML tag boundaryCondition in order to identify external metabolites.
Default: TRUE.

ignoreNoAn

Boolean: if set to TRUE, any notes and annotation fields in the listOfReactions in an SBML file are ignored.
Default: FALSE.

mergeMet

Boolean: if set to TRUE, metabolites used more than once as reactant or product in a particular reaction are added up, see details below. If set to FALSE, the last value is used without warning.
Default: TRUE.

balanceReact

Boolean: if set to TRUE, metabolites used as reactant and product in a particular reaction at the same time are balanced, see details below. If set to FALSE the last value is used without warning (reactants before products).
Default: TRUE.

remUnusedMetReact

Boolean: if set to TRUE, metabolites and reactions which are not used in the stoichiometric matrix will be removed. A metabolite or a reaction is considered as unused, if the corresponding element of rowSums (metabolites) or colSums (reactions) of the binary version of the stoichiometric matrix is zero, see details below. If set to FALSE, only a warning is given.
Default: FALSE.

singletonMet

Boolean: if set to TRUE, metabolites appearing only once in the stoichiometric matrix are identified. Metabolites appear only once, if rowSums of the binary stoichiometric matrix is one in the corresponding row, see details below.
Default: FALSE.

deadEndMet

Boolean: if set to TRUE, metabolites which are produced but not consumed, or vice versa are identified, see details below. If both arguments singletonMet and deadEndMet are set to TRUE, the function will first look for singleton metabolites, and exclude them (and the corresponding reactions) from the search list. Afterwards, dead end metabolites are searched only in the smaller model.
Default: FALSE.

remMet

Boolean: if set to TRUE, metabolites identified as singleton or dead end metabolites will be removed from the model. Additionally, reactions containing such metabolites will be removed also.
Default: FALSE.

constrMet

Boolean: if set to TRUE, reactions containing metabolites identified as singleton or dead end metabolites will be constrained to zero.
Default: FALSE.

tol

A single numeric value, giving the smallest positive floating point number unequal to zero, see details below.
Default: TOLERANCE(SYBIL_SETTINGS).

Details

The library libSBML is used to read an SBML file and to collect the information in an object of the class modelorg.

If a metabolite is used more than once as product or reactant of a particular reaction, it is merged: a + (2) a is converted to (3) a and a warning will be given.

If a metabolite is used first as reactant and then as product of a particular reaction, the reaction is balanced: (2) b + a -> b + c is converted to b + a -> c

A binary version of the stoichiometric matrix S is constructed via abs(S) > tol.

A binary version of the stoichiometric matrix S is scanned for reactions and metabolites which are not used in S. If there are some, a warning will be given and the corresponding reactions and metabolites will be removed from the model if remUnusedMetReact is set to TRUE.

The binary version of the stoichiometric matrix S is scanned for metabolites, which are used only once in S. If there are some, at least a warning will be given. If either constrMet or remMet is set to TRUE, the binary version of S is scanned for paths of singleton metabolites. If constrMet is set to TRUE, reactions containing those metabolites will be constrained to zero; if remMet is set to TRUE, the metabolites and the reactions containing those metabolites will be removed from the network.

In order to find path of singleton metabolites a binary version of the stoichiometric matrix S is used. Sums of rows gives the vector of metabolite usage, each element is the number of reactions a metabolite participates. A single metabolite (singleton) is a metabolite with a row sum of zero. All columns in S (reactions) containing singleton metabolites will be set to zero. And again, singleton metabolites will be searched until none are found.

The algorithm to find dead end metabolites works in a quite similar way, but not in the binary version of the stoichiometric matrix. Here, metabolite i is considered as dead end, if it is for example produced by reaction j but not used by any other reaction k.

Value

An S4 object of the class modelorg.

Note

The function readSBMLmod makes use of the library libSBML (http://www.sbml.org).

Author(s)

Gabriel Gelius-Dietrich <geliudie@uni-duesseldorf.de>

Maintainer: Mayo Roettger <mayo.roettger@hhu.de>

References

The BiGG database http://bigg.ucsd.edu/.

Bornstein, B. J., Keating, S. M., Jouraku, A., and Hucka M. (2008) LibSBML: An API Library for SBML. Bioinformatics 24, 880–881.

Schellenberger, J., Park, J. O., Conrad, T. C., and Palsson, B. Ø., (2010) BiGG: a Biochemical Genetic and Genomic knowledgebase of large scale metabolic reconstructions. BMC Bioinformatics 11, 213.

Becker, S. A., Feist, A. M., Mo, M. L., Hannum, G., Palsson, B. Ø. and Herrgard, M. J. (2007) Quantitative prediction of cellular metabolism with constraint-based models: the COBRA Toolbox. Nat Protoc 2, 727–738.

Schellenberger, J., Que, R., Fleming, R. M. T., Thiele, I., Orth, J. D., Feist, A. M., Zielinski, D. C., Bordbar, A., Lewis, N. E., Rahmanian, S., Kang, J., Hyduke, D. R. and Palsson, B. Ø. (2011) Quantitative prediction of cellular metabolism with constraint-based models: the COBRA Toolbox v2.0. Nat Protoc 6, 1290–1307.

See Also

validateSBMLdocument

Examples

1
2
3
  dir  <- system.file(package = "sybilSBML", "extdata")
  file <- file.path(dir, "ecoli_core_model.xml")
  mod  <- readSBMLmod(file, bndCond = FALSE)

Example output

Loading required package: Matrix
Loading required package: sybil
Loading required package: lattice
using libSBML version 5.18.0
reading SBML file ... OK
getting the model ... OK
creating S and parsing constraints ... OK
GPR mapping ... OK
cleaning up ... OK
validating object ... OK

sybilSBML documentation built on March 31, 2020, 5:08 p.m.