Mercurial > repos > mingchen0919 > rmarkdown_collection_builder
changeset 1:6be61cb4a1d5 draft
planemo upload for repository https://github.com/statonlab/docker-GRReport/tree/master/my_tools/rmarkdown_collection_builder commit 6df7b8ef3a603f7792ed5815ff324ede8a7b2b0b-dirty
author | mingchen0919 |
---|---|
date | Mon, 25 Sep 2017 16:19:52 -0400 |
parents | 78018b735124 |
children | 56b68a320c0e |
files | collection_list.Rmd collection_list.xml collection_list_render.R |
diffstat | 3 files changed, 31 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/collection_list.Rmd Mon Sep 25 14:28:52 2017 -0400 +++ b/collection_list.Rmd Mon Sep 25 16:19:52 2017 -0400 @@ -14,16 +14,27 @@ ) ``` -```{r} +# Command line arguments + +```{r 'command line arguments'} str(opt) ``` -```{bash 'copy data to working directory', echo=FALSE} -mkdir files_directory -# Copy uploaded data to the working directory -for f in $(echo FILE_LIST | sed "s/,/ /g") -do - cp $f ./files_directory -done -``` \ No newline at end of file +```{r 'rename files'} +# create directory +dir.create('./files_directory') +# get full paths of original files +from_files = strsplit("FILE_LIST", ',')[[1]] +# copy files to the created directory. +file.copy(from_files, './files_directory') +# get original file names +original_files = list.files('./files_directory') +# create new files names from original file names +new_files = gsub('\\.dat', '\\.FORMAT', original_files) +# rename files +file.copy(paste0('./files_directory/', original_files), + paste0('./files_directory/', new_files)) +``` + +# End
--- a/collection_list.xml Mon Sep 25 14:28:52 2017 -0400 +++ b/collection_list.xml Mon Sep 25 16:19:52 2017 -0400 @@ -7,16 +7,17 @@ <requirement type="package" version="1.20.0">r-getopt</requirement> <requirement type="package" version="1.2">r-rmarkdown</requirement> <requirement type="package" version="0.3.5">r-htmltools</requirement> + <requirement type="package" version="0.5.0">r-dplyr</requirement> </requirements> <command> <![CDATA[ Rscript '${__tool_directory__}/collection_list_render.R' -l $file_list -e $echo + -f $format -r $report - -o $list_collection - -d $list_collection.files_path + -d $report.files_path -t '${__tool_directory__}/collection_list.Rmd' ]]> @@ -24,11 +25,12 @@ <inputs> <param type="data" name="file_list" multiple="true" /> <param type="boolean" name="echo" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Display analysis code in report?" /> + <param type="text" name="format" label="the format of input files (e.g., fastq, fastqsanger, fasta)"/> </inputs> <outputs> <data format="html" name="report" label="fastqc report" /> <collection type="list" name="list_collection"> - <discover_datasets pattern="(?P<name>.*)" directory="files_directory" /> + <discover_datasets pattern="__name_and_ext__" directory="files_directory" /> </collection> </outputs> </tool> \ No newline at end of file
--- a/collection_list_render.R Mon Sep 25 14:28:52 2017 -0400 +++ b/collection_list_render.R Mon Sep 25 16:19:52 2017 -0400 @@ -32,8 +32,8 @@ spec_list=list() spec_list$FILE_LIST = c('file_list', 'l', '1', 'character') spec_list$ECHO = c('echo', 'e', '1', 'character') +spec_list$FORMAT = c('echo', 'f', '1', 'character') ##--------2. output report and outputs -------------- -spec_list$LIST_COLLECTION = c('list_collection', 'o', '1', 'character') spec_list$REPORT = c('report', 'r', '1', 'character') spec_list$OUTPUT_DIR = c('list_collection_dir', 'd', '1', 'character') ##--------3. Rmd templates in the tool directory ---------- @@ -46,6 +46,7 @@ #------ Load libraries --------- library(rmarkdown) library(htmltools) +library(dplyr) #----- 1. create the report directory ------------------------ system(paste0('mkdir -p ', opt$list_collection_dir)) @@ -62,6 +63,9 @@ gsub('ECHO', opt$echo, x) }) %>% (function(x) { + gsub('FORMAT', opt$echo, x) + }) %>% + (function(x) { gsub('FILE_LIST', opt$file_list, x) }) %>% (function(x) { @@ -74,6 +78,6 @@ }) #------ 3. render all Rmd files -------- -render('list_collection.Rmd', output_file = opt$list_collection_html) +render('list_collection.Rmd', output_file = opt$report) #-------4. manipulate outputs -----------------------------