Wiggle Tracks

Wiggles files are a way to visualize read data mapped to the genome. This document is a walk through onto how to make wiggle files. To visualize wiggles you need to use Gbrowse which can either be installed on a local web server, or can use publicly available UCSC Genome Browser. With the UCSC Genome Browser for viewing large wiggle files, it works better if you put the wiggle files on a publicly available web server and provide the URL instead of trying to upload the file.

Work Flow

  1. Create pileups from bowtie SAM files

  2. Make pileups

    1. If pileups created using FUSION ID as coordinate system: Run perl pileup2wig_with_fusion.pl > .wig

    2. If pileups created normally: Run perl pileup2wig.pl > .wig

  3. View tracks on UCSC Genome Browser: http://genome.ucsc.edu/

    • Click "Genomes" on top bar
    • Select Genome of interest
    • Click "add custom trakcs"
    • Upload or paste url in box to your custom wiggle file and Click "Submit"
  4. If mean values are desired continue with the following parts:

    1. Place wiggle files into the "data" folder with the naming format:

      <Name>-ln1.wig <Name>-ln2.wig <Name>-ln3.wig etc. 
    2. Run combine_wigs.sh. This will combine all of the wiggles files into one file and flag them by and lane

    3. Edit wiggle.sas specifically lines 5, 32, 38, 42, 46 to fit specific needs

    4. Run wiggle.sas

  5. Take sas output and run it though make_means_wiggle.sh Note: first edit this file for specific needs

  6. Finally visualize using UCSC Genome Browser

Wiggle Tracks from this project


  1. dna.wig
  2. dna_means.wig
  3. dna_both_means.wig


  1. rna.wig
  2. rna_means.wig
  3. rna_both_means.wig
  4. all_hybrid.consensus.uniq.wig

R wiggle tracks

Wiggle tracks produced by viewers such as UCSC are not always the highest resolution images. The R-project is a capable alternative for making wiggle tracks.

A series of functions have been created wiggleplot_function.R. These functions can be used to create a both wiggle plots and add features such as gene models to the graphs. Here is a script that has some example usage wiggleplots_example.R.