Question: Diffbind: How to compare the DBs called with and without a blocking factor
0
22 months ago by
zhangly8110 wrote:

Hi, I'm doing a differential binding analysis between two experimental conditions across multiple (~5) cell lines. I'm interested in the highly conserved DBs across all cell lines as well as the DBs that are unique to each cell line. I have tried the blocking factor in diffbind, and got two lists of DBs from analysis with and without blocking factor. Is there built-in functions in Diffbind for me to know which DBs overlap between the two lists, and for the ones differ, from which cell line they are detected to be differentially bound? Thank you for your help.

modified 22 months ago by Rory Stark2.9k • written 22 months ago by zhangly8110
Answer: Diffbind: How to compare the DBs called with and without a blocking factor
0
22 months ago by
Rory Stark2.9k
CRUK, Cambridge, UK
Rory Stark2.9k wrote:

You can use the dba.report() function in a special mode to get what you are interested in.

By setting bDB=TRUE, dba.report() will return a new DBA object containing different peaksets based on whether they are differentially bound and represent a gain or loss of binding. You can pass in a vector of contrasts to include differentially bound peaks from different comparisons, and a vector of analysis methods as well to compare sites from different analysis methods: eg. method=c(DBA_DESEQ2,DBA_DESEQ2_BLOCK).

The last code snippet on the help page shows an example -- I've highlighted the key line:

#Retrieve report-based DBA object
data(tamoxifen_counts)
tamoxifen <- dba.contrast(tamoxifen, categories=DBA_CONDITION, block=tamoxifen$masks$MCF7)
tamoxifen <- dba.analyze(tamoxifen,bCorPlot=FALSE)
tamoxifen.DB <- dba.report(tamoxifen,method=c(DBA_DESEQ2,DBA_DESEQ2_BLOCK),
bDB=TRUE, bGain=TRUE, bLoss=TRUE, bAll=FALSE)
dba.plotVenn(tamoxifen.DB,1:4,label1="Single Factor GAIN",label2="Single Factor LOSS",
label3="Blocking Factor GAIN",label4="Blocking Factor LOSS")

This feature should enable you to get what you need!

Cheers-

Rory