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
>