annotate interproscan_render.R @ 5:4aa0cec3399f draft default tip

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