annotate interproscan_render.R @ 0:59d780043157 draft

planemo upload
author mingchen0919
date Tue, 03 Apr 2018 14:30:53 -0400
parents
children 035457a30aea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
1 ##============ Sink warnings and errors to a file ==============
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
2 ## use the sink() function to wrap all code within it.
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
3 ##==============================================================
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
4 zz = file('warnings_and_errors.txt')
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
5 sink(zz)
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
6 sink(zz, type = 'message')
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
7
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
8 #------------import libraries--------------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
9 options(stringsAsFactors = FALSE)
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
10
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
11 library(getopt)
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
12 library(rmarkdown)
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
13 #------------------------------------------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
14
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
15
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
16 #------------get arguments into R--------------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
17 # load helper function
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
18 source(paste0(Sys.getenv('TOOL_DIR'), '/helper.R'))
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
19 # import getopt specification matrix from a csv file
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
20 opt = getopt(getopt_specification_matrix(specification_file = 'getopt_specification.csv',
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
21 tool_dir = Sys.getenv('TOOL_DIR')))
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
22 opt$X_t = Sys.getenv('TOOL_DIR')
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
23 #----------------------------------------------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
24
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
25
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
26 #-----------using passed arguments in R
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
27 # to define system environment variables---
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
28 do.call(Sys.setenv, opt[-1])
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
29 #----------------------------------------------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
30
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
31 #---------- often used variables ----------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
32 # OUTPUT_DIR: path to the output associated directory, which stores all outputs
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
33 # TOOL_DIR: path to the tool installation directory
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
34 OUTPUT_DIR = opt$X_d
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
35 TOOL_DIR = opt$X_t
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
36 OUTPUT_REPORT = opt$X_o
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
37 RMD_NAME = 'interproscan.Rmd'
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
38
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
39 # create the output associated directory to store all outputs
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
40 dir.create(OUTPUT_DIR, recursive = TRUE)
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
41
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
42 #-----------------render Rmd--------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
43 # for some unknow reason, directly using REPORT as the input value for output_file parameter
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
44 # in the render function can cause empty report file when the tool runs in batch mode.
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
45 # the solution is to render the rmarkdown to a explicitly specified file and then copy the
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
46 # file to ${REPORT}
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
47 render(paste0(TOOL_DIR, '/', RMD_NAME),
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
48 output_file = paste0(Sys.getenv('OUTPUT_DIR'), '/report.html'))
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
49 system(command = 'cp ${OUTPUT_DIR}/report.html ${OUTPUT_REPORT}')
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
50 #------------------------------------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
51
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
52 #==============the end==============
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
53
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
54
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
55 ##--------end of code rendering .Rmd templates----------------
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
56 sink()
59d780043157 planemo upload
mingchen0919
parents:
diff changeset
57 ##=========== End of sinking output=============================