[BioC] Fwd: limma questions (normalization) - correction

Brooke LaFlamme bal44 at cornell.edu
Fri Sep 21 13:58:27 CEST 2007


Dr. Smyth,

Thank you so much for your help! I agree that it would be better to leave all the spots in  instead of filtering them out, especially if the background correction method I am doing produces all positive corrected intensities. What I was trying to do here was replicate results that someone else obtained with these data. Their approach was to remove all spots with fluorescence less than the average background intensity of the array and, I believe, do a standard background subtraction. 

The column "B635" does exist in these genepix output files. It is simply the same exact thing as the median local background (not sure why there is a duplicate column, it was just a shorter name to type). 

The previous analysis was carried out by log2 transforming the ratios and identifying differentially expressed spots by fitting to a linear mixed model with dye effect as a fixed effect and array as a random efffect. My results using normexp to background correct and lmFit() to fit the model give me very different numbers of differentially expressed genes and, for two of my 4 contrasts, all DE genes have lower intensity compared to control. 

I can see that there is a problem with the MA plots in that a few of them show a bias toward having most spots not at 0 being either above or below M=0. I don't really think that using a different linear model (such as lmscFit and treating each array as a factor, or lmscFit and setting up a blocking design) will fix this problem, though I did try it. At this point, I am not sure what else I can do. I basically need to show that I can reproduce the previous results (done in SAS and jmp) before I can say whether my approach makes more sense or make any other conclusions. 

Sorry for such a long email. I definitely appreciate any suggestions you might have. 

Thank you.

Brooke



-----Original Message-----

> Date: Thu Sep 20 20:02:41 EDT 2007
> From: "Gordon Smyth" <smyth at wehi.EDU.AU>
> Subject: Fwd: [BioC] limma questions (normalization) - correction
> To: 
>
> Dear Brooke,
> 
> Oops, I wrote something too hastily yesterday which was incorrect.
> 
> >To: Brooke LaFlamme <bal44 at cornell.edu>
> >From: Gordon Smyth <smyth at wehi.edu.au>
> >Subject: [BioC] limma questions (normalization)
> >Cc: bioconductor at stat.math.ethz.ch
> >Bcc:
> >X-Eudora-Signature: <<No Default>>
> >Date: Thu, 20 Sep 2007 10:57:05 +1000
> >
> >Dear Brooke,
> >
> >>Date: Tue, 18 Sep 2007 17:28:23 -0400 (EDT)
> >>From: Brooke LaFlamme <bal44 at cornell.edu>
> >>Subject: [BioC] limma questions (normalization)
> >>To: bioconductor at stat.math.ethz.ch
> >>
> >>I would like to flag out all spots with fluorescence intensity 
> >>lower than that of the mean background intensity of the array.
> >>The weight function I am using to do this is (using Genepix output 
> >>file (*.gpr) column names):
> >>
> >>myfun<-function(x){
> >>                 okred<-mean(x[,"B635"])-x[,"F635 Mean"]<=0
> >>                 okgreen<-mean(x[,"B532"])-x[,"F532 Mean"]<=0
> >>                 as.numeric(okgreen & okred)
> >>                 }
> >>
> >>Does this actually do what I want? I?m not certain of how to 
> >>calculate ?mean background intensity? for the whole array.
> >
> >I assume you're trying to use the wt.fun argument of 
> >read.maimages(). You cannot use this approach to compute the mean 
> >background intensity of the array. You need to read in the whole 
> >array before you can do that.
> 
> Oops, my last comment is wrong. wt.fun acts on the whole gpr 
> data.frame, so you actually can compute the mean background intensity 
> as part of the spot quality weight calculation.
> 
> Your code here could do what you want. However three warnings:
> 
> 1. You are assuming that the column "B635" exists, and this will only 
> be true if you are using a custom GenePix background measure. If you 
> are, you didn't mention it. What background measure are you using?
> 
> 2. It would be easier to do this calculation after reading in the 
> data using read.maimages() rather than using the wt.fun argument.
> 
> 3. As I said yesterday, this spot weight calculation seems a bad 
> idea. It would especially be a bad idea if you're using a custom 
> background measure in GenePix 6.0 or later such as morphological 
> opening, which makes this sort of intensity-based weighting unnecessary.
> 
> Best wishes
> Gordon
>
--
Brooke LaFlamme



More information about the Bioconductor mailing list