# HG changeset patch # User mingchen0919 # Date 1520002765 18000 # Node ID e969699f49b6476718127f9a3954f0dbdc6c04f5 # Parent 746b9263ec646921d9cacd1038ad3c14ce3675e5 working version diff -r 746b9263ec64 -r e969699f49b6 skewer.Rmd --- a/skewer.Rmd Thu Mar 01 14:25:15 2018 -0500 +++ b/skewer.Rmd Fri Mar 02 09:59:25 2018 -0500 @@ -1,29 +1,56 @@ --- -title: 'HTML report title' -output: - html_document: - number_sections: true - toc: true - theme: cosmo - highlight: tango +title: 'Skewer Trimming' +output: html_document --- ```{r setup, include=FALSE, warning=FALSE, message=FALSE} knitr::opts_chunk$set( - echo = as.logical(), + echo = as.logical(opt$X_e), error = TRUE ) ``` -# Code for computational analysis +# Run Skewer -```{r 'step 1'} +```{bash} +cd ${X_d} -``` +cat >temp.sh < /dev/null 2>&1 +EOL -```{r 'ste[ 2'} +grep -v None temp.sh > skewer-job.sh +# run skewer +sh skewer-job.sh + +cp trim-trimmed-pair1.fastq ${X_f} +cp trim-trimmed-pair2.fastq ${X_r} +mv trim-trimmed.log trim-trimmed.txt ``` +```{r} +# display skewer job script +skewer_sh = paste0(opt$X_d, '/skewer-job.sh') +tags$code(tags$pre(readChar(skewer_sh, file.info(skewer_sh)$size ))) +``` + +# Results + +```{r} +tags$ul( + tags$li(tags$a(href = 'trim-trimmed.txt', 'trim-trimmed.log')), + tags$li(tags$a(href = 'trim-trimmed-pair1.fastq', 'trim-trimmed-pair1.fastq')), + tags$li(tags$a(href = 'trim-trimmed-pair2.fastq', 'trim-trimmed-pair2.fastq')) +) +``` + diff -r 746b9263ec64 -r e969699f49b6 skewer.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/skewer.sh Fri Mar 02 09:59:25 2018 -0500 @@ -0,0 +1,17 @@ +Rscript '${__tool_directory__}/skewer_render.R' + + -e $echo + -o $report + -d $report.files_path + -s $sink_message + -t '${__tool_directory__}' + + -X $first_reads + -Y $second_reads + -x $adapter_x + -y $adapter_y + -A $end_quality + -B $mean_quality + + -f $trimmed_r1 + -r $trimmed_r2 diff -r 746b9263ec64 -r e969699f49b6 skewer.xml --- a/skewer.xml Thu Mar 01 14:25:15 2018 -0500 +++ b/skewer.xml Fri Mar 02 09:59:25 2018 -0500 @@ -1,29 +1,58 @@ - A fast and accurate adapter trimmer for next-generation sequencing paired-end reads + A fast and accurate adapter trimmer for next-generation sequencing paired-end reads - - pandocr-getoptr-rmarkdownskewer - - - + pandoc + r-getopt + r-rmarkdown + skewer + + + + + - - - - - + -e $echo + -o $report + -d $report.files_path + -s $sink_message + -t '${__tool_directory__}' + + -X $first_reads + -Y $second_reads + -x $adapter_x + -y $adapter_y + -A $end_quality + -B $mean_quality + + -f $trimmed_r1 + -r $trimmed_r2 +]]> + + + + + + + + + + + + + + ]]> + + diff -r 746b9263ec64 -r e969699f49b6 skewer_render.R --- a/skewer_render.R Thu Mar 01 14:25:15 2018 -0500 +++ b/skewer_render.R Fri Mar 02 09:59:25 2018 -0500 @@ -10,15 +10,28 @@ library(getopt) library(rmarkdown) +library(htmltools) #------------------------------------------------ #------------get arguments into R-------------------- -# getopt_specification_matrix(extract_short_flags('fastqc_report.xml')) %>% +# getopt_specification_matrix(extract_short_flags('skewer.xml')) %>% # write.table(file = 'spec.txt', sep = ',', row.names = FALSE, col.names = TRUE, quote = FALSE) -spec_matrix = as.matrix() +spec_matrix = as.matrix( + data.frame(stringsAsFactors=FALSE, + long_flags = c("X_e", "X_o", "X_d", "X_s", "X_t", "X_X", "X_Y", + "X_x", "X_y", "X_A", "X_B", "X_f", "X_r"), + short_flags = c("e", "o", "d", "s", "t", "X", "Y", "x", "y", "A", + "B", "f", "r"), + argument_mask_flags = c(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") + ) +) opt = getopt(spec_matrix) #---------------------------------------------------- @@ -31,15 +44,17 @@ #---------- 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 = '' -TOOL_DIR = '' -RMD_NAME = '' +OUTPUT_DIR = opt$X_d +TOOL_DIR = opt$X_t +RMD_NAME = 'skewer.Rmd' +OUTPUT_REPORT = opt$X_o # create the output associated directory to store all outputs -dir.create(OUT_DIR, recursive = TRUE) - +dir.create(OUTPUT_DIR, recursive = TRUE) +opt #-----------------render Rmd-------------- -render(paste0(TOOL_DIR, RMD_NAME, sep = '/'), OUTPUT_DIR) +paste0(TOOL_DIR, '/', RMD_NAME) +render(paste0(TOOL_DIR, '/', RMD_NAME), output_file = OUTPUT_REPORT) #------------------------------------------ #==============the end==============