Delila Program: multibest

multibest program

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

{   version = 1.37; (* of multibest.p 2022 Dec 19}

(* begin module describe.multibest *)
(*
name
   multibest: find features with the highest Ri in a given sequence range

synopsis
   multibest(scanfeatures: in, multibestp: in,
             bestfeatures: out, lowerfeatures: out, output: out)

files
   scanfeatures:  A list of locations of binding sites and other features.

   bestfeatures:  A list of the features from the original file which have the
      highest Ri in a given range

   multibestp:  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.

      window:  Features are discarded if the coordinate of another
         feature with a higher Ri is less than or equal to the window
         distance away from the one being looked at.  Note that if
         window is 100, the region accepted will be 2*100+1 = 201
         bases.

      asterisks: If character is 'A' then the filtered out features are shown
         as asterisks in a lowerfeatures file.

   lowerfeatures:  A list of the features from the original file which have the
      lower Ri values in a given range. These are the features which have been
      'discarded' by the program.

   output: messages to the user

description

   Scan and multiscan often produce a scanfeatures file with many
   sites picked up over a small range. This makes the map very
   difficult to look at, so this program attempts to filter the
   features and find the one with the highest Ri over a small range
   and only keep that one.

   This program, multibest, is designed for use with the output of the
   multiscan program.  multiscan creates 'groups' of features that
   must be handled together by multibest.  This is in contrast to the
   original scan program that works with single features which can be
   filtered using the localbest program.

   The user should be aware that this program discards valuable
   information in the form of possible binding sites.  For this
   reason, it is a good idea to not set the window at more than 1
   helix turn (10.6 bp) for DNA sites.  Sites at this distance apart
   are probably significant and should be kept in the scanfeatures
   file.

examples

documentation

see also
   program that scans for single part features: scan.p
   program to use with scan.p: localbest.p
   scanp and localbest are used together.  multibest may not work
   with  scan.p output features.

   program to use with multibest; creates multi-part features: multiscan.p

   Program that uses any features file to create a postscript
   display: lister.p

author
   Elaine Bucheimer, Tom Schneider

bugs

technical notes

   Historical note:  multibest.p was derived from localbest.p to work
   with multipart features.

   The code uses a trick that makes it extremely simple at the cost of
   a small amount of memory.

   The trick is to first pre-mark all groups to be 'kept'.  Then pass
   through all the groups (variable g) and record whether to remove a
   particular group based on a pass through all groups again (varible
   h) to mark the ones to remove.  Then the showthegroups procedure
   (which replaces the original showgroups) merely writes or does not
   write the group.  This method costs ONE boolean of memory for each
   group.  Memory is cheap!!!

   It is a little slower because groups that have been removed are
   checked again.  But this should be fixable!!  Just add an if
   statement to have h skip work on the group g that is already to be
   removed!

   Also, once a g group has been marked false, the h loop can be
   terminated!

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


{created by htmlink 1.62}