0
|
1 =head1 LICENSE
|
|
2
|
|
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
|
|
4 Genome Research Limited. All rights reserved.
|
|
5
|
|
6 This software is distributed under a modified Apache license.
|
|
7 For license details, please see
|
|
8
|
|
9 http://www.ensembl.org/info/about/code_licence.html
|
|
10
|
|
11 =head1 CONTACT
|
|
12
|
|
13 Please email comments or questions to the public Ensembl
|
|
14 developers list at <dev@ensembl.org>.
|
|
15
|
|
16 Questions may also be sent to the Ensembl help desk at
|
|
17 <helpdesk@ensembl.org>.
|
|
18
|
|
19 =cut
|
|
20
|
|
21 package Bio::EnsEMBL::RepeatConsensus;
|
|
22
|
|
23 use strict;
|
|
24
|
|
25 use Bio::EnsEMBL::Storable;
|
|
26 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
|
|
27 use Scalar::Util qw(weaken isweak);
|
|
28
|
|
29 use vars qw(@ISA);
|
|
30 @ISA = qw(Bio::EnsEMBL::Storable);
|
|
31
|
|
32
|
|
33 =head2 new
|
|
34
|
|
35 Arg [NAME] : string (optional)
|
|
36 The name of this repeat consensus
|
|
37 Arg [LENGTH]: int (optional)
|
|
38 The length of the repeat consensus sequence
|
|
39 Arg [REPEAT_CLASS]: string (optional)
|
|
40 The type of repeat consensus
|
|
41 Arg [REPEAT_CONSENSUS]: string (optional)
|
|
42 The sequence of this repeat consensus
|
|
43 Arg [REPEAT_TYPE]: string
|
|
44 Its like class only more general
|
|
45 Arg [...]: Named arguments to superclass constructor
|
|
46 (see Bio::EnsEMBL::Storable)
|
|
47 Example : $rc = Bio::EnsEMBL::RepeatConsensus->new
|
|
48 (-REPEAT_CONSENSUS => 'AATG'
|
|
49 -NAME => '(AATG)n',
|
|
50 -REPEAT_CLASS => 'Simple_repeat',
|
|
51 -LENGTH => '4',
|
|
52 -DBID => 1023,
|
|
53 -ADAPTOR => $rc_adaptor);
|
|
54 Description: Creates a new Bio::EnsEMBL::RepeatConsensus object
|
|
55 Returntype : Bio::EnsEMBL::RepeatConsensus
|
|
56 Exceptions : none
|
|
57 Caller : RepeatFeatureAdaptors
|
|
58 Status : Stable
|
|
59
|
|
60 =cut
|
|
61
|
|
62 sub new {
|
|
63 my $caller = shift;
|
|
64
|
|
65 my $class = ref($caller) || $caller;
|
|
66
|
|
67 my $self = $class->SUPER::new(@_);
|
|
68
|
|
69 my ($name, $length, $repeat_class, $repeat_consensus, $repeat_type ) =
|
|
70 rearrange(['NAME', 'LENGTH', 'REPEAT_CLASS', 'REPEAT_CONSENSUS', 'REPEAT_TYPE'], @_);
|
|
71
|
|
72 $self->{'name'} = $name;
|
|
73 $self->{'length'} = $length;
|
|
74 $self->{'repeat_class'} = $repeat_class;
|
|
75 $self->{'repeat_consensus'} = $repeat_consensus;
|
|
76 $self->{'repeat_type'} = $repeat_type;
|
|
77
|
|
78 return $self;
|
|
79 }
|
|
80
|
|
81
|
|
82 =head2 new_fast
|
|
83
|
|
84 Arg [1] : hashref to bless as a new RepeatConsensus
|
|
85
|
|
86 Description: Creates a new Bio::EnsEMBL::RepeatConsensus object
|
|
87 Returntype : Bio::EnsEMBL::RepeatConsensus
|
|
88 Exceptions : none
|
|
89 Caller : internal
|
|
90 Status : Stable
|
|
91
|
|
92 =cut
|
|
93
|
|
94 sub new_fast {
|
|
95 my $class = shift;
|
|
96 my $hashref = shift;
|
|
97 my $self = bless $hashref, $class;
|
|
98 weaken($self->{adaptor}) if ( ! isweak($self->{adaptor}) );
|
|
99 return $self;
|
|
100 }
|
|
101
|
|
102
|
|
103 =head2 name
|
|
104
|
|
105 Arg [1] : string $name (optional)
|
|
106 Example : $name = $repeat_consensus->name()
|
|
107 Description: Getter/Setter for the name of this repeat_consensus
|
|
108 Returntype : string
|
|
109 Exceptions : none
|
|
110 Caller : general
|
|
111 Status : Stable
|
|
112
|
|
113 =cut
|
|
114
|
|
115 sub name {
|
|
116 my $self = shift;
|
|
117 $self->{'name'} = shift if(@_);
|
|
118 return $self->{'name'};
|
|
119 }
|
|
120
|
|
121
|
|
122 =head2 length
|
|
123
|
|
124 Arg [1] : int $length (optional)
|
|
125 Example : $length = $repeat_consensus->length()
|
|
126 Description: Getter/Setter for the length of this repeat_consensus
|
|
127 Returntype : int
|
|
128 Exceptions : none
|
|
129 Caller : general
|
|
130 Status : Stable
|
|
131
|
|
132 =cut
|
|
133
|
|
134 sub length {
|
|
135 my $self = shift;
|
|
136 $self->{'length'} = shift if(@_);
|
|
137 return $self->{'length'};
|
|
138 }
|
|
139
|
|
140
|
|
141 =head2 repeat_class
|
|
142
|
|
143 Arg [1] : string $class (optional)
|
|
144 The class of
|
|
145 Example : $class = $repeat_consensus->repeat_class()
|
|
146 Description: Getter/Setter for the class of this repeat_consensus
|
|
147 Returntype : string
|
|
148 Exceptions : none
|
|
149 Caller : general
|
|
150 Status : Stable
|
|
151
|
|
152 =cut
|
|
153
|
|
154 sub repeat_class {
|
|
155 my $self = shift;
|
|
156 $self->{'repeat_class'} = shift if(@_);
|
|
157 return $self->{'repeat_class'};
|
|
158 }
|
|
159
|
|
160 =head2 repeat_type
|
|
161
|
|
162 Arg [1] : string $type (optional)
|
|
163 The type of the consensus
|
|
164 Example : $type = $repeat_consensus->repeat_type()
|
|
165 Description: Getter/Setter for the type of this repeat_consensus
|
|
166 Returntype : string
|
|
167 Exceptions : none
|
|
168 Caller : general
|
|
169
|
|
170 =cut
|
|
171
|
|
172 sub repeat_type {
|
|
173 my $self = shift;
|
|
174 $self->{'repeat_type'} = shift if(@_);
|
|
175 return $self->{'repeat_type'};
|
|
176 }
|
|
177
|
|
178
|
|
179 =head2 desc
|
|
180
|
|
181 Arg [1] : none
|
|
182 Example : $desc = $repeat_consensus->desc()
|
|
183 Description: Getter for the description of this repeat consensus as extracted
|
|
184 from the repeat_class. This method is probably useless.
|
|
185 Returntype : string
|
|
186 Exceptions : none
|
|
187 Caller : general
|
|
188 Status : Medium risk
|
|
189
|
|
190 =cut
|
|
191
|
|
192 sub desc {
|
|
193 my $self = shift;
|
|
194 my $class = $self->repeat_class or return;
|
|
195 return "class=$class";
|
|
196 }
|
|
197
|
|
198
|
|
199
|
|
200 =head2 repeat_consensus
|
|
201
|
|
202 Arg [1] : string $consensus_seq (optional)
|
|
203 The sequence of this repeat consensus
|
|
204 Example : $consensus = $repeat_consensus->repeat_consensus();
|
|
205 Description: Getter/Setter for the sequence of this repeat_consensus.
|
|
206 Returntype : string
|
|
207 Exceptions : none
|
|
208 Caller : general
|
|
209
|
|
210 =cut
|
|
211
|
|
212 sub repeat_consensus {
|
|
213 my $self = shift;
|
|
214 $self->{'repeat_consensus'} = shift if(@_);
|
|
215 return $self->{'repeat_consensus'};
|
|
216 }
|
|
217
|
|
218
|
|
219
|
|
220 =head2 seq
|
|
221
|
|
222 Arg [1] : none
|
|
223 Example : none
|
|
224 Description: Returns the repeat consensus. This method is useless - Use
|
|
225 repeat_consensus() instead.
|
|
226 Returntype : string
|
|
227 Exceptions : none
|
|
228 Caller : general
|
|
229 Status : Stable
|
|
230
|
|
231 =cut
|
|
232
|
|
233 sub seq {
|
|
234 my( $self ) = @_;
|
|
235 return $self->repeat_consensus;
|
|
236 }
|
|
237
|
|
238 1;
|
|
239
|
|
240 __END__
|
|
241
|
|
242 =head1 NAME - Bio::EnsEMBL::RepeatConsensus
|
|
243
|
|
244 =head1 DESCRIPTION
|
|
245
|
|
246 This object represents an entry in the
|
|
247 repeat_consensus table.
|
|
248
|
|
249 It can contain the consensus sequence for a
|
|
250 repeat such as a particular Alu, or "cag" for a
|
|
251 simple triplet repeat.
|
|
252
|
|
253 =head1 AUTHOR
|
|
254
|
|
255 James Gilbert B<email> jgrg@sanger.ac.uk
|
|
256
|