bigWig Track Format
| The bigWig format is for display of dense, continuous data that will be displayed in the Genome Browser as a graph. BigWig files are created initially from wiggle (wig) type files, using the program `wigToBigWig`. The resulting bigWig files are in an indexed binary format. The main advantage of the bigWig files is that only the portions of the files needed to display a particular region are transferred to UCSC, so for large data sets bigWig is considerably faster than regular wiggle files. The bigWig file remains on your web accessible server (http, https, or ftp), not on the UCSC server. Only the portion that is needed for the chromosomal position you are currently viewing is locally cached as a "sparse file". Wiggle data must be continuous and the elements must be equally sized. If your data is sparse or contains elements of varying size, use the bedGraph format instead of the wiggle format. If you have a very large bedGraph data set, you can convert it to the bigWig format using the `bedGraphToBigWig` program. For details, see Example Three below. See this page for help in selecting a graphing track data format that is most approriate for the type of data you have. Please note that the `wigToBigWig` utility uses a lot of memory; somewhere on the order of 1.5 times more memory than the uncompressed wiggle input file. We recommend that as you run the program you monitor your memory usage by using the `top` command. The `bedGraphToBigWig` utility uses somewhere on the order of 1/4 times more RAM than the uncompressed bedGraph input file. To create a bigWig track from a wiggle file, follow these steps: Create a wig format file following the directions here. Note that when converting a wig file to a bigWig file, you are limited to one track of data in your input file; you must create a separate wig file for each data track. Note that this is the file that is referred to as `input.wig` in step 5 below. Remove any existing 'track' or 'browser' lines from your wig file so that it contains only data. Download the `wigToBigWig` program from the directory of binary utilities. Use the `fetchChromSizes` script from the same directory to create the chrom.sizes file for the UCSC database you are working with (e.g. hg19). Note that this is the file that is referred to as `chrom.sizes` in step 5 below. Create the bigWig file from your wig file using the `wigToBigWig` utility like so: `wigToBigWig input.wig chrom.sizes myBigWig.bw` (Note that the wigToBigWig program also accepts a gzipped wig input file.) Move the newly created bigWig file (`myBigWig.bw`) to a http, https, or ftp location. Construct a custom track using a single track line. Note that any of the track attributes listed on the wiggle track format page are applicable to tracks of type bigWig. The most basic version of the "track" line will look something like this: `track type=bigWig name="My Big Wig" description="A Graph of Data from My Lab" bigDataUrl=http://myorg.edu/mylab/myBigWig.bw` Paste this custom track line into the text box in the custom track management page. ### Example One In this example, you will use an existing bigWig file to create a bigWig custom track. A bigWig file that spans chromosome 21 on the hg19 assembly has been placed on our http server. You can create a custom track using this bigWig file by constructing a "track" line that references this file like so: `track type=bigWig name="Example One" description="A bigWig file" bigDataUrl=http://genome.ucsc.edu/goldenPath/help/examples/bigWigExample.bw` Include the following "browser" line to ensure that the custom track opens at the correct position: `browser position chr21:33,031,597-33,041,570` Paste the "browser" line and "track" line into the custom track management page for the human assembly hg19 (Feb. 2009), then press the submit button. On the following page, press the chr21 link in the custom track listing to view the bigWig track in the Genome Browser. ### Example Two In this example, you will create your own bigWig file from an existing wiggle file. Save this wiggle file to your machine (this satisfies steps 1 and 2 above). Save this text file to your machine. It contains the chrom.sizes for the human (hg19) assembly (this satisfies step 4 above). Download the `wigToBigWig` utility (see step 3). Run the utility to create the bigWig output file (see step 5): `wigToBigWig wigVarStepExample.gz hg19.chrom.sizes myBigWig.bw` Place the bigWig file you just created (`myBigWig.bw`) on a web-accessible server (see step 6). Construct a "track" line that points to your bigWig file (see step 7). Create the custom track on the human assembly hg19 (Feb. 2009), and view it in the genome browser (see step 8). Note that the original wiggle file spans only chromsome 21. ### Example Three To create a bigWig track from a bedGraph file, follow these steps: Create a bedGraph format file following the directions here. Note that when converting a bedGraph file to a bigWig file, you are limited to one track of data in your input file; you must create a separate bedGraph file for each data track. Note that this is the file that is referred to as `in.bedGraph` in step 5 below. Remove any existing 'track' or 'browser' lines from your bedGraph file so that it contains only data. Download the `bedGraphToBigWig` program from the directory of binary utilities. Use the `fetchChromSizes` script from the same directory to create the chrom.sizes file for the UCSC database you are working with (e.g. hg19). Note that this is the file that is referred to as `chrom.sizes` in step 5 below. Create the bigWig file from your bedGraph file using the `bedGraphToBigWig` utility like so: `bedGraphToBigWig in.bedGraph chrom.sizes myBigWig.bw` (Note that the bedGraphToBigWig program DOES NOT accept a gzipped bedGraph input file.) Move the newly created bigWig file (`myBigWig.bw`) to a http, https, or ftp location. Construct a custom track using a single track line. Note that any of the track attributes listed on the wiggle track format page are applicable to tracks of type bigWig. The most basic version of the "track" line will look something like this: `track type=bigWig name="My Big Wig (from bedGraph)" description="A Graph of bedGraph Data from My Lab" bigDataUrl=http://myorg.edu/mylab/myBigWig.bw` Paste this custom track line into the text box in the custom track management page. ### Sharing Your Data with Others If you would like to share your bigWig data track with a colleague, learn how to create a URL by looking at Example 11 on this page. ### Extracting Data from the bigWig Format Because the bigWig files are indexed binary files, they can be difficult to extract data from. Consequently, we have developed the following two programs, both of which are available from the directory of binary utilities. `bigWigToBedGraph` — this program converts a bigWig file to ASCII bedGraph format. `bigWigToWig` — this program converts a bigWig file to wig format. `bigWigSummary` — this program extracts summary information from a bigWig file. `bigWigInfo` — this program prints out information about a bigWig file. As with all UCSC Genome Browser programs, simply type the program name at the command line with no parameters to see the usage statement. |