[BioC] Normalization using control spots

Gordon K Smyth smyth at wehi.EDU.AU
Sat Jul 18 04:29:15 CEST 2009


Dear Alison,

> Date: Fri, 17 Jul 2009 12:09:00 -0400
> From: Alison Waller <alison.waller at utoronto.ca>
> Subject: [BioC] Normalization using control spots
> To: bioconductor at stat.math.ethz.ch
>
> Hello all,
>
> I have a set of 'boutique' Agilent arrays (ie. they are functional
> gene arrays for which either a large or small number of gene can be
> differenitally expressed).  We have printed a few different sets of
> control spots to use for within array normalization.
>
> I have pasted by script below, and the error message and warnings.
>
> Because of the warnings I thought that the set of control spots (6 out
> of 3600 total) might be too small to fit a loess curve through

Yes, 6 spots is far too few.

> so I then tried with another 'control set" for which there are 220 
> spots.

But you haven't shown us any output using 220 spots, only for 6 
spots.

> And I still recieved the error " Error in qr.default(x) : NA/NaN/Inf
> in foreign function call (arg 1) ", but there were no additional
> warnings about too few degrees of freedom.
>
> Any thoughts on why I'm recieving this error message?

I suspect that your control spots do not cover a reasonable range of 
intensities. You need to look at your data.  Type

   plotMA(RGnm)

to see where the control spots are.  Does it seem sensible to put a loess 
curve through them?

Also, I'd remove the wt.fun, at least until you've solved the 
normalization problem.

Best wishes
Gordon

> Thanks,
>
> Alison
>
>
>
> Partial Script
> >>>>>>
> library(limma)
> targets<-readTargets("EPBDIExprTargets.txt")
> RG<-read.maimages(targets$FileName,source='genepix',wt.fun=wtflags(0.1))
> spottypes<-readSpotTypes("SpotTypesEP.txt")
> RGnm<-backgroundCorrect(RG,method='normexp')
> RGnm$genes$Status<-controlStatus(spottypes,RG)
> ControlSpots<-grep("Control",RGnm$genes$Status)
> MAnmcntrl<-
> normalizeWithinArrays(RGnm,method='control',controlspots=ControlSpots)
> MAnmcntrlAqu<-normalizeBetweenArrays(MAnmcntrl,method='Aquantile')
>
>
>
> Partial Output
> >>>>>>>>>>>>>>
> Corrected array 9
> Red channel
> Corrected array 1
> Corrected array 2
> Corrected array 3
> Corrected array 4
> Corrected array 5
> Corrected array 6
> Corrected array 7
> Corrected array 8
> Corrected array 9
> Matching patterns for: ID
> Found 3600 All
> Found 6 Control
> Setting attributes: values col cex
> Error in qr.default(x) : NA/NaN/Inf in foreign function call (arg 1)
> In addition: There were 50 or more warnings (use warnings() to see the
> first 50)
> > warnings()
> Warning messages:
> 1: span too small.   fewer data values than degrees of freedom.
> 2: zero-width neighborhood. make span bigger
> 3: zero-width neighborhood. make span bigger
> 4: zero-width neighborhood. make span bigger
> 5: zero-width neighborhood. make span bigger
> 6: zero-width neighborhood. make span bigger
> 7: zero-width neighborhood. make span bigger
> 8: Chernobyl! trL<k 0
> 9: Chernobyl! trL<k 0
> 10: span too small.   fewer data values than degrees of freedom.
> 11: zero-width neighborhood. make span bigger
> 12: zero-width neighborhood. make span bigger
> 13: zero-width neighborhood. make span bigger
> 14: zero-width neighborhood. make span bigger
> 15: zero-width neighborhood. make span bigger
> ---------------------------------------------------------
> Alison Waller  Ph.D



More information about the Bioconductor mailing list