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
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