Bio::Annotation Reference
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::Annotation::Reference - Specialised DBLink object for Literature References
Package variables
No package variables defined.
Included modules
Bio::Annotation::DBLink
Bio::AnnotationI
Inherit
Bio::Annotation::DBLink
Synopsis
    $reg = Bio::Annotation::Reference->new( -title => 'title line',
-location => 'location line',
-authors => 'author line',
-medline => 998122 );
Description
Object which presents a literature reference. This is considered to be
a specialised form of database link. The additional methods provided
are all set/get methods to store strings commonly associated with
references, in particular title, location (ie, journal page) and
authors line.
There is no attempt to do anything more than store these things as
strings for processing elsewhere. This is mainly because parsing these
things suck and generally are specific to the specific format one is
using. To provide an easy route to go format --> object --> format
without losing data, we keep them as strings. Feel free to post the
list for a better solution, but in general this gets very messy very
fast...
Methods
as_textDescriptionCode
authorsDescriptionCode
databaseDescriptionCode
editorsDescriptionCode
encoded_refDescriptionCode
endDescriptionCode
hash_treeDescriptionCode
locationDescriptionCode
medlineDescriptionCode
newDescriptionCode
optional_idDescriptionCode
primary_idDescriptionCode
publisherDescriptionCode
pubmedDescriptionCode
rpDescriptionCode
startDescriptionCode
tagnameDescriptionCode
titleDescriptionCode
Methods description
as_textcode    nextTop
 Title   : as_text
Usage :
Function:
Example :
Returns :
Args :
authorscodeprevnextTop
 Title   : authors
Usage : $self->authors($newval)
Function: Gives the author line. No attempt is made to parse the author line
Example :
Returns : value of authors
Args : newvalue (optional)
databasecodeprevnextTop
 Title   : database
Usage :
Function: Overrides DBLink database to be hard coded to 'MEDLINE', unless
the database has been set explicitely before.
Example :
Returns :
Args :
editorscodeprevnextTop
 Title   : editors
Usage : $self->editors($newval)
Function: Gives the editors line. No attempt is made to parse the editors line
Example :
Returns : value of editors
Args : newvalue (optional)
encoded_refcodeprevnextTop
 Title   : encoded_ref
Usage : $self->encoded_ref($newval)
Function: Gives the encoded_ref line. No attempt is made to parse the encoded_ref line
(this is added for reading PDB records (REFN record), where this contains
ISBN/ISSN/ASTM code)
Example :
Returns : value of encoded_ref
Args : newvalue (optional)
endcodeprevnextTop
 Title   : end
Usage : $self->end($newval)
Function: Gives the reference end base
Example :
Returns : value of end
Args : newvalue (optional)
hash_treecodeprevnextTop
 Title   : hash_tree
Usage :
Function:
Example :
Returns :
Args :
locationcodeprevnextTop
 Title   : location
Usage : $self->location($newval)
Function: Gives the location line. No attempt is made to parse the location line
Example :
Returns : value of location
Args : newvalue (optional)
medlinecodeprevnextTop
 Title   : medline
Usage : $self->medline($newval)
Function: Gives the medline number
Example :
Returns : value of medline
Args : newvalue (optional)
newcodeprevnextTop
 Title   : new
Usage : $ref = Bio::Annotation::Reference->new( -title => 'title line',
-authors => 'author line',
-location => 'location line',
-medline => 9988812);
Function:
Example :
Returns : a new Bio::Annotation::Reference object
Args : a hash with optional title, authors, location, medline, start and end
attributes
optional_idcodeprevnextTop
 Title   : optional_id
Usage :
Function: Overrides DBLink optional_id to provide the PubMed number.
Example :
Returns :
Args :
primary_idcodeprevnextTop
 Title   : primary_id
Usage :
Function: Overrides DBLink primary_id to provide medline number
Example :
Returns :
Args :
publishercodeprevnextTop
 Title   : publisher
Usage : $self->publisher($newval)
Function: Gives the publisher line. No attempt is made to parse the publisher line
Example :
Returns : value of publisher
Args : newvalue (optional)
pubmedcodeprevnextTop
 Title   : pubmed
Usage : $refobj->pubmed($newval)
Function: Get/Set the PubMed number, if it is different from the MedLine
number.
Example :
Returns : value of medline
Args : newvalue (optional)
rpcodeprevnextTop
 Title   : rp
Usage : $self->rp($newval)
Function: Gives the RP line. No attempt is made to parse this line.
Example :
Returns : value of rp
Args : newvalue (optional)
startcodeprevnextTop
 Title   : start
