Bio::SeqFeature Primer
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
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
newDescriptionCode
seqDescriptionCode
all_tagsDescriptionCode
primary_tagDescriptionCode
source_tagDescriptionCode
has_tagDescriptionCode
each_tag_valueDescriptionCode
locationDescriptionCode
startDescriptionCode
endDescriptionCode
strandDescriptionCode
display_idDescriptionCode
Methods description
new()code    nextTop
 Title   : new()
 Usage   :
 Function:
 Example :
 Returns :
 Args    : 
Devel notes: I think that I want to accept a hash
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?
all_tags()codeprevnextTop
 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.
primary_tag()codeprevnextTop
 Title   : primary_tag()
 Usage   : $tag = $feature->primary_tag();
 Function: Returns the string "Primer"
 Returns : A string.
 Args    : None.
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.
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.
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.
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.
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.
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.
strand()codeprevnextTop
 Title   : strand()
 Usage   : 
 Function: 
 Returns : 
 Args    : 
Developer Notes: Chad has no idea how to implement this at this time.
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.
Methods code
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;
}
seqdescriptionprevnextTop
sub seq {
     my $self = shift;
     return $self->{seq};
}
all_tagsdescriptionprevnextTop
sub all_tags {
     my $self = shift;
     my @tags = sort keys %{$self->{tags}};
     return @tags;
}
primary_tagdescriptionprevnextTop
sub primary_tag {
     return "Primer";
}
source_tagdescriptionprevnextTop
sub source_tag {
     my ($self,$insource) = @_;
     if ($insource) { $self->{source} = $insource; }
     return $self->{source};
}
has_tagdescriptionprevnextTop
sub has_tag {
     my ($self,$tagname) = @_;
     if ($self->{tags}->{$tagname}) { return "TRUE"; }
     return { "FALSE" };
}
each_tag_valuedescriptionprevnextTop
sub each_tag_value {
     my ($self,$tagname) = @_;
     return $self->{tags}->{$tagname};
}
locationdescriptionprevnextTop
sub location {
     my $self = shift;
     $self->warn("Chad has not written the code for this yet.");
}
startdescriptionprevnextTop
sub start {
     my ($self,$new_position) = @_;
     if ($new_position) { $self->{start_position} = $new_position; }
     return $self->{start_position};
}
enddescriptionprevnextTop
sub end {
     my ($self,$new_position) = @_;
     if ($new_position) { $self->{end_position} = $new_position; }
     return $self->{end_position};
}
stranddescriptionprevnextTop
sub strand {
     my $self = shift;
     $self->warn("Chad has not implemented this method at this time.");
}
display_iddescriptionprevnextTop
sub display_id {
     my ($self,$newid) = @_;
     if ($newid) { $self->seq()->display_id($newid); }
     return $self->seq()->display_id();
}
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 _