annotate variant_effect_predictor/Bio/EnsEMBL/Operon.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 Copyright (c) 1999-2012 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 developers list at <dev@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 Bio::EnsEMBL::Operon - Object representing an operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 my $operon = Bio::EnsEMBL::Operon->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 -START => 123,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 -END => 1045,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 -STRAND => 1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 -SLICE => $slice,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 -DISPLAY_LABEL => $name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 # print operon information
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 print("operon start:end:strand is "
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 . join( ":", map { $operon->$_ } qw(start end strand) )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 . "\n" );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 A representation of an Operon within the Ensembl system.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 An operon is a collection of one or more polycistronic transcripts which contain one or more genes.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 package Bio::EnsEMBL::Operon;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 use Bio::EnsEMBL::Feature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 use Bio::EnsEMBL::Utils::Exception qw(throw warning deprecate);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 use Bio::EnsEMBL::Utils::Scalar qw(assert_ref);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 @ISA = qw(Bio::EnsEMBL::Feature);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 Arg [-START] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 int - start postion of the operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 Arg [-END] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 int - end position of the operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 Arg [-STRAND] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 int - 1,-1 the strand the operon is on
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 Arg [-SLICE] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 Bio::EnsEMBL::Slice - the slice the operon is on
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 Arg [-STABLE_ID] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 string - the stable identifier of this operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 Arg [-VERSION] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 int - the version of the stable identifier of this operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 Arg [-DISPLAY_LABEL]:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 A name/label for this operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 Arg [-CREATED_DATE]:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 string - the date the operon was created
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Arg [-MODIFIED_DATE]:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 string - the date the operon was last modified
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Example : $gene = Bio::EnsEMBL::Operon->new(...);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Description: Creates a new operon object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 Returntype : Bio::EnsEMBL::Operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 my $self = $class->SUPER::new(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 my ( $stable_id, $version, $created_date, $modified_date,$display_label) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 rearrange( [ 'STABLE_ID', 'VERSION',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 'CREATED_DATE', 'MODIFIED_DATE',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 'DISPLAY_LABEL' ],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 @_ );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 $self->stable_id($stable_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 $self->version($version);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 $self->{'created_date'} = $created_date;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 $self->{'modified_date'} = $modified_date;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 $self->display_label($display_label);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 =head2 created_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 Arg [1] : (optional) String - created date to set (as a UNIX time int)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 Example : $gene->created_date('1141948800');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 Description: Getter/setter for attribute created_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 sub created_date {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 $self->{'created_date'} = shift if ( @_ );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 return $self->{'created_date'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 =head2 modified_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 Arg [1] : (optional) String - modified date to set (as a UNIX time int)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 Example : $gene->modified_date('1141948800');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 Description: Getter/setter for attribute modified_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 Status : Stable
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 sub modified_date {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 $self->{'modified_date'} = shift if ( @_ );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 return $self->{'modified_date'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 =head2 display_label
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 Arg [1] : (optional) String - the name/label to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 Example : $operon->name('accBCD');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 Description: Getter/setter for attribute name.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 Returntype : String or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 sub display_label {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 $self->{'display_label'} = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 return $self->{'display_label'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 =head2 stable_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 Arg [1] : (optional) String - the stable ID to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 Example : $operon->stable_id("accR2");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 Description: Getter/setter for stable id for this operon.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 sub stable_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 $self->{'stable_id'} = shift if (@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 return $self->{'stable_id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 =head2 version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 Arg [1] : (optional) Int - the stable ID version to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 Example : $operon->version(1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 Description: Getter/setter for stable id version for this operon.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 Returntype : Int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 sub version {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 $self->{'version'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 return $self->{'version'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 =head2 get_all_OperonTranscripts
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 Example : my $ots = $operon->get_all_OperonTranscripts();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 Description: Retrieve all operon transcripts belonging to this operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 Returntype : Arrayref of Bio::EnsEMBL::OperonTranscript
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 sub get_all_OperonTranscripts {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 if ( !exists $self->{'_operon_transcript_array'} ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 if ( defined $self->adaptor() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 my $ta = $self->adaptor()->db()->get_OperonTranscriptAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 my $transcripts = $ta->fetch_all_by_Operon($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 $self->{'_operon_transcript_array'} = $transcripts;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 return $self->{'_operon_transcript_array'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 =head2 add_OperonTranscript
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 Arg [1] : Bio::EnsEMBL::OperonTranscript - operon transcript to attach to this operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 Example : $operon->add_OperonTranscript($ot);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 Description: Attach a polycistronic operon transcript to this operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 Exceptions : if argument is not Bio::EnsEMBL::OperonTranscript
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 sub add_OperonTranscript {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 my ( $self, $trans ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 assert_ref($trans,"Bio::EnsEMBL::OperonTranscript");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 $self->{'_operon_transcript_array'} ||= [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 push( @{ $self->{'_operon_transcript_array'} }, $trans );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 #$self->recalculate_coordinates();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 =head2 add_DBEntry
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 Arg [1] : Bio::EnsEMBL::DBEntry $dbe
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 The dbEntry to be added
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 Example : my $dbe = Bio::EnsEMBL::DBEntery->new(...);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 $operon->add_DBEntry($dbe);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 Description: Associates a DBEntry with this operon. Note that adding DBEntries
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 will prevent future lazy-loading of DBEntries for this operon
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 (see get_all_DBEntries).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 Exceptions : thrown on incorrect argument type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 sub add_DBEntry {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 my $dbe = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 unless($dbe && ref($dbe) && $dbe->isa('Bio::EnsEMBL::DBEntry')) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 throw('Expected DBEntry argument');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 $self->{'dbentries'} ||= [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 push @{$self->{'dbentries'}}, $dbe;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 =head2 get_all_Attributes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 Arg [1] : (optional) String $attrib_code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 The code of the attribute type to retrieve values for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281 Example : my ($author) = @{ $operon->get_all_Attributes('author') };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 my @operon_attributes = @{ $operon->get_all_Attributes };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 Description: Gets a list of Attributes of this operon.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 Optionally just get Attributes for given code.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 Returntype : Listref of Bio::EnsEMBL::Attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 Exceptions : warning if gene does not have attached adaptor and attempts lazy
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 load.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 sub get_all_Attributes {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 my $attrib_code = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 if ( !exists $self->{'attributes'} ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 if ( !$self->adaptor() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 return [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 my $attribute_adaptor = $self->adaptor->db->get_AttributeAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 $self->{'attributes'} = $attribute_adaptor->fetch_all_by_Operon($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 if ( defined $attrib_code ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 my @results =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 grep { uc( $_->code() ) eq uc($attrib_code) }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 @{ $self->{'attributes'} };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 return \@results;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 return $self->{'attributes'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 =head2 get_all_DBEntries
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 Arg [1] : (optional) String, external database name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 Arg [2] : (optional) String, external_db type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 Example : @dbentries = @{ $gene->get_all_DBEntries() };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324 Description: Retrieves DBEntries (xrefs) for this operon. This does
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 *not* include DBEntries that are associated with the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 transcripts and corresponding translations of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 gene (see get_all_DBLinks()).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 This method will attempt to lazy-load DBEntries
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 from a database if an adaptor is available and no
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 DBEntries are present on the gene (i.e. they have not
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 already been added or loaded).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 Return type: Listref of Bio::EnsEMBL::DBEntry objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 Caller : get_all_DBLinks, OperonAdaptor::store
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 Status : Stable
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 get_all_DBEntries {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342 my ( $self, $db_name_exp, $ex_db_type ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 my $cache_name = 'dbentries';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 if ( defined($db_name_exp) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 $cache_name .= $db_name_exp;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350 if ( defined($ex_db_type) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 $cache_name .= $ex_db_type;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 # if not cached, retrieve all of the xrefs for this gene
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 if ( !defined( $self->{$cache_name} ) && defined( $self->adaptor() ) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 $self->{$cache_name} =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 $self->adaptor()->db()->get_DBEntryAdaptor()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 ->fetch_all_by_Operon( $self, $db_name_exp, $ex_db_type );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361 $self->{$cache_name} ||= [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 return $self->{$cache_name};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367