modelorgreadSBMLmod(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"))filename.MAXIMUM(SYBIL_SETTINGS).TRUE."_extMetFlag", the corresponding metabolite is
considered to be external and will be removed if bndCond is set to
boundaryCondition in order to
identify external metabolites.
Default: TRUE.TRUE, any notes and annotation fields in the
listOfReactions in an SBML file are ignored.
Default: FALSE.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: TRUETRUE, 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
prorowSums
(metabolites) or rowSums of the binary stoichiometric matrix is one in
the csingletonMet and deadEndMet are set to TRUE, the
function will FALSE.FALSE.TOLERANCE(SYBIL_SETTINGS).modelorg.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 $\left|S\right| > 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.
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.
validateSBMLdocumentdir <- system.file(package = "sybilSBML", "extdata")
file <- file.path(dir, "ecoli_core_model.xml")
mod <- readSBMLmod(file, bndCond = FALSE)Run the code above in your browser using DataLab