Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
netFluxClass.R 3.76 KiB
# netFluxClass.R
# FBA and friends with R.
#
# Copyright (C) 2010-2014 Gabriel Gelius-Dietrich, Dpt. for Bioinformatics,
# Institute for Informatics, Heinrich-Heine-University, Duesseldorf, Germany.
# All right reserved.
# Email: geliudie@uni-duesseldorf.de
#
# This file is part of sybil.
#
# Sybil is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Sybil is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with sybil. If not, see <http://www.gnu.org/licenses/>.
# netFluxClass
#------------------------------------------------------------------------------#
# class definitions #
#------------------------------------------------------------------------------#
setClass("netFlux",
representation(
uptake = "logical",
product = "logical",
unused = "logical",
react_id = "character",
rate = "numeric"
),
)
#------------------------------------------------------------------------------#
# user constructor #
#------------------------------------------------------------------------------#
getNetFlux <- function(rates, tol = SYBIL_SETTINGS("TOLERANCE")) {
id <- names(rates)
names(rates) <- NULL
upt <- rates < tol * -1
prd <- rates > tol
uusd <- logical(length(rates))
uusd[!upt] <- TRUE
uusd[!prd] <- TRUE
nf <- new("netFlux",
react_id = as.character(id),
rate = as.numeric(rates),
uptake = upt, product = prd, unused = uusd)
return(nf)
}
#------------------------------------------------------------------------------#
# setters and getters #
#------------------------------------------------------------------------------#