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

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

🌸 Bio::S...tation(3pm) β€” Bio::SeqFeature::Computation πŸ’–

okay bestie, sit down, hydrate, and let me tell you about this Perl module from the User Contributed Perl Documentation collection. it's called Bio::SeqFeature::Computation and it's literally the computation-flavoured glow-up of a seqfeature. iykyk πŸ’…


✨ NAME ✨

Bio::SeqFeature::Computation β€” Computation SeqFeature. no cap, that's the whole vibe of the name. πŸ¦‹


✨ SYNOPSIS ✨

here's how you summon one, bestie. look at all these options, she's got range πŸ‘‘

$feat = Bio::SeqFeature::Computation->new(
    -start => 10,
    -end => 100,
    -strand => -1,
    -primary => 'repeat',
    -program_name => 'GeneMark',
    -program_date => '12-5-2000',
    -program_version => 'x.y',
    -database_name => 'Arabidopsis',
    -database_date => '12-dec-2000',
    -computation_id => 2231,
    -score => { no_score => 334 }
);

✨ DESCRIPTION ✨

so Bio::SeqFeature::Computation extends the Generic seqfeature object 🌈 β€” it takes everything the Generic one had and adds a whole set of computation-related fields, plus a way more flexible way of storing more types of score and subseqfeatures. and yes, she's compatible with the Generic SeqFeature object, we love a class that plays nice 🫢

the new way of storing score values is basically the tag structure from the Generic object, but make it fashion. and for storing sets of subseqfeatures? the array that used to hold the subseqfeatures is now a hash that contains arrays of seqfeatures. iconic behaviour honestly.

both the score and subSeqfeature methods can be called in exactly the same way as before β€” the values just get stored as a 'default' score or subseqfeature. so nothing breaks, she just got an upgrade. πŸ’–


✨ FEEDBACK ✨

πŸ’Œ Mailing Lists

user feedback is an integral part of the evolution of this and other Bioperl modules, fr fr. send your comments and suggestions preferably to one of the Bioperl mailing lists. your participation is much appreciated, and we mean that πŸ₯Ή

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

πŸ«‚ Support

please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. there are so many experienced and responsive experts who will be able look at the problem and quickly address it β€” let the group chat cook πŸ”₯. and please include a thorough description of the problem with code and data examples if at all possible. receipts help, bestie πŸ™

πŸ› Reporting Bugs

report bugs to the Bioperl bug tracking system so we can keep track of the bugs and their resolution. bug reports can be submitted via the web:

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

✨ AUTHOR - Ewan Birney, Mark Fiers ✨

the legends themselves πŸ‘‘:

  • Ewan Birney <birney@sanger.ac.uk>
  • Mark Fiers <m.w.e.j.fiers@plant.wag-ur.nl>

✨ DEVELOPERS ✨

this class has been written with an eye out of inheritance β€” very main character of her. the fields in the actual object hash are:

_gsf_sub_hash  = reference to a hash containing sets of sub arrays
_gsf_score_hash= reference to a hash for the score values

✨ APPENDIX ✨

the rest of the documentation details each of the object methods. internal methods are usually preceded with a _ β€” that underscore is the "don't talk to me, i'm internal" signal, respect it πŸš«πŸ’…

πŸ“ has_score

  • Title: has_score
  • Usage: $value = $self->has_score('some_score')
  • Function: tests whether a feature contains a score
  • Returns: TRUE if the SeqFeature has the score, and FALSE otherwise.
  • Args: the name of a score

πŸ“ add_score_value

  • Title: add_score_value
  • Usage: $self->add_score_value('P_value',224);
  • Returns: TRUE on success
  • Args: score (string) and value (any scalar)

πŸ“ score

  • Title: score
  • Usage: $value = $comp_obj->score() and $comp_obj->score($value)
  • Function: returns the 'default' score or sets the 'default' score. this method exists for compatibility options. it would equal ($comp_obj->each_score_value('default'))[0];
  • Returns: a value
  • Args: (optional) a new value for the 'default' score

πŸ“ each_score_value

  • Title: each_score_value
  • Usage: @values = $gsf->each_score_value('note');
  • Function: returns a list of all the values stored under a particular score.
  • Returns: a list of scalars
  • Args: the name of the score

πŸ“ all_scores

  • Title: all_scores
  • Usage: @scores = $feat->all_scores()
  • Function: get a list of all the scores in a feature
  • Returns: an array of score names
  • Args: none

