[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