Usage : $self->start($newval)
Function: Gives the reference start base
Example :
Returns : value of start
Args : newvalue (optional)
tagnamecodeprevnextTop
 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 Bio::AnnotationCollectionI when adding this object. When obtaining an AnnotationI object from the collection, the collection will set the value to the tag under which it was stored unless the object has a tag stored already. Example : Returns : value of tagname (a scalar) Args : new value (a scalar, optional)
titlecodeprevnextTop
 Title   : title
Usage : $self->title($newval)
Function: Gives the title line (if exists)
Example :
Returns : value of title
Args : newvalue (optional)
Methods code
as_textdescriptionprevnextTop
sub as_text {
   my ($self) = @_;

   # this could get out of hand!
return "Reference: ".$self->title;
}
authorsdescriptionprevnextTop
sub authors {
   my ($self,$value) = @_;
   if( defined $value) {
      $self->{'authors'} = $value;
    }
    return $self->{'authors'};
}
databasedescriptionprevnextTop
sub database {
   my ($self, @args) = @_;

   return $self->SUPER::database(@args) || 'MEDLINE';
}
editorsdescriptionprevnextTop
sub editors {
   my ($self,$value) = @_;
   if( defined $value) {
      $self->{'editors'} = $value;
   }
   return $self->{'editors'};
}
encoded_refdescriptionprevnextTop
sub encoded_ref {
   my ($self,$value) = @_;
   if( defined $value) {
      $self->{'encoded_ref'} = $value;
   }
   return $self->{'encoded_ref'};
}


1;
}
enddescriptionprevnextTop
sub end {
    my ($self,$value) = @_;
    if( defined $value) {
	$self->{'end'} = $value;
    }
    return $self->{'end'};
}
hash_treedescriptionprevnextTop
sub hash_tree {
   my ($self) = @_;
   
   my $h = {};
   $h->{'title'}   = $self->title;
   $h->{'authors'} = $self->authors;
   $h->{'location'} = $self->location;
   if( defined $self->start ) {
       $h->{'start'}   = $self->start;
   }
   if( defined $self->end ) {
       $h->{'end'} = $self->end;
   }
   $h->{'medline'} = $self->medline;

   return $h;
}
locationdescriptionprevnextTop
sub location {
   my ($self,$value) = @_;
   if( defined $value) {
      $self->{'location'} = $value;
    }
    return $self->{'location'};
}
medlinedescriptionprevnextTop
sub medline {
    my ($self,$value) = @_;
    if( defined $value) {
	$self->{'medline'} = $value;
    }
    return $self->{'medline'};
}
newdescriptionprevnextTop
sub new {
    my ($class,@args) = @_;

    my $self = $class->SUPER::new(@args);

    my ($start,$end,$authors,$location,$title,$medline,$tag) =
	$self->_rearrange([qw(START
			      END
			      AUTHORS
			      LOCATION
			      TITLE
			      MEDLINE
			      TAGNAME
			      )],@args);

    defined $start    && $self->start($start);
    defined $end      && $self->end($end);
    defined $authors  && $self->authors($authors);
    defined $location && $self->location($location);
    defined $title    && $self->title($title);
    defined $medline  && $self->medline($medline);
    defined $tag      && $self->tagname($tag);

    return $self;
}
optional_iddescriptionprevnextTop
sub optional_id {
   my ($self, @args) = @_;

   return $self->pubmed(@args);
}
primary_iddescriptionprevnextTop
sub primary_id {
   my ($self, @args) = @_;

   return $self->medline(@args);
}
publisherdescriptionprevnextTop
sub publisher {
   my ($self,$value) = @_;
   if( defined $value) {
      $self->{'publisher'} = $value;
   }
   return $self->{'publisher'};
}
pubmeddescriptionprevnextTop
sub pubmed {
    my ($self,$value) = @_;
    if( defined $value) {
	$self->{'pubmed'} = $value;
    }
    return $self->{'pubmed'};
}
rpdescriptionprevnextTop
sub rp {
   my ($self,$value) = @_;
   if( defined $value) {
      $self->{'rp'} = $value;
    }
    return $self->{'rp'};
}
startdescriptionprevnextTop
sub start {
    my ($self,$value) = @_;
    if( defined $value) {
	$self->{'start'} = $value;
    }
    return $self->{'start'};
}
tagnamedescriptionprevnextTop
sub tagname {
    my ($self,$value) = @_;
    if( defined $value) {
	$self->{'tagname'} = $value;
    }
    return $self->{'tagname'};
}
titledescriptionprevnextTop
sub title {
   my ($self,$value) = @_;
   if( defined $value) {
      $self->{'title'} = $value;
    }
    return $self->{'title'};
}
General documentation
CONTACTTop
Describe contact details here
APPENDIXTop
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
AnnotationI implementing functionsTop
Specific accessors for ReferencesTop