[BioC] limma questions (normalization)

Brooke LaFlamme bal44 at cornell.edu
Tue Sep 18 23:28:23 CEST 2007


Hi, I am very new to bioconductor and microarray analysis in general. I am using Windows XP and R version 2.5.1. 

I have a few questions about the limma package that I am using for cDNA array analysis. 

First: 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. 

Also, when spots are given a weight of zero, are only spots that have weight >0 across all replicate arrays included in the analysis? How do I find the number of spots included in the analysis? I know how to do this for individual arrays but if arrays 1-4 (out of 16) are in group 1, how do I find how many spots are included in the analysis for group 1? 

Second: Two of my array groups consistently have all significant spots being “downregulated” relative to the control. I feel that there must be an error in my normalization step or background correction step. This is the code I am using: 

#Background correction and normalization
	RG2<-backgroundCorrect(RG, method="normexp", offset=50)
	w<-modifyWeights(RG2$weights, RG2$genes$Status, c("Actin","Buffer"), c(2,2))
	MA<-normalizeWithinArrays(RG2, method="loess", weights=w)
	MA.Aq<-normalizeBetweenArrays(MA)
#look at array weights
	arrayw<-arrayWeights(MA.Aq)
#Create the design matrix for linear models
	design<-modelMatrix(targets, ref="control")
#fit a linear model to each gene
	fit<-lmFit(MA.Aq, design=design, weights=arrayw)
#create a contrast matrix to compare each treatment to the control case 
	contrast.matrix<-makeContrasts(Acp26Aa, Acp29Ab, Acp36DE, Acp62F, levels=design)
#expand linear model and compute empirical Bayes statistics
	fit2<-contrasts.fit(fit, contrast.matrix)
	fit2<-eBayes(fit2)

Is normexp the best way to do background correction? Also, this array (DGRC-1) is printed with 48 pins, so I’m pretty sure I can’t use printtiploess. Is this true?

Finally, what is the underlying linear model that lmFit is using? I can find no information on this. I assume it treats treatment and dye as fixed effects and array as a random effect, but I just want to confirm this. 

Thank you so much for any help demystifying this. Sorry this was so long. 

Brooke L.



More information about the Bioconductor mailing list