Mercurial > repos > koash > test
view addTwoNumbers.R @ 3:3d7aaffea9f8 default tip
commit test2
author | ana0gramg+galaxytd@gmail.com |
---|---|
date | Wed, 19 Nov 2014 13:14:01 +0900 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/env Rscript ## begin warning handler withCallingHandlers({ library(methods) # Because Rscript does not always do this options('useFancyQuotes' = FALSE) suppressPackageStartupMessages(library("optparse")) suppressPackageStartupMessages(library("RGalaxy")) option_list <- list() option_list$number1 <- make_option('--number1', type='numeric') option_list$number2 <- make_option('--number2', type='numeric') option_list$sum <- make_option('--sum', type='character') opt <- parse_args(OptionParser(option_list=option_list)) suppressPackageStartupMessages(library(RSclient)) ## function body not needed here, it is in package params <- list() for(param in names(opt)) { if (!param == "help") params[param] <- opt[param] } setClass("GalaxyRemoteError", contains="character") wrappedFunction <- function(f) { tryCatch(do.call(f, params), error=function(e) new("GalaxyRemoteError", conditionMessage(e))) } c <- RS.connect(host='localhost', port=6311) RS.eval(c, options('useFancyQuotes' = FALSE)) RS.eval(c, suppressPackageStartupMessages(library(RGalaxy))) RS.assign(c, 'params', params) RS.assign(c, 'wrappedFunction', wrappedFunction) RS.eval(c, setClass('GalaxyRemoteError', contains='character')) res <- RS.eval(c, wrappedFunction(addTwoNumbers)) RS.close(c) if(is(res, 'GalaxyRemoteError'))RGalaxy::gstop(res) ## end warning handler }, warning = function(w) { cat(paste("Warning:", conditionMessage(w), "\n")) invokeRestart("muffleWarning") })