Select Git revision
-
Claus Jonathan Fritzemeier authoredClaus Jonathan Fritzemeier authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
checkReactId.R 4.60 KiB
# checkReactId.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/>.
################################################
# Function: checkReactId
#
#
#
#
checkReactId <- function(model, react) {
if (is(react, "reactId")) {
return(react)
}
if (!is(model, "modelorg")) {
stop("needs an object of class modelorg!")
}
checkedIds <- NULL
#------------------------------------------------------------------------------#
# if "react" is numeric #
#------------------------------------------------------------------------------#
# If react is numeric (or integer), we only need to check, whether no element of
# react is larger than the number of reactions and if all elements are positive.
if (is.numeric(react) || is.integer(react)) {
if ( (max(react) > react_num(model)) || (min(react) < 1) ) {
#if ( (max(react) > react_num(model)) || (!all(react > 0)) ) {
warning("reaction numbers must be in between 1 and ", react_num(model))
}
else {
checkedIds <- new("reactId",
mod_id = mod_id(model),
mod_key = mod_key(model),
pnt = react,
id = react_id(model)[react])
}
#return(checkedIds)
}
#------------------------------------------------------------------------------#
# if "react" is character #