annotate addTwoNumbers.R @ 3:3d7aaffea9f8 default tip

commit test2
author ana0gramg+galaxytd@gmail.com
date Wed, 19 Nov 2014 13:14:01 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
1 #!/usr/bin/env Rscript
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
2
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
3 ## begin warning handler
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
4 withCallingHandlers({
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
5
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
6 library(methods) # Because Rscript does not always do this
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
7
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
8 options('useFancyQuotes' = FALSE)
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
9
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
10 suppressPackageStartupMessages(library("optparse"))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
11 suppressPackageStartupMessages(library("RGalaxy"))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
12
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
13
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
14 option_list <- list()
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
15
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
16 option_list$number1 <- make_option('--number1', type='numeric')
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
17 option_list$number2 <- make_option('--number2', type='numeric')
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
18 option_list$sum <- make_option('--sum', type='character')
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
19
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
20
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
21 opt <- parse_args(OptionParser(option_list=option_list))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
22
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
23 suppressPackageStartupMessages(library(RSclient))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
24
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
25 ## function body not needed here, it is in package
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
26
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
27 params <- list()
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
28 for(param in names(opt))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
29 {
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
30 if (!param == "help")
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
31 params[param] <- opt[param]
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
32 }
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
33
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
34 setClass("GalaxyRemoteError", contains="character")
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
35 wrappedFunction <- function(f)
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
36 {
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
37 tryCatch(do.call(f, params),
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
38 error=function(e) new("GalaxyRemoteError", conditionMessage(e)))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
39 }
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
40
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
41
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
42 c <- RS.connect(host='localhost', port=6311)
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
43 RS.eval(c, options('useFancyQuotes' = FALSE))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
44 RS.eval(c, suppressPackageStartupMessages(library(RGalaxy)))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
45 RS.assign(c, 'params', params)
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
46 RS.assign(c, 'wrappedFunction', wrappedFunction)
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
47 RS.eval(c, setClass('GalaxyRemoteError', contains='character'))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
48 res <- RS.eval(c, wrappedFunction(addTwoNumbers))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
49 RS.close(c)
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
50 if(is(res, 'GalaxyRemoteError'))RGalaxy::gstop(res)
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
51
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
52 ## end warning handler
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
53 }, warning = function(w) {
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
54 cat(paste("Warning:", conditionMessage(w), "\n"))
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
55 invokeRestart("muffleWarning")
3d7aaffea9f8 commit test2
ana0gramg+galaxytd@gmail.com
parents:
diff changeset
56 })