Bio::A...dValue(3pm)

๐Ÿ“ฆ
version 1.7.8 ยท 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

๐Ÿ’– Bio::Annotation::StructuredValue ๐Ÿ’–

okay bestie, sit down, hydrate, and let me tell you about Bio::Annotation::StructuredValue โ€” it's a Perl module from the Bioperl crew (you know, section 3pm, the user-contributed Perl docs zone), and it's literally just a scalar that's secretly carrying a whole structured little world inside it. no cap.


โœจ NAME โœจ

Bio::Annotation::StructuredValue โ€” a scalar with embedded structured information. it's giving "simple on the outside, deeply nested on the inside" ๐Ÿฆ‹


๐ŸŒธ SYNOPSIS ๐ŸŒธ

use Bio::Annotation::StructuredValue;
use Bio::Annotation::Collection;

my $col = Bio::Annotation::Collection->new();
my $sv = Bio::Annotation::StructuredValue->new(-value => 'someval');
$col->add_Annotation('tagname', $sv);

see how easy that was? make a collection, make a structured value, yeet it in with a tagname. iconic behavior honestly ๐Ÿ‘‘


๐ŸŽ€ DESCRIPTION ๐ŸŽ€

scalar value annotation object. that's the whole vibe. a value, but make it annotated. ๐Ÿ’…


๐Ÿซถ FEEDBACK ๐Ÿซถ

๐Ÿ’Œ Mailing Lists

user feedback is an integral part of the evolution of this and other Bioperl modules โ€” like, the integral integral, bestie. send your comments and suggestions preferably to one of the Bioperl mailing lists. your participation is much appreciated, fr fr.

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. many experienced and reponsive experts will be able look at the problem and quickly address it. please include a thorough description of the problem with code and data examples if at all possible. (yes, include the code. we need the receipts. ๐Ÿ™ˆ)

๐Ÿ› Reporting Bugs

report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. bug reports can be submitted via or the web:

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

๐Ÿ‘‘ AUTHOR - Hilmar Lapp ๐Ÿ‘‘

Email hlapp-at-gmx.net


๐Ÿ“– APPENDIX ๐Ÿ“–

the rest of the documentation details each of the object methods. internal methods are usually preceded with a _ (the underscore is like the secret handshake, iykyk).

๐Ÿ†• new

  • Title : new
  • Usage : my $sv = Bio::Annotation::StructuredValue->new();
  • Function: instantiate a new StructuredValue object
  • Returns : Bio::Annotation::StructuredValue object
  • Args : -value => $value to initialize the object data field [optional]
    • -tagname => $tag to initialize the tagname [optional]

๐ŸŒˆ AnnotationI implementing functions

๐Ÿ“ as_text

  • Title : as_text
  • Usage : my $text = $obj->as_text
  • Function: return the string "Value: $v" where $v is the value
  • Returns : string
  • Args : none

๐Ÿ–จ๏ธ display_text

  • Title : display_text
  • Usage : my $str = $ann->display_text();
  • Function: returns a string. unlike as_text(), this method returns a string formatted as would be expected for te specific implementation.

one can pass a callback as an argument which allows custom text generation; the callback is passed the current instance and any text returned

  • Example :
  • Returns : a string
  • Args : [optional] callback

๐ŸŒณ hash_tree

  • Title : hash_tree
  • Usage : my $hashtree = $value->hash_tree
  • Function: for supporting the AnnotationI interface just returns the value as a hashref with the key 'value' pointing to the value
  • Returns : hashrf
  • Args : none

๐Ÿท๏ธ tagname

  • Title : tagname
  • Usage : $obj->tagname($newval)
  • Function: get/set the tagname for this annotation value.

setting this is optional. if set, it obviates the need to provide a tag to AnnotationCollection when adding this object.

  • Example :
  • Returns : value of tagname (a scalar)
  • Args : new value (a scalar, optional)

๐Ÿ’Ž Specific accessors for StructuredValue

๐Ÿ”ฎ value

  • Title : value
  • Usage : $obj->value($newval)
  • Function: get/set the value for this annotation.

set mode is here only to retain compatibility with SimpleValue. it is equivalent to calling add_value([0], $newval).

in get mode, this implementation allows one to pass additional parameters that control how the structured annotation components will be joined together to form a string. recognized are presently

  • -joins โ€” a reference to an array of join strings, the elements at index i applying to joining annotations at dimension i. the last element will be re-used for dimensions higher than i. defaults to ['; '].
  • -brackets โ€” a reference to an array of two strings denoting the opening and closing brackets for the elements of one dimension, if there is more than one element in the dimension. defaults to ['(',')'].
  • Returns : value of value
  • Args : newvalue (optional)

๐Ÿ“ฆ get_values

  • Title : get_values
  • Usage :
  • Function: get the top-level array of values. each of the elements will recursively be a reference to an array or a scalar, depending on the depth of this structured value annotation.
  • Example :
  • Returns : an array
  • Args : none

๐Ÿ—‚๏ธ get_all_values

  • Title : get_all_values
  • Usage :
  • Function: flattens all values in this structured annotation and returns them as an array.
  • Example :
  • Returns : the (flat) array of values
  • Args : none

โž• add_value

  • Title : add_value
  • Usage :
  • Function: adds the given value to the structured annotation at the given index.

the index is multi-dimensional, with the first dimension applying to the first level, and so forth. if a particular dimension or a particular index does not exist yet, it will be created. if it does exist and adding the value would mean replacing a scalar with an array reference, we throw an exception to prevent unintended damage. an index of -1 at any dimension means append.

if an array of values is to be added, it will create an additional dimension at the index specified, unless the last index value is -1, in which case they will all be appended to the last dimension.

  • Example :
  • Returns : none
  • Args : the index at which to add (a reference to an array)
    • the value(s) to add
โš ๏ธ heads up bestie: that scalar-into-array-ref situation is a hard exception, not a vibe. don't try to sneak past it. ๐Ÿ™ˆ

and that's the whole page!! this one's running on perl v5.32.1 and was dated 2021-08-15 โ€” so yeah, a little vintage but still absolutely slaying. mwah, go annotate something structured. ๐Ÿ’–โœจ๐ŸŽ€๐Ÿฆ‹๐ŸŒธ๐Ÿ’…๐Ÿซถ

๐Ÿ“ฆ where this page comes from