Last data update: 2014.03.03

R: Sample PCA plot for transformed data
plotPCAR Documentation

Sample PCA plot for transformed data

Description

This plot helps to check for batch effects and the like.

Usage

## S4 method for signature 'DESeqTransform'
plotPCA(object, intgroup = "condition",
  ntop = 500, returnData = FALSE)

Arguments

object

a DESeqTransform object, with data in assay(x), produced for example by either rlog or varianceStabilizingTransformation.

intgroup

interesting groups: a character vector of names in colData(x) to use for grouping

ntop

number of top genes to use for principal components, selected by highest row variance

returnData

should the function only return the data.frame of PC1 and PC2 with intgroup covariates for custom plotting (default is FALSE)

Value

An object created by ggplot, which can be assigned and further customized.

Note

See the vignette for an example of variance stabilization and PCA plots. Note that the source code of plotPCA is very simple. The source can be found by typing DESeq2:::plotPCA.DESeqTransform or getMethod("plotPCA","DESeqTransform"), or browsed on github at https://github.com/Bioconductor-mirror/DESeq2/blob/master/R/plots.R Users should find it easy to customize this function.

Author(s)

Wolfgang Huber

Examples


# using rlog transformed data:
dds <- makeExampleDESeqDataSet(betaSD=1)
rld <- rlog(dds)
plotPCA(rld)

# also possible to perform custom transformation:
dds <- estimateSizeFactors(dds)
# shifted log of normalized counts
se <- SummarizedExperiment(log2(counts(dds, normalized=TRUE) + 1),
                           colData=colData(dds))
# the call to DESeqTransform() is needed to
# trigger our plotPCA method.
plotPCA( DESeqTransform( se ) )

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(DESeq2)
Loading required package: S4Vectors
Loading required package: stats4
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


Attaching package: 'S4Vectors'

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

    colMeans, colSums, expand.grid, rowMeans, rowSums

Loading required package: IRanges
Loading required package: GenomicRanges
Loading required package: GenomeInfoDb
Loading required package: SummarizedExperiment
Loading required package: Biobase
Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/DESeq2/plotPCA.Rd_%03d_medium.png", width=480, height=480)
> ### Name: plotPCA
> ### Title: Sample PCA plot for transformed data
> ### Aliases: plotPCA plotPCA,DESeqTransform-method
> 
> ### ** Examples
> 
> 
> # using rlog transformed data:
> dds <- makeExampleDESeqDataSet(betaSD=1)
> rld <- rlog(dds)
> plotPCA(rld)
> 
> # also possible to perform custom transformation:
> dds <- estimateSizeFactors(dds)
> # shifted log of normalized counts
> se <- SummarizedExperiment(log2(counts(dds, normalized=TRUE) + 1),
+                            colData=colData(dds))
> # the call to DESeqTransform() is needed to
> # trigger our plotPCA method.
> plotPCA( DESeqTransform( se ) )
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>