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 setReturns : array of arrayrefs of the form( [$interval => [ @indices_of_collapsed_input_intervals ]], ...)Args : arrayref of intervals
decompose_interval
Title : decompose_intervalUsage : @decomposition = decompose_interval( \@overlappers )Function: Calculate the disjoint decomposition of a set ofoverlapping intervals, each annotated with a list ofcovering intervalsReturns : array of arrayrefs of the form( [[@interval] => [@indices_of_coverers]], ... )Args : arrayref of intervals (arrayrefs like [$a0, $a1], withNote : Each returned interval is associated with a list of indices of theoriginal 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 containedin 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_disjointUsage : are_disjoint( [$a0, $a1], [$b0, $b1] )Function: Determine if two intervals are disjointReturns : True if the intervals are disjoint, false if they overlapArgs : array of two intervals
min_covering_interval
Title : min_covering_intervalUsage : $interval = min_covering_interval( [$a0,$a1],[$b0,$b1] )Function: Determine the minimal covering interval for two intervalsReturns : an intervalArgs : two intervals
get_intervals_from_hsps
Title : get_intervals_from_hspsUsage : @intervals = get_intervals_from_hsps($type, @hsp_objects)Function: Return array of intervals of the form [ $start, $end ],from an array of hsp objectsReturns : an array of intervalsArgs : scalar $type, array of HSPI objects; where $type is one of 'hit','subject', 'query'
_allowable_filters
Title : _allowable_filtersUsage : _allowable_filters($Bio_Search_Hit_HitI, $type)Function: Return the HSP filters (strand, frame) allowed,based on the reported algorithmReturns : String encoding allowable filters:s = strand, f = frameEmpty string if no filters allowedundef if algorithm unrecognizedArgs : A Bio::Search::Hit::HitI object,scalar $type, one of 'hit', 'subject', 'query';default is 'query'
_set_attributes
Title : _set_attributesUsage : $tiling->_set_attributes()Function: Sets attributes for invocantthat depend on algorithm nameReturns : True on successArgs : noneNote : setting based on the configuration table%alg_lookup
containing_hsps()
Title : containing_hspsUsage : @hsps = containing_hsps($interval, @hsps_to_search)Function: Return a list of hsps whose coordinates completely contain thegiven $intervalReturns : Array of HSP objectsArgs : $interval : [$int1, $int2],array of HSP objects
covering_groups()
Title : covering_groupsUsage :Function: divide a list of **ordered,disjoint** intervals (as from acoverage map) into a set of disjoint covering groupsReturns : array of arrayrefs, each arrayref a covering set ofintervalsArgs : array of intervals
matches_MT
Title : matches_MTUsage : $hsp->matches($type, $action, $start, $end)Purpose : Get the total number of identical or conserved matchesin the query or sbjct sequence for the given HSP. Optionally canreport data within a defined interval along the seq.Returns : scalar intArgs :Comments : Relies on seq_str('match') to get the string of alignment symbolsbetween the query and sbjct lines which are used for determiningthe number of identical and conservative matches.Note : Modeled on Bio::Search::HSP::HSPI::matches
get_SeqFeatures
Title : get_SeqFeaturesUsage :Function: Get the feature objects held by this feature holder.Features which are not top-level are subfeatures of one ormore of the returned feature objects, which means that youmust traverse the subfeature arrays of each top-levelfeature object in order to traverse all features associatedwith this sequence.Top-level features can be obtained by tag, specified inthe argument.Use get_all_SeqFeatures() if you want the feature treeflattened into one single array.Example :Returns : an array of Bio::SeqFeatureI implementing objectsArgs : [optional] scalar string (feature tag)
feature_count
Title : feature_countUsage : $seq->feature_count()Function: Return the number of SeqFeatures attached to a sequenceReturns : integer representing the number of SeqFeaturesArgs : None
add_SeqFeature
Title : add_SeqFeatureUsage : $seq->add_SeqFeature($feat);$seq->add_SeqFeature(@feat);Function: Adds the given feature object (or each of an array of featureobjects to the feature array of thissequence. The object passed is required to implement theBio::SeqFeatureI interface.Returns : 1 on successArgs : A Bio::SeqFeatureI implementing object, or an array of such objects.
remove_SeqFeatures
Title : remove_SeqFeaturesUsage : $seq->remove_SeqFeatures();Function: Flushes all attached SeqFeatureI objects.To remove individual feature objects, delete those from the returnedarray and re-add the rest.Example :Returns : The array of Bio::SeqFeatureI objects removed from this seq.Args : None