annotate variant_effect_predictor/Bio/EnsEMBL/Compara/DnaFragRegion.pm @ 1:d6778b5d8382 draft default tip

Deleted selected files
author willmclaren
date Fri, 03 Aug 2012 10:05:43 -0400
parents 21066c0abaf5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1 =head1 LICENSE
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 Genome Research Limited. All rights reserved.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 This software is distributed under a modified Apache license.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 For license details, please see
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 http://www.ensembl.org/info/about/code_licence.html
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 =head1 CONTACT
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13 Please email comments or questions to the public Ensembl
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14 developers list at <dev@ensembl.org>.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16 Questions may also be sent to the Ensembl help desk at
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 <helpdesk@ensembl.org>.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 Bio::EnsEMBL::Compara::DnaFragRegion - dnafrag region on one species
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25 my $slice = $dnafrag_region->slice;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 my $dnafrag = $dnafrag_region->dnafrag;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 my $genome_db = $dnafrag_region->genome_db;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 my $dnafrag_start = $dnafrag_region->dnafrag_start;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29 my $dnafrag_end = $dnafrag_region->dnafrag_end;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 my $dnafrag_strand = $dnafrag_region->dnafrag_strand;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 my $length = $dnafrag_region->length;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 DnaFragRegion are the objects underlying the SyntenyRegion objects. Each synteny is
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 represented as a Bio::EnsEMBL::Compara::SyntenyRegion object. Each of these objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 contain one Bio::EnsEMBL::Compara::DnaFragRegion object per region which defines the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38 synteny. For instance, for a syntenic region between human and mouse, there will be
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 one DnaFragRegion object for the human region and another one for the mouse one.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41 =head1 OBJECT ATTRIBUTES
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43 =over
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 =item adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47 Bio::EnsEMBL::Compara::DBSQL::DnaFragRegionAdaptor object to access DB
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 =item synteny_region_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 corresponds to dnafrag.synteny_region_id (external ref.)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 =item dnafrag_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 corresponds to dnafrag.dnafrag_id (external ref.)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 =item dnafrag
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 Bio::EnsEMBL::Compara::DnaFrag object corresponding to dnafrag_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61 =item dnafrag_start
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63 corresponds to dnafrag_region.dnafrag_start
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 =item dnafrag_end
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67 corresponds to dnafrag_region.dnafrag_end
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 =item dnafrag_strand
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 corresponds to dnafrag_region.dnafrag_strand
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 =back
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 package Bio::EnsEMBL::Compara::DnaFragRegion;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 use Bio::EnsEMBL::Utils::Argument;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 use Bio::EnsEMBL::Utils::Exception;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 #use Bio::EnsEMBL::Compara::NestedSet;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 #our @ISA = qw(Bio::EnsEMBL::Compara::NestedSet);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 =head2 new_fast
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 Arg : possible keys: ADAPTOR, SYNTENY_REGION_ID, DNAFRAG_ID,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 DNAFRAG_START, DNAFRAG_END, DNAFRAG_STRAND
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 See also parent object: Bio::EnsEMBL::Compara::NestedSet
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 Example : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 Description : Object constructor.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 Returntype : Bio::EnsEMBL::Compara::DnaFragRegion object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106 my ($class, @args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 # my $self = $class->SUPER::new(@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 my $self = bless {}, $class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110 if (scalar @args) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 #do this explicitly.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112 my ($adaptor, $synteny_region_id, $dnafrag_id, $dnafrag_start, $dnafrag_end, $dnafrag_strand) = rearrange([qw(ADAPTOR SYNTENY_REGION_ID DNAFRAG_ID DNAFRAG_START DNAFRAG_END DNAFRAG_STRAND)], @args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 $adaptor && $self->adaptor($adaptor);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 $synteny_region_id && $self->synteny_region_id($synteny_region_id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 $dnafrag_id && $self->dnafrag_id($dnafrag_id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 $dnafrag_start && $self->dnafrag_start($dnafrag_start);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 $dnafrag_end && $self->dnafrag_end($dnafrag_end);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 $dnafrag_strand && $self->dnafrag_strand($dnafrag_strand);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126 =head2 new_fast
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128 Arg 1 : hash reference $hashref
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 Example : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 Description : This is an ultra fast constructor which requires knowledge of
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 the objects internals to be used.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 Returntype : Bio::EnsEMBL::Compara::DnaFragRegion object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 sub new_fast {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139 my ($class, $hashref) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 return bless $hashref, $class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145 =head2 synteny_region_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147 Arg 1 : (optional) integer $synteny_region_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 Example : my $synteny_region_id = $dnafrag->synteny_region_id;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149 Description : Getter/setter for the synteny_region_id attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 Returntype : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156 sub synteny_region_id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 my $obj = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 if (@_) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 my $value = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161 $obj->{'synteny_region_id'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 return $obj->{'synteny_region_id'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 =head2 dnafrag_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 Arg 1 : (optional) integer $dnafrag_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171 Example : my $dnafrag_id = $dnafrag->dnafrag_id;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 Description : Getter/setter for the dnafrag_id attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173 Returntype : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 sub dnafrag_id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180 my $obj = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 if (@_) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 my $value = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 $obj->{'dnafrag_id'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187 return $obj->{'dnafrag_id'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 =head2 dnafrag_start
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 Arg 1 : (optional) integer $dnafrag_start
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 Example : my $dnafrag_start = $dnafrag->dnafrag_start;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195 Description : Getter/setter for the dnafrag_start attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196 Returntype : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 sub dnafrag_start {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203 my $obj = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 if (@_) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 my $value = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 $obj->{'dnafrag_start'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 return $obj->{'dnafrag_start'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214 =head2 dnafrag_end
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 Arg 1 : (optional) integer $dnafrag_end
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217 Example : my $dnafrag_end = $dnafrag->dnafrag_end;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218 Description : Getter/setter for the dnafrag_end attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 Returntype : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225 sub dnafrag_end {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226 my $obj = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228 if (@_) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 my $value = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230 $obj->{'dnafrag_end'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233 return $obj->{'dnafrag_end'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237 =head2 dnafrag_strand
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239 Arg 1 : (optional) integer $dnafrag_strand
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240 Example : my $dnafrag_strand = $dnafrag->dnafrag_strand;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 Description : Getter/setter for the dnafrag_strand attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242 Returntype : integer (1 or -1)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248 sub dnafrag_strand {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249 my $obj = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251 if (@_) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252 my $value = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253 $obj->{'dnafrag_strand'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 return $obj->{'dnafrag_strand'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260 =head2 adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262 Arg 1 : (optional) Bio::EnsEMBL::Compara::DBSQL::DnaFragRegioAdaptor $adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263 Example : my $adaptor = $dnafrag->adaptor;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264 Description : Getter/setter for the corresponding
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265 Bio::EnsEMBL::Compara::DBSQL::DnaFragRegioAdaptor object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266 Returntype : Bio::EnsEMBL::Compara::DBSQL::DnaFragRegioAdaptor object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272 sub adaptor {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 my $obj = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275 if (@_) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276 my $value = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277 $obj->{'adaptor'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280 return $obj->{'adaptor'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
281 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
282
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
283
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
284 =head2 dnafrag
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
285
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
286 Arg 1 : (optional) Bio::EnsEMBL::Compara::DnaFrag object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
287 Example : $dnafrag = $dnafragregion->dnafrag;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
288 Description : Getter/setter for the Bio::EnsEMBL::Compara::DnaFrag object corresponding to this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
289 Bio::EnsEMBL::Compara::DnaFragRegion object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
290 Returntype : Bio::EnsEMBL::Compara::Dnafrag object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
291 Exceptions : warns when the corresponding Bio::EnsEMBL::Compara::GenomeDB,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
292 coord_system_name, name or Bio::EnsEMBL::DBSQL::DBAdaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
293 cannot be retrieved and returns undef.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
294 Caller : $object->methodname
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
295
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
296 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
297
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
298 sub dnafrag {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
299 my ($self) = shift @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
300
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
301 if (@_) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
302 $self->{'_dnafrag'} = shift @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
303 } elsif (!defined $self->{'_dnafrag'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
304 if (!defined($self->dnafrag_id)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
305 warn "Cannot get the Bio::EnsEMBL::Compara::DnaFrag object without dbID";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
306 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
307 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
308 my $dfa = $self->adaptor->db->get_DnaFragAdaptor;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
309 if (!defined($dfa)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
310 warn "Cannot get the Bio::EnsEMBL::Compara::DBSQL::DnaFragAdaptor";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
311 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
312 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
313 $self->{'_dnafrag'} = $dfa->fetch_by_dbID($self->dnafrag_id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
314 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
315 return $self->{'_dnafrag'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
316 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
317
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
318
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
319 =head2 slice
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
320
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
321 Arg 1 : -none-
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
322 Example : $slice = $dnafragregion->slice;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
323 Description : Returns the Bio::EnsEMBL::Slice object corresponding to this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
324 Bio::EnsEMBL::Compara::DnaFrag object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
325 Returntype : Bio::EnsEMBL::Slice object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
326 Exceptions : warns when the corresponding Bio::EnsEMBL::Compara::GenomeDB,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
327 coord_system_name, name or Bio::EnsEMBL::DBSQL::DBAdaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
328 cannot be retrieved and returns undef.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
329 Caller : $object->methodname
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
330
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
331 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
332
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
333 sub slice {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
334 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
335
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
336 unless (defined $self->{'_slice'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
337 if (!defined($self->dnafrag->genome_db)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
338 warn "Cannot get the Bio::EnsEMBL::Compara::GenomeDB object corresponding to [".$self."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
339 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
340 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
341 if (!defined($self->dnafrag->coord_system_name)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
342 warn "Cannot get the coord_system_name corresponding to [".$self."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
343 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
344 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
345 if (!defined($self->dnafrag->name)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
346 warn "Cannot get the name corresponding to [".$self."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
347 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
348 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
349 my $dba = $self->dnafrag->genome_db->db_adaptor;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
350 if (!defined($dba)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
351 warn "Cannot get the Bio::EnsEMBL::DBSQL::DBAdaptor corresponding to [".$self->dnafrag->genome_db."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
352 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
353 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
354 $self->{'_slice'} = $dba->get_SliceAdaptor->fetch_by_region($self->dnafrag->coord_system_name, $self->dnafrag->name,$self->dnafrag_start, $self->dnafrag_end, $self->dnafrag_strand);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
355 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
356
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
357 return $self->{'_slice'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
358 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
359
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
360
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
361 =head2 genome_db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
362
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
363 Arg 1 : -none-
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
364 Example : $genome_db = $dnafragregion->genome_db;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
365 Description : Returns the Bio::EnsEMBL::Compara::GenomeDB object corresponding to this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
366 Bio::EnsEMBL::Compara::DnaFragRegion object. This method is a shortcut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
367 for $dnafragregion->dnafrag->genome_db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
368 Returntype : Bio::EnsEMBL::Compara::GenomeDB object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
369 Exceptions : return undef if no dnafrag can be found for this DnaFragRegion object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
370 See dnafrag method elsewhere in this document.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
371 Caller : $object->methodname
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
372
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
373 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
374
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
375 sub genome_db {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
376 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
377
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
378 if ($self->dnafrag) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
379 return $self->dnafrag->genome_db;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
380 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
381
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
382 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
383 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
384
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
385
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
386 =head2 length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
387
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
388 Arg 1 : -none-
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
389 Example : $length = $dnafragregion->length;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
390 Description : Returns the lenght of this DnaFragRegion
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
391 Returntype : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
392 Exceptions :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
393 Caller : $object->methodname
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
394
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
395 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
396
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
397 sub length {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
398 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
399
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
400 return $self->dnafrag_end - $self->dnafrag_start + 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
401 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
402
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
403 1;