By downloading this code you agree to the
Source Code Use License (PDF). |
{version = 1.22; (* of rav.p 1998 January 27}
(* begin module describe.rav *)
(*
name
rav: running average information curve
synopsis
rav(symvec: in, ravp: in, xyin: out, marks: out, colorkey: out output: out)
files
symvec: output of rsdata or alpro, contains an information curve.
ravp: parameters to control the program. The file must contain the
following parameters, one per line:
parameterversion: The version number of the program. This allows the
user to be warned if an old parameter file is used.
minwindowsize: (integer, bases) minimum size of windows to average.
maxwindowsize: (integer, bases) maximum size of windows to average.
stepwindowsize: (integer, bases) how to increment window size.
colorX, colorY: (real, cm) x and y coordinates of lower left corner of
color key for color to bit conversion.
colorWidth, colorHeight: (real, cm) x and y size of color key (respectively)
colorThick: (real, cm) thickness of lines in color key strip
colorTransform: (integer) Defines how the PostScript colors
are to be transformed. PostScript colors run from red through
red, so the highest values have the same color as the lowest ones.
This parameter determines how to transform the color scale.
0: no transform
1: transform as given by
hue := colorAtransform*hue + colorBtransform
This gives the user full control as a linear transformation.
2: cutoff:
If the hue is less than colorAtransform/2
or
larger than colorBtransform/3
then hue is set to 0.3;
otherwise it is zero 0 (red). This gives a red line in the
region between the two parameters.
3. Transform that gives yellow up to red:
hue := 0.84*hue + 0.16
4: Roy G. Biv transform: the spectrum.
(red, orange, yellow, green, blue, indigo, violet)
where red is highest. The transform is
hue := -magic*hue + magic;
with
magic = 0.85
colorAtransform: multiplicative parameter for colorTransform = 2
colorBtransform: additive parameter for colorTransform = 2
xyin: output of this program for plotting by xyplo.
data columns:
1: position of window center
2: window size
3: average of information in window (bits)
4: standard deviation of information (bits)
5: color hue (0 to 1)
6: color saturation (0 to 1)
7: color brightness (0 to 1)
8: xsize
9: ysize
marks: output of this program for inclusion with a sequence logo
created by makelogo. This is the best way to display the data!
colorkey: a PostScript file that creates a key showing the relationship
between bits and colors. When one runs xyin through the xyplo program
the color shows the degree of (averaged) conservation; this key can be
inserted into the xyout graphic by including it in your xyplom file.
output: messages to the user
description
The program rav creates a Running AVerage information curve starting from
the symvec format produced by alpro or rseq. This is an improvement over
the winfo program because winfo only used the rsdata format from rseq and
therefore cannot handle sequences that come from alpro (which are in
symvec format).
In addition, because results are reported in the marks file, this program
supercedes winfo.
Windows coordinates are reported at the center of the window.
The marks file is set up so that the the average value is shown by a
rectangle, ranging one standard deviation above and below the mean.
Note that for odd window sizes the boxes are placed surrounding a base in
the sequence logo, while odd ones are offset between bases. You can check
that the program is working correctly by trying window sizes of 1 (which
should match the heights of the logo and have boxes that match the error
bars); size 2 (which should be between bases and start to show averaging)
etc.
examples
ravp:
1.20 version of rav that this parameter file is designed for.
1 minimum window size to average.
50 maximum window size to average.
5 increment of window size.
18.3 10 colorX, colorY (cm): coordinates of lower left corner of key
0.5 8 colorWidth, colorHeight (cm): size of key
0.2 colorThick (cm): thickness of lines in color key strip
4 colorTransform 0:none,1:control,2:cutoff,3:.84hue+.16,4:-.85hue+.85
0.84 colorAtransform multiplicative color transform parameter
0.16 colorBtransform additive color transform parameter
xyplop:
2 6 zerox zeroy graph coordinate center
zx 0 3000 zx min max (character, real, real) if zx='x' then set xaxis
zy 0 100 zy min max (character, real, real) if zy='y' then set yaxis
10 10 1 1 xinterval yinterval xsubintervals ysubintervals: axis intervals
6 4 xwidth ywidth width of numbers in characters
0 0 xdecimal ydecimal number of decimal places
16 16 xsize ysize size of axes in cm
position
window size
a zc 'c' crosshairs, axXyYnN
n 2 zxl base if zxl='l' then make x axis log to the given base
n 2 zyl base if zyl='l' then make y axis log to the given base
*********************************************************************
1 2 xcolumn ycolumn columns of xyin that determine plot location
0 symbol column the xyin column to read symbols from
8 9 xscolumn yscolumn columns of xyin that determine the symbol size
5 6 7 hue saturation brightness columns for color manipulation
*********************************************************************
R symbol-to-plot c(circle)bd(dotted box)x+Ifgpr(rectangle)
0 symbol-flag character in xyin that indicates that this symbol
-1.0 symbol sizex side in cm on the x axis of the symbol.
-1.0 symbol sizey as for the x axis, get size from yscolumn
n no connection (example for connection is c- 0.125 for dashed 0.125 cm)
n 0.125 linetype size linetype l.-in and size of dashes or dots
*********************************************************************
.
**** version 8.50 of xyplop: uses cm for distances
documentation
see also
winfo.p, rseq.p, xyplo.p, makelogo.p, struco.p,
ravp, ravxyplop
author
Thomas Dana Schneider
bugs
technical notes
Constant maxwin is the largest window size allowed.
When the sequence logo runs over multiple lines, the marks from rav have
to be triggered AFTER the letter. If this is not done, the box appears on
the previous line, and is missing from the first stack of the next line.
The trick is to write the box backwards - right to left. The box is
therefore triggered after the stack has been written and is always
associated with the stack. This has the consequence that the box is
written on top of the stack, but it is completely clean.
dedicated to
Pete Rogan
*)
(* end module describe.rav *)
{This manual page was created by makman 1.45}
{created by htmlink 1.62}