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============================= |
