Normalization using control spots
1
0
Entering edit mode
@gordon-smyth
Last seen 4 hours ago
WEHI, Melbourne, Australia
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
Normalization Normalization • 1.0k views
ADD COMMENT
0
Entering edit mode
alison waller ▴ 180
@alison-waller-2505
Last seen 10.3 years ago
Thank you for the reply Gordon, Yes, I should have looked at the plots earlier. It appears as if the second set (16S) is not appropriate (due to variation in their response) and the first set (Arab) is too small as you mentioned. It also appears as if the majority of the spots are not differentially expressed so I can probably just use loess normalization on all of the spots. However, I don't want to totally ignore the data from the control spots, as for some arrays the Arab control spots are further from M=0 than others, see MA plots below. I decided to try using the modifyWeights function. The MA plots resulting from this look reasonable. Do you think this is a valid approach given the small number of control spots, and the fact that they have higher intensities than the majority of the spots? w<-modifyWeights(array(1,dim(RGnm)), RGnm$genes$Status, c("All","Arab"), c(1,2)) MAnmw<-normalizeWithinArrays(RGnm,weights=w) -------------- next part -------------- A non-text attachment was scrubbed... Name: pastedGraphic.pdf Type: application/pdf Size: 473111 bytes Desc: not available URL: <https: stat.ethz.ch="" pipermail="" bioconductor="" attachments="" 20090722="" cf946176="" attachment-0003.pdf=""> -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: pastedGraphic.pdf Type: application/pdf Size: 481585 bytes Desc: not available URL: <https: stat.ethz.ch="" pipermail="" bioconductor="" attachments="" 20090722="" cf946176="" attachment-0004.pdf=""> -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: pastedGraphic.pdf Type: application/pdf Size: 472264 bytes Desc: not available URL: <https: stat.ethz.ch="" pipermail="" bioconductor="" attachments="" 20090722="" cf946176="" attachment-0005.pdf=""> -------------- next part -------------- On 17-Jul-09, at 10:29 PM, Gordon K Smyth wrote: > 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 --------------------------------------------------------- Alison Waller Ph.D alison.waller at utoronto.ca
ADD COMMENT

Login before adding your answer.

Traffic: 553 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6