Bio::T...lDataI(3pm)
Bio::T...lDataI(3pm) π
okay bestie, buckle up β this is the manual page for Bio::Tools::EUtilities::EUtilDataI, part of the User Contributed Perl Documentation. it's an interface, it's iconic, and it's about to make so much sense. π«Ά
β¨ NAME β¨
Bio::Tools::EUtilities::EUtilDataI β EUtil data object interface.
π VERSION π
version 1.77 β that's the one we're living in, periodt.
π¦ SYNOPSIS π¦
like, imagine you had some data chillin' in a hash ref ($data) and you wanted to build whole hierarchies of objects using the same interface, starting from the topmost one. that's the vibe:
# say you had some data in a hash ref ($data) and wanted to create hierarchies
# of object using the same interface, starting with the topmost...
# $object is a Bio::Tools::EUtilities::EUtilDataI instance
$object->_add_data($data);
# in _add_data()... sort through keys and create subobjects as needed
if ($key eq 'foo') {
my $sub = Bio::Tools::EUtilities::FooData->new(-eutil => 'efoo',
-type => 'foo');
$sub->_add_data($subdata);
# store into parent object as needed...
...
}
# access stored data
while (my $sub = $parent->next_Foo) {...}
see how clean that is? the subobjects get made on demand, the data gets stashed, and then you just iterate. chef's kiss. π
πΈ DESCRIPTION πΈ
okay so this is a simple interface that lets you build simple typed object hierarchies. no cap. single layers? you can grab them with simple iterators (the next_* methods) or pull the whole thing at once (the get_* methods). nested data? iterate through nested iterators for each object, or just grab it all with the get_all_* methods. your call, main character. π
this interface defines the common methods that every eutil data-holding object needs: _add_data(), eutil(), and type(). it also specifies that inheriting interface classes use at least one of three methods: get_ids(), get_term(), or get_database() β which are, lowkey, the three types of data that eutils mainly centers on. that's the whole point, fr fr.
generally speaking, eutil() is the Bio::Tools::EUtilities parser used to set the data. similarly, datatype() is the specific data type for the class.
and if you're implementing something that relies on subclasses to store data and has iterators? you should also define a generalized rewind() method that β by default β rewinds all iterators back to the start. args you pass can specify exactly which iterator to rewind, and (if possible) recursively rewind nested object iterators. obsessed. π§
as the name implies, _add_data() is a private method that adds data chunks to the object and sets internal parameters for the various data objects. methods corresponding to the data type simply return the set data or iterate through the data sets if the values are more complex. and plot twist: data can alternatively be passed through the object constructor. π
eutil
- Title β
eutil - Usage β
$eutil->$foo->eutil - Function β Get/Set eutil
- Returns β string
- Args β string (eutil)
- Throws β on invalid eutil
datatype
- Title β
type - Usage β
$type = $qd->datatype; - Function β retrieve simple data type object holds (linkset, docsum, item, etc)
- Returns β string (eutil name)
- Args β none
- Note β this is probably more useful for devs than for users as a way to keep track of the various types of modules used
rewind
- Title β
rewind - Usage β
$esum->rewind - Function β rewinds the requested iterator
- Returns β none
- Args β [OPTIONAL] may include
'all','recursive', etc.
_add_data
- Title β
_add_data - Usage β
$foo->_add_data($data) - Function β adds data to current object as a chunk
- Returns β none
- Args β hash ref containing relevant data
to_string
- Title β
to_string - Usage β
$foo->to_string() - Function β converts current object to string
- Returns β none
- Args β (optional) simple data for text formatting
- Note β Used generally for debugging and for the
print_*methods
_text_wrap
- Title β
_text_wrap - Usage β
$foo->_text_wrap($string) - Function β private internal wrapper for
Text::Wrap::wrap - Returns β string
- Args β string
- Note β Internal use only. Simple wrapper method.
π¬ FEEDBACK π¬
π Mailing lists π
user feedback is, like, an integral part of the evolution of this and other Bioperl modules. bestie, send your comments and suggestions preferably to the Bioperl mailing list. your participation is much appreciated, for real. π₯Ή
bioperl-l@bioperl.org - General discussion
https://bioperl.org/Support.html - 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. the more info you give, the faster the slay. β¨
π Reporting bugs π
report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. bug reports can be submitted via the web:
https://github.com/bioperl/bio-eutilities/issues
π AUTHOR π
Chris Fields <cjfields@bioperl.org>
π COPYRIGHT π
This software is copyright (c) 2006-2013 by Chris Fields.
This software is available under the same terms as the perl 5 programming language system itself.
ngl, that's the whole page. go build your hierarchies, bestie. π
perl v5.40.0 Β· 2025-01-27 β that's the version and the date, mwah, catch you in the next manpage. ππ¦π
π¦ where this page comes from
- debian trixie: libbio-eutilities-perl 1.77-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libbio-eutilities-perl 1.77-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libbio-eutilities-perl 1.77-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms