By downloading this code you agree to the
Source Code Use License (PDF). |
{ version = 1.14; (* of bookshift.p 2016 Jun 20}
(* begin module describe.bookshift *)
(*
name
bookshift: shift the coordinates in a book according to Delila instructions
synopsis
bookshift(book, inst: in, bookshiftp: in, bookout: out, output: out)
files
book: A book from the delila system, aligned by the inst file
inst: The delila instructions used to create the book.
The delila instructions are of the form 'get from 56 -5 to 56 +10;'
If this file is empty, then the sequences will be
aligned either by their 5' ends or by their zero base,
depending on the 4th parameter in bookshiftp.
book: the book generated by delila using inst.
bookshiftp: 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.
The following parameter is required but only type 'i' and 'f'
have been implemented:
The method of alignment, alignmenttype. See program alist for
further details.
If the first character is
'f' (for 'first') then the sequences are always aligned by their
first base.
'i' then the sequences are aligned by the delila instructions. If
the inst file is empty, alignment is forced to the 'b' mode.
'b' (for 'internal') then the alignment is on the internal zero of
the book's sequence. This option is to be used when "default
coordinate zero" is used in the Delila instructions or the inst
file is empty.
bookout: the book, realigned according to the inst.
output: messages to the user
description
After constructing a model of a binding site one would like to know
something about the density of that or other sites relative to the
binding site. This can be done by scanning a Delila book which has
an alignment so that the site zero base becomes the zero of each
piece in the book. Then when the pieces are scanned, the
coordinates are all common. The results of the scan can be plotted
using the denplo program.
Delila books can be assigned an alignment by an instruction file,
but this preserves the original coordinate system in the book. The
scan program (and biscan or multiscan) are not designed to use an
inst file to align the results.
Instead, the sequences in a book can be realigned by using the
Delila instruction "set coordinate zero;" which then causes each
output piece to have a zero according to the 'from' of the
corresponding get instruction in the inst file. While changing the
inst file and rerunning Delila is practical in most cases, some
books built from whole genomes are extremely large, making it
difficult to realign.
The purpose of this bookshift program is to take an aligned set of
sequences (the book/inst pair) and create a new book, bookout, in
which each piece has a zero base set according to the inst.
examples
documentation
see also
shifting Delila instructions instead of a book: instshift.p
scanning programs: scan.p multiscan.p
plotting program: denplo.p
check book/inst alignment: alist.p
program used to get the basis of this one: range.p
source for better get scanning: delmod.p
author
Thomas Dana Schneider
bugs
The mechanism to read the inst file is not robust and will fail if
the word 'get' is inside comments or quotes. This can be fixed by
taking code from procedure align in delmod.p
technical notes
*)
(* end module describe.bookshift *)
{This manual page was created by makman 1.45}
{created by htmlink 1.62}