Question: How do I view the height / distribution of ChIP-seq peaks?
gravatar for James Ashmore
5.7 years ago by
James Ashmore3.0k
UK/Edinburgh/MRC Centre for Regenerative Medicine
James Ashmore3.0k wrote:

I have ChIP-seq data with peaks called by MACS in peaks.bed and summits.bed files. From here I would like to visualise the peaks on either the IGV or UCSC' Genome Browser. I understand that the bed files give me the positions and size of the peaks called by MACS, but how do I actually visualise the height / distribution of the peaks? Do I have to get the genome coverage for each base from my bam file, then filter for peak regions listed in the bed files, and then convert to a bedgraph, wig, or bigwig format?

visualisation chip-seq peaks • 7.6k views
ADD COMMENTlink modified 5.7 years ago by Fidel1.9k • written 5.7 years ago by James Ashmore3.0k
gravatar for EagleEye
5.7 years ago by
EagleEye6.7k wrote:

1) Use -w and -S parameters, which gives you two 'wig' files: One for Control and another for TREATMENT. Wiggle (wig) file gives you the distribution and coverage (height) of peaks which you can upload on UCSC or IGV . Read more about the other parameters here


macs14 -c <CONTROL_FILE> -t <TREATMENT_FILE> -n OUTPUT_NAME -f BAM -g hs -w -S

MACS peaks

2) If you want to just show the coverage over predicted peak regions by MACS,  use BEDtools to extract only the portion of 'wig' file overlapping with peak regions (BED file).

ADD COMMENTlink modified 5.7 years ago • written 5.7 years ago by EagleEye6.7k

Thanks for the great reply, could you provide an example for extracting the overlapping regions?

ADD REPLYlink written 5.7 years ago by James Ashmore3.0k
gravatar for Ian
5.7 years ago by
University of Manchester, UK
Ian5.7k wrote:

I would recommend using MACS2.  I recently added a method for installing this ''.

Using the -B flag you will get a two bedGraph files (one for treatments and one for the lambda model based on the control).  bedGraph files are much, much smaller than WIG files.  You can also use the --SPMR flag to normalise the coverage based on millions of reads used by MACS, which is very useful when comparing different experiments.

If you have a web server you can view the coverage plots on UCSC.  But you need to convert bedGraph to bigWig first.  The programs below can be downloaded from ''.

# generate chromosome lengths for genome mm9 > mm9.chrom.sizes
# clip the ends of reads that overlap the ends of chromosomes
bedClip treat.bedgraph mm9.chrom.sizes treat.clipped
# convert clipped bedGraph to bigWig
bedGraphToBigWig treat.clipped mm9.chrom.sizes

However, you can directly view bedGraph files in IGB and possibly also IGV (not checked recently), without conversion or need of a web server.



ADD COMMENTlink modified 5.7 years ago • written 5.7 years ago by Ian5.7k
gravatar for Fidel
5.7 years ago by
Fidel1.9k wrote:

Looking at thousands of peaks on a genome browser is time consuming and usually not very productive. What I normally do is visualise the peaks on a genome browser as a quality control and then use summary plots like heatmaps or meta profiles either around the called peaks or using some other feature like gene start.

I recommend you to look at the deepTools package that handles all processing and visualisation steps. Here is a video I made with a quick example.

ADD COMMENTlink written 5.7 years ago by Fidel1.9k

I agree - i did not mean every binding region should be looked at.  However, looking at a few examples at the top of the overlapping or individual binding region lists can help understand the differences between the two analyses.

ADD REPLYlink written 5.7 years ago by Ian5.7k
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: 2070 users visited in the last hour