[BioC] quantile normalization with common standards

laurent lgautier at gmail.com
Tue Nov 4 19:09:01 CET 2008



On Tue, 2008-11-04 at 16:27 +0000, Wolfgang Huber wrote:
> Hi Ido
> 
> a) yes
> 
> b) I don't know a function in Bioconductor that lets you do this easily
> for quantiles (it should not be too hard to program this yourself using
> interpolation, but I would be concerned about the precision of the
> method if your number of control oligos is not very large).

The pair of functions
normalize.quantiles.determine.target()
normalize.quantiles.use.target()
in preprocessCore might come handy as well.

Yet, as you say there are unknowns about what is happening with
relatively small number of control probes (but it might be worthwhile
toying around with that)



>  Chapter 7 of
> this vignette explains how to do it with vsn (which has fewer parameters
> to estimate and hence might be more precise):
> http://www.bioconductor.org/packages/2.4/bioc/vignettes/vsn/inst/doc/vsn.pdf
> 
> Best wishes
>  Wolfgang
> 
> ------------------------------------------------------------------
> Wolfgang Huber  EBI/EMBL  Cambridge UK  http://www.ebi.ac.uk/huber
> 
> 
> 04/11/2008 14:12 Ido M. Tamir scripsit
> > Hi,
> > 
> > suppose I have a high density oligo array. This contains control
> > oligos, whose distribution should be the same across experiments (spike in),
> > and experimental oligos, whose distribution differs.
> > 
> > What I did until now was to scale my experimental oligos by the MAD of the 
> > control oligos ( a modification of limmas normalizeMedianAbsValues): I 
> > calculate a scaling factor for the control oligos and apply this factor onto 
> > the experimental oligos of each array.
> > 
> > like:
> > cmed <- log(apply(abs(M[scaleSubset,]), 2, mean, na.rm=TRUE))
> > cmed <- exp(cmed - mean(cmed))
> > print( paste("scaling factors:", paste( formatC(cmed, digits=2), 
> > collapse= " ")  ))
> > t(t(M)/cmed)
> > 
> > Now I would like to go one step further.
> > I would like to quantile normalize the control oligos. Then I would like to 
> > apply the transformation that was necessary for each array onto the 
> > experimental oligos.
> > 
> > Maybe this makes my intention clearer:
> > I don't want to apply the derived averaged distribution onto my experimental 
> > oligos - they are not the same (and I anyway know how to do this). I want to 
> > do the opposite of that and apply the function that was necessary to 
> > transform the control oligos of each array to the averaged quantile 
> > distribution onto my experimental oligos.
> > Its basically scaling like above, but not only taking MAD as a parameter,
> > but the whole difference in the distribution between
> > 
> > 
> > a) does this make sense.
> > b) how do I do it.
> > 
> > thank you very much,
> > ido
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list