This is a test version of Biostars. For the public version, visit https://www.biostars.org.
DiffBind - DESeq2 Consensus peakset

Hi,

Can anybody using Diffbind help me with this query -

So I am trying to create a consensus peakset from peak calls in Diffbind to analyse it downstream with DESeq2.

The samplesheet h3k4me3.csv looks like this -

SampleID   Tissue   Factor    Condition   Treatment  Replicate   bamReads   bamControl   Peaks   PeakCaller   PeakFormat  ScoreCol  LowerBetter
1          GC       h3k4me3   tumor       none       1           path       path         path    raw          raw         4         FALSE
2          NT       h3k4me3   normal      none       1           path       path         path    raw          raw         4         FALSE
3          GC       h3k4me3   tumor       none       2           path       path         path    raw          raw         4         FALSE
4          NT       h3k4me3   normal      none       2           path       path         path    raw          raw         4         FALSE
5          GC       h3k4me3   tumor       none       3           path       path         path    raw          raw         4         FALSE
6          NT       h3k4me3   normal      none       3           path       path         path    raw          raw         4         FALSE

I want to create a consensus peak of all normal samples where the peak occurs in atleast 2 of 3 of the samples. So I read in the file and ran this command:

h3k4me3_readin <- dba(sampleSheet="h3k4me3.csv")
h3k4me3_consensus <- dba.peakset(h3k4me3_readin, consensus = DBA_CONDITION, minOverlap=0.66)

This created 2 new consensus peaksets - one for normal, the other for tumor.

The problem: I want to create a final consensus peakset from the normal consensus peakset created in step 1 and peaks of sampleID 1. I am not sure how to do this and what I'm trying doesn't seem to give me the right results -

I tried -

h3k4me3_consensus.2 <- dba.peakset(h3k4me3_consensus, consensus = 1:8, minOverlap=0.66)
h3k4me3_consensus.2 <- dba.peakset(h3k4me3_consensus, consensus = c(1,8), minOverlap=0.66)

Does anybody have any suggestions on how to go about this ?

Thanks!

ALTERNATIVELY - Is there an easier way to merge / create consensus peaks ? If so, I'll happily switch!

p.s Asking this here despite having posted it on Bioconductor because I haven't received a reply there and I'm in a rush to figure this out :/

chip-seq diffbind

1 answer

When I have run DiffBind (not for some time now) I generated the consensus binding regions before running DiffBind. My preferred method was to merge overlapping regions (i.e retain the largest 5' to 3' footprint) and retain those regions with no overlaps. That way overlapping regions between samples are interrogated, as well as those that are only present in one sample. This is only really an option if the regions are relatively small and not too numerous, otherwise you'll get a few very large regions; but then H3K4 marks are quite punctate. Maybe worth a try...

Merging of regions can be simply done with GALAXY.

Log in to answer this question.