Last data update: 2014.03.03

R: Plot Base Frequency or Proportion by Position
basePlot-methodsR Documentation

Plot Base Frequency or Proportion by Position

Description

basePlot plots the frequency or proportion of bases by position in the read.

Specific bases (such as "N") can be plot alone with this function too.

Usage

  basePlot(x, geom=c("line", "bar", "dodge"),
    type=c("frequency", "proportion"), bases=DNA_BASES_N,
    colorvalues=getBioColor("DNA_BASES_N"))

Arguments

x

an S4 object that inherits from SequenceSummary from readSeqFile.

geom

Either "line", "bar", or "dodge" indicating the geom to use when plotting the bases. "line" will plot base proportion of frequency with lines. "bar" and "dodge" will use bars; "bar" defaults to filling the bars with different colors to distinguish bases, "dodge" lays the bars side by side.

type

Either "frequency" or "proportion" indicating whether to use count data or the proportion per base.

bases

a character vector indicating which bases to include. By default, all bases in DNA_BASES_N. Another good option would be IUPAC_CODE_MAP, which is included in the Biostrings package.

colorvalues

a character vectors of colors to use; the names of the elements must map to the bases.

Methods

signature(x = "FASTQSummary")

basePlot will plot the base frequencies or proportions for a single object that inherits from SequenceSummary.

signature(x = "list")

basePlot will plot the base frequencies or proportions for each of the SequenceSummary items in the list and display them in a series of panels.

Author(s)

Vince Buffalo <vsbuffalo@ucdavis.edu>

See Also

getBase, getBaseProp

Examples

  ## Load a FASTQ file, with sequence hashing.
  s.fastq <- readSeqFile(system.file('extdata', 'test.fastq', package='qrqc'))

  ## Plot bases
  basePlot(s.fastq)

  ## Plot bases with filled bars
  basePlot(s.fastq, geom="bar")

  ## Plot bases with dodged bars
  basePlot(s.fastq, geom="dodge")

  ## Plot bases with dodged bars
  basePlot(s.fastq, geom="bar", bases=c("G", "T"))

  ## Plot multiple base plots
  s.trimmed.fastq <- readSeqFile(system.file('extdata',
    'test-trimmed.fastq', package='qrqc'))
  basePlot(list("not trimmed"=s.fastq, "trimmed"=s.trimmed.fastq))


  ## Graphical features can be added
  basePlot(s.trimmed.fastq, type="proportion") +
    geom_hline(yintercept=0.25, color="purple")

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(qrqc)
Loading required package: reshape
Loading required package: ggplot2
Loading required package: Biostrings
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Loading required package: S4Vectors
Loading required package: stats4

Attaching package: 'S4Vectors'

The following objects are masked from 'package:reshape':

    expand, rename

The following objects are masked from 'package:base':

    colMeans, colSums, expand.grid, rowMeans, rowSums

Loading required package: IRanges
Loading required package: XVector
Loading required package: biovizBase
Loading required package: brew
Loading required package: xtable
Loading required package: Rsamtools
Loading required package: GenomeInfoDb
Loading required package: GenomicRanges
Loading required package: testthat

Attaching package: 'testthat'

The following object is masked from 'package:S4Vectors':

    compare

> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/qrqc/basePlot-methods.Rd_%03d_medium.png", width=480, height=480)
> ### Name: basePlot-methods
> ### Title: Plot Base Frequency or Proportion by Position
> ### Aliases: basePlot basePlot-methods basePlot,list-method
> ###   basePlot,SequenceSummary-method
> ### Keywords: methods graphics
> 
> ### ** Examples
> 
>   ## Load a FASTQ file, with sequence hashing.
>   s.fastq <- readSeqFile(system.file('extdata', 'test.fastq', package='qrqc'))
> 
>   ## Plot bases
>   basePlot(s.fastq)
> 
>   ## Plot bases with filled bars
>   basePlot(s.fastq, geom="bar")
> 
>   ## Plot bases with dodged bars
>   basePlot(s.fastq, geom="dodge")
> 
>   ## Plot bases with dodged bars
>   basePlot(s.fastq, geom="bar", bases=c("G", "T"))
> 
>   ## Plot multiple base plots
>   s.trimmed.fastq <- readSeqFile(system.file('extdata',
+     'test-trimmed.fastq', package='qrqc'))
>   basePlot(list("not trimmed"=s.fastq, "trimmed"=s.trimmed.fastq))
> 
> 
>   ## Graphical features can be added
>   basePlot(s.trimmed.fastq, type="proportion") +
+     geom_hline(yintercept=0.25, color="purple")
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>