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

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

πŸ’– NAME πŸ’–

Bio::SeqFeature::Tools::IDHandler β€” bestie, it literally maps $seq_feature->primary_tag. That's the whole job. Iconic. This page is from the User Contributed Perl Documentation section of the manual, and we're gonna walk through it together, no cap.


✨ SYNOPSIS ✨

  use Bio::SeqIO;
  use Bio::SeqFeature::Tools::IDHandler;

Two little use lines and you're in. Slay.


πŸ¦‹ DESCRIPTION πŸ¦‹

So basically it's a class to map $seq_feature->primary_tag. That's it, that's the vibe. Lowkey the most honest description section ever written. πŸ’…


🌸 FEEDBACK 🌸

Mailing Lists

Okay so user feedback is an integral part of how this module and all the other Bioperl modules grow and evolve. So if you have comments or suggestions, pls pls pls send them to the Bioperl mailing lists β€” your participation is so appreciated, fr fr. 🫢

  bioperl-l@bioperl.org                  - General discussion
  http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

Support

K bestie, listen: if you've got a usage question or a support issue, send it to the mailing list:

  bioperl-l@bioperl.org

And not to the module maintainer directly, okay? Because there are so many experienced and responsive experts on that list who will look at your problem and address it fast. Also β€” and this is the important part β€” pls include a thorough description of the problem, with code and data examples if at all possible. Give them the whole picture so they can actually help. πŸ™

Reporting Bugs

Report bugs to the Bioperl bug tracking system so they can keep track of the bugs and their resolutions β€” that's the whole point, it keeps things organized. Bug reports can be submitted via the web:

  https://github.com/bioperl/bioperl-live/issues

πŸ‘‘ AUTHOR - Chris Mungall πŸ‘‘

Email: cjm@fruitfly.org

Shoutout to Chris. Legend behaviour.


πŸŽ€ APPENDIX πŸŽ€

The rest of this documentation details each of the object methods, one by one. Heads up: internal methods are usually preceded with a _ β€” so if you see an underscore, that's your cue that it's internal, iykyk.

πŸ“ new

  Title   : new
  Usage   : $unflattener = Bio::SeqFeature::Tools::IDHandler->new();
  Function: constructor
  Example :
  Returns : a new Bio::SeqFeature::Tools::IDHandler
  Args    : see below

It's the constructor. It gives you a brand new Bio::SeqFeature::Tools::IDHandler. Args? See below, bestie.

🧚 set_ParentIDs_from_hierarchy()

  Title   : set_ParentIDs_from_hierarchy()
  Usage   : $idhandler->set_ParentIDs_from_hierarchy($fholder)
  Function: populates tags Parent and ID via holder hierarchy
  Example :
  Returns :
  Args    : Bio::featureHolderI (either a SeqFeature or a Seq)

This one is mainly for GFF3 export.

Here's the tea: GFF3 uses the tags ID and Parent to represent the feature containment hierarchy. It does NOT use the feature holder tree. Periodt.

So this method sets Parent (and ID for any parents that aren't set yet) based on the feature holder / containement hierarchy, and gets everything ready for GFF3 output. ✨

πŸ’œ create_hierarchy_from_ParentIDs

  Title   : create_hierarchy_from_ParentIDs
  Usage   : $idhandler->set_ParentIDs_from_hierarchy($fholder)
  Function: inverse of set_ParentIDs_from_hierarchy
  Example :
  Returns : list of top SeqFeatures
  Args    :

It's the inverse of set_ParentIDs_from_hierarchy β€” it hands you back a list of top SeqFeatures. (Yes, the Usage line really does say set_ParentIDs_from_hierarchy. That's what the page says, so that's what I'm telling you. πŸ™ˆ)

🌈 generate_unique_persistent_id

  Title   : generate_unique_persistent_id
  Usage   :
  Function: generates a unique and persistent identifier for this
  Example :
  Returns : value of primary_id (a scalar)
  Args    :

It will generate an ID, and it sets primary_id() (see above πŸ‘†).

The ID is a string generated from:

  seq_id
  primary_tag
  start
  end
⚠️ Okay, important part, don't skip this: there are three underlying assumptions. One β€” that all the above accessors are set. Two β€” that seq_id is a persistent and unique identifier for the sequence containing this feature. And three β€” that (seq_id, primary_tag, start, end) is a "unique constraint" over features.

And the ID is persistent β€” but only so long as none of these values change. If they do change? It's considered a separate entity. New feature, new identity, moving on. πŸ’€


That's the whole page, bestie! This doc came to you from perl v5.32.1, dated 2021-08-15, and it's the Bio::SeqFeature::Tools::IDHandler(3pm) manpage. Go map those primary_tags, you've got this. πŸ¦‹βœ¨πŸ’–

πŸ“¦ where this page comes from