NAME

Bio::Search::Tiling::MapTileUtils - utilities for manipulating closed intervals for an HSP tiling algorithm

SYNOPSIS

Not used directly.

DESCRIPTION

Not used directly.

NOTE

An "interval" in this module is defined as an arrayref [$a0, $a1], where $a0, $a1 are scalar numbers satisfying $a0 <= $a1.

AUTHOR

Mark A. Jensen - maj -at- fortinbras -dot- us

APPENDIX

interval_tiling

Title   : interval_tiling()
Usage   : @tiling = interval_tiling( \@array_of_intervals )
Function: Find minimal set of intervals covering the input set
Returns : array of arrayrefs of the form
 ( [$interval => [ @indices_of_collapsed_input_intervals ]], ...)
Args    : arrayref of intervals

decompose_interval

Title   : decompose_interval
Usage   : @decomposition = decompose_interval( \@overlappers )
Function: Calculate the disjoint decomposition of a set of
          overlapping intervals, each annotated with a list of
          covering intervals
Returns : array of arrayrefs of the form
          ( [[@interval] => [@indices_of_coverers]], ... )
Args    : arrayref of intervals (arrayrefs like [$a0, $a1], with
Note    : Each returned interval is associated with a list of indices of the
          original intervals that cover that decomposition component
          (scalar size of this list could be called the 'coverage coefficient')
Note    : Coverage: each component of the decomp is completely contained
          in the input intervals that overlap it, by construction.
Caveat  : This routine expects the members of @overlappers to overlap,
          but doesn't check this.

are_disjoint

Title   : are_disjoint
Usage   : are_disjoint( [$a0, $a1], [$b0, $b1] )
Function: Determine if two intervals are disjoint
Returns : True if the intervals are disjoint, false if they overlap
Args    : array of two intervals

min_covering_interval

Title   : min_covering_interval 
Usage   : $interval = min_covering_interval( [$a0,$a1],[$b0,$b1] )
Function: Determine the minimal covering interval for two intervals
Returns : an interval
Args    : two intervals

get_intervals_from_hsps

Title   : get_intervals_from_hsps
Usage   : @intervals = get_intervals_from_hsps($type, @hsp_objects)
Function: Return array of intervals of the form [ $start, $end ],
          from an array of hsp objects
Returns : an array of intervals
Args    : scalar $type, array of HSPI objects; where $type is one of 'hit',
          'subject', 'query'

_allowable_filters

Title   : _allowable_filters
Usage   : _allowable_filters($Bio_Search_Hit_HitI, $type)
Function: Return the HSP filters (strand, frame) allowed, 
          based on the reported algorithm
Returns : String encoding allowable filters: 
          s = strand, f = frame
          Empty string if no filters allowed
          undef if algorithm unrecognized
Args    : A Bio::Search::Hit::HitI object,
          scalar $type, one of 'hit', 'subject', 'query';
          default is 'query'

_set_attributes

Title   : _set_attributes
Usage   : $tiling->_set_attributes()
Function: Sets attributes for invocant
          that depend on algorithm name
Returns : True on success
Args    : none
Note    : setting based on the configuration table
          %alg_lookup

matches_MT

Title   : matches_MT
Usage   : $hsp->matches($type, $action, $start, $end)
Purpose   : Get the total number of identical or conserved matches 
            in the query or sbjct sequence for the given HSP. Optionally can
            report data within a defined interval along the seq.
Returns   : scalar int 
Args      : 
Comments  : Relies on seq_str('match') to get the string of alignment symbols
            between the query and sbjct lines which are used for determining
            the number of identical and conservative matches.
Note      : Modeled on Bio::Search::HSP::HSPI::matches