[BioC] limma Composite Normalisation & Plotting

Gordon Smyth smyth at wehi.edu.au
Fri Mar 5 00:39:12 MET 2004


At 05:26 AM 5/03/2004, Jason Skelton wrote:

>Hi All
>
>(using R 1.8.0, limma 1.5.1)

>I'm slightly confused with the composite normalisation
>which I'm guessing you can only use for positive controls ?

The controls must span nearly the complete range of intensities. The 
"composite" normalization option implements the method of Yang, Dudoit, 
Luu, Lin, Peng, Ngai, (2002) which is cited in the help file.

We don't actually recommend composite normalization any more. It is usually 
preferable I think to simply up-weight the control spots in the 
normalization step, i.e., a simple use of the weights function. See the 
modifyWeights() function.

>looking at
>
>Message: 3
>Date: Thu, 21 Aug 2003 22:04:19 -0400
>From: paul.boutros at utoronto.ca
>Subject: [BioC] limma: normalizeWithinArrays using composite method
>To: bioconductor at stat.math.ethz.ch
>Message-ID: <1061517859.3f457a23caac6 at webmail.utoronto.ca>
>Content-Type: text/plain; charset=US-ASCII
>
>I've had the same problem:
>
> >MA.within   <- normalizeWithinArrays(RG, layout, method="composite");

You have to specify the 'controlspots' argument. Composite normalization is 
meaningless without it!

>Error in predLoess(object$y, object$x, newx, object$s, object$weights,  :
>         NA/NaN/Inf in foreign function call (arg 3)
>
>
>I've changed the GAL file to include the word CONTROL(in ID column)
>next to any controls I have on my array which seems to work when I use:
>
>nwaEXAMPLE <- normalizeWithinArrays(GENEPIXRG, LAYOUT,method="composite", 
>controlspots=TRUE)
>
>Is this correct ?

No. 'controlspots' needs to be a logical vector of the same length as the 
number of spots on your arrays, with TRUE for control spots and FALSE 
otherwise. Or else it can be a vector containing the row numbers of the 
control spots.

If you follow the cited paper by Smyth and Speed (2003) you will see a 
worked example of composite normalization.

>Looking at the code & user guide I'm still confused as to how limma is 
>picking up "Control spots" for composite normalization from GAL file or 
>elsewhere ?
>
>The arguments describe for normalizeWithinArrays as:
>controlspots    numeric or logical vector specifying the subset of spots 
>which are non-differentially expressed control spots, for use with 
>method="composite"
>
>Could someone show me an example of both a numeric & logical vector ?

Numeric: c(2,2.1,5)
Logical: c(TRUE, FALSE)

You could always type ?numeric and ?logical to get help.

>ALSO
>
>When using controlStatus for RGlist & MAlist plots
>Can you specify during plotMA(RG) where you want the legend to go ?
>
>using locator() to get appropriate co-ordinates ?

No, but you can use the 'xlim' argument to increase the space for the legend.

Gordon

>OR would I have to plot the same information by the generic plot() 
>function and then use legend(x,y, legend) ?
>
>If so how can I then specify the legend used in the original plotMA ?
>& obtain the status colours specified in that plot
>
>Hope that all make sense
>
>
>thanks for any help
>
>
>Jason
>
>--
>--------------------------------
>Jason Skelton
>Pathogen Microarrays
>Wellcome Trust Sanger Institute
>Hinxton
>Cambridge
>CB10 1SA
>
>Tel +44(0)1223 834244 Ext 7123
>Fax +44(0)1223 494919



More information about the Bioconductor mailing list