Question: Comparison of ChIPseq enrichment in specific regions
gravatar for Roman Hillje
3.4 years ago by
Roman Hillje40
Milan, Italy
Roman Hillje40 wrote:

We performed ChIPseq experiments on two treatment groups with ~8 replicates each. We did some genome-wide comparisons, called peaks, used the DiffBind R package for analysis of differentially enriched regions, etc. Finally, we have come up with some genes of interest of which we would like to compare the signal around the TSS between the two groups.

I have done this using deepTools multiBamSummary, providing a BED file with the regions of interest. However, as far as I understood, this does not normalize the data (which would makes sense since its made to report the read coverage).

Do you know a tool that can do the same, just with a normalization step, or would you do something else instead? INPUT is not available.


chip-seq deeptools • 1.1k views
ADD COMMENTlink modified 3.4 years ago by Rory Stark790 • written 3.4 years ago by Roman Hillje40
gravatar for Devon Ryan
3.4 years ago by
Devon Ryan96k
Freiburg, Germany
Devon Ryan96k wrote:

You'll want to use bamCoverage to create 1x normalized bigWig files and then either use multiBigwigSummary or computeMatrix, depending on your exact needs. Those will both then give you normalized values.

ADD COMMENTlink written 3.4 years ago by Devon Ryan96k

You are the best, thanks! :)

ADD REPLYlink written 3.4 years ago by Roman Hillje40
gravatar for Rory Stark
3.4 years ago by
Rory Stark790
University of Cambridge, Cancer Research UK - Cambridge Institute
Rory Stark790 wrote:

You can do this right in DiffBind. The counting function, dba.count(), has a peaks parameter that you can use to pass in your BED file directly. Then you can set the normalized read score using the score parameter (default is to use TMM normalization from the edgeR package, but you can also use RPKM etc.). Input is not required.

ADD COMMENTlink written 3.4 years ago by Rory Stark790

That would make things even easier. Unfortunately I wasn't able to get it running yet. As said above, I have 16 samples in total. When defining the peaks parameter in dba.count() as the BED file I have, I get an error (you will see it later). So I made it a bit simpler and loaded the peaks as a data frame and limited it to 4 regions:

    V1        V2        V3
2 chr1  67167872  67175304
3 chr1  93350930  93356987
4 chr2  31323391  31330158
5 chr4 150417259 150420073

Then, I ran:

counts=dba.count(sample, score=DBA_SCORE_TMM_READS_FULL, peaks=peaks, bParallel=FALSE)

After all the samples are processed, this is the error I see:

Error in if (is.unsorted(unique(pv$vectors[, 1]))) { :
  missing value where TRUE/FALSE needed

This is the same error I also received when using the BED file instead of a data frame. Any idea what this could be caused by? I'll keep trying in the meantime.

ADD REPLYlink modified 3.4 years ago • written 3.4 years ago by Roman Hillje40
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1763 users visited in the last hour