Hi,
I am using limma
for analyzing both Agilent
, Illumina
and Affymetrix
expression microarray datasets. After normalization, I am interested in filtering out probes that are not expressed. For instance in Illumina
and 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.
Illumina Arrays:
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,]
Agilent Arrays:
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, ]
Thank you,
Abdul
James W. MacDonald thank you very much for the reply. All the points are well noted.