lfc in Limma topTable
2
0
Entering edit mode
jkradke • 0
@jkradke-7767
Last seen 8.9 years ago
United States

Hi,

I have been trying very hard to figure out what is going on, and I feel like I've read everything I could get my hands on, but I must be missing something. Any help would be much appreciated.

I did an RNA-seq experiment with 6 groups, and I am making pairwise comparisons between them and find up and down regulated genes. Originally I used DEseq2, but decided to use edgeR and limma as well for comparison's sake.I did Venn diagrams and found that although each found some unique genes, the majority overlapped and so I felt confident about it. 

However, this was done at the default lfc which is 0. I wanted to do a fold change of 2.5. Originally I was doing a post-hoc filter on all three result files, (which still resulted in a venn with a lot of overlap), but I realized that a post-hoc filter probably isn't the best way to go. Each method produced ~3000 deg at FDR 0.1.

In edgerR and Deseq i was able to add in the lfc.

treat<-treatDGE(fit, contrast=c(0,0,0,-1,1,0), lfc=1.325)  #   edgeR

res<-results(dds,contrast=c("group","Md1","Md0"),lfcThreshold =1.325) # DEseq2

and both these leave me with ~1000 genes

However, I can't get limma to do what I expect.

data<-topTable(fit2,adjust="BH", number=Inf,lfc=(1.325),p.value = 0.1)

I get ~3000 genes. I Dese2 and edgeR tend to be a little more conservative, but this can't be right....Maybe I am misinterpreting what it expects for "lfc="? or is limma just doing the filtering post-hoc? 

Any answers would be great! thank you,

Jordyn

> sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8 x64 (build 9200)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] edgeR_3.8.6  limma_3.22.6

loaded via a namespace (and not attached):
[1] tools_3.1.3

limma edger • 1.8k views
ADD COMMENT
2
Entering edit mode
@james-w-macdonald-5106
Last seen 1 hour ago
United States

If you want to incorporate the fold change as part of the hypothesis test, you need to use treat() rather than eBayes(). This is analogous to treatDGE() in edgeR.

ADD COMMENT
0
Entering edit mode
jkradke • 0
@jkradke-7767
Last seen 8.9 years ago
United States

Wow, now I can't believe how much time I spent getting that wrong. Problem solved. Thank you!

ADD COMMENT
1
Entering edit mode

On the help page for topTable, click on the linear modelling link under "See Also". This will give you a brief summary of all the functions in limma related to linear modelling, including eBayes and treat.

ADD REPLY

Login before adding your answer.

Traffic: 1008 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