Delila Program: bookshift

bookshift program

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

{   version = 1.14; (* of bookshift.p 2016 Jun 20}

(* begin module describe.bookshift *)
   bookshift: shift the coordinates in a book according to Delila instructions

   bookshift(book, inst: in, bookshiftp: in, bookout: out, output: out)


   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


   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.



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


   Thomas Dana Schneider


   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}