Mercurial > repos > mingchen0919 > dynamic_tool_test
annotate dynamic_tool_render.R @ 0:b49e227ec738 draft default tip
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
author | mingchen0919 |
---|---|
date | Wed, 21 Mar 2018 17:26:27 -0400 |
parents | |
children |
rev | line source |
---|---|
0
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
1 ##============ Sink warnings and errors to a file ============== |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
2 ## use the sink() function to wrap all code within it. |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
3 ##============================================================== |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
4 zz = file('tool_log.txt') |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
5 sink(zz) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
6 sink(zz, type = 'message') |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
7 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
8 #------------import libraries-------------------- |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
9 options(stringsAsFactors = FALSE) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
10 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
11 library(getopt) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
12 library(rmarkdown) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
13 #------------------------------------------------ |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
14 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
15 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
16 #------------get arguments into R-------------------- |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
17 # load helper function |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
18 source(paste0(Sys.getenv('TOOL_DIR'), '/helper.R')) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
19 # import getopt specification matrix from a csv file |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
20 opt = getopt(getopt_specification_matrix('/dynamic_tool.csv')) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
21 opt$X_T = Sys.getenv('TOOL_DIR') |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
22 #---------------------------------------------------- |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
23 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
24 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
25 #-----------using passed arguments in R |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
26 # to define system environment variables--- |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
27 do.call(Sys.setenv, opt[-1]) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
28 #---------------------------------------------------- |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
29 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
30 #---------- often used variables ---------------- |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
31 # OUTPUT_DIR: path to the output associated directory, which stores all outputs |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
32 # TOOL_DIR: path to the tool installation directory |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
33 OUTPUT_REPORT = opt$X_R |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
34 OUTPUT_DIR = opt$X_D |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
35 TOOL_DIR = opt$X_T |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
36 RMD_NAME = 'dynamic_tool.Rmd' |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
37 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
38 # create the output associated directory to store all outputs |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
39 dir.create(OUTPUT_DIR, recursive = TRUE) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
40 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
41 #-----------------render Rmd-------------- |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
42 render(paste0(TOOL_DIR, '/', RMD_NAME), output_file = OUTPUT_REPORT) |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
43 #------------------------------------------ |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
44 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
45 #==============the end============== |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
46 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
47 |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
48 ##--------end of code rendering .Rmd templates---------------- |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
49 sink() |
b49e227ec738
planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
mingchen0919
parents:
diff
changeset
|
50 ##=========== End of sinking output============================= |