[BioC] nonspecific filtering prior to limma

Javier Pérez Florido jpflorido at gmail.com
Fri Nov 27 17:29:33 CET 2009


Dear list,
I have a question regarding to nonspecific filtering prior to limma 
analysis. I've searched on google, but no answer.

I have a microarray experiment with three groups: group1, group2 and 
group3.According to limma vignette, my analysis would be like this:

f<-factor(targets$Target, levels=c("group1","group2","group3")
design<-model.matrix(~0+f)
colnames(design)<-c("group1","group2","group3")
fit<-lmFit(eset,design)
contrast.matrix<-makeContrasts(group2-group1,group3-group2,group3-group1,levels=design)
fit2<-contrasts.fit(fit,contrast.matrix)
fit2<-eBayes(fit2)
topTable(fit2,coef=1,adjust="BH") #group2-group1
topTable(fit2,coef=2,adjust="BH") #group3-group2
topTable(fit2,coef=3,adjust="BH") #group3-group1

My question is regarding to nonspecific filtering prior to this limma 
analysis with several groups. I would like to filter by removing the 
control genes, the duplicate probesets pointing to the same EntrezID and 
the genes with low variance using the IQR function. I know that using 
nsFilter from genefilter package, I can achieve this:

eset<-nsFilter(eset, require.entrez=TRUE, remove.dupEntrez=TRUE, 
var.func=IQR,var.cutoff=varCutoff,filterByQuantile=TRUE, 
feature.exclude="^AFFX")

My question is the following: is it correct to use nsFilter on ALL 
samples like lmFit or it must be used for each contrast of interest? I 
mean, using all samples, some interesting genes that are expressed only 
in one group would be removed. However, if nsFilter is used for each 
contrast separately, these genes won't be removed....In any case, the 
genes removed would be different.
What is the procedure to use geneFilter when there are several groups?

Thanks again,
Javier



More information about the Bioconductor mailing list