12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- ---
- title: "Dockerized R Markdown Document with Rabix Support"
- author: "Nan Xiao"
- date: "`r Sys.Date()`"
- output:
- html_document:
- highlight: pygments
- theme: cosmo
- liftr:
- from: "rocker/r-base:latest"
- maintainer: "Nan Xiao"
- maintainer_email: "[email protected]"
- syslib:
- - samtools
- biocpkg:
- - Rsamtools
- - Gviz
- rabix: true
- rabix_json: "https://s3.amazonaws.com/rabix/rabix-test/bwa-mem.json"
- rabix_d: "~/liftr_rabix/bwa/"
- rabix_args:
- - reference: "https://s3.amazonaws.com/rabix/rabix-test/chr20.fa"
- - reads: "https://s3.amazonaws.com/rabix/rabix-test/example_human_Illumina.pe_1.fastq"
- - reads: "https://s3.amazonaws.com/rabix/rabix-test/example_human_Illumina.pe_2.fastq"
- ---
- ## Alignment coverage visualization example
- This is an R Markdown document that could be rendered under a Docker container using `liftr`. It also contains information about a Rabix tool `bwa-mem.json`, which will be ran by Rabix before rendering the document in a Docker container. In this way, the output of the Rabix tool/workflow can be used and analyzed in the document.
- The document depends on the `samtools` software package in Ubuntu; `Rsamtools` and `Gviz` package on Bioconductor. `liftr` will:
- * Run the Rabix tool `bwa-mem.json` defined in the metadata;
- * Use `samtools` installed in the Docker container to convert the output of the tool, `output.sam` to a BAM file;
- * Use the Bioconductor packages `Rsamtools` and `Gviz` to index the BAM file and visualize the alignment coverage.
- ```{r samtools}
- # convert SAM file to BAM file directly using samtools
- system("samtools view -bS bwa/output.sam > bwa/output.bam")
- # sort the output bam file with samtools
- system("samtools sort bwa/output.bam bwa/output.sorted")
- ```
- ```{r Rsamtools}
- library("Rsamtools")
- indexBam("bwa/output.sorted.bam")
- ```
- ```{r bamplot}
- suppressMessages(library("Gviz"))
- bam = "bwa/output.sorted.bam"
- dtrack = DataTrack(range = bam, genome = "hg19",
- type = "l", name = "Coverage",
- window = -1, chromosome = "chr20")
- # plot alignment coverage at given position
- plotTracks(dtrack, from = 29622700, to = 29630000)
- ```
- ## Options of liftr in this document
- The document front-matter metadata includes the options for `liftr`, which is used for dockerizing the document and running the Rabix tool `bwa-mem.json`:
- ```{r liftrmeta}
- rmarkdown::metadata$liftr
- ```
- ## System and session information
- The location of `samtools` and R session information of the Docker container is shown below.
- ```{r session}
- Sys.which("samtools")
- sessionInfo()
- ```
|