Mercurial > repos > mingchen0919 > aurora_deseq2
diff deseq2_render.R @ 9:f8c7138cfc35 draft
planemo upload commit 92144072ce2bd29bf437bde994b9700e03d79f1b-dirty
author | mingchen0919 |
---|---|
date | Thu, 26 Apr 2018 11:47:37 -0400 |
parents | 32ed0a8df05c |
children |
line wrap: on
line diff
--- a/deseq2_render.R Fri Mar 09 01:22:06 2018 -0500 +++ b/deseq2_render.R Thu Apr 26 11:47:37 2018 -0400 @@ -1,69 +1,54 @@ ##============ Sink warnings and errors to a file ============== ## use the sink() function to wrap all code within it. ##============================================================== -zz = file('warnings_and_errors.txt') +zz = file(paste0(Sys.getenv('REPORT_FILES_PATH'), '/.r_rendering.log.txt')) sink(zz) sink(zz, type = 'message') -#------------import libraries-------------------- +#============== preparation ==================================== options(stringsAsFactors = FALSE) +# import libraries +#------------------------------------------------------------------ +# ADD MORE LIBRARIES HERE IF YOUR TOOL DEPENDS ON OTHER R LIBRARIES +#------------------------------------------------------------------ +library('getopt') +library('rmarkdown') +library('htmltools') +library('ggplot2') +library('plotly') +library('DESeq2') +library('pheatmap') +library('DT') -library(getopt) -library(rmarkdown) -library(ggplot2) -library(plotly) -library(htmltools) -library(DESeq2) -library(pheatmap) -library(DT) -#------------------------------------------------ - - -#------------get arguments into R-------------------- -# library(dplyr) -# getopt_specification_matrix(extract_short_flags('deseq2.xml')) %>% -# write.table(file = 'spec.txt', sep = ',', row.names = FALSE, col.names = TRUE, quote = FALSE) +# load helper functions +source(paste0(Sys.getenv('TOOL_INSTALL_DIR'), '/helper.R')) +# import getopt specification matrix from a csv file +opt = getopt(getopt_specification_matrix('getopt_specification.csv', + tool_dir=Sys.getenv('TOOL_INSTALL_DIR'))) +# define environment variables for all input values. this is useful when we +# want to use input values by other programming language in r markdown +do.call(Sys.setenv, opt[-1]) +#=============================================================== -spec_matrix = as.matrix( - data.frame(stringsAsFactors=FALSE, - long_flags = c("X_e", "X_o", "X_d", "X_s", "X_t", "X_A", "X_B", - "X_C", "X_D", "X_E", "X_F", "X_G", "X_H", "X_I", "X_J"), - short_flags = c("e", "o", "d", "s", "t", "A", "B", "C", "D", "E", - "F", "G", "H", "I", "J"), - argument_mask_flags = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, - 1L, 1L), - data_type_flags = c("character", "character", "character", "character", - "character", "character", "character", "character", - "character", "character", "character", "character", - "character", "double", "character") - ) -) -opt = getopt(spec_matrix) -#---------------------------------------------------- +#======================== render Rmd files ========================= +# NOTICE: +# we should copy all rmarkdown files from tool install directory to REPORT_FILES_PATH directory. +# and render rmarkdown files in the REPORT_FILES_PATH directory. +file.copy(from = paste0(Sys.getenv('TOOL_INSTALL_DIR'), '/vakata-jstree-3.3.5'), + to = Sys.getenv('REPORT_FILES_PATH'), recursive = TRUE) +system(command = 'cp -r ${TOOL_INSTALL_DIR}/*.Rmd ${REPORT_FILES_PATH}') + +#----------------BELOW IS WHERE YOU NEED TO CUSTOMIZE --------------------- +render(input = paste0(Sys.getenv('REPORT_FILES_PATH'), '/deseq2.Rmd')) +# add more lines below if there are more Rmd files to be rendered + +#=============================================================== -#-----------using passed arguments in R -# to define system environment variables--- -do.call(Sys.setenv, opt[-1]) -#---------------------------------------------------- - -#---------- often used variables ---------------- -# OUTPUT_DIR: path to the output associated directory, which stores all outputs -# TOOL_DIR: path to the tool installation directory -OUTPUT_DIR = opt$X_d -TOOL_DIR = opt$X_t -RMD_NAME = 'deseq2.Rmd' -OUTPUT_REPORT = opt$X_o - -# create the output associated directory to store all outputs -dir.create(OUTPUT_DIR, recursive = TRUE) - -#-----------------render Rmd-------------- -render(paste0(TOOL_DIR, '/', RMD_NAME), output_file = OUTPUT_REPORT) -#------------------------------------------ - -#==============the end============== +#============== expose outputs to galaxy history =============== +system(command = 'sh ${TOOL_INSTALL_DIR}/expose-outputs.sh') +#=============================================================== ##--------end of code rendering .Rmd templates----------------