[BioC] normalizeWithArray with method of "control" in limma package

Gordon K Smyth smyth at wehi.EDU.AU
Tue Jan 6 01:33:57 CET 2009

Dear Leon,

method="control" does what you want exactly whereas weights=w is an 
approximation.  The exact method takes longer.  See


Weights=w is an approximation because the loess curve setup uses all the 
points to define the neighbourhood regions, even those for which w=0, and 
so the loess curve definition is not the same as would you like to define 
for the control spots alone.

method="control" is slow because it is necessary to store the loess fit 
and then to compute predicted values for the non-control spots.

Best wishes

> Date: Sun, 04 Jan 2009 19:11:17 +0800
> From: Leon Yee <yee.leon at gmail.com>
> Subject: [BioC] normalizeWithArray with method of "control" in limma
> 	package
> To: bioconductor at stat.math.ethz.ch
> Message-ID: <49609955.9080502 at gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> Hi all,
>    I am very doubtful about the "control" method of
> normalizeWithinArray function in limma package.
>    Suppose that I have an MAList object ma contains a two-color array:
> w = rep(1, dim(ma$M)[1])
> w[ abs(ma$M) > 3]  = 0
> What is the difference between
> normalizeWithinArray(ma, method="control", layout=layout,
>    controlspots= as.logical(abs(1-w)) )
> and
> normalizeWithinArray(ma, method="loess", weights=w)
> ?
> In practice, the first one with method="control" is very very slow,
> while the second one is very quick.
> The motivation of my trying these methods is that I want to do loess
> normalization with only those probes that were not heavily
> differential-expressed.
> Could you help me out? Thanks in advance.
> Leon

More information about the Bioconductor mailing list