Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • dev
  • sybilNLO
  • gprBug
  • maximumtotalflux
  • easyConstraint
  • switchbug
  • thuong
  • momafix
  • rmReactBug
10 results

checksolClass.R

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    checksolClass.R 5.59 KiB
    #  checksolClass.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/>.
    
    
    # checksolClass
    
    
    #------------------------------------------------------------------------------#
    #                   definition of the class checksol                           #
    #------------------------------------------------------------------------------#
    
    setClass("checksol",
             representation(
                  num_of_prob    = "integer",
                  exit_code      = "integer",
                  exit_num       = "integer",
                  exit_meaning   = "character",
                  status_code    = "integer",
                  status_num     = "integer",
                  status_meaning = "character"
            )
    )
    
    
    #------------------------------------------------------------------------------#
    #                              user constructor                                #
    #------------------------------------------------------------------------------#
    
    checksol <- function() {
        new("checksol")
    }
    
    
    #------------------------------------------------------------------------------#
    #                            setters and getters                               #
    #------------------------------------------------------------------------------#
    
    # num_of_prob
    setMethod("num_of_prob", signature(object = "checksol"),
              function(object) {
                  return(object@num_of_prob)
              }
    )
    
    setReplaceMethod("num_of_prob", signature = (object = "checksol"),
                     function(object, value) {
                         object@num_of_prob <- value
                         return(object)
                     }
    )
    
    
    # exit_code
    setMethod("exit_code", signature(object = "checksol"),
              function(object) {
                  return(object@exit_code)
              }
    )
    
    setReplaceMethod("exit_code", signature = (object = "checksol"),
                     function(object, value) {
                         object@exit_code <- value
                         return(object)
                     }
    )
    
    
    # exit_num
    setMethod("exit_num", signature(object = "checksol"),
              function(object) {
                  return(object@exit_num)
              }
    )
    
    setReplaceMethod("exit_num", signature = (object = "checksol"),
                     function(object, value) {
                         object@exit_num <- value
                         return(object)
                     }
    )
    
    
    # exit_meaning
    setMethod("exit_meaning", signature(object = "checksol"),
              function(object) {
                  return(object@exit_meaning)
              }
    )
    
    setReplaceMethod("exit_meaning", signature = (object = "checksol"),
                     function(object, value) {
                         object@exit_meaning <- value
                         return(object)
                     }
    )
    
    
    # status_code
    setMethod("status_code", signature(object = "checksol"),
              function(object) {
                  return(object@status_code)
              }
    )
    
    setReplaceMethod("status_code", signature = (object = "checksol"),
                     function(object, value) {
                         object@status_code <- value
                         return(object)
                     }
    )
    
    
    # status_num
    setMethod("status_num", signature(object = "checksol"),
              function(object) {
                  return(object@status_num)
              }
    )
    
    setReplaceMethod("status_num", signature = (object = "checksol"),
                     function(object, value) {
                         object@status_num <- value
                         return(object)
                     }
    )
    
    
    
    # status_meaning
    setMethod("status_meaning", signature(object = "checksol"),
              function(object) {
                  return(object@status_meaning)
              }
    )
    
    setReplaceMethod("status_meaning", signature = (object = "checksol"),
                     function(object, value) {
                         object@status_meaning <- value
                         return(object)
                     }
    )
    
    
    #------------------------------------------------------------------------------#
    #                               other methods                                  #
    #------------------------------------------------------------------------------#
    
    setMethod("show", signature(object = "checksol"),
        function(object) {
            cat("Return code:\n")
            cat(" Code    #       meaning\n")
            tmp <- sprintf(" %-8i%-8i%s\n",
                           exit_code(object),
                           exit_num(object),
                           exit_meaning(object))
            cat(tmp, sep = "")
    
            cat("\n")
            cat("Solution status:\n")
            cat(" Code    #       meaning\n")
    
            tmp <- sprintf(" %-8i%-8i%s\n",
                           status_code(object),
                           status_num(object),
                           status_meaning(object))
            cat(tmp, sep = "")
            num <- num_of_prob(object)
            if (num > 1) {
                cat("\n", num, " optimizations were performed.\n", sep = "")
            }
        }
    )