I am using
limma for analyzing both
Affymetrix expression microarray datasets. After normalization, I am interested in filtering out probes that are not expressed. For instance in
Agilent arrays (see R code below ) we this type of approach, instead is there a way to apply soft or general filter instead of using specific no. of minimum array replicates. Furthermore, I did-not find any specific filter for Affymetrix arrays in the manual. Please assist.
y <- neqc(x) ## we keep probes that are expressed in at least three arrays according to a detection p-values of 5%: expressed <- rowSums(y$other$Detection < 0.05) >= 3 y <- y[expressed,]
y <- normalizeBetweenArrays(y, method="quantile") ## We will filter out control probes as indicated by the ControlType column: Control <- y$genes$ControlType==1L ## We will also filter out probes with no Entrez Gene Id or Symbol NoSymbol <- is.na(y$genes$Symbol) ## Finally, we will filter probes that don’t appear to be expressed. We keep probes that are above background on at least four arrays (because there are four replicates of each treatment): IsExpr <- rowSums(y$other$gIsWellAboveBG > 0) >= 4 ## Now we select the probes to keep in a new data object yfilt: yfilt <- y[!Control & !NoSymbol & IsExpr, ]