Dear Scott,
You are misinterpreting the empirical Bayes assumption of eBayes. eBayes doesn't assume equal variances, it only assumes that the variances can be considered as a random sample from the same distribution.
Omitting the eBayes step would would throw the baby out with the bath water.
I doubt that the error variance depends quite as directly on the number of probes in a probe-set as you might think. When we have analysed the miRNA Affymetrix chip, we have found that it has major problems from the point of view of normalization, while the issue that you raise is relatively minor.
I could suggest ways to take into account the number of probes per probe-set in the eBayes calculations, but I don't think this will be important.
Best wishes
Gordon
PS. If you have the choice, RNA-seq is cheaper and better.
[This answer was originally posted to the Bioconductor mailing list on 22 August 2014.]
Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Just for the record, here is how you can incorporate probe-set size into the eBayes step to see whether it is important. I will simulate a little toy example where we know there should be a trend:
library(limma)
n <- 1:100 # number of probes per probe-set
ID <- rep(1:100,n) # probe-set IDs
nprobes <- length(ID)
x <- matrix(rnorm(nprobes*3),nprobes,3)
y <- avereps(x,ID=ID)
# y has 100 rows, each row is an average of n probes
design <- matrix(1,3,1)
fit <- lmFit(y,design)
fit$Amean <- log(n)
fit <- eBayes(fit,trend=TRUE)
plotSA(fit)
Limma will estimate a decreasing trend of variance vs n as well as doing empirical Bayes squeezing around the trend. The x-axis label of the plot will say "average expression" but it is actually log(n).
Best wishes
Gordon
[This answer was originally posted to the Bioconductor mailing list on 24 August 2014.]