Select Git revision
changeGPR.R
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
changeGPR.R 2.64 KiB
# changeGPR.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: changeGPR
#
#
#
#
# model must be an object of modelorg
# react stands for the reaction, which will be changed
# (Instance of checkReactId, positions or names)
# gprRules stands for the new logical Expressions (GPR Rules)
changeGPR <- function(model, react, gprRules = "logicalExpression", verboseMode = 1) {
# is the chosen model type of modelorg?
if (!is(model, "modelorg")) {
stop("needs an object of class modelorg!")
}
# is the gprRules field empty?
if (missing(gprRules)) {
stop("please input an expression!")
}
if (any(!is.na(match(gprRules,"")))) {
stop("\"\" is no valid logical expression!")
}
# check the reaction
if (is(react, "reactId")) {
reactNr <- react_pos(react)
}
else {
if (!is(checkReactId(model, react), "reactId")) {
stop("At least one reaction does not exist in the model!")
}
else {
reactNr <- react_pos(checkReactId(model, react))
}