Hello
I have been using DiffBind to perform differential enrichment analysis on my ChIP-seq Cut and Run dataset where I have 2 sample groups, Control and YY1_overexpression, with 4 replicates in each sample group. (Peak Calling was done through SEACR)
8 Samples, 581778 sites in matrix:
After running dbObj <- dba.analyze(dbObj, method=DBA_ALL_METHODS) , My MA plot shows a straight line Also analysis reports no significantly differential enriched peaks at FDR < 0.05. , But if I run dba.plotMA(dbObj,bNormalized=FALSE) i see the plot
Any comment or suggestion would be highly appreciated, either about my approach with DiffBind or recommending other tools. Rory Stark
Thanks in advance!
DiffBind uses DESeq2 for differential analysis and its method to moderate logFCs. When noise is high and there is little evidence for differential events then it shrinks the logFCs towards zero. That is what you see here. Why that is you need to find out, for example run PCA to see how data cluster. Maybe batch effects or other sorts of unwanted noise.
Here are my PCA results plotted through Diffbind and Correlation heat map by deeptools shows some clustering in the samples ATpoint
No obvious separation by group and a lot of outliers. It's perfectly expected that the DESeq2 MAplot like like that.
Regarding Diffbind, How does diffbind calculate common peaks with the samples. I'm observing that certain peaks identified as common using bedtools intersect are not appearing in the output report file generated after DiffBind analysis
Command used to write the file : res_deseq <- dba.report(dbObj_analyze,th=1, method=DBA_EDGER,bCalled=TRUE)
I assume you are checking for called peaks that overlap consensus peaks (and not the exact peaks)?
Overlapping peaks are first merged to form wider intervals that cove the whole area. By default, peaks that overlap in any two samples are kept. When counting reads, by default the point in each peak the the greatest enrichment across all samples the peak is called in is calculated, and the peak re-centered around that point and set to a pre-defined width (default 401bp). If you had a lot of peak merging, forming very wide peaks, this last re-cetering step can result is a lot of the called peak areas being trimmed. You can prevent this from happening by setting
summits=FALSE