# HG changeset patch # User mingchen0919 # Date 1520181768 18000 # Node ID 5f6352750d820fa09c8400026cfb15b3cd76fffd planemo upload diff -r 000000000000 -r 5f6352750d82 aurora_star_site.Rmd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aurora_star_site.Rmd Sun Mar 04 11:42:48 2018 -0500 @@ -0,0 +1,95 @@ +--- +title: 'STAR: RNA-Seq aligner' +output: html_document +--- + +```{r setup, include=FALSE, warning=FALSE, message=FALSE} +knitr::opts_chunk$set( + echo = as.logical(opt$X_e), + error = TRUE +) +``` + + +## Generating genome indexes + +```{bash} +cd ${X_d} +# create genome directory for genome indexes +mkdir -p ${X_d}/genomeDir + +cat >temp.sh < /dev/null 2>&1 +EOF + +grep -v None temp.sh > index-genome.sh + +# run star +sh index-genome.sh +``` + + +```{r} +# display index-genome code +index_genome_sh = paste0(opt$X_d, '/index-genome.sh') +tags$code(tags$pre(readChar(index_genome_sh, file.info(index_genome_sh)$size ))) +``` + +## Running mapping jobs + +```{bash} +cd ${X_d} + +cat >temp.sh < /dev/null 2>&1 +EOF + +grep -v None temp.sh > mapping.sh + +# run mapping +sh mapping.sh +``` + + +```{r} +# display mapping code +mapping_sh = paste0(opt$X_d, '/mapping.sh') +tags$code(tags$pre(readChar(mapping_sh, file.info(mapping_sh)$size ))) +``` + + +## SAM to sorted BAM + +```{bash} +cd ${X_d} + +echo "samtools sort -o Aligned.out.sorted.bam Aligned.out.sam" > sam2bam.sh + +sh sam2bam.sh + +cp Aligned.out.sorted.bam ${X_S} +``` + +```{r} +# display sam to bam code +sam2bam_sh = paste0(opt$X_d, '/sam2bam.sh') +tags$code(tags$pre(readChar(sam2bam_sh, file.info(sam2bam_sh)$size ))) +``` + +## Mapping statistics + +```{bash} +cd ${X_d} +samtools flagstat Aligned.out.sorted.bam +``` diff -r 000000000000 -r 5f6352750d82 aurora_star_site.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aurora_star_site.xml Sun Mar 04 11:42:48 2018 -0500 @@ -0,0 +1,54 @@ + + ultrafast universal RNA-seq aligner + + + pandocr-getoptr-rmarkdownstarsamtools + + + + + + + + + + diff -r 000000000000 -r 5f6352750d82 aurora_star_site_index.Rmd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aurora_star_site_index.Rmd Sun Mar 04 11:42:48 2018 -0500 @@ -0,0 +1,11 @@ +--- +title: "Analysis Report" +output: html_document +--- + +```{r setup, include=FALSE, warning=FALSE, message=FALSE} +knitr::opts_chunk$set(echo = TRUE, error = TRUE) +``` + +## References + diff -r 000000000000 -r 5f6352750d82 aurora_star_site_render.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aurora_star_site_render.R Sun Mar 04 11:42:48 2018 -0500 @@ -0,0 +1,80 @@ +##============ 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') + +#------------import libraries-------------------- +options(stringsAsFactors = FALSE) + +library(getopt) +library(rmarkdown) +#------------------------------------------------ + + +#------------get arguments into R-------------------- +# library(dplyr) +# getopt_specification_matrix(extract_short_flags('aurora_star_site.xml')) %>% +# write.table(file = 'spec.txt', sep = ',', row.names = FALSE, col.names = TRUE, quote = FALSE) + + +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_F", "X_R", "X_S"), + short_flags = c("e", "o", "d", "s", "t", "A", "B", "C", "F", "R", + "S"), + argument_mask_flags = c(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") + ) +) +opt = getopt(spec_matrix) +#---------------------------------------------------- + + +#-----------using passed arguments in R +# to define system environment variables--- +do.call(Sys.setenv, opt[-1]) +#---------------------------------------------------- + +#---------- often used variables ---------------- +# OUTPUT_REPORT: path to galaxy output report +# 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 +OUTPUT_REPORT = opt$X_o + + +# create the output associated directory to store all outputs +dir.create(OUTPUT_DIR, recursive = TRUE) + +#-----------------render site-------------- +# copy site generating materials into OUTPUT_DIR +dir.create(paste0(OUTPUT_DIR, '/site_generator'), recursive = TRUE) +system(paste0('cp -r ', TOOL_DIR, '/aurora_star_site.Rmd ', OUTPUT_DIR, '/site_generator/skewer.Rmd')) +system(paste0('cp -r ', TOOL_DIR, '/aurora_star_site_site.yml ', OUTPUT_DIR, '/site_generator/_site.yml')) +system(paste0('cp -r ', TOOL_DIR, '/aurora_star_site_index.Rmd ', OUTPUT_DIR, '/site_generator/index.Rmd')) +# render site to OUTPUT_DIR/_site, this is configured in the "_site.yml" file +render_site(input = paste0(OUTPUT_DIR, '/site_generator')) +# remove site generating materials from output associated directory +unlink(paste0(OUTPUT_DIR, '/site_generator'), recursive = TRUE) +# move _site/* into output associated directory +move_cmd = paste0('mv ', OUTPUT_DIR, '/_site/* ', OUTPUT_DIR) +system(move_cmd) +#------------------------------------------ + +#-----link index.html to output----- +cp_index = paste0('cp ', OUTPUT_DIR, '/index.html ', OUTPUT_REPORT) +system(cp_index) +#----------------------------------- + +#==============the end============== + + +##--------end of code rendering .Rmd templates---------------- +sink() +##=========== End of sinking output============================= \ No newline at end of file diff -r 000000000000 -r 5f6352750d82 aurora_star_site_site.yml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aurora_star_site_site.yml Sun Mar 04 11:42:48 2018 -0500 @@ -0,0 +1,15 @@ +name: "Analysis Report" +output_dir: "../_site" +navbar: + title: "" + type: inverse + left: + - text: "Home" + icon: fa-home + href: index.html + - text: "" + href: aurora_star_site.html +output: + html_document: + theme: cosmo + highlight: textmate \ No newline at end of file diff -r 000000000000 -r 5f6352750d82 spec.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spec.txt Sun Mar 04 11:42:48 2018 -0500 @@ -0,0 +1,12 @@ +long_flags,short_flags,argument_mask_flags,data_type_flags +X_e,e,1,character +X_o,o,1,character +X_d,d,1,character +X_s,s,1,character +X_t,t,1,character +X_A,A,1,character +X_B,B,1,character +X_C,C,1,character +X_F,F,1,character +X_R,R,1,character +X_S,S,1,character