[BioC] DESeq Variance Stabilizing Transformation

Hickman, R.J. (Richard) R.J.Hickman at uu.nl
Tue May 14 11:47:24 CEST 2013


Hi Michael,

For the plots attached to the previous message I used the following code:

dds <- estimateSizeFactors(dds)
dds <- estimateDispersions(dds)
vsd <- varianceStabilizingTransformation(dds)

I attach a new plot "timeseriesBlindVST.png" which was generated using the "blind" method:

ddsBlind <- dds
design(ddsBlind) <- formula(~ 1)
ddsBlind <- estimateDispersions(ddsBlind)
vsd <- varianceStabilizingTransformation(ddsBlind)

So even when performed using the "blind" method, the transform does not make a difference.

I think the problem is the variance across time points (there are 10 in total). My initial idea for a potential solution was to perform the VST using only samples at each time point (i.e, creating a DDS using the samples for each time point), however, looking at the manual it states: "Limitations: In order to preserve normalization, the same transformation has to be used for all
samples". I have performed between sample normalization with estimateSizeFactors() using all samples and so I guess then applying the VST using only samples at each individual time point may not be appropriate?

Bests,

Richard

> sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] parallel  grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] vsn_3.28.0              DESeq2_1.0.9            RcppArmadillo_0.3.810.2 Rcpp_0.10.3             lattice_0.20-15        
 [6] Biobase_2.20.0          GenomicRanges_1.12.2    IRanges_1.18.0          BiocGenerics_0.6.0      ggplot2_0.9.3.1     



On 13 May 2013, at 11:31, Michael Love wrote:

hi Richard,


On Mon, May 13, 2013 at 11:06 AM, Hickman, R.J. (Richard)
<R.J.Hickman at uu.nl> wrote:


Dear All,



I am looking for some feedback regarding the use of the variance-stabilization (VST) methods found in the DESeq2 package. For me, the purpose for applying this transformation is to be able to generate moderated fold changes for clustering of genes (not samples
 as described in the DESeq vignette). 



My data consists of a time series, where for each time point there is a "treated" sample and a "control" sample. Each sample (timepoint) consists of 4 biological replicates.



I performed the VST on the entire set of data 







Could you share the code (and sessionInfo()) you used to create the object which you applied the transformation to?  For example, in the vignette, in order to perform unsupervised clustering,
 we estimate the dispersions in a manner which is blind to the experimental design.





ddsBlind <- dds

design(ddsBlind) <- formula(~ 1)

ddsBlind <- estimateDispersions(ddsBlind)

vsd <- varianceStabilizingTransformation(ddsBlind)







I would guess you are observing variance across the timepoints. If you are not using the "blind" method from the vignette, the design is used by estimateDispersions() which
 might result in rows with smaller dispersion estimates when the variance is due to different timepoints, but not used by rowVars() so you observe large row variance.




best,





Mike










-------------- next part --------------
A non-text attachment was scrubbed...
Name: timeseriesBlindVST.png
Type: image/png
Size: 190248 bytes
Desc: timeseriesBlindVST.png
URL: <https://stat.ethz.ch/pipermail/bioconductor/attachments/20130514/ac0a7ae8/attachment.png>


More information about the Bioconductor mailing list