Bio::Tools::EUtilities::Info
LinkInfo
Toolbar
Summary
Bio::Tools::EUtilities::Info::LinkInfo - class for storing einfo link data
Package variables
No package variables defined.
Inherit
Synopsis
## should not create instance directly; Bio::Tools::EUtilities does this ##
# get a LinkInfo object using Bio:Tools::EUtilities
print "Link name: ",$link->get_link_name,"\n";
print "Link name: ",$link->get_link_menu_name,"\n";
print "Link desc: ",$link->get_link_description,"\n";
print "DBFrom: ",$link->get_dbfrom,"\n"; # database linked from
print "DBTo: ",$link->get_dbto,"\n"; # database linked to
Description
This class handles data output (XML) from both einfo and elink, and centers on
describing data that either describes how NCBI databases are linked together
via link names, or how databases are linked to outside databases (LinkOut).
Further documentation for Link and Field subclass methods is included below.
For more information on einfo see:
http://eutils.ncbi.nlm.nih.gov/entrez/query/static/einfo_help.html
Methods
Methods description
Title : new Note : *** should not be called by end-users *** Usage : my $ct = Bio::Tools::EUtilities::Info::LinkInfo; Function : returns new LinkInfo instance Returns : Bio::Tools::EUtilities::Info::LinkInfo instance Args : none (all data added via _add_data, most methods are getters only) |
Title : get_database Usage : my $db = $info->get_database; Function : returns single database name (eutil-compatible). This is the queried database. For elinks (which have 'db' and 'dbfrom') this is equivalent to db/dbto (use get_dbfrom() to for the latter) Returns : string Args : none |
Title : get_dbfrom Usage : my $origdb = $link->get_dbfrom; Function : returns referring database Returns : string Args : none Note : |
Title : get_link_name Usage : $ln = $link->get_link_name; Function : returns raw link name (eutil-compatible) Returns : string Args : none |
Title : get_link_description Usage : $desc = $link->get_link_description; Function : returns the (more detailed) link description Returns : string Args : none |
Title : get_link_menu_name Usage : my $mn = $link->get_link_menu_name; Function : returns formal menu name Returns : string Args : none |
Title : get_priority Usage : my $mn = $link->get_priority; Function : returns priority ranking Returns : integer Args : none Note : only set when using elink and cmd set to 'acheck' |
Title : get_html_tag Usage : my $tag = $link->get_html_tag; Function : returns HTML tag Returns : string Args : none Note : only set when using elink and cmd set to 'acheck' |
Title : get_url Usage : my $url = $link->get_url; Function : returns URL string; note that the string isn't usable directly but has the ID replaced with the tag <@UID@> Returns : string Args : none Note : only set when using elink and cmd set to 'acheck' |
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 various print methods |
Methods code
sub new
{ my ($class, @args) = @_;
my $self = $class->SUPER::new(@args);
my $eutil = $self->_rearrange([qw(EUTIL)], @args);
$eutil ||= 'einfo';
$self->eutil($eutil);
$self->datatype('linkinfo');
return $self;} |
sub get_database
{ return shift->{'_dbto'};} |
sub get_db
{ return shift->get_database; } |
sub get_dbto
{ return shift->get_database; } |
sub get_dbfrom
{ return shift->{'_dbfrom'}} |
sub get_link_name
{ my $self = shift;
if ($self->eutil eq 'elink') {
return $self->{'_linkname'}
} else {
return $self->{'_name'}
}} |
sub get_link_description
{ return shift->{'_description'}} |
sub get_link_menu_name
{ my $self = shift;
return $self->eutil eq 'elink' ? $self->{'_menutag'} : $self->{'_menu'};} |
sub get_priority
{ return shift->{'_priority'}} |
sub get_html_tag
{ return shift->{'_htmltag'}} |
sub get_url
{ return shift->{'_url'}} |
sub _add_data
{ my ($self, $simple) = @_;
map { $self->{'_'.lc $_} = $simple->{$_} unless ref $simple->{$_}} keys %$simple;} |
sub to_string
{ my $self = shift;
my $level = shift || 0;
my $pad = 20 - $level;
my %tags = (1 => ['get_link_name' => 'Link Name'],
2 => ['get_link_description' => 'Description'],
3 => ['get_dbfrom' => 'DB From'],
4 => ['get_dbto' => 'DB To'],
5 => ['get_link_menu_name' => 'Menu Name'],
6 => ['get_priority' => 'Priority'],
7 => ['get_html_tag' => 'HTML Tag'],
8 => ['get_url' => 'URL'],
);
my $string = '';
for my $tag (sort {$a <=> $b} keys %tags) {
my ($m, $nm) = ($tags{$tag}->[0], $tags{$tag}->[1]);
my $content = $self->$m();
next unless $content;
$string .= sprintf("%-*s%-*s%s\n",
$level, '',
$pad, $nm,
$self->_text_wrap(':',
' ' x ($pad).':',
$content ));
}
return $string;
}
1;} |
General documentation
User feedback is an integral part of the evolution of this and other Bioperl
modules. Send your comments and suggestions preferably to one of the Bioperl
mailing lists. Your participation is much appreciated.
bioperl-l@lists.open-bio.org - General discussion
http://www.bioperl.org/wiki/Mailing_lists - About the mailing lists
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.
Report bugs to the Bioperl bug tracking system to help us keep track the bugs
and their resolution. Bug reports can be submitted via the web.
https://redmine.open-bio.org/projects/bioperl/
Email cjfields at bioperl dot org
The rest of the documentation details each of the object methods. Internal
methods are usually preceded with a _