Mercurial > repos > mingchen0919 > rmarkdown_deseq2
changeset 1:8b324ea5dc8a draft
2.0.1
| author | mingchen0919 |
|---|---|
| date | Tue, 27 Feb 2018 13:55:29 -0500 |
| parents | 6b12f3dc358a |
| children | 754a36851c6b |
| files | DESeq.xml DESeq_render.R DESeq_results.xml DESeq_results_render.R o-DESeq.xml o-DESeq_render.R |
| diffstat | 6 files changed, 6 insertions(+), 229 deletions(-) [+] |
line wrap: on
line diff
--- a/DESeq.xml Tue Feb 27 13:04:12 2018 -0500 +++ b/DESeq.xml Tue Feb 27 13:55:29 2018 -0500 @@ -1,4 +1,4 @@ -<tool name="Tool report" id='aurora_tool_report' version="1.0.0"> +<tool name="Tool report" id='aurora_tool_report' version="2.0.1"> <description> "some description" </description> @@ -6,6 +6,9 @@ <requirement type="package" version="1.15.0.6-0">pandoc</requirement> <requirement type="package" version="1.20.0">r-getopt</requirement> <requirement type="package" version="1.6">r-rmarkdown</requirement> + <requirement type="package" version="1.14.1">bioconductor-deseq2</requirement> + <requirement type="package" version="0.2">r-dt</requirement> + <requirement type="package" version="1.0.8">r-pheatmap</requirement> </requirements> <stdio> <regex match="XXX" source="stderr" level="warning"
--- a/DESeq_render.R Tue Feb 27 13:04:12 2018 -0500 +++ b/DESeq_render.R Tue Feb 27 13:55:29 2018 -0500 @@ -10,12 +10,9 @@ library(getopt) library(rmarkdown) -library(htmltools) library(dplyr) -library(stringi) library(DESeq2) library(pheatmap) -library(RColorBrewer) library(DT) #------------------------------------------------
--- a/DESeq_results.xml Tue Feb 27 13:04:12 2018 -0500 +++ b/DESeq_results.xml Tue Feb 27 13:55:29 2018 -0500 @@ -1,17 +1,10 @@ -<tool id="DESeq_results" name="DESeq2: Results" version="2.0.0"> +<tool id="DESeq_results" name="DESeq2: Results" version="2.0.1"> <requirements> <requirement type="package" version="1.15.0.6-0">pandoc</requirement> <requirement type="package" version="1.20.0">r-getopt</requirement> - <requirement type="package" version="1.2">r-rmarkdown</requirement> - <requirement type="package" version="1.8.4">r-plyr</requirement> + <requirement type="package" version="1.6">r-rmarkdown</requirement> <requirement type="package" version="1.14.1">bioconductor-deseq2</requirement> - <requirement type="package" version="1.1.0">r-stringr</requirement> - <requirement type="package" version="0.4.0">r-highcharter</requirement> <requirement type="package" version="0.2">r-dt</requirement> - <requirement type="package" version="1.4.2">r-reshape2</requirement> - <requirement type="package" version="4.5.6">r-plotly</requirement> - <requirement type="package" version="0.2.0.1">r-formattable</requirement> - <requirement type="package" version="0.3.5">r-htmltools</requirement> <requirement type="package" version="1.0.8">r-pheatmap</requirement> </requirements> <description>
--- a/DESeq_results_render.R Tue Feb 27 13:04:12 2018 -0500 +++ b/DESeq_results_render.R Tue Feb 27 13:55:29 2018 -0500 @@ -4,10 +4,7 @@ library(dplyr) library(DESeq2) library(pheatmap) -library(genefilter) library(DT) -library(stringi) -library(RColorBrewer) library(ggplot2) ##============ Sink warnings and errors to a file ==============
--- a/o-DESeq.xml Tue Feb 27 13:04:12 2018 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -<tool id="DESeq" name="DESeq2: DESeq" version="2.0.0"> - <requirements> - <requirement type="package" version="1.15.0.6-0">pandoc</requirement> - <requirement type="package" version="1.20.0">r-getopt</requirement> - <requirement type="package" version="1.6">r-rmarkdown</requirement> - <requirement type="package" version="1.8.4">r-plyr</requirement> - <requirement type="package" version="1.14.1">bioconductor-deseq2</requirement> - <requirement type="package" version="1.1.0">r-stringr</requirement> - <requirement type="package" version="0.4.0">r-highcharter</requirement> - <requirement type="package" version="0.2">r-dt</requirement> - <requirement type="package" version="1.4.2">r-reshape2</requirement> - <requirement type="package" version="4.5.6">r-plotly</requirement> - <requirement type="package" version="0.2.0.1">r-formattable</requirement> - <requirement type="package" version="0.3.5">r-htmltools</requirement> - <requirement type="package" version="1.0.8">r-pheatmap</requirement> - </requirements> - <description> - An R Markdown tool to perform DESeq analysis. - </description> - <stdio> - <!--redirecting stderr to a file. "XXX" is used to match with nothing so that tool running won't be interrupted during testing--> - <regex match="XXX" - source="stderr" - level="warning" - description="Check the warnings_and_errors.txt file for more details."/> - </stdio> - <command> - <![CDATA[ - - Rscript '${__tool_directory__}/DESeq_render.R' - - - ## 1. input data - -e $echo - ##----- code chunk to get file paths and raw file names for a multiple inputs data field ---- - #set $sep = '' - #set $count_file_paths = '' - #set $count_file_names = '' - #for $count_file in $count_files: - #set $count_file_paths += $sep + str($count_file) - #set $count_file_names += $sep + str($count_file.name) - #set $sep = ',' - #end for - ##----------------- end for getting file names and file paths ------------------------------ - -P '$count_file_paths' - -N '$count_file_names' - -S $sample_table - -p '$design_formula' - - ## 2. output report and report site directory - -r $report - -d $report.files_path - -s $sink_message - -w $deseq_workspace - - ## 3. Rmd templates from the tool directory - -t '${__tool_directory__}/DESeq.Rmd' - - - - ]]> - </command> - <inputs> - <param type="boolean" name="echo" truevalue="TRUE" falsevalue="FALSE" checked="false" - label="Display analysis code in report?"/> - <param type="data" name="count_files" format="txt" multiple="true" label="Count files from htseq-count"/> - <param type="data" name="sample_table" format="txt" multiple="false" label="sample table file" - help="The sample table file contains a table. The first column is the sample name, the second column is - the count file name and the rest of columns are treatment columns. The file names in this table have - to be in the same order as the count files uploaded in the previous step. "/> - <param type="text" name="design_formula" value="~ condition_1 + condition_2" label="Design formula" - help="The simplest design formula for differential expression would be ~ condition, where condition - is a column in colData(dds) that specifies which of two (or more groups) the samples belong to"> - <sanitizer> - <valid initial="default"> - <add preset="string.printable"/> - <add value="~"/> - </valid> - </sanitizer> - </param> - </inputs> - <outputs> - <data name="report" format="html" label="DESeq Analysis on ${on_string}"/> - <data format="txt" name="sink_message" label="Warnings and Errors on ${on_string}" from_work_dir="warnings_and_errors.txt"/> - <data name="deseq_workspace" format="rdata" label="R workspace: DESeq analysis on ${on_string}"/> - </outputs> - <citations> - <citation type="bibtex"> - @article{love2014moderated, - title={Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2}, - author={Love, Michael I and Huber, Wolfgang and Anders, Simon}, - journal={Genome biology}, - volume={15}, - number={12}, - pages={550}, - year={2014}, - publisher={BioMed Central} - } - </citation> - <citation type="bibtex"> - @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 - and Wickham, Hadley and Atkins, Aron and Hyndman, Rob}, - journal={R package version 0.9}, - volume={6}, - year={2016} - } - </citation> - <citation type="bibtex"> - @book{xie2015dynamic, - title={Dynamic Documents with R and knitr}, - author={Xie, Yihui}, - volume={29}, - year={2015}, - publisher={CRC Press} - } - </citation> - </citations> -</tool> \ No newline at end of file
--- a/o-DESeq_render.R Tue Feb 27 13:04:12 2018 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -library(getopt) -library(rmarkdown) -library(htmltools) -library(dplyr) -library(stringi) -library(DESeq2) -library(pheatmap) -library(RColorBrewer) -library(DT) - -##============ Sink warnings and errors to a file ============== -## use the sink() function to wrap all code within it. -##============================================================== -zz = file('warnings_and_errors.txt') -sink(zz) -sink(zz, type = 'message') - ##---------below is the code for rendering .Rmd templates----- - - ##=============STEP 1: handle command line arguments========== - ## - ##============================================================ - # column 1: the long flag name - # column 2: the short flag alias. A SINGLE character string - # column 3: argument mask - # 0: no argument - # 1: argument required - # 2: argument is optional - # column 4: date type to which the flag's argument shall be cast. - # possible values: logical, integer, double, complex, character. - #------------------------------------------------------------- - #++++++++++++++++++++ Best practice ++++++++++++++++++++++++++ - # 1. short flag alias should match the flag in the command section in the XML file. - # 2. long flag name can be any legal R variable names - # 3. two names in args_list can have common string but one name should not be a part of another name. - # for example, one name is "ECHO", if another name is "ECHO_XXX", it will cause problems. - #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - args_list=list() - ##------- 1. input data --------------------- - args_list$ECHO = c('echo', 'e', '1', 'character') - args_list$COUNT_FILE_PATHS = c('count_file_paths', 'P', '1', 'character') - args_list$COUNT_FILE_NAMES = c('count_file_names', 'N', '1', 'character') - args_list$SAMPLE_TABLE = c('sample_table', 'S', '1', 'character') - args_list$DESIGN_FORMULA = c('design_formula', 'p', '1', 'character') - ##--------2. output report and outputs -------------- - args_list$REPORT_HTML = c('report_html', 'r', '1', 'character') - args_list$REPORT_DIR = c('report_dir', 'd', '1', 'character') - args_list$SINK_MESSAGE = c('sink_message', 's', '1', 'character') - args_list$WORKSPACE = c('deseq_workspace', 'w', '1', 'character') - ##--------3. .Rmd templates in the tool directory ---------- - args_list$deseq_RMD = c('deseq_rmd', 't', '1', 'character') - ##----------------------------------------------------------- - opt = getopt(t(as.data.frame(args_list))) - - - - ##=======STEP 2: create report directory (optional)========== - ## - ##=========================================================== - dir.create(opt$report_dir) - - ##=STEP 3: replace placeholders in .Rmd with argument values= - ## - ##=========================================================== - #++ need to replace placeholders with args values one by one+ - readLines(opt$deseq_rmd) %>% - (function(x) { - gsub('ECHO', opt$echo, x) - }) %>% - (function(x) { - gsub('DESEQ_WORKSPACE', opt$deseq_workspace, x) - }) %>% - (function(x) { - gsub('DESIGN_FORMULA', opt$design_formula, x) - }) %>% - (function(x) { - gsub('REPORT_DIR', opt$report_dir, x) - }) %>% - (function(x) { - fileConn = file('deseq.Rmd') - writeLines(x, con=fileConn) - close(fileConn) - }) - - - ##=============STEP 4: render .Rmd templates================= - ## - ##=========================================================== - render('deseq.Rmd', output_file = opt$report_html) - - - ##--------end of code rendering .Rmd templates---------------- -sink() -##=========== End of sinking output============================= \ No newline at end of file
