Bio::SeqFeature Primer
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::SeqFeature::Primer - Primer Generic SeqFeature
Package variables
Privates (from "my" definitions)
$dumper = new Dumpvalue()
Included modules
Bio::Root::Root
Bio::Seq
Bio::SeqFeature::Generic
Dumpvalue qw ( dumpValue )
Inherit
Bio::Root::Root Bio::SeqFeature::Generic
Synopsis
     A synopsis does not yet exist for this module.
Description
     A description does not yet exist for this module.
Methods
all_tagsDescriptionCode
display_idDescriptionCode
each_tag_valueDescriptionCode
endDescriptionCode
has_tagDescriptionCode
locationDescriptionCode
newDescriptionCode
primary_tagDescriptionCode
seqDescriptionCode
source_tagDescriptionCode
startDescriptionCode
strandDescriptionCode
Methods description
all_tags()code    nextTop
 Title   : all_tags()
Usage : @tags = $primer->all_tags();
Function: Return a list of tag names for this Primer.
Returns : An array of strings representing the names of tags in this Primer
Args : None.
Notes : When the Bio::SeqFeature::Primer object is created, the user can
pass in an arbitrary hash containing key->value pairs. This is allowed
because I didn't want to assume that the user was trying to model a
primer3 construct.
display_id()codeprevnextTop
 Title   : display_id()
Usage : $id = $feature->display_id($new_id)
Function: Returns the display ID for this Primer feature
Returns : A scalar.
Args : If an argument is provided, the display_id of this Primer is
set to that value.
each_tag_value()codeprevnextTop
 Title   : each_tag_value()
Usage : $tag = $feature->each_tag_value('MELTING_TEMPERATURE');
Function: Returns the value of this tag.
Returns : Unknown. Whatever the value of the given tag was.
Args : None.
end()codeprevnextTop
 Title   : end()
Usage : $end_position = $feature->end($new_position);
Function: Return the end position of this Primer.
Returns : The end position of this Primer.
Args : If an argument is provided, the end position of this
Primer is set to that position.
has_tag()codeprevnextTop
 Title   : has_tag()
Usage : $true_or_false = $feature->has_tag('MELTING_TEMPERATURE');
Function: Does this SeqFeature have this tag?
Returns : TRUE or FALSE
Args : A string.
location()codeprevnextTop
 Title   : location()
Usage : $tag = $feature->location();
Function: returns a location object suitable for identifying location of
feature on sequence or parent feature
Returns : a bio::locationi object.
Args : none.
Developer Notes: Chad has no idea how to implement this at this time.
new()codeprevnextTop
 Title   : new()
Usage :
Function:
Example :
Returns :
Args :
Devel notes: I think that I want to accept a hash
primary_tag()codeprevnextTop
 Title   : primary_tag()
Usage : $tag = $feature->primary_tag();
Function: Returns the string "Primer"
Returns : A string.
Args : None.
seq()codeprevnextTop
 Title   : seq()
Usage : $seq = $primer->seq();
Function: Return the _entire_ sequence associated with this Primer.
Returns : A Bio::Seq object
Args : None.
Develper Note: Do you want to be able to set the sequence associated with this
SeqFeature?
source_tag()codeprevnextTop
 Title   : source_tag()
Usage : $tag = $feature->source_tag();
Function: Returns the source of this tag.
Returns : A string.
Args : If an argument is provided, the source of this SeqFeature
is set to that argument.
start()codeprevnextTop
 Title   : start()
Usage : $start_position = $feature->start($new_position);
Function: Return the start position of this Primer.
Returns : The start position of this Primer.
Args : If an argument is provided, the start position of this
Primer is set to that position.
strand()codeprevnextTop
 Title   : strand()
Usage :
Function:
Returns :
Args :
Developer Notes: Chad has no idea how to implement this at this time.
Methods code
all_tagsdescriptionprevnextTop
sub all_tags {
     my $self = shift;
     my @tags = sort keys %{$self->{tags}};
     return @tags;
}
display_iddescriptionprevnextTop
sub display_id {
     my ($self,$newid) = @_;
     if ($newid) { $self->seq()->display_id($newid); }
     return $self->seq()->display_id();
}


1;
}
each_tag_valuedescriptionprevnextTop
sub each_tag_value {
     my ($self,$tagname) = @_;
     return $self->{tags}->{$tagname};
}
enddescriptionprevnextTop
sub end {
     my ($self,$new_position) = @_;
     if ($new_position) { $self->{end_position} = $new_position; }
     return $self->{end_position};
}
has_tagdescriptionprevnextTop
sub has_tag {
     my ($self,$tagname) = @_;
     if ($self->{tags}->{$tagname}) { return "TRUE"; }
     return { "FALSE" };
}
locationdescriptionprevnextTop
sub location {
     my $self = shift;
     $self->warn("Chad has not written the code for this yet.");
}
newdescriptionprevnextTop
sub new {
     my ($class, @args) = @_;  
     my %arguments = @args;
     my $self = $class->SUPER::new(@args);
          # these are from generic.pm, with which i started
$self->{'_parse_h'} = {}; $self->{'_gsf_tag_hash'} = {}; # things that belong with the primer
my ($sequence, $primer_sequence_id, $id) = $self->{'_gsf_seqname'} = $self->{primer_sequence_id}; # i am going to keep an array of the things that have been passed
# into the object on construction. this will aid retrieval of these
# things later
foreach my $argument (sort keys %arguments) { if ($argument eq "-SEQUENCE" || $argument eq "-sequence") { if (ref($arguments{$argument}) eq "Bio::Seq") { $self->{seq} = $arguments{$argument}; } else { $self->{seq} = new Bio::Seq( -seq => $arguments{$argument}, -id => $arguments{-id}); } $self->{tags}->{$argument} = "A Bio::Seq. Use seq() to get this 'tag'"; } else { (my $fixed = $argument) =~ s/-//; $self->{tags}->{$fixed} = $arguments{$argument}; } } if (!$self->{seq}) { $self->throw("You must pass in a sequence to construct this object."); } # a bunch of things now need to be set for this SeqFeature
# things like:
# TARGET=513,26
# PRIMER_FIRST_BASE_INDEX=1
# PRIMER_LEFT=484,20
return $self;
}
primary_tagdescriptionprevnextTop
sub primary_tag {
     return "Primer";
}
seqdescriptionprevnextTop
sub seq {
     my $self = shift;
     return $self->{seq};
}
source_tagdescriptionprevnextTop
sub source_tag {
     my ($self,$insource) = @_;
     if ($insource) { $self->{source} = $insource; }
     return $self->{source};
}
startdescriptionprevnextTop
sub start {
     my ($self,$new_position) = @_;
     if ($new_position) { $self->{start_position} = $new_position; }
     return $self->{start_position};
}
stranddescriptionprevnextTop
sub strand {
     my $self = shift;
     $self->warn("Chad has not implemented this method at this time.");
}
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@bioperl.org          - General discussion
http://bio.perl.org/MailList.html - About the mailing lists
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 email
or the web:
  bioperl-bugs@bio.perl.org
http://bugzilla.bioperl.org/
AUTHOR - Chad MatsallaTop
Chad Matsalla <bioinformatics1@dieselwurks.com>
APPENDIXTop
The rest of the documentation details each of the object
methods. Internal methods are usually preceded with a _