Greetings,
I'm currently performing a differential expression experiment to which I'm trying to apply Voom transformation using limma package.
I have the experimental design, the count matrix and dge object prepared. I'm having trouble choosing the method to filter low counts reads.
The first method I am employing is filterByExpr from edgeR package:
keep <- filterByExpr(dge, design = design)
dge <- dge[keep, , keep.lib.sizes = F]
dim(dge)
After calculating normalization factors using calcNormFactors
and performing voom with v <- voom(dge, design, plot = T, normalize.method = "quantile")
I got this plot:
Which from what I'm reading it still needs some filtering to do given the trend of the variance.
The alternative method I used consisted on applying:
cutoff <- 1
drop <- which(apply(cpm(dge), 1, max) < cutoff)
d <- dge[-drop,]
dim(d)
But while the number of genes trimmed is different, the plot is mostly the same.
How should I choose a threshold to filter low counts? Is there another way?
Thank you very much,
Kind regards