Unexpected output from Limma background subtraction & Normalization
1
0
Entering edit mode
@ellen-sebastian-5895
Last seen 7.3 years ago
Hello, I realize this is a kind of vague question, but I'm getting some very strange output by using Limma for background subtraction and normalization. Compared to normalization that I had done separately (in PUMA, the Princeton microarray database), the spread of red-green ratios is extremely low. This happens regardless of what background subtraction methods and normalization schemes I use, but worst with Loess. (See attached file, which plots SD of red/green ratio on the X axis - all SDs are less than 1.) Output was also similar using Marray for normalization. Can anyone see any obvious mistakes in how I'm handling my data for background subtraction & normalization? Thanks very much for any hints you can offer... for (i in length(files) RGraws[[i]]<-read.maimages(files[i],"genepix",wt.fun=wtflags(0.1), verbose=TRUE) #read in files ending with ".gpr". EmptyFlags set flagged and empty spots' weights to 0, all others to 1. for (i in length(files)){ normalized<-normalizeWithinArrays(RGraws[[i]], layout = RGraws[[i]]$printer, method=NormMethod, span=0.3, iterations=4, controlspots=NULL, df=5, robust="M", bc.method=BGsubmethod, offset=0) #NormMethod is either "loess" or "median"; BGsubmethod is either "edwards" or "subtract" output <- cbind(output, normalized$M) # use \$M as my red/green ratio output } -- Ellen Sebastian B.S. Candidate, Biomedical Computation Stanford University, Class of 2015 -------------- next part -------------- A non-text attachment was scrubbed... Name: wtFiltering_Flagfiltered_FilteredPreNorm_Edwards_Sub_median_loess.pdf Type: application/pdf Size: 5678 bytes Desc: not available URL: <https: stat.ethz.ch="" pipermail="" bioconductor="" attachments="" 20130425="" 67e5a40a="" attachment.pdf="">
0
Entering edit mode
@gordon-smyth
Last seen 5 hours ago
WEHI, Melbourne, Australia

Dear Ellen,

It is hard to help you because you don't actually show any evidence of problems (small SDs are good, I would have thought, rather than bad), and because you're not using a standard limma analysis pipeline or standard diagnostic plots.

The recommend pipeline would be something like this:

   RG <- read.maimages(files, source="genepix")


There is hardly ever any need to set flags or weights, and there is no need for a for-loop.

At this stage it is valuable to set up a status variable to highlight control probes. This is done using readSpotTypes() and controlStatus(). There are lots of examples of this in the User's Guide.

Then you can background correct and normalize with:

   RGb <- backgroundCorrect(RG, method="normexp", offset=50)
MA <- normalizeWithinArrays(RGb)


To examine data quality, or to examine the success of the background correction and normalization, the best way is to display MA-plots before and after each step. Eg.

   plotMA(RGb, array=1)
plotMA(MA, array=1)


to look at one array at a time, or

   plotMA3by2(MA)


to produce a png file of MA-plots for all the arrays at once.

Best wishes Gordon