annotate variant_effect_predictor/Bio/Map/Microsatellite.pm @ 2:a5976b2dce6f

changing defualt values for ensembl database
author mahtabm
date Thu, 11 Apr 2013 17:15:42 +1000
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 # BioPerl module for Bio::Map::Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # Cared for by Chad Matsalla <bioinformatics1@dieselwurks.com>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Copyright Chad Matsalla
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # You may distribute this module under the same terms as perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 # POD documentation - main docs before the code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 Bio::Map::Microsatellite - An object representing a Microsatellite marker.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 $o_usat = new Bio::Map::Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 (-name=>'Chad Super Marker 2',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 -sequence => 'gctgactgatcatatatatatatatatatatatatatatatcgcgatcgtga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 -motif => 'at',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 -repeats => 15,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 -repeat_start_position => 11
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 $sequence_before_usat = $o_usat->get_leading_flank();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 $sequence_after_usat = $o_usat->get_trailing_flank();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 This object handles the notion of an Microsatellite. This microsatellite can
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 be placed on a (linear) Map or used on its own. If this Microsatellites
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 will be used in a mapping context (it doesn't have to, you know) it can have
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 multiple positions in a map. For information about a Microsatellite's position
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 in a map one must query the associate PositionI object which is accessible
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 through the position() method.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 Bioperl modules. Send your comments and suggestions preferably to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 the Bioperl mailing list. Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 http://bioperl.org/MailList.shtml - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 Report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 of the bugs and their resolution. Bug reports can be submitted via
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 email or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 bioperl-bugs@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 =head1 AUTHOR - Chad Matsalla
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 Email bioinformatics1@dieselwurks.com
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 =head1 CONTRIBUTORS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 Heikki Lehvaslaiho heikki@ebi.ac.uk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 Lincoln Stein lstein@cshl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 Jason Stajich jason@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 The rest of the documentation details each of the object methods.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 package Bio::Map::Microsatellite;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 use Bio::Root::Root;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 use Bio::Map::Marker;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 @ISA = qw(Bio::Map::Marker);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 Title : new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 Usage : $o_usat =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 Function: Builds a new Bio::Map::Microsatellite object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 Returns : Bio::Map::Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 -name => name of this microsatellite (optional, string,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 default 'Unknown microsatellite')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 -positions => position(s) for this marker in maps[optional],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 An array reference of tuples (array refs themselves)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 Each tuple conatins a Bio::Map::MapI-inherited object and a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 Bio::Map::PositionI-inherited obj, no default)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 -sequence => the sequence of this microsatellite (optional,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 scalar, no default)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 -motif => the repeat motif of this microsatellite (optional,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 scalar, no default)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 -repeats => the number of motif repeats for this microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 (optional, scalar, no default)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 -repeat_start_position => the starting position of the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 microsatellite in this sequence. The first base of the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 sequence is position "1". (optional, scalar, no default)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 Note : Creating a Bio::Map::Microsatellite object with no position
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 might be useful for microsatellite people wanting to embrace
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 and extend this module. <raising hand> Me! Me! Me!
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 - using repeat_start_position will trigger a mechinism to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 calculate a value for repeat_end_position.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 my ($class,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 my $self = $class->SUPER::new(@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 my ($map, $position, $sequence, $motif, $repeats, $start) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 $self->_rearrange([qw(MAP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 POSITION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 SEQUENCE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 MOTIF
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 REPEATS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 REPEAT_START_POSITION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 )], @args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 if( ! $self->name ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 $self->name('Unnamed microsatellite');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 $map && $self->map($map);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 $position && $self->position($position);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 $sequence && $self->sequence($sequence);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 $self->motif(defined $motif ? $motif : 'Unknown motif');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 $repeats && $self->repeats($repeats);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 $start && $self->repeat_start_position($start);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 =head2 Bio::Map::Marker methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 =head2 position
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Title : position
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Usage : my $position = $mappable->position($map); OR
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 $mappable->position($map,$position); OR
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 Function: Get/Set the Bio::Map::PositionI for a mappable element
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 in a specific Map
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 Returns : Bio::Map::PositionI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 Args : $map =Bio::Map::MapI # Map we are talking about
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 $position = Bio::Map::PositionI # Position we want to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 =head2 name($new_name)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 Title : name($new_name)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Usage : $o_usat->name($new_name) _or_
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 my $name = $o_usat->name()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 Function: Get/Set the name for this Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Returns : A scalar representing the current name of this Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Args : If provided, the current name of this Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 will be set to $new_name.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 =head2 motif($new_motif)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 Title : motif($new_motif)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 Usage : my $motif = $o_usat->motif($new_motif) _or_
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 my $motif = $o_usat->motif()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 Function: Get/Set the repeat motif for this Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 Returns : A scalar representing the current repeat motif of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 Microsatellite.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 Args : If provided, the current repeat motif of this Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 will be set to $new_motif.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 sub motif {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 my ($self,$motif) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 if ($motif) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 $self->{'_motif'} = $motif;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 return $self->{'_motif'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 =head2 sequence($new_sequence)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 Title : sequence($new_sequence)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 Usage : my $sequence = $o_usat->sequence($new_sequence) _or_
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 my $sequence = $o_usat->sequence()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 Function: Get/Set the sequence for this Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 Returns : A scalar representing the current sequence of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 Microsatellite.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 Args : If provided, the current sequence of this Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 will be set to $new_sequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 sub sequence {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 my ($self,$sequence) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 if ($sequence) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 $self->{'_sequence'} = $sequence;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 return $self->{'_sequence'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 =head2 repeats($new_repeats)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 Title : repeats($new_repeats)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 Usage : my $repeats = $o_usat->repeats($new_repeats) _or_
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 my $repeats = $o_usat->repeats()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 Function: Get/Set the repeat repeats for this Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 Returns : A scalar representing the current number of repeats of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 Microsatellite.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 Args : If provided, the current number of repeats of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 Microsatellite will be set to $new_repeats.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 sub repeats {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 my ($self,$repeats) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 if ($repeats) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 $self->{'_repeats'} = $repeats;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 return $self->{'_repeats'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 =head2 repeat_start_position($new_repeat_start_position)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 Title : repeat_start_position($new_repeat_start_position)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 Usage : my $repeat_start_position =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 $o_usat->repeat_start_position($new_repeat_start_position) _or_
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 my $repeat_start_position = $o_usat->repeat_start_position()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 Function: Get/Set the repeat repeat_start_position for this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 Microsatellite
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 Returns : A scalar representing the repeat start position for this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 Microsatellite.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 Args : If provided, the current repeat start position of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 Microsatellite will be set to $new_repeat_start_position.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 This method will also try to set the repeat end position. This
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 depends on having information for the motif and the number of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 repeats. If you want to use methods like get_trailing_flank or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 get_leading flank, be careful to include the right information.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 sub repeat_start_position {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 my ($self,$repeat_start_position) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 if ($repeat_start_position) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 $self->{'_repeat_start_position'} = $repeat_start_position;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 $self->repeat_end_position("set");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 return $self->{'_repeat_start_position'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 =head2 repeat_end_position($value)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 Title : repeat_end_position($set)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 Usage : $new_repeat_end_position =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 $o_usat->repeat_end_position("set"); _or_
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 $new_repeat_end_position =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 $o_usat->repeat_end_position($value); _or_
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 $current_repeat_end_position = $o_usat->repeat_end_position();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 Function: get/set the end position of the repeat in this sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 Returns : A scalar representing the base index of the end of the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 repeat in this Microsatellite. The first base in the sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 is base 1.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 Args : A scalar representing a value, the string "set", or no
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 argument (see Notes).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 Notes : If you do not provide an argument to this method, the current
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 end position of the repeat in this Microsatellite will be
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 returned (a scalar).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 If you provide the string "set" to this method it will set the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 end position based on the start position, the length of the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276 motif, and the nuimber of repeats.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 If you specify a value the current end position of the repeat
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 will be set to that value. This is a really bad idea. Don't do
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 it.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 #'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 sub repeat_end_position {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 my ($self,$caller) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 if( defined $caller ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 if ($caller eq "set") {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 $self->{'_repeat_end_position'} =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 $self->{'_repeat_start_position'} +
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 (length($self->motif()) * $self->repeats());
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 elsif ($caller) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 $self->{'_repeat_end_position'} = $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 return $self->{'_repeat_end_position'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 =head2 equals
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301 Title : equals
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 Usage : if( $mappable->equals($mapable2)) ...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 Function: Test if a position is equal to another position
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 Returns : boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 Args : Bio::Map::MappableI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 sub equals {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 my ($self,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311 $self->warn("equals is not yet implemented in ".
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 ref($self)." yet. Check back real soon!");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315 =head2 less_than
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 Title : less_than
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 Usage : if( $mappable->less_than($m2) ) ...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 Function: Tests if a position is less than another position
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 Returns : boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 Args : Bio::Map::MappableI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 sub less_than {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 my ($self,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 $self->warn("less_then is not yet implemented in ".
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 ref($self)." yet. Check back real soon!");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 =head2 greater_than
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333 Title : greater_than
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 Usage : if( $mappable->greater_than($m2) ) ...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 Function: Tests if position is greater than another position
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 Returns : boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 Args : Bio::Map::MappableI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 sub greater_than {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342 my ($self,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 $self->warn("greater_then is not yet implemented in ".
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 ref($self)." yet. Check back real soon!");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 =head2 get_leading_flank()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349 Title : get_leading_flank()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350 Usage : $leading_sequence = $o_usat->get_leading_flank();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 Returns : A scalar representing the sequence before the repeats in this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 Microsatellite.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 Args : None.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 sub get_leading_flank {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 return substr $self->sequence(),0,$self->repeat_start_position-1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 =head2 get_trailing_flank()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 Title : get_trailing_flank()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366 Usage : $trailing_flank = $o_usat->get_trailing_flank();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 Returns : A scalar representing the sequence after the repeats in this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368 Microsatellite.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 Args : None.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373 sub get_trailing_flank {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375 return substr $self->sequence(),$self->repeat_end_position()-1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381