Delila Program: keymat

# keymat program

## Pascal source code: keymat.p (wget instructions) Instructions on compiling Alphabetic List of Delila Programs Delila Programs by Most Recent Update Please report broken links Copyright Statement for Delila Programs

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

```{   version = 5.40 ; (* of keymat.p 2010 Nov 24}

(* begin module describe.keymat *)
(*
name
keymat: keyed-matrices for helices between two books

synopsis
keymat(xbook: in, ybook: in, hlist: in, kmlist: out,
keymatp: in, output: out)

files
xbook: a book from the delila system
ybook: a book from the delila system.  If you want to look for
structures in one sequence, then use the program copy to make
a copy of xbook in ybook.
hlist: the helix listing for xbook and ybook made by program helix
kmlist: the matrices listed out.  Sequences from the x book are printed
vertically, while those from the y book are horizontal.
Depending on the parameters selected in keymatp, the helices are
printed as either numbers representing the type of base pair,
the actual base from the xbook, the actual base from the ybook,
or a symbol representing the energy of the helix.
If kmlist is wider than your printer, use the split program.
keymatp: parameters to control the kmlist
if keymatp is empty, default values are used.  Otherwise, keymatp
must contain at least 3 lines.
line 1: contains a positive integer - the minimum length helix to
record from hlist into kmlist;
or a negative real number - the maximum energy of a helix to
record from hlist to kmlist.
line 2: contains 2 positive integers greater than or equal to 1.
These are the x and y scaling factors (respectively) which
allow you to display large matrices in a small space by
scaling them down.
line 3: contains either 'n', 'x', 'y', or 'e',  which define what
symbols will be printed for the helices in the kmlist.
'n' - helices will be printed as a set of numbers:
1 = g-t bp    2 = a-t bp    3 = g-c bp
'x' - helices will contain the base from the x-book sequence.
'y' - helices will contain the base from the y-book sequence.
'e' - a key symbol for the energy of each helix will be printed.
The program will produce a table of energies and their
corresponding key symbols.
Note: the third parameter request is overridden when either
scale factor is larger than 1.
line 4: resolution of energy display.  This defines
the resolution of the matrix w/respect to
energies.  Used when line 3 is 'e'.
'n' - numbers ('0' to '9') used for the keys
'l' - numbers ('a' to 'z') used for the keys
'a' - numbers ('a' to 'z' and '0' to '9') used (not available)
output: messages to the user

description
Keymat produces a keyed-dot matrix for the two books.  The display
can use numbers and letters to indicate the energy of various helixes.
One major feature is the ability to compress large regions onto a page
using scaling factors.
Only helices of some length (or longer) or of some maximum energy (or less)
are printed.  The helices are made using program helix.
This program was based on the matrix program.

documentation
J. V. Maizel, Jr. and R. P. Lenk PNAS 78: 7665-7609 (1981)

helix.p, dotmat.p, matrix.p, split.p

author
patrick r. roche
bugs
If maximum energy is strongest helix, the program may object.
The alphanumeric range does not work.  It bombs with a 'bus error'
as it reads in the x piece.
*)
(* end module describe.keymat *)
{This manual page was created by makman 1.44}
```