To create a wiggle track, generate two column ascii data files
for each chromosome (chrN) and keep them gzipped. The two columns are:
<chrom position (1 relative)> <real data value>
To load that data into a track:
zcat <one of those files for chrN> | \
wigAsciiToBinary -chrom=<chrN> -wibFile=<chrN>_<trackName> stdin
That creates two files: <chrN>_<trackName>.wig and <chrN>_<trackName>.wib
the .wig file are the table row entries. The .wib is the data compressed
to single bytes. Symlink the .wib files
from /gbdb/<db>/wib/<chrN>_<trackName>.wib -> to your .wib file.
This program will display one information line, your data range limits.
You want this later for your trackDb.ra entry.
Load all the .wig files into trackName on a db:
hgLoadWiggle <db> <trackName> <chr*>_<trackName>.wig
ln -s `pwd`/*.wib /gbdb/<db>/wib/
Your trackDb entry is, eg:
track <trackName>
shortLabel <short label>
longLabel <long label>
group x
priority 1106
visibility full
autoScale Off
maxHeightPixels 128:36:16
graphTypeDefault Bar
gridDefault OFF
viewLimits 0.0:0.01
color 0,128,255
altColor 255,128,0
type wig -0.0732 0.153
Your data range limits are used in the "type wig <lower> <upper>"
line.
You want overall limits for all chromosomes, this will properly
limit the data view limits available to users on the trackUI page.
The option viewLimits can specify an initial viewing window
on the data within the range specified on the "type wig" line.
The format is "viewLimits <lower>:<upper>"
Auto scaling is on by default, use the "autoScale Off" trackDb entry
to turn that off by default.
The maxHeightPixels specifies the maximum:default:minimum
allowed user requested size for the track. The "default" specification
is for the initial height of the graph. The user can select anything
between the "maximum" and "minimum" sizes. If this option is not
present in the trackDb entry, the default is 128:128:11
Default graph type is a Bar graph. You can specify a line graph (points)
for an initial graph type with the presence of "graphTypeDefault Points"
Default is off for the grid lines. (currently only y=0.0)
You can turn them on with "gridDefault ON"
trackDB option summary |
autoScale | [Use Vertical Viewing Range Setting|Auto-Scale to data view] default Use Vertical Viewing Range Setting |
maxHeightPixels | <max:default:min> default <128:128:11> |
graphTypeDefault | [Bar|Points] default Bar |
gridDefault | [ON|OFF] default OFF (draws y=0.0 line when ON) |
viewLimits | <lower:upper> default from the type wig line |
yLineMark | <value> default is 0.0 |
yLineOnOff | [ON|OFF] default OFF |
windowingFunction | [Maximum|Mean|Minimum] default Maximum |
smoothingWindow | [OFF|2-16] default OFF |
If your data is for every N bases instead of every base, then
use the -dataSpan=N option on the wigAsciiToBinary operation.
Any real valued data can be used.
Positions can be "lifted" when necessary. Note the -offset=N option
to wigAsciiToBinary.
Any type of holes in the data are allowed.
TO BE DONE: smoothing of data display, more horizontal grid lines
than just y = 0.0, dense track gray scale can be more dynamic.
FEATURE REQUESTS: Colorize or somehow indicate named
features (will be needed on the multiple alignment tracks for the
different alignment blocks), separate items can also become
individual graphs within a much larger track
PLEASE ADVISE: hiram@soe.ucsc.edu
for any feature requests, thanks.
wigAsciiToBinary - convert ascii Wiggle data to binary file
usage: wigAsciiToBinary [-offset=N] [-binsize=N] [-dataSpan=N] \
[-chrom=chrN] [-wibFile=] [-name=] \
[-verbose]
-offset=N - add N to all coordinates, default 0
-binsize=N - # of points per database row entry, default 1024
-dataSpan=N - # of bases spanned for each data point, default 1
-chrom=chrN - this data is for chrN
-wibFile=chrN - to name the .wib output file
-name= - to name the feature, default chrN or
-chrom specified
-verbose - display process while underway
- list of files to process
If the name of the input files are of the form: chrN.<....> this will
set the output file names. Otherwise use the -wibFile option.
Each ascii file is a two column file. Whitespace separator
First column of data is a chromosome location (IN NUMERICAL ORDER !).
Second column is data value for that location, any real data value allowed.