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&lt;name&gt;.*)" 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 -----------------------------