Man pages sections > man3 > Bio::Search::Tiling::MapTileUtils

# Bio::Search::Tiling::MapTileUtils - utilities for manipulating closed intervals

 Bio::Search::Tiling::MapTileUtils(3pm) User Contributed Perl Documentation Bio::Search::Tiling::MapTileUtils(3pm)

## 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
```

### containing_hsps()

``` Title   : containing_hsps
Usage   : @hsps = containing_hsps(\$interval, @hsps_to_search)
Function: Return a list of hsps whose coordinates completely contain the
given \$interval
Returns : Array of HSP objects
Args    : \$interval : [\$int1, \$int2],
array of HSP objects
```

### covering_groups()

``` Title   : covering_groups
Usage   :
Function: divide a list of **ordered,disjoint** intervals (as from a
coverage map) into a set of disjoint covering groups
Returns : array of arrayrefs, each arrayref a covering set of
intervals
Args    : array of intervals
```

### 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
```

### get_SeqFeatures

``` Title   : get_SeqFeatures
Usage   :
Function: Get the feature objects held by this feature holder.
Features which are not top-level are subfeatures of one or
more of the returned feature objects, which means that you
must traverse the subfeature arrays of each top-level
feature object in order to traverse all features associated
with this sequence.
Top-level features can be obtained by tag, specified in
the argument.
Use get_all_SeqFeatures() if you want the feature tree
flattened into one single array.
Example :
Returns : an array of Bio::SeqFeatureI implementing objects
Args    : [optional] scalar string (feature tag)
```

### feature_count

``` Title   : feature_count
Usage   : \$seq->feature_count()
Function: Return the number of SeqFeatures attached to a sequence
Returns : integer representing the number of SeqFeatures
Args    : None
```

``` Title   : add_SeqFeature
Function: Adds the given feature object (or each of an array of feature
objects to the feature array of this
sequence. The object passed is required to implement the
Bio::SeqFeatureI interface.
Returns : 1 on success
Args    : A Bio::SeqFeatureI implementing object, or an array of such objects.
```

### remove_SeqFeatures

``` Title   : remove_SeqFeatures
Usage   : \$seq->remove_SeqFeatures();
Function: Flushes all attached SeqFeatureI objects.
To remove individual feature objects, delete those from the returned