Bio::Tools::EUtilities::Info FieldInfo
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvs
Summary
Bio::Tools::EUtilities::Info::FieldInfo - class for storing einfo field data
Package variables
No package variables defined.
Inherit
Bio::Root::Root Bio::Tools::EUtilities::EUtilDataI
Synopsis
    #### should not create instance directly; Bio::Tools::EUtilities does this ####
my $info = Bio::Tools::EUtilities->new(-eutil => 'einfo', -file => 'einfo.xml'); # can also use '-response' (for HTTP::Response objects) or '-fh' (for filehandles) # print available databases (if data is present) print join(', ',$info->get_available_databases),"\n"; # get database info my $db = $info->get_database; # in case you forgot... my $desc = $info->get_description; my $nm = $info->get_menu_name; my $ct = $info->get_record_count; my $dt = $info->get_last_update; # EUtilDataI interface methods my $eutil = $info->eutil; my $type = $info->type; # iterate through Field and Link objects while (my $field = $info->next_Field) { print "Field code: ",$field->get_field_code,"\n"; print "Field name: ",$field->get_field_name,"\n"; print "Field desc: ",$field->get_field_description,"\n"; print "DB : ",$field->get_database,"\n"; print "Term ct : ",$field->get_term_count,"\n"; for my $att (qw(is_date is_singletoken is_hierarchy is_hidden is_numerical)) { print "\tField $att\n" if $field->$att; } } my @fields = $info->get_Fields; # grab them all (useful for grep) $info->rewind('fields'); # rewinds Field iterator
Description
This class handles simple field data output (XML) from einfo.
For more information on einfo see:
   http://eutils.ncbi.nlm.nih.gov/entrez/query/static/einfo_help.html
Methods
newDescriptionCode
get_term_countDescriptionCode
get_field_nameDescriptionCode
get_field_codeDescriptionCode
get_field_descriptionDescriptionCode
is_dateDescriptionCode
is_singletokenDescriptionCode
is_hierarchyDescriptionCode
is_hiddenDescriptionCode
is_numericalDescriptionCode
_add_data
No description
Code
to_stringDescriptionCode
Methods description
newcode    nextTop
 Title    : new
Note : *** should not be called by end-users ***
Usage : my $ct = Bio::Tools::EUtilities::Info::FieldInfo;
Function : returns new FieldInfo instance
Returns : Bio::Tools::EUtilities::Info::FieldInfo instance
Args : none (all data added via _add_data, most methods are getters only)
get_term_countcodeprevnextTop
 Title    : get_term_count
Usage : my $ct = $field->get_term_count;
Function : returns number of terms for field
Returns : integer
Args : none
get_field_namecodeprevnextTop
 Title    : get_field_name
Usage : my $nm = $field->get_field_name;
Function : returns the full name of the field
Returns : string
Args : none
get_field_codecodeprevnextTop
 Title    : get_field_code
Usage : $field->get_field_code()
Function : returns field code (abbreviation) used for queries
Returns : string
Args : none
get_field_descriptioncodeprevnextTop
 Title    : get_field_description
Usage : $field->get_field_description
Function : returns field description
Returns : string
Args : none
Note : alias of get_description()
is_datecodeprevnextTop
 Title    : is_date
Usage : if ($field->is_date) {...}
Function : returns true if field contains date information
Returns : Boolean
Args : none
is_singletokencodeprevnextTop
 Title    : is_singletoken
Usage : if ($field->is_singletoken) {...}
Function : returns true if field has single value in docsums
Returns : Boolean
Args : none
is_hierarchycodeprevnextTop
 Title    : is_hierarchy
Usage : if ($field->is_hierarchy) {...}
Function : returns true if field contains hierarchal values
Returns : Boolean
Args : none
is_hiddencodeprevnextTop
 Title    : is_hidden
Usage : if ($field->is_hidden) {...}
Function : returns true if field is hidden in docsums
Returns : Boolean
Args : none
is_numericalcodeprevnextTop
 Title    : is_numerical
Usage : if ($field->is_numerical) {...}
Function : returns true if field contains a numerical value
Returns : Boolean
Args : none
to_stringcodeprevnextTop
 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
newdescriptionprevnextTop
sub new {
    my ($class, @args) = @_;
    my $self = $class->SUPER::new(@args);
    $self->eutil('einfo');
    $self->datatype('fieldinfo');
    return $self;
}
get_term_countdescriptionprevnextTop
sub get_term_count {
 return shift->{'_termcount'}
}
get_field_namedescriptionprevnextTop
sub get_field_name {
 return shift->{'_fullname'}
}
get_field_codedescriptionprevnextTop
sub get_field_code {
 return shift->{'_name'}
}
get_field_descriptiondescriptionprevnextTop
sub get_field_description {
 return shift->{'_description'}
}
is_datedescriptionprevnextTop
sub is_date {
    my $self = shift;
    ($self->{'_isdate'} && $self->{'_isdate'} eq 'Y') ? return 1 : return 0;
}
is_singletokendescriptionprevnextTop
sub is_singletoken {
    my $self = shift;
    ($self->{'_singletoken'} && $self->{'_singletoken'} eq 'Y') ? return 1 : return 0;
}
is_hierarchydescriptionprevnextTop
sub is_hierarchy {
    my $self = shift;
    ($self->{'hierarchy'} && $self->{'hierarchy'} eq 'Y') ? return 1 : return 0;
}
is_hiddendescriptionprevnextTop
sub is_hidden {
    my $self = shift;
    ($self->{'_ishidden'} && $self->{'_ishidden'} eq 'Y') ? return 1 : return 0;
}
is_numericaldescriptionprevnextTop
sub is_numerical {
    my $self = shift;
    ($self->{'_isnumerical'} && $self->{'_isnumerical'} eq 'Y') ? return 1 : return 0;
}

# private EUtilDataI method
}
_add_datadescriptionprevnextTop
sub _add_data {
    my ($self, $simple) = @_;
    map { $self->{'_'.lc $_} = $simple->{$_} unless ref $simple->{$_}} keys %$simple;
}
to_stringdescriptionprevnextTop
sub to_string {
    my $self = shift;
    #        order     method                     name        
my %tags = (1 => ['get_field_code' => 'Field Code'], 2 => ['get_field_name' => 'Field Name'], 3 => ['get_field_description' => 'Description'], 4 => ['get_term_count' => 'Term Count']); my $string; for my $tag (sort {$a <=> $b} keys %tags) { my ($m, $nm) = ($tags{$tag}->[0], $tags{$tag}->[1]); $string .= sprintf("%-20s%s\n", $nm, $self->_text_wrap('', ' 'x20 .':', ":".$self->$m)); } $string .= sprintf("%-20s%s\n", "Attributes", $self->_text_wrap('', ' 'x20 .':', ":".join(',', grep {$self->$_} qw(is_date is_singletoken is_hierarchy is_hidden is_numerical)))); return $string; } 1;
}
General documentation
FEEDBACKTop
Mailing ListsTop
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
Support Top
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.
Reporting BugsTop
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/
AUTHOR Top
Email cjfields at bioperl dot org
APPENDIXTop
The rest of the documentation details each of the object methods. Internal
methods are usually preceded with a _
get_full_nameTop
 Title    : get_full_name
Note : alias of get_field_name()