Delila Program: live

# live program

## By downloading this code you agree to the Source Code Use License (PDF). Pascal source code: live.p (wget instructions) Instructions on compiling MacOS binary: live Alphabetic List of Delila Programs Delila Programs by Most Recent Update Please report broken links delilabundle.zip = All Programs and MacOS Binaries Copyright Statement for Delila Programs

### Documentation for the live program is below, with links to related programs in the "see also" section.

```{   version = 1.60; (* of live.p 2014 Jun 23}

(* begin module describe.live *)
(*
name
live: LIster waVEs

synopsis
live(book: in, livep: in, livemarks: out, output: out)

files

book:  A book from the delila system.

livep:  parameters to control the program.  The file must contain the
following parameters, one per line:

1. The version number of the program.  This allows the user to be
warned if an old parameter file is used.

2. zerobase: character and one integer OR one integer.  The coordinate
to set the phase of the wave by.  This base will be red.

If the first character is 'f' then the first base is the zerobase.

If the first character is 'l' then the last base is the zerobase.

When the first character is 'f' or 'l', it is followed by the
zerobase as an offset.  So f 0 is the first base, f 1 is the second
base, etc.

If the first character is not 'f' or 'l' then an integer is given
that is the external coordinate of the zero base.
(NB: prior to 2014 Jun 19 this was the "phase offset".)

When a set of coordinates are used (6th parameter and beyond), 'f'
and 'l' apply to each coordinate pair.  As a result, the phases of
the colors WILL NOT MATCH.  If neither 'f' nor 'l' are used, then
there is only one zero base for all pairs, so THE PHASES WILL
MATCH.

3. wavelength: one real.  The wave length in bases.  Usually there are
10.6 base pairs per turn of DNA, but using 10.0 allows checking the
program.  It can have other useful value, for example, one can set
it to 3 to see translation frames.

4. wavevertical (real):  how much to move the colored bar up or down
(in character heights = bits).  This is preadjusted (by a constant
(shiftdown) to fit just between the lister map numbering and the
sequence.

5. waveheight (real):  the height of the colored bar (in character
heights = bits).  0.25 is the normal value that fits the line
between the lister map numbering and the sequence.

6. and all following lines: firstbase lastbase: two integers per line.
The first and last bases to create marks for.  There may be an
indefinite number of lines.  You can also use the program with
different parameters and concatenate the livemarks files together.
WARNING:  Coordinate systems can jump in the Delila system, so this
method will fail across jumps.  You can set the ranges by hand.
This method can be used to mark only portions of the sequence.
The program bookends can be used to find the end numbers of book
pieces.

IF PARAMETERs 6 ARE MISSING then the book will be used to obtain the
coordinate system.  This method should always work, but it gives
live marks for the entire book.

livemarks:  marks for the lister program

output: messages to the user

description
The program makes waves for lister by using the marks definition.  The
waves are colored strips on the number line (or wherever the lister line
starts).  The strip shows the phase of the DNA, allowing the orientation
of binding sites to be compared.

Since lister marks must be in order of the coordinate system, integrating
the live marks with other marks would require a lot of hand editing.  The
mergemarks program allows marks to be smoothly joined together.

examples

1.34      version of live that this parameter file is designed for.
f 0       zerobase: to set the phase of the wave by.  This base will be red.
10.6      wavelength: The wave length in bases.  Usually 10.6.
0         wavevertical: amount to shift colored wave vertically
0.25      waveheight: height of colored wave

Optionally, there can be:

-150  92  firstbase lastbase: range of sequence to mark
... (any number of repeats of the last line above may be made)

documentation

See below.

example parameter file: livep
the program that uses the livemarks: lister.p
another program that could use live marks:  makelogo.p
a program to merge livemarks with others:  mergemarks.p
a program to obtain the range of a book:  bookends.p

Documentation on how the Live program produces the color wave:
http://www.ccrnp.ncifcrf.gov/~toms/livecolors/

Publication that uses this technique:
http://schneider.ncifcrf.gov/papers/fur/
Discovery of Fur binding site clusters in
Escherichia coli by information theory models
NAR 35: 6762 (2007),
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2189734/figure/F5/
Figure 5

author
Thomas Dana Schneider

bugs

When one gives a pair of coordinates, live creates marks running between
the pair.  This will *fail* when there is a coordinate jump.  Also, it
means that if the coordinate system is decreasing, the wave colors will be
*reversed*.  When the book is used for coordinates, the wave is determined
on internal (1 to n) coordinates and so the colors will never be
reversed.  It is not clear yet whether the latter solution is a problem or
not.  (Is it a bug or a feature?  :-)  Are there times when one would like
the colors to reverse when the piece reverses?

The code could be imbedded into lister.

technical notes

The definition of the marks is in makelogo.p