changeset 11:238d57ce7d74 draft

update
author mingchen0919
date Fri, 29 Dec 2017 14:07:35 -0500
parents 1cff3a3e2b94
children 7a2369ab4f84
files rmarkdown_feature_counts.Rmd rmarkdown_feature_counts.xml rmarkdown_feature_counts_render.R
diffstat 3 files changed, 43 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/rmarkdown_feature_counts.Rmd	Fri Dec 29 00:17:31 2017 -0500
+++ b/rmarkdown_feature_counts.Rmd	Fri Dec 29 14:07:35 2017 -0500
@@ -1,5 +1,5 @@
 ---
-title: 'HTML report title'
+title: 'Feature Counts'
 output:
     html_document:
       number_sections: true
@@ -16,15 +16,17 @@
 ```
 
 
-# Code for computational analysis
+# User input
 
-```{r 'step 1'}
+```{r 'user input'}
 opt
 ```
 
+# Calculate feature counts
+
 ```{r 'ste[ 2'}
 res = featureCounts(
-  files = strsplit(opt$input_bam, ',')[[1]],
+  files = strsplit(opt$input_bam_paths, ',')[[1]],
   # annotation
 	annot.inbuilt=opt$annot_inbuilt,
 	annot.ext=opt$annot_ext,
@@ -76,6 +78,21 @@
 	maxMOp=opt$max_mop,
 	reportReads=opt$report_reads
 )
+```
+
+# Write counts into CSV file
+
+```{r}
+colnames(res$counts) = strsplit(opt$input_bam_names, ',')[[1]]
+# write count into csv file
+write.csv(res$counts, file = 'feature_counts.csv', row.names = TRUE)
+datatable(res$counts)
+```
+
+# Save results into RData file
+
+```{r}
+save(res, file = 'feature_counts.RData')
 str(res)
 ```
 
--- a/rmarkdown_feature_counts.xml	Fri Dec 29 00:17:31 2017 -0500
+++ b/rmarkdown_feature_counts.xml	Fri Dec 29 14:07:35 2017 -0500
@@ -5,6 +5,7 @@
         <requirement type="package" version="1.3">r-rmarkdown</requirement>
         <requirement type="package" version="0.3.5">r-htmltools</requirement>
         <requirement type="package" version="0.5.0">r-dplyr</requirement>
+        <requirement type="package" version="0.2">r-dt</requirement>
         <requirement type="package" version="1.25.2">bioconductor-rsubread</requirement>
     </requirements>
     <description>This function assigns mapped sequencing reads to genomic features</description>
@@ -15,7 +16,18 @@
     <command><![CDATA[
                     Rscript '${__tool_directory__}/rmarkdown_feature_counts_render.R'
                         -e $echo
-                        -a $input_bam
+                        ##----- code chunk to get file paths and raw file names for a multiple inputs data field ----
+                        #set $sep = ''
+                        #set $input_bam_paths = ''
+                        #set $input_bam_names = ''
+                        #for $input_bam in $input_bams:
+                            #set $input_bam_paths += $sep + str($input_bam)
+                            #set $input_bam_names += $sep + str($input_bam.name)
+                            #set $sep = ','
+                        #end for
+                        ##----------------- end for getting file names and file paths ------------------------------
+                        -a '$input_bam_paths'
+                        -N '$input_bam_names'
                         -b $annot_inbuilt
                         -c '$annot_ext'
                         -f $isGTFAnnotationFile
@@ -57,7 +69,7 @@
     <inputs>
         <param type="boolean" name="echo" label="Display analysis code in report?" optional="False" checked="False"
                truevalue="TRUE" falsevalue="FALSE"/>
-        <param type="data" name="input_bam" label="BAM/SAM files"
+        <param type="data" name="input_bams" label="BAM/SAM files"
                help="The files can be in either SAM format or BAM format. The file format is automatically detected by the function"
                optional="False" format="bam,sam" multiple="True"/>
         <param type="text" name="annot_inbuilt" label="annot.inbuilt"
@@ -163,10 +175,14 @@
         <data name="report" format="html" label="tool name report" hidden="false"/>
         <data name="sink_message" format="txt" label="Warnings and Errors" from_work_dir="warnings_and_errors.txt"
               hidden="false"/>
+        <data name="feature_counts" format="rdata" label="feature counts" from_work_dir="feature_counts.RData"
+              hidden="false"/>
+        <data name="feature_counts_csv" format="csv" label="feature counts in csv" from_work_dir="feature_counts.csv"
+              hidden="false"/>
     </outputs>
     <help><![CDATA[some help text]]></help>
     <citations>
-        <citation><![CDATA[
+        <citation type="bibtex"><![CDATA[
                     @article{allaire2016rmarkdown,
                         title={rmarkdown: Dynamic Documents for R, 2016},
                         author={Allaire, J and Cheng, Joe and Xie, Yihui and McPherson, Jonathan and Chang, Winston and Allen, Jeff
--- a/rmarkdown_feature_counts_render.R	Fri Dec 29 00:17:31 2017 -0500
+++ b/rmarkdown_feature_counts_render.R	Fri Dec 29 14:07:35 2017 -0500
@@ -3,6 +3,7 @@
 library(htmltools)
 library(dplyr)
 library(Rsubread)
+library(DT)
 
 ##============ Sink warnings and errors to a file ==============
 ## use the sink() function to wrap all code within it.
@@ -33,7 +34,8 @@
   args_list=list()
   ##------- 1. input data ---------------------
   args_list$e = c('echo', 'e', '1', 'logical')
-  args_list$a = c('input_bam', 'a', '1', 'character')
+  args_list$a = c('input_bam_paths', 'a', '1', 'character')
+  args_list$N = c('input_bam_names', 'N', '1', 'character')
   args_list$b = c('annot_inbuilt', 'b', '1', 'character')
   args_list$c = c('annot_ext', 'c', '1', 'character')
   args_list$f = c('isGTFAnnotationFile', 'f', '1', 'logical')