# [BioC] Question about quantile normalization

Laurent Gautier laurent at cbs.dtu.dk
Mon Aug 1 07:47:38 CEST 2011

```On 2011-08-01 06:55, qwertyui_period at yahoo.co.jp wrote:
> Dear all,
>
> My environment is limma Version 3.2.2, R version 2.10.1, and Windows XP.
> I'm going to normalize the microarray data by "normalizeBetweenArrays"
> which is the quantile normalization function in "limma" package.
> I have read the "usersguide.pdf" in bioconductor website, however, I still
> have two questions.
>
> Question 1: Which is proper to use for quantile normalization: raw-scale or
> log2-scale values ?
> The quantile normalization includes the step of calculating arithmetic
> mean,
> so I suppose the raw-scale values should be used, though the microarray
> data is generally log2-scale values.

Quantile normalization is usually performed on untransformed data
("raw-scale").
Log2 transformation comes after (before probe summary when using RMA or
RMA-like approaches).

> Question 2: How does "normalizeBetweenArrays" deal “N/A” in data ?

Missing values are just ignored and left as such (missing values).

Hoping this helps,

L.

> Example code 1,
>
>> ngenes<- 3
>> narrays<- 2
>> x<- matrix(c(3,1,5,6,4,2),ngenes,narrays)
>       [,1] [,2]
> [1,]    3    6
> [2,]    1    4
> [3,]    5    2
>
>> (y<- normalizeBetweenArrays(x))
>       [,1] [,2]
> [1,]  3.5  5.5
> [2,]  1.5  3.5
> [3,]  5.5  1.5
>
> I understand the process of "normalizeBetweenArrays" is devided into 4
> steps as follows:
>
> step 1: Sorting values in each column in descending order
>
>       [,1] [,2]
> [1,]    5    6
> [2,]    3    4
> [3,]    1    2
>
> step 2: Averaging values in each rank
>
>       [,1] [,2]    Average
> [1,]    5    6    5.5
> [2,]    3    4    3.5
> [3,]    1    2    1.5
>
> step 3: Replacing the values in each column with the average
>
>        [,1]  [,2]  Average
> [1,]  5.5   5.5   5.5
> [2,]  3.5   3.5   3.5
> [3,]  1.5   1.5   1.5
>
> step 4: Re-sorting the values in each column at original positions
>
>       [,1] [,2]
> [1,]  3.5  5.5
> [2,]  1.5  3.5
> [3,]  5.5  1.5
>
> Then, how does "normalizeBetweenArrays" deal “N/A” in data ?
>
> Example code 2,
>
>> (x<- matrix(c(NA,1,5,6,4,2),ngenes,narrays))
>       [,1] [,2]
> [1,]   NA    6
> [2,]    1    4
> [3,]    5    2
>
> (y<- normalizeBetweenArrays(x))
>
>       [,1] [,2]
> [1,]   NA  5.5
> [2,]  1.5  3.5
> [3,]  5.5  1.5
>
> Thanks in advance !
>
>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor

```