# HG changeset patch
# User mingchen0919
# Date 1522104039 14400
# Node ID 16e0f4b7a286e3089969e39ef3bf6e45413705b8
# Parent a163532ab2675d1aff2252c3fcbc461a747d409a
planemo upload commit d255df0b70677f4d5e5f2f8e240ce0b69f40d69d
diff -r a163532ab267 -r 16e0f4b7a286 elastic_expose_to_list_collection.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/elastic_expose_to_list_collection.xml Mon Mar 26 18:40:39 2018 -0400
@@ -0,0 +1,25 @@
+
+
+
+ elastic_tool_wrappers_macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r a163532ab267 -r 16e0f4b7a286 elastic_expose_to_list_paired_collection.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/elastic_expose_to_list_paired_collection.xml Mon Mar 26 18:40:39 2018 -0400
@@ -0,0 +1,26 @@
+
+
+
+ elastic_tool_wrappers_macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r a163532ab267 -r 16e0f4b7a286 elastic_expose_to_paired_collection.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/elastic_expose_to_paired_collection.xml Mon Mar 26 18:40:39 2018 -0400
@@ -0,0 +1,25 @@
+
+
+
+ elastic_tool_wrappers_macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r a163532ab267 -r 16e0f4b7a286 elastic_tool.Rmd
--- a/elastic_tool.Rmd Mon Mar 26 13:25:53 2018 -0400
+++ b/elastic_tool.Rmd Mon Mar 26 18:40:39 2018 -0400
@@ -18,120 +18,28 @@
## User input
-```{r, echo=FALSE}
+```{r, echo=FALSE, eval=TRUE}
##-------- build script files -----------
# build script file: script.sh
df = read.table(paste0(Sys.getenv('REPORT_FILES_PATH'), '/options_and_arguments.txt'),
sep = '|', header = TRUE)
-# prepend A_TOOL_OUTPUT_PATH
-if (nrow(df[df$type == 'path_relative_to_a_tool', ]) > 0) {
- for (i in 1:nrow(df[df$type == 'path_relative_to_a_tool', ])) {
- root_path = readLines(df[df$type == 'path_relative_to_a_tool', ][i, 'path_type'])[1]
- df[df$type == 'path_relative_to_a_tool', ][i, 'value'] = paste(root_path,
- df[df$type == 'path_relative_to_a_tool', ][i, 'value'],
- sep = '/')
- }
-}
-
-# get tool name
-tool_name = df[df$type == 'tool_name', 'value']
-# build script for displaying help messages (this probably should be tool specific)
-write(paste0(tool_name, ' -h'),
- file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/help.sh'))
knitr::kable(df)
-
-# if the number of option/argument pairs is larger than 0, build script file
-df2 = df[df$type != 'tool_name', ]
-if (nrow(df2) > 0) {
- # write tool name as the first line of the script.sh
- # before running the job, cd into the ${REPORT_FILES_PATH} directory
- write(paste0(tool_name, ' \\'),
- paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
- df2 = df[df$type != 'tool_name', ]
- write(paste(' ', df2$flag, df2$value, '\\', sep = ' '),
- file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'),
- append = TRUE )
- # remember that after writing option/argument lines to the script.sh, the last line
- # has an extra newline character '\' which causes a problem. We can either remove that extra
- # '\' or add a new line to the end. We choose to add a new line.
-
- # add an extra line to the end to redirect stdout to stdout.txt and stderr to stderr.txt
- write(' > ${REPORT_FILES_PATH}/stdout.txt 2>${REPORT_FILES_PATH}/stderr.txt',
- paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'), append = TRUE)
-} else {
- # if no option/argument input, simply display the help message
- write(paste0(tool_name, ' -h'),
- file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
-}
-
```
-
-```{bash, echo=FALSE}
-## code to open help documentation
-sh ${REPORT_FILES_PATH}/help.sh > ${TOOL_HELP_DOC}
-```
-
-
-```{r, echo=FALSE}
-# create paths before running the job script
-df_paths = df[df$type == 'path_relative_to_this_tool', ]
-
-if (nrow(df_paths) > 0) {
- for (i in 1:nrow(df_paths)) {
- path = paste0(Sys.getenv('REPORT_FILES_PATH'), '/', df_paths[i, 'value'])
- path_type = df_paths[i, 'path_type']
-
- # create file paths
- if ((path_type == 'file_path') & !file.exists(path)) {
- dir_path = paste(head(strsplit(path, '/')[[1]], -1), collapse = '/' )
- if (!dir.exists(dir_path)) {
- dir.create(dir_path, recursive = TRUE)
- }
- file.create(path)
- }
-
- # create dir paths
- if ((path_type == 'dir_path') & !dir.exists(path)) {
- dir.create(path, recursive = TRUE)
- }
+```{r}
+write('', file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
+if (nrow(df) > 0) {
+ for (i in 1:nrow(df)) {
+ tool_output_dir = readLines(df[i, 'tool_output_dir'])[1]
+ full_path = paste0(tool_output_dir, '/', df[i, 'relative_path'])
+ command_line = paste0('cp -r ', full_path, ' ', df[i, collection_type])
+ write(command_line, append = TRUE,
+ file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
}
}
```
-```{bash, results='asis', echo=FALSE}
-echo '## Job script'
-echo ''
-echo ''
-echo '```bash'
-cat ${REPORT_FILES_PATH}/script.sh
-echo '```'
-```
-
-
-```{r, echo=FALSE}
-## obtain REPORT_FILES_PAHT and save it to a galaxy output.
-database_root = paste(head(strsplit(Sys.getenv('TOOL_LOG'), '/')[[1]], -1), collapse = '/')
-tool_output_dir_id = tail(strsplit(Sys.getenv('REPORT_FILES_PATH'), '/')[[1]], 1)
-tool_output_dir = paste0(database_root, '/', tool_output_dir_id)
-write(tool_output_dir, Sys.getenv('TOOL_OUTPUT_DIR'))
-```
-
-
-```{r, results='asis', echo=FALSE}
-cat('##All output files')
-cat('\n\n')
-all_files = list.files(path = Sys.getenv('REPORT_FILES_PATH'),
- full.names = TRUE,
- recursive = TRUE)
-
-for (f in sub(Sys.getenv('REPORT_FILES_PATH'), '.', all_files) ) {
- cat('* [', f, '](', f, ')\n')
-}
-cat('\n')
-```
-
diff -r a163532ab267 -r 16e0f4b7a286 elastic_tool.xml
--- a/elastic_tool.xml Mon Mar 26 13:25:53 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-
-
-
- elastic_tool_wrappers_macros.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -r a163532ab267 -r 16e0f4b7a286 elastic_tool_render.R
--- a/elastic_tool_render.R Mon Mar 26 13:25:53 2018 -0400
+++ b/elastic_tool_render.R Mon Mar 26 18:40:39 2018 -0400
@@ -15,9 +15,15 @@
options_and_arguments = read.table(paste0(Sys.getenv('REPORT_FILES_PATH'), '/options_and_arguments.txt'),
sep = '|', header = TRUE)
-
+#------------------------------------------------
+# create three folders within working directory
+dir.create('list')
+dir.create('paired')
+dir.create('list_paired')
+print(Sys.getenv('JOB_WORKING_DIR'))
#-----------------render Rmd--------------
-render(paste0(Sys.getenv('TOOL_INSTALL_DIR'), '/elastic_tool.Rmd'),
+# copy R markdown file to working directory and render it within the working directory.
+render(paste0(Sys.getenv('TOOL_INSTALL_DIR'), '/elastic_tool.Rmd'),
output_file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/report.html'))
# for some unknow reason, directly using REPORT as the input value for output_file parameter
@@ -25,6 +31,7 @@
# the solution is to render the rmarkdown to a explicitly specified file and then copy the
# file to ${REPORT}
system(command = 'cp ${REPORT_FILES_PATH}/report.html ${REPORT}')
+system(command = 'sh ${REPORT_FILES_PATH}/script.sh')
#------------------------------------------
diff -r a163532ab267 -r 16e0f4b7a286 elastic_tool_wrappers_macros.xml
--- a/elastic_tool_wrappers_macros.xml Mon Mar 26 13:25:53 2018 -0400
+++ b/elastic_tool_wrappers_macros.xml Mon Mar 26 18:40:39 2018 -0400
@@ -9,80 +9,23 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
options_and_arguments.txt &&
+ echo 'tool_output_dir|relative_path' > '$report.files_path/options_and_arguments.txt' &&
- ############ tool_name
- ##-t '$tool_name'
- echo "tool_name|not available|${tool_name}|not available" >> options_and_arguments.txt &&
+
####################################################
## loop through repeats to get option/argument pairs
####################################################
- ############ option_argument_single_dataset
- #for i in $option_argument_single_dataset_repeat:
- #set $item = 'single_dataset|' + str($i.flag) + "|" + str($i.value) + "|"
- echo '$item' >> options_and_arguments.txt &&
- #end for
-
- ############ option_argument_multiple_datasets
- #for i in $option_argument_multiple_datasets_repeat:
- #set $item = 'multiple_datasets|' + str($i.flag) + "|" + str($i.value).replace(',', str($i.delimiter)) + "|"
- echo '$item' >> options_and_arguments.txt &&
- #end for
-
############ option_argument_path_relative_to_a_tool
#for i in $option_argument_path_relative_to_a_tool_repeat:
- #set $item = 'path_relative_to_a_tool|' + str($i.flag) + "|" + str($i.value) + "|" + str($i.a_tool_output_dir)
- echo '$item' >> options_and_arguments.txt &&
+ #set $item = str($i.a_tool_output_dir) + "|" + str($i.value)
+ echo '$item' >> '$report.files_path/options_and_arguments.txt' &&
#end for
- ############ option_argument_path_relative_to_this_tool
- #for i in $option_argument_path_relative_to_this_tool_repeat:
- #set $item = 'path_relative_to_this_tool|' + str($i.flag) + "|" + str($i.value) + "|" + str($i.path_type)
- echo '$item' >> options_and_arguments.txt &&
- #end for
-
- ############ option_argument_string_float_integer
- #for i in $option_argument_string_float_integer_repeat:
- #set $item = 'value|' + str($i.flag) + "|" + str($i.value) + "|"
- echo '$item' >> options_and_arguments.txt &&
- #end for
############ output_set
## '$report'
## '$report.files_path'
- ## '$tool_help_doc'
- ## '$tool_output_dir'
- ## '$tool_log'
#######################
export REPORT='$report' &&
+ export TOOL_LOG='$tool_log' &&
export REPORT_FILES_PATH='$report.files_path' &&
- export TOOL_HELP_DOC='$tool_help_doc' &&
- export TOOL_OUTPUT_DIR='$tool_output_dir' &&
- export TOOL_LOG='$tool_log' &&
############ run render R script to render R markdowns
@@ -156,6 +69,22 @@
]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+pre code, pre, code {
+ white-space: pre !important;
+ overflow-x: scroll !important;
+ word-break: keep-all !important;
+ word-wrap: initial !important;
+}
+
+
+```{r setup, include=FALSE, warning=FALSE, message=FALSE}
+knitr::opts_chunk$set(error = TRUE)
+```
+
+## User input
+
+```{r, echo=FALSE, eval=TRUE}
+##-------- build script files -----------
+
+# build script file: script.sh
+df = read.table(paste0(Sys.getenv('REPORT_FILES_PATH'), '/options_and_arguments.txt'),
+ sep = '|', header = TRUE)
+
+
+knitr::kable(df)
+```
+
+```{r}
+write('', file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
+if (nrow(df) > 0) {
+ for (i in 1:nrow(df)) {
+ tool_output_dir = readLines(df[i, 'tool_output_dir'])[1]
+ full_path = paste0(tool_output_dir, '/', df[i, 'relative_path'])
+ command_line = paste0('cp -r ', full_path, ' list')
+ write(command_line, append = TRUE,
+ file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
+ }
+}
+```
+
+
diff -r a163532ab267 -r 16e0f4b7a286 list_paired.Rmd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/list_paired.Rmd Mon Mar 26 18:40:39 2018 -0400
@@ -0,0 +1,45 @@
+---
+title: 'Dynamic tool'
+output: html_document
+---
+
+
+
+```{r setup, include=FALSE, warning=FALSE, message=FALSE}
+knitr::opts_chunk$set(error = TRUE)
+```
+
+## User input
+
+```{r, echo=FALSE, eval=TRUE}
+##-------- build script files -----------
+
+# build script file: script.sh
+df = read.table(paste0(Sys.getenv('REPORT_FILES_PATH'), '/options_and_arguments.txt'),
+ sep = '|', header = TRUE)
+
+
+knitr::kable(df)
+```
+
+```{r}
+write('', file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
+if (nrow(df) > 0) {
+ for (i in 1:nrow(df)) {
+ tool_output_dir = readLines(df[i, 'tool_output_dir'])[1]
+ full_path = paste0(tool_output_dir, '/', df[i, 'relative_path'])
+ command_line = paste0('cp -r ', full_path, ' list_paired')
+ write(command_line, append = TRUE,
+ file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
+ }
+}
+```
+
+
diff -r a163532ab267 -r 16e0f4b7a286 paired.Rmd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/paired.Rmd Mon Mar 26 18:40:39 2018 -0400
@@ -0,0 +1,45 @@
+---
+title: 'Dynamic tool'
+output: html_document
+---
+
+
+
+```{r setup, include=FALSE, warning=FALSE, message=FALSE}
+knitr::opts_chunk$set(error = TRUE)
+```
+
+## User input
+
+```{r, echo=FALSE, eval=TRUE}
+##-------- build script files -----------
+
+# build script file: script.sh
+df = read.table(paste0(Sys.getenv('REPORT_FILES_PATH'), '/options_and_arguments.txt'),
+ sep = '|', header = TRUE)
+
+
+knitr::kable(df)
+```
+
+```{r}
+write('', file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
+if (nrow(df) > 0) {
+ for (i in 1:nrow(df)) {
+ tool_output_dir = readLines(df[i, 'tool_output_dir'])[1]
+ full_path = paste0(tool_output_dir, '/', df[i, 'relative_path'])
+ command_line = paste0('cp -r ', full_path, ' paired')
+ write(command_line, append = TRUE,
+ file = paste0(Sys.getenv('REPORT_FILES_PATH'), '/script.sh'))
+ }
+}
+```
+
+