[BioC] quantile normalization

Gordon Smyth smyth at wehi.edu.au
Wed Jun 4 12:59:37 MEST 2003


A good point! Although probably not of great practical importance for most 
microarray experiments.

I think the correct in-principle behavior of quantile normalization is 
clear. In the case of ties, one should in principle set each tied 
log-intensity to the average of the corresponding pooled quantiles. There 
are two quantile normalization routines in bioconductor at the moment (one 
intended for cDNA arrays and one for affy) and neither does exactly the 
right thing. limma breaks ties using by preserving index order while affy 
treats all tied values as having the minimum of the tied ranks:

 > A
      [,1] [,2]
[1,]    1    2
[2,]    2    4
[3,]    3    4
[4,]    4    6
 > library(limma)
 > normalizeQuantiles(A)
      [,1] [,2]
[1,]  1.5  1.5
[2,]  3.0  3.0
[3,]  3.5  3.5
[4,]  5.0  5.0
 > library(affy)
 > normalize.quantiles(A)
      [,1] [,2]
[1,]  1.5  1.5
[2,]  3.0  3.0
[3,]  3.5  3.0
[4,]  5.0  5.0

In principle, I think the correct quantile normalized matrix should be
      [,1] [,2]
[1,]  1.5  1.5
[2,]  3.0  3.25
[3,]  3.5  3.25
[4,]  5.0  5.0

Cheers
Gordon

At 02:54 AM 4/06/2003, Martino Barenco wrote:
>Hi,
>
>My understanding of quantile normalization is that values for several data 
>sets are ranked, then the average per rank is taken and is reattributed to 
>each data set according to the original rank (hope this makes sense). My 
>question is: how does one deal when ties occur?
>- One possibility would be to force a tied value to be greater than the 
>other (using the "order" command instead of "rank"). Even though it would 
>not make a huge difference it is a bit arbitrary.
>- Another possibility is to "force" the ties across all data sets, quite 
>arbitrary as well.
>- or maybe a combination of both, but it looks like a nightmare to program!
>
>So, what should be done? Also, is there a method such as "normalize" that 
>acts on exprSet rather than AffyBatch?
>
>Thanks
>
>Martino
>---------------------------------------
>Martino Barenco
>CoMPLEX
>4, Stephenson Way
>London NW1 2HE
>Tel.: +44 20 7679 5088
>Fax.: +44 20 7383 5519
>Email: m.barenco at ucl.ac.uk



More information about the Bioconductor mailing list