Limma filtering based on treatment group
1
0
Entering edit mode
@jamiegearing-12556
Last seen 3 months ago
Australia

Hello,
I have a question about filtering lowly expressed probes (or genes) when using limma.
For the example in section 17.4 of the limma user's guide, probes are called expressed if they exceed a cut-off in more than a given number of samples (equal to the size of the smallest treatment group):

isexpr <- rowSums(y$E > cutoff) >= 4​

I was wondering whether it would make sense to use the treatment group information to look for probes that are expressed in every sample in any treatment group (or perhaps a proportion of samples for any treatment). Something like this perhaps:

proportion <- 1.0
isexpr2 <- apply(y$E > cutoff, 1, function(z){
                           any(sapply(levels(Treatment), function(treat){
                             sum(z[Treatment == treat]) >= sum(Treatment == treat)*proportion
                             }))
             })

For this example, the normal approach yields 32754 expressed probes, whereas this yields 30840 probes.
I have seen other answers on this subject (e.g. https://support.bioconductor.org/p/52762/) warning against filtering based on variance because it would affect the limma algorithms, but I am not sure whether this is quite the same thing.
Would this be a technically valid? Even if it is, it may just be unnecessarily complicated.

limma filtering • 1.2k views
ADD COMMENT
2
Entering edit mode
@steve-lianoglou-2771
Last seen 21 months ago
United States

No. Don't do that. Your filtering criterion needs to be independent of the test statistic: 

http://m.pnas.org/content/107/21/9546.long

 

 

ADD COMMENT
0
Entering edit mode

Very good. Thanks Steve.

ADD REPLY

Login before adding your answer.

Traffic: 469 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6