Bio::S...leUtils(3pm)

πŸ“¦
version 1.7.8 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– NAME πŸ’–

okay so welcome to Bio::S...leUtils(3pm), bestie β€” full name on the tin is Bio::Search::Tiling::MapTileUtils, and it's a little utility drawer full of helpers for manipulating closed intervals for an HSP tiling algorithm. that's the whole vibe. 🧚


✨ SYNOPSIS ✨

Not used directly.

πŸ¦‹ DESCRIPTION πŸ¦‹

Not used directly.

like, genuinely β€” you don't call this one yourself. it's the backstage crew. πŸ’…


🌸 NOTE 🌸

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

so like, ordered. smallest first. don't come in here with your chaos intervals. 😌


πŸ‘‘ AUTHOR πŸ‘‘

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


πŸŽ€ APPENDIX πŸŽ€

all the functions, one by one, no skipping, periodt.

πŸ“ 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.
okay bestie real talk: that Args line literally just trails off at "with" in the original and i am NOT about to invent the rest, no cap 😭 and the Caveat is a real one β€” it expects overlap and never verifies it, so if you hand it non-overlapping stuff that's on you. πŸ™ˆ

πŸ¦‹ 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: (empty in the original, bestie β€” nothing to copy πŸ’€)
  • 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: (nothing listed πŸ’…)
  • 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: (empty πŸ’€)
  • 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: (empty)
  • 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

πŸ’œ add_SeqFeature

  • Title: add_SeqFeature
  • Usage:
$seq->add_SeqFeature($feat);
$seq->add_SeqFeature(@feat);
  • 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 array and re-add the rest.

  • Example: (empty)
  • Returns: The array of Bio::SeqFeatureI objects removed from this seq.
  • Args: None

and that's the whole page, bestie πŸ’– this one shipped as User Contributed Perl Documentation for Bio::S...leUtils(3pm), built against perl v5.32.1 and dated 2021-08-15. slay, go tile some intervals, i'm obsessed πŸŽ€βœ¨

πŸ“¦ where this page comes from