[BioC] Help with Background correction (Normexp+offset)

Matthew Ritchie mritchie at wehi.EDU.AU
Wed Jul 13 09:55:19 CEST 2011


Dear Priyanka,

The suggestion to use df.prior to help guide your choice of offset
requires that you fit the linear model separately for data processed with
different offsets.  The offset which gives the largest df.prior is optimal
- the code below should help.

Best wishes,

Matt

*********
targets<-readTargets("targets.txt")
RG<-read.maimages(targets,source="genepix",
       columns=list(R="F635 Median",G="F532 Median",Rb="B635",Gb="B532"))

RG50 <- backgroundCorrect(RG, method="normexp", offset=50)
RG25 <- backgroundCorrect(RG, method="normexp", offset=25)
RG10 <- backgroundCorrect(RG, method="normexp", offset=10)

design<-c(1,1,1,-1,-1,-1)

MA.p50 <- normalizeWithinArrays(RG50)
MA.s50 <- normalizeBetweenArrays(MA.p50,method="scale")
fit50<-lmFit(MA.s50,design)
fit50<-eBayes(fit50)
fit50$df.prior

MA.p25 <- normalizeWithinArrays(RG25)
MA.s25 <- normalizeBetweenArrays(MA.p25,method="scale")
fit25<-lmFit(MA.s25,design)
fit25<-eBayes(fit25)
fit25$df.prior

MA.p10 <- normalizeWithinArrays(RG10)
MA.s10 <- normalizeBetweenArrays(MA.p10,method="scale")
fit10<-lmFit(MA.s10,design)
fit10<-eBayes(fit10)
fit10$df.prior

> Dear All,
>
>  I needed your help with some 2-color microarray data analysis. So the
> problem is that after sorting by pvalue and fold change cut off of 1.5, I
> am left with very few differentially expressed genes. I use Normexp
> method for background correction with an offset value of 50 (default).
>
> 1. So if i use offset=50, i get downregulated genes=11, upregulated
> genes=31
>
> 2. If i use offset=25, i get downregulated=14 , upregulated=46
>
> 3. If i use offset=10, i get downregulated=20 ,upregulated=93
>
>
> I read on the Limma-bioconductor forum that making a boxplot of foreground
> and background (green and red channels) should help decide if background
> correction is needed or not. I made that boxplot but do not know how to
> interpret it. I have also attached MA plots before and after background
> correction for each offset (10 and 25) with this email. Can someone guide
> me in this regard.
>
> Also this is what the moderator writes for a way to decide the offset
> value " You can judge a good value for the offset by inspection of the
> MA-plots. If you really want a quantitative way to judge this, look at the
> component fit$df.prior after you use the eBayes() function in limma. The
> better you stabilize the variances, the larger will be df.prior and the
> greater will be the power to detect DE genes. Hence the offset which
> maximises df.prior is, in sense, optimal "
>
> So, when i run my code and type fit$df.prior i get a value of 1.48. How
> does this number help me decide the offset.
>
> Here is the code
>  targets<-readTargets("targets.txt")
>> RG<-read.maimages(targets,source="genepix",columns=list(R="F635
>> Median",G="F532 Median",Rb="B635",Gb="B532"))
> Read 14251568.gpr
> Read 14251566.gpr
> Read 14251213.gpr
> Read 14251567.gpr
> Read 14251230.gpr
> Read 14251232.gpr
>> RG$genes<-readGAL()
>> RG <- backgroundCorrect(RG, method="normexp", offset=25)
> Array 1 corrected
> Array 2 corrected
> Array 3 corrected
> Array 4 corrected
> Array 5 corrected
> Array 6 corrected
> Array 1 corrected
> Array 2 corrected
> Array 3 corrected
> Array 4 corrected
> Array 5 corrected
> Array 6 corrected
>> MA.p <- normalizeWithinArrays(RG)
>> MA.s <- normalizeBetweenArrays(MA.p,method="scale")
>> design<-c(1,1,1,-1,-1,-1)
>> fit<-lmFit(MA.s,design)
>> fit<-eBayes(fit)
>> fit$df.prior
> [1] 1.481457
>
>
> Priyanka Kachroo
> Graduate Assistant Research
> Texas A&M University



______________________________________________________________________
The information in this email is confidential and intend...{{dropped:4}}



More information about the Bioconductor mailing list