Delila Program: sebo

sebo program

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

{   version = 1.47; (* of sebo.p 2010 Oct 28}

(* begin module describe.sebo *)
(*
name
   sebo: search for aligned book sequences in another book

synopsis
   sebo(inst: in, book: in, target: in, sebop: in,
        instout: out, list: out, output: out)

files

   inst:  Delila instructions to create a book.

   book:  The Delila book created with inst, containing fragments to search
          in target.

   target:  Target book to search, usually a whole genome.  The sequence is
      treated as a circle to guarantee correct results on circular genomes.
      The incorrect results on linear chromosomes will be quite rare because
      of the telomeres.

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

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

      2. If the first character of the second line 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.

      3. fromdo, todo: (integer) range of aligned book to use in the search.


      4. rangecontrol, frominst, toinst: (char, integer, integer):
         Range of Delila instructions output to instout.

         If range control, the first character on the line is:

         'a' then the instructions will give the ORIGINAL fragment in
         absolute coordinates.

         'r' then the instructions will give the ORIGINAL fragment in
         relative coordinates.

         For any other initial character, the instructions will give
         the range frominst to toinst.

      5. mismatches: (integer) number of mismatches allowed.

      6. alertinterval: (integer) Many genomes are large and a search may
         take a while, making the program seem to be doing nothing.  To
         observe that the program is running, set this parameter to a number
         of bases.  Sebo will write out the location it is currently
         searching every alertinterval bases.  Nonpositive values disable the
         feature.

   instout:  revised inst giving Delila instructions for finding the
      fragments specified in inst/book in the target.  Full names of pieces
      from the book (such as those assigned by Delila instructions of the
      form "name 'abinddingsite';") will default to previous full names if
      there are any.  This follows the convention of blank name on the alist
      being the previous name.

   list: display of aligned locations found.

   output: messages to the user

description

   Nowadays it is often the case that old GenBank entries become fused into a
   single genome.  It would be nice to be able to automatically convert old
   delila instructions to the new genome.

examples

********************************************************************************
                              Example 1

----- sebo.inst:

title "An OxyR site";
{Example instruction file for sebo }
{ number only the pieces, starting at 1 }
  default numbering piece;
  default numbering 1;
  default out-of-range reduce-range;
organism E.coli;
chromosome E.coli;
name "ahpC";
piece D13187; { ECOD13187 };
get from 116 -200 to 116 +200 direction +;

----- sebop:

1.21       version of sebo that this parameter file is designed for.
i          f: first base, i: inst, b: book alignment
-30 30     fromdo todo: range of aligned book to use in the search.
-200 200   frominst toinst: range of delila instructions output to instout
2          number of mismatches allowed
500000     alertinterval (bases)

----- target:

E. coli genome U00096

----- instout:

title "sebo 1.21 search with book";
{ sebop parameters:
i: use the alignedbase from the book
       -30         30 range of book alignment used for search
      -200        200 range of resulting output instructions
         2            mismatches allowed
    500000            alert interval
}
organism E.coli; chromosome E.coli;
piece U00096; { the target sequence is 4639221 bases }

{ original source probe: }
{ name ""; piece D13187; get from 1 to 316 direction +; }
{ final target instructions: }
name "ahpC"; get from 638089 -200 to same +200 direction +;

----- list:

sebo 1.21 search with book";
sebop parameters:
i: use the alignedbase from the book
       -30         30 range of book alignment used for search
      -200        200 range of resulting output instructions
         2            mismatches allowed
    500000            alert interval

Target sequence:
piece U00096; get from 1 to 4639221 direction +; { 4639221 bases }
   Searching target with probe: name "ahpC"; piece D13187; get from 1 to 316 direction +;

   ---------------------                   +++++++++++++++++++++
   322222222221111111111--------- +++++++++111111111122222222223
   0987654321098765432109876543210123456789012345678901234567890
   ttacgaaggttgtaaggtaaaacttatcgatttgataatggaaacgcattaccggaatcgg probe
                                                      X X        differences
   ttacgaaggttgtaaggtaaaacttatcgatttgataatggaaacgcattagccgaatcgg target
                                 ^ found at 638089 on the target

********************************************************************************
                              Example 2

Suppose that you have some sequences in a file and one would like to locate
them on the chromosome of an organism in the form of Delila instructions.
Here is how to create the input files for sebo:

1.  Convert the sequences into a Delila book using one of the programs
rawbk, makebk, dbbk, or mkdb (see the web page mentioned below).  This gives
you the file 'book' in directory 1.

2.  In another directory (2) build a Delila library for your organism (this
is also described on that web page).

3.  Use delila to extract both the sequence and the complement, for example:

   title "Delila instructions for Bacteriophage T4 and its complement";
   organism c.T4; chromosome c.T4; piece AF158101;
   get all piece;
   get all piece direction -;

4. Move or link the resulting book into the file 'target' in Directory 1.

5. Then set up the sebop for searching without Delila instructions (since no
delila instructions were used to make the book):

1.21       version of sebo that this parameter file is designed for.
f          f: first base, i: inst, b: book alignment
0  40      fromdo todo: range of aligned book to use in the search.
0  40      frominst toinst: range of delila instructions output to instout
10         number of mismatches allowed
500000     alertinterval (bases)

6. Finally use sebo to create the instout.  You may have to allow for some
mismatches.  These instructions should allow you to extract the sequences
from the organism database

7. Sebo reports its results by adding lots of comments to instout in the form
{}.  If you want to remove them, (so you have a clean set of instructions)
you can use the nocom program.  You can remove the extra blanks with
noblank.  In unix:

nocom < instout | sed -e 's/{}//g' | noblank > instclean

You can also remove redundant delila instructions for organism, chromosome
and piece by hand, especially if there is only one piece in the target.

********************************************************************************

documentation


see also

   Sequence extraction program: delila.p
   Simple search engine: search.p
   More details on alignment types: alist.p

   example sebop parameter file: sebop
   example inst file: sebo.inst

   Programs for conversion of raw sequences into a Delila Book:
   rawbk.p makebk.p dbbk.p mkdb.p

   Conversion of a book of sequences into a Delila Library:
   https://alum.mit.edu/www/toms/delilalibraries.html

   Remove the comments created by sebo: nocom.p
   Remove the blank lines created by sebo: noblank.p

   Shift the instructions to whereever one wants: instshift.p

author

   Thomas Dana Schneider

bugs

technical notes

*  The org/chr/pie names written to delila instructions come from the current
   target sequence.

*  Delila instructions for sites frequently come in pairs:

get from 163 -200 to 163 +200 direction +;
get from 163 +200 to 163 -200 direction -;

   So the target will be searched in both orientations.

*  constant dnamax is set to a large value to increase
   the speed of the search.

* a nice parameter to have would allow the user to shift the coordinate of
the zero into any position they want in the piece.  Fortunately this can be
done with the instshift program, so this is not high priority.  The base that
one specifies would become the zero base of the Delila instructions.

* 2001 April 17: if the fromdo/todo range given for the book is outside of
the piece in the book (in aligned searching), then the book sequence will not
be found in the target.

*)
(* end module describe.sebo *)
{This manual page was created by makman 1.45}


{created by htmlink 1.62}