Nothing
# 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))
}
}
if ( !identical(length(reactNr), length(gprRules)) ) {
stop("not as many logical expressions as reactions!")
}
###### is the logical Expression correct? ######
checkV <- onlyCheckGPR(model, gprRules, reactNr, verboseMode=verboseMode)
if (verboseMode > 1) { cat("Updating ... ") }
###### the expression is correct. Now change ######
model <- onlyChangeGPR(model, gprRules, reactNr, verboseMode=verboseMode)
#for (anz in seq(1, length(checkV), by = 1)) {
# if (checkV[anz]) { model <- onlyChangeGPR(model, gprRules[anz],
# reactNr[anz], verboseMode=verboseMode) }
#}
if (verboseMode > 1) { cat("OK.\n") }
if (verboseMode > 0) { cat("Finished.\n") }
return(model)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.