πŸ“ remove_score

  • Title: remove_score
  • Usage: $feat->remove_score('some_score')
  • Function: removes a score from this feature
  • Returns: nothing
  • Args: score (string)

πŸ“ computation_id

  • Title: computation_id
  • Usage: $computation_id = $feat->computation_id() and $feat->computation_id($computation_id)
  • Function: get/set on program name information
  • Returns: string
  • Args: none if get, the new value if set

πŸ“ program_name

  • Title: program_name
  • Usage: $program_name = $feat->program_name() and $feat->program_name($program_name)
  • Function: get/set on program name information
  • Returns: string
  • Args: none if get, the new value if set

πŸ“ program_date

  • Title: program_date
  • Usage: $program_date = $feat->program_date() and $feat->program_date($program_date)
  • Function: get/set on program date information
  • Returns: date (string)
  • Args: none if get, the new value if set

πŸ“ program_version

  • Title: program_version
  • Usage: $program_version = $feat->program_version() and $feat->program_version($program_version)
  • Function: get/set on program version information
  • Returns: date (string)
  • Args: none if get, the new value if set

πŸ“ database_name

  • Title: database_name
  • Usage: $database_name = $feat->database_name() and $feat->database_name($database_name)
  • Function: get/set on program name information
  • Returns: string
  • Args: none if get, the new value if set

πŸ“ database_date

  • Title: database_date
  • Usage: $database_date = $feat->database_date() and $feat->database_date($database_date)
  • Function: get/set on program date information
  • Returns: date (string)
  • Args: none if get, the new value if set

πŸ“ database_version

  • Title: database_version
  • Usage: $database_version = $feat->database_version() and $feat->database_version($database_version)
  • Function: get/set on program version information
  • Returns: date (string)
  • Args: none if get, the new value if set

πŸ“ get_SeqFeature_type

  • Title: get_SeqFeature_type
  • Usage: $SeqFeature_type = $feat->get_SeqFeature_type() and $feat->get_SeqFeature_type($SeqFeature_type)
  • Function: get SeqFeature type which is automatically set when adding a computation (SeqFeature) to a computation object
  • Returns: SeqFeature_type (string)
  • Args: none if get, the new value if set

πŸ“ get_all_SeqFeature_types

  • Title: get_all_SeqFeature_types
  • Usage: @all_SeqFeature_types = $comp->get_all_SeqFeature_types();
  • Function: returns an array with all subseqfeature types
  • Returns: an array
  • Args: none

πŸ“ get_SeqFeatures

  • Title: get_SeqFeatures('feature_type')
  • Usage: @feats = $feat->get_SeqFeatures(); and @feats = $feat->get_SeqFeatures('feature_type');
  • Function: returns an array of sub Sequence Features of a specific type or, if the type is omitted, all sub Sequence Features
  • Returns: an array
  • Args: (optional) a SeqFeature type (ie exon, pattern)

πŸ“ add_SeqFeature

  • Title: add_SeqFeature
  • Usage: $feat->add_SeqFeature($subfeat);, $feat->add_SeqFeature($subfeat,'seqfeature_type'), $feat->add_SeqFeature($subfeat,'EXPAND'), $feat->add_SeqFeature($subfeat,'EXPAND','seqfeature_type')
  • Function: adds a SeqFeature into a specific subSeqFeature array. with no 'EXPAND' qualifier, subfeat will be tested as to whether it lies inside the parent, and throw an exception if not. if EXPAND is used, the parents start/end/strand will be adjusted so that it grows to accommodate the new subFeature. optionally a seqfeature type can be defined.
  • Returns: nothing
  • Args: an object which has the SeqFeatureI interface, (optional) 'EXPAND', (optional) 'SeqFeature_type'
heads up bestie: no 'EXPAND' means if your subfeat doesn't lie inside the parent, she throws an exception. drama is valid πŸ’€

πŸ“ remove_SeqFeatures

  • Title: remove_SeqFeatures
  • Usage: $sf->remove_SeqFeatures and $sf->remove_SeqFeatures('SeqFeature_type');
  • Function: removes all sub SeqFeature or all sub SeqFeatures of a specified type (if you want to remove a more specific subset, take an array of them all, flush them, and add back only the guys you want)
  • Example:
  • Returns: none
  • Args: none

aaaand that's the whole page, bestie! this one shipped as part of perl v5.32.1, dated 2021-08-15, under the Bio::S...tation(3pm) manual name in the User Contributed Perl Documentation. go forth and annotate responsibly πŸ§šπŸ’œβœ¨

πŸ“¦ where this page comes from