annotate variant_effect_predictor/Bio/SeqFeature/Primer.pm @ 0:2bc9b66ada89 draft default tip

Uploaded
author mahtabm
date Thu, 11 Apr 2013 06:29:17 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: Primer.pm,v 1.10 2002/10/30 14:21:58 heikki Exp $
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
2 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::SeqFeature::Primer
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
4 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Chad Matsalla
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
6 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
7 # Copyright Chad Matsalla
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
8 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
9 # You may distribute this module under the same terms as perl itself
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
10
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
11 # POD documentation - main docs before the code
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
12
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
13 =head1 NAME
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
14
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
15 Bio::SeqFeature::Primer - Primer Generic SeqFeature
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
16
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
17 =head1 SYNOPSIS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
18
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
19 A synopsis does not yet exist for this module.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
20
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
21 =head1 DESCRIPTION
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
22
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
23 A description does not yet exist for this module.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
24
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
25 =head1 FEEDBACK
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
26
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
27 =head2 Mailing Lists
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
28
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
29 User feedback is an integral part of the evolution of this and other
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
30 Bioperl modules. Send your comments and suggestions preferably to one
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
31 of the Bioperl mailing lists. Your participation is much appreciated.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
32
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
33 bioperl-l@bioperl.org - General discussion
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
34 http://bio.perl.org/MailList.html - About the mailing lists
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
35
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
36 =head2 Reporting Bugs
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
37
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
38 Report bugs to the Bioperl bug tracking system to help us keep track
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
39 the bugs and their resolution. Bug reports can be submitted via email
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
40 or the web:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
41
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
42 bioperl-bugs@bio.perl.org
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
43 http://bugzilla.bioperl.org/
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
44
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
45 =head1 AUTHOR - Chad Matsalla
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
46
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
47 Chad Matsalla E<lt>bioinformatics1@dieselwurks.comE<gt>
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
48
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
49 =head1 APPENDIX
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
50
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
51 The rest of the documentation details each of the object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
52 methods. Internal methods are usually preceded with a _
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
53
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
54 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
55
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
56
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
57 # Let the code begin...
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
58
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
59
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
60 package Bio::SeqFeature::Primer;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
61 use vars qw(@ISA);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
62 use strict;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
63
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
64 use Bio::Root::Root;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
65 use Bio::SeqFeature::Generic;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
66 use Bio::Seq;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
67 use Dumpvalue qw(dumpValue);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
68
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
69 my $dumper = new Dumpvalue();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
70
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
71
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
72 @ISA = qw(Bio::Root::Root Bio::SeqFeature::Generic);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
73
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
74
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
75
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
76 =head2 new()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
77
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
78 Title : new()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
79 Usage :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
80 Function:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
81 Example :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
82 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
83 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
84 Devel notes: I think that I want to accept a hash
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
85
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
86 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
87
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
88
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
89 sub new {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
90 my ($class, @args) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
91 my %arguments = @args;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
92 my $self = $class->SUPER::new(@args);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
93 # these are from generic.pm, with which i started
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
94 $self->{'_parse_h'} = {};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
95 $self->{'_gsf_tag_hash'} = {};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
96 # things that belong with the primer
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
97 my ($sequence, $primer_sequence_id, $id) =
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
98 $self->{'_gsf_seqname'} = $self->{primer_sequence_id};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
99 # i am going to keep an array of the things that have been passed
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
100 # into the object on construction. this will aid retrieval of these
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
101 # things later
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
102 foreach my $argument (sort keys %arguments) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
103 if ($argument eq "-SEQUENCE" || $argument eq "-sequence") {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
104 if (ref($arguments{$argument}) eq "Bio::Seq") {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
105 $self->{seq} = $arguments{$argument};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
106 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
107 else {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
108 $self->{seq} = new Bio::Seq( -seq => $arguments{$argument},
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
109 -id => $arguments{-id});
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
110 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
111 $self->{tags}->{$argument} = "A Bio::Seq. Use seq() to get this 'tag'";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
112 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
113 else {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
114 (my $fixed = $argument) =~ s/-//;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
115 $self->{tags}->{$fixed} = $arguments{$argument};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
116 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
117 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
118 if (!$self->{seq}) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
119 $self->throw("You must pass in a sequence to construct this object.");
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
120 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
121
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
122 # a bunch of things now need to be set for this SeqFeature
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
123 # things like:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
124 # TARGET=513,26
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
125 # PRIMER_FIRST_BASE_INDEX=1
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
126 # PRIMER_LEFT=484,20
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
127 return $self;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
128 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
129
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
130
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
131 =head2 seq()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
132
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
133 Title : seq()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
134 Usage : $seq = $primer->seq();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
135 Function: Return the _entire_ sequence associated with this Primer.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
136 Returns : A Bio::Seq object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
137 Args : None.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
138 Develper Note: Do you want to be able to set the sequence associated with this
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
139 SeqFeature?
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
140
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
141 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
142
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
143 sub seq {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
144 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
145 return $self->{seq};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
146 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
147
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
148
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
149
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
150 =head2 all_tags()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
151
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
152 Title : all_tags()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
153 Usage : @tags = $primer->all_tags();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
154 Function: Return a list of tag names for this Primer.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
155 Returns : An array of strings representing the names of tags in this Primer
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
156 Args : None.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
157 Notes : When the Bio::SeqFeature::Primer object is created, the user can
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
158 pass in an arbitrary hash containing key->value pairs. This is allowed
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
159 because I didn't want to assume that the user was trying to model a
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
160 primer3 construct.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
161
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
162 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
163
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
164 #'
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
165
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
166 sub all_tags {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
167 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
168 my @tags = sort keys %{$self->{tags}};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
169 return @tags;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
170 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
171
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
172
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
173 =head2 primary_tag()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
174
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
175 Title : primary_tag()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
176 Usage : $tag = $feature->primary_tag();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
177 Function: Returns the string "Primer"
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
178 Returns : A string.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
179 Args : None.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
180
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
181 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
182
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
183 sub primary_tag {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
184 return "Primer";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
185 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
186
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
187 =head2 source_tag()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
188
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
189 Title : source_tag()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
190 Usage : $tag = $feature->source_tag();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
191 Function: Returns the source of this tag.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
192 Returns : A string.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
193 Args : If an argument is provided, the source of this SeqFeature
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
194 is set to that argument.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
195
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
196 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
197
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
198 sub source_tag {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
199 my ($self,$insource) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
200 if ($insource) { $self->{source} = $insource; }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
201 return $self->{source};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
202 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
203
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
204 =head2 has_tag()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
205
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
206 Title : has_tag()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
207 Usage : $true_or_false = $feature->has_tag('MELTING_TEMPERATURE');
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
208 Function: Does this SeqFeature have this tag?
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
209 Returns : TRUE or FALSE
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
210 Args : A string.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
211
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
212 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
213
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
214 sub has_tag {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
215 my ($self,$tagname) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
216 if ($self->{tags}->{$tagname}) { return "TRUE"; }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
217 return { "FALSE" };
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
218 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
219
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
220 =head2 each_tag_value()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
221
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
222 Title : each_tag_value()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
223 Usage : $tag = $feature->each_tag_value('MELTING_TEMPERATURE');
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
224 Function: Returns the value of this tag.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
225 Returns : Unknown. Whatever the value of the given tag was.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
226 Args : None.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
227
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
228 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
229
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
230 sub each_tag_value {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
231 my ($self,$tagname) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
232 return $self->{tags}->{$tagname};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
233 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
234
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
235 =head2 location()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
236
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
237 Title : location()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
238 Usage : $tag = $feature->location();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
239 Function: returns a location object suitable for identifying location of
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
240 feature on sequence or parent feature
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
241 Returns : a bio::locationi object.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
242 Args : none.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
243 Developer Notes: Chad has no idea how to implement this at this time.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
244
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
245 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
246
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
247 sub location {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
248 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
249 $self->warn("Chad has not written the code for this yet.");
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
250 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
251
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
252 =head2 start()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
253
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
254 Title : start()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
255 Usage : $start_position = $feature->start($new_position);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
256 Function: Return the start position of this Primer.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
257 Returns : The start position of this Primer.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
258 Args : If an argument is provided, the start position of this
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
259 Primer is set to that position.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
260
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
261 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
262
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
263 sub start {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
264 my ($self,$new_position) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
265 if ($new_position) { $self->{start_position} = $new_position; }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
266 return $self->{start_position};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
267 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
268
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
269 =head2 end()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
270
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
271 Title : end()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
272 Usage : $end_position = $feature->end($new_position);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
273 Function: Return the end position of this Primer.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
274 Returns : The end position of this Primer.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
275 Args : If an argument is provided, the end position of this
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
276 Primer is set to that position.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
277
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
278 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
279
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
280 sub end {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
281 my ($self,$new_position) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
282 if ($new_position) { $self->{end_position} = $new_position; }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
283 return $self->{end_position};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
284 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
285
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
286 =head2 strand()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
287
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
288 Title : strand()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
289 Usage :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
290 Function:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
291 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
292 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
293 Developer Notes: Chad has no idea how to implement this at this time.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
294
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
295 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
296
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
297 sub strand {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
298 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
299 $self->warn("Chad has not implemented this method at this time.");
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
300 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
301
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
302 =head2 display_id()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
303
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
304 Title : display_id()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
305 Usage : $id = $feature->display_id($new_id)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
306 Function: Returns the display ID for this Primer feature
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
307 Returns : A scalar.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
308 Args : If an argument is provided, the display_id of this Primer is
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
309 set to that value.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
310
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
311 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
312
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
313 sub display_id {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
314 my ($self,$newid) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
315 if ($newid) { $self->seq()->display_id($newid); }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
316 return $self->seq()->display_id();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
317 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
318
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
319
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
320 1;