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

Kachroo, Priyanka priya_coll at neo.tamu.edu
Mon Jul 11 19:38:32 CEST 2011

```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
> RG<-read.maimages(targets,source="genepix",columns=list(R="F635 Median",G="F532 Median",Rb="B635",Gb="B532"))
> 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
Texas A&M University
-------------- next part --------------
A non-text attachment was scrubbed...
Name: boxplot foreground and background 7-10-11.pdf
Type: application/pdf
Size: 1996426 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/bioconductor/attachments/20110711/b8eba9a1/attachment-0005.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MA array 1 before background off=10.pdf
Type: application/pdf
Size: 961810 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/bioconductor/attachments/20110711/b8eba9a1/attachment-0006.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MA array1 after correction off=10.pdf
Type: application/pdf
Size: 1397961 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/bioconductor/attachments/20110711/b8eba9a1/attachment-0007.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MA array 1 before bkgrnd corr off=25.pdf
Type: application/pdf
Size: 961810 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/bioconductor/attachments/20110711/b8eba9a1/attachment-0008.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MA after bkgrnd corr off=25.pdf
Type: application/pdf
Size: 1395432 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/bioconductor/attachments/20110711/b8eba9a1/attachment-0009.pdf>
```