From f04aaf315ba00a59c68eb967d780f2d7dae338be Mon Sep 17 00:00:00 2001 From: Claus Jonathan Fritzemeier <clausjonathan.fritzemeier@hhu.de> Date: Wed, 17 Dec 2014 15:08:29 +0100 Subject: [PATCH] bug fixed --- R/addReact.R | 21 ++++++++++----------- R/rmReact.R | 12 ++++++++++-- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/R/addReact.R b/R/addReact.R index 3c6ab34..1705cba 100644 --- a/R/addReact.R +++ b/R/addReact.R @@ -211,8 +211,14 @@ addReact <- function(model, # subsystems if (any(is.na(subSystem))) { - newsubSys <- rBind(subSys(model), - rep(FALSE, ncol(subSys(model)))) + ss <- subSys(model) + if(ncol(ss)==0){ # if no subSys defined, rbind (see else) failed + dim(ss) <- c(nrow(ss)+1, ncol(ss)) + newsubSys <- ss + } + else { + newsubSys <- rBind(ss, rep(FALSE, ncol(subSys(model)))) + } } else { if (is(subSystem, "logical")) { @@ -230,14 +236,12 @@ addReact <- function(model, newrxnGeneMat <- rBind(rxnGeneMat(model), rep(FALSE, ncol(rxnGeneMat(model)))) } - else if (nrow(rxnGeneMat(model)) > 0) { + else { #if (nrow(rxnGeneMat(model)) > 0) { newrxnGeneMat <- rxnGeneMat(model) dim(newrxnGeneMat) <- c(nrow(newrxnGeneMat)+1, ncol(newrxnGeneMat)) } - else { - newrxnGeneMat <- rxnGeneMat(model) - } + # do above else always. if ( (is.na(gprAssoc)) || (gprAssoc == "") ) { if ((length(gprRules(model)) > 0)) { @@ -274,14 +278,9 @@ addReact <- function(model, newrxnGeneMat <- cBind(newrxnGeneMat, rep(FALSE, nrow(newrxnGeneMat))) } -# print("arsch") } } -# print(newrxnGeneMat) -# print(nCols) -# print(geneInd) - # rxnGeneMat newrxnGeneMat[nCols, geneInd] <- TRUE diff --git a/R/rmReact.R b/R/rmReact.R index c2cc8ce..3e9ff3c 100644 --- a/R/rmReact.R +++ b/R/rmReact.R @@ -148,8 +148,16 @@ rmReact <- function(model, react, rm_met = TRUE) { subSys(mod_out) <- subSys(model)[keepReact, , drop = FALSE] ag <- unique(unlist(genes(mod_out))) - ncag <- nchar(ag) - allGenes(mod_out) <- ag[which(ncag != 0)] + # old code tried to assign NULL to allGenes, if no gene was left. + if(length(ag)==0){ + allGenes(mod_out) <- character(0) + } + else { + ncag <- nchar(ag) + ag <- ag[which(ncag != 0)] + allGenes(mod_out) <- ag + } + # reaction to gene mapping #SrGMbin <- rxnGeneMat(mod_out) != 0 -- GitLab