Question: diffBind: differentially bound sites are highly different between using EDGER and DESEQ2
0
7 weeks ago by
dewshrs0
dewshrs0 wrote:

Hi, Using DESEQ2 and EDGER in diffBind gives huge difference in total number of differentially bound sites around 8000 for DESEQ2 and around 700 for EDGER, reading the vignette, the number should be fairly similar. And also do we need to use "DBASCORETMMREADSFULL" in dba.count if I am setting "bFullLibrarySize=TRUE" in dba.analyze? Currenlty I am using "DBASCOREREADS" in dba.count with "bFullLibrarySize=TRUE" in dba.analyze.

diffbind • 106 views
modified 7 weeks ago by Rory Stark2.8k • written 7 weeks ago by dewshrs0
Answer: diffBind: differentially bound sites are highly different between using EDGER an
1
7 weeks ago by
Rory Stark2.8k
CRUK, Cambridge, UK
Rory Stark2.8k wrote:

When there is a big difference like that, it is usually down to the different normalization methods.

With bFullLibrarySize=TRUE, the DESeq2 analysis will perform only a basic normalization to library size, while the edgeR analysis will perform a more substantive adjustment. If there is a large change in one direction, the simple normalization is usually better.

You can look at what is going on using dba.plotMA(). Compare the plots with bNormalized=FALSE to one with bNormalized=TRUE for both method=DBA_DESEQ2 and method=DBA_EDGER.

Regarding the score to use in dba.count(), it doesn't matter for the analysis. The score is only used for global plots; when you run dba.analyze(), it re-does whatever normalization you've specified in the dba.analyze() parameters.

Thank you for your reply, incase of EDGER, using bFullLibrarySize = TRUE/FALSE doesn't make much difference and MA plot is almost same, but when using DeSeq2, when bFullLibrarySize = TRUE the negative fold change is highly increased and hence around 8000, but if changed to FALSE, the number is drastically reduced to around 200

1

This is consistent with an experiment that induces a large change in binding, all in one direction. The TMM normalization used by edgeR assumes a core of relatively unchanged binding and will over-normalize. In this case, you should use DESeq2 and bFullLibrarySize = TRUE. This is actually the reason we changed this to be the default.

In future I hope to make the normalization more transparent and better separated from the analysis method.