Mercurial > repos > mingchen0919 > aurora_skewer
changeset 1:e969699f49b6 draft
working version
author | mingchen0919 |
---|---|
date | Fri, 02 Mar 2018 09:59:25 -0500 |
parents | 746b9263ec64 |
children | d9601e1eb360 |
files | skewer.Rmd skewer.sh skewer.xml skewer_render.R |
diffstat | 4 files changed, 145 insertions(+), 54 deletions(-) [+] |
line wrap: on
line diff
--- 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 <<EOL +skewer \\ + -q ${X_A} \\ + -Q ${X_B} \\ + -x ${X_x} \\ + -y ${X_y} \\ + ${X_X} \\ + ${X_Y} \\ + -o ${X_d}/trim > /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')) +) +``` +
--- /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
--- 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 @@ <tool id="aurora_skewer" name="Aurora Skewer" version="1.0.0"> - <description>A fast and accurate adapter trimmer for next-generation sequencing paired-end reads
 + <description>A fast and accurate adapter trimmer for next-generation sequencing paired-end reads
 </description> - <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="0.2.2">skewer</requirement></requirements> - <stdio> - <regex match="XXX" source="stderr" level="warning" description="Check the warnings_and_errors.txt file for more details."/></stdio> - <command><![CDATA[ - - - Rscript '${__tool_directory__}/rmarkdown_site_render.R' + <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="0.2.2">skewer</requirement> + </requirements> + <stdio> + <regex match="XXX" source="stderr" level="warning" + description="Check the warnings_and_errors.txt file for more details."/> + </stdio> + <command><![CDATA[Rscript '${__tool_directory__}/skewer_render.R' - -e $echo - -o $report - -d $report.files_path - -s $sink_message - -t '${__tool_directory__}' - - - - ]]></command> - <inputs> - <param type="boolean" name="echo" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Display analysis code in report?"/></inputs> - <outputs> - <data format="html" name="report" label="tool site"/><data format="txt" name="sink_message" label="Warnings and Errors" from_work_dir="warnings_and_errors.txt"/></outputs> - <citations> + -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 +]]></command> + <inputs> + <param type="data" name="first_reads" label="First reads file" optional="False" format="fastq,fastqsanger"/> + <param type="data" name="second_reads" label="Second reads" optional="False" format="fastq,fastqsanger"/> + <param type="data" name="adapter_x" argument="-x" label="Adapter sequence file for the first reads" + optional="True" format="fasta,fa"/> + <param type="data" name="adapter_y" argument="-y" label="Adapter sequence file for the second reads" + optional="True" format="fasta,fa"/> + <param type="integer" name="end_quality" argument="-q" label="3’ end quality trimming" + help="Trim 3’ end until specified or higher quality reached. The default value is 0." + optional="False" value="0"/> + <param type="integer" name="mean_quality" argument="-Q" label="Reads filtering by average quality" + help="Specifies the lowest mean quality value allowed before trimming. The default value is 0." + optional="False" value="0"/> + <param type="boolean" name="echo" truevalue="TRUE" falsevalue="FALSE" checked="false" + label="Display analysis code in report?"/> + </inputs> + <outputs> + <data name="report" format="html" label="Skewer trimmed" hidden="false"/> + <data format="txt" name="sink_message" label="Warnings and Errors" from_work_dir="warnings_and_errors.txt"/> + <data name="trimmed_r1" format="fastq" label="${tool.name} trimmed first reads on ${on_string}" hidden="false"/> + <data name="trimmed_r2" format="fastq" label="${tool.name} trimmed second reads on ${on_string}" + hidden="false"/> + </outputs> + <citations> <citation type="bibtex"><![CDATA[ @article{allaire2016rmarkdown, title={rmarkdown: Dynamic Documents for R, 2016}, @@ -33,7 +62,8 @@ volume={6}, year={2016} } - ]]></citation><citation type="bibtex"><![CDATA[ + ]]></citation> + <citation type="bibtex"><![CDATA[ @book{xie2015dynamic, title={Dynamic Documents with R and knitr}, author={Xie, Yihui}, @@ -41,14 +71,16 @@ year={2015}, publisher={CRC Press} } - ]]></citation><citation type="bibtex"><![CDATA[@article{jiang2014skewer, - title={Skewer: a fast and accurate adapter trimmer for next-generation sequencing paired-end reads}, - author={Jiang, Hongshan and Lei, Rong and Ding, Shou-Wei and Zhu, Shuifang}, - journal={BMC bioinformatics}, - volume={15}, - number={1}, - pages={182}, - year={2014}, - publisher={BioMed Central} -}]]></citation></citations> + ]]></citation> + <citation type="bibtex"><![CDATA[@article{jiang2014skewer, + title={Skewer: a fast and accurate adapter trimmer for next-generation sequencing paired-end reads}, + author={Jiang, Hongshan and Lei, Rong and Ding, Shou-Wei and Zhu, Shuifang}, + journal={BMC bioinformatics}, + volume={15}, + number={1}, + pages={182}, + year={2014}, + publisher={BioMed Central} +}]]></citation> + </citations> </tool>
--- 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==============