Question: Filtering genes based on Agilent flags
0
12.3 years ago by
Mcmahon, Wyatt50 wrote:

Hello list,

I was wondering if anyone knows of a wt.fun function which will filter genes based on their flags in an Agilent FE file. Using the help, I have found functions for Spot and GenePix files, but nothing for Agilent. Has anyone had this problem?

Wyatt

K. Wyatt McMahon, Ph.D.
Postdoctoral Research Associate - Functional Genomics Center and Services Facility
Texas Tech University
Department of Plant and Soil Sciences
Campus Box 42122
79409

limma agilent microarrays • 490 views
modified 18 months ago by Gordon Smyth38k • written 12.3 years ago by Mcmahon, Wyatt50
Answer: Filtering genes based on Agilent flags
0
12.3 years ago by
John Fernandes100 wrote:

I've written one to find spots noted as "well above background":

wtfun <- function(x) {
okAboveBG <- x[,"rIsWellAboveBG"]==1 &
x[,"gIsWellAboveBG"]==1
okSaturated <- x[,"rIsSaturated"]==0 & x[,"gIsSaturated"]==0
okPopnOutlier <- x[,"rIsFeatPopnOL"]==0 &
x[,"gIsFeatPopnOL"]==0
okNonUnifOutlier <- x[,"rIsFeatNonUnifOL"]==0 &
x[,"gIsFeatNonUnifOL"==0
as.numeric(okAboveBG & okSaturated & okPopnOutlier &
okNonUnifOutlier)
}

John

I don't agree with using the "well above background" variables as quality flags. A spot that is near background might simply represent a gene that isn't expressed. The probe might be working correctly and this information should not be lost.

A probe that is never (on any array) well above background should probably be filtered out of downstream analyses, but that is best done by subsetting the EList object rather than by setting quality weights with wt.fun. The weights are designed to selectively down-weight individual spots rather than to act on a whole probe.

Answer: Filtering genes based on Agilent flags
0
18 months ago by
Gordon Smyth38k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth38k wrote:

The wt.fun argument for read.maimages() in limma is designed to flag poor quality spots. It is not intended for gene filtering.

Flagging poor quality spots is seldom needed with Agilent microarrays. limma is very robust to a range of spot qualities anyway.

Gene filtering should instead be done after the read step. Don't use wt.fun but instead use the other.columns argument of read.maimages() to read in any Agilent variables you want to use during the filtering step.