annotate variant_effect_predictor/Bio/EnsEMBL/Compara/DnaFrag.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::DnaFrag - Defines the DNA sequences used in the database.
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 use Bio::EnsEMBL::Compara::DnaFrag;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 my $dnafrag = new Bio::EnsEMBL::Compara::DnaFrag(
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 -dbID => 1,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 -adaptor => $dnafrag_adaptor,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29 -length => 256,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 -name => "19",
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 -genome_db => $genome_db,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 -coord_system_name => "chromosome"
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 SET VALUES
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 $dnafrag->dbID(1);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38 $dnafrag->adaptor($dnafrag_adaptor);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 $dnafrag->length(256);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 $dnafrag->genome_db($genome_db);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41 $dnafrag->genome_db_id(123);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 $dnafrag->coord_system_name("chromosome");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43 $dnafrag->name("19");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 GET VALUES
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 $dbID = $dnafrag->dbID;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47 $dnafrag_adaptor = $dnafrag->adaptor;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 $length = $dnafrag->length;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 $genome_db = $dnafrag->genome_db;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 $genome_db_id = $dnafrag->genome_db_id;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 $coord_system_name = $dnafrag->coord_system_name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 $name = $dnafrag->name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 The DnaFrag object stores information on the toplevel sequences such as the name, coordinate system, length and species.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 =head1 OBJECT ATTRIBUTES
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 =over
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61 =item dbID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63 corresponds to dnafrag.dnafrag_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 =item adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67 Bio::EnsEMBL::Compara::DBSQL::DnaFragAdaptor object to access DB
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 =item length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 corresponds to dnafrag.length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 =item genome_db_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 corresponds to dnafrag.genome_db_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 =item genome_db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 Bio::EnsEMBL::Compara::GenomeDB object corresponding to genome_db_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81 =item coord_system_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 corresponds to dnafrag.coord_system_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 =item name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 corresponds to dnafrag.name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 =back
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93 The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 # Let the code begin...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 package Bio::EnsEMBL::Compara::DnaFrag;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104 use Bio::EnsEMBL::Utils::Exception qw(deprecate throw);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 use Bio::EnsEMBL::Utils::Argument;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 =head2 new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109 Arg [-DBID] : (opt.) int $dbID (the database internal ID for this object)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110 Arg [-ADAPTOR]
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 : (opt.) Bio::EnsEMBL::Compara::DBSQL::DnaFragAdaptor $adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112 (the adaptor for connecting to the database)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 Arg [-LENGTH]:(opt.) int $length (the length of this dnafrag)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 Arg [-NAME]: (opt.) string $name (the name of this dnafrag)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 Arg [-GENOME_DB]
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 :(opt.) Bio::EnsEMBL::Compara::GenomeDB $genome_db (the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 genome_db object representing the species of this dnafrag)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 Arg [-GENOME_DB_ID]
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 :(opt.) int $genome_db_id (the database internal for the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 genome_db)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121 Arg [-COORD_SYSTEM_NAME]
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 :(opt.) string $coord_system_name (the name of the toplevel
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 coordinate system of the dnafrag eg 'chromosome', 'scaffold')
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 Example : my $dnafrag = new Bio::EnsEMBL::Compara::DnaFrag(
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 -length 247249719,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126 -name "1",
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 -genome_db $genome_db,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128 -coord_system_name "chromosome");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 Example : my $dnafrag = new Bio::EnsEMBL::Compara::DnaFrag(
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 -length 247249719,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 -name "1",
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 -genome_db_id 22,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 -coord_system_name "chromosome");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 Description: Creates a new DnaFrag object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 Returntype : Bio::EnsEMBL::Compara::DnaFrag
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144 my($class,@args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146 my $self = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 bless $self,$class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 # my ($name,$contig,$genomedb,$type,$adaptor,$dbID) =
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151 # rearrange([qw(NAME CONTIG GENOMEDB TYPE ADAPTOR DBID)],@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 # if ( defined $contig) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 # $self->contig($contig);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154 # }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156 my ($dbID, $adaptor, $length, $name, $genome_db, $genome_db_id, $coord_system_name, $is_reference,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 $start, $end, $genomedb, $type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158 ) =
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 rearrange([qw(DBID ADAPTOR LENGTH NAME GENOME_DB GENOME_DB_ID COORD_SYSTEM_NAME IS_REFERENCE
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 START END
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161 )],@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163 $self->dbID($dbID) if (defined($dbID));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 $self->adaptor($adaptor) if (defined($adaptor));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165 $self->length($length) if (defined($length));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166 $self->name($name) if (defined($name));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167 $self->genome_db($genome_db) if (defined($genome_db));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168 $self->genome_db_id($genome_db_id) if (defined($genome_db_id));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169 $self->coord_system_name($coord_system_name) if (defined($coord_system_name));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 $self->is_reference($is_reference) if (defined($is_reference));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 ###################################################################
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173 ## Support for backwards compatibility
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 $self->start($start) if (defined($start));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175 $self->end($end) if (defined($end));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176 ##
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177 ###################################################################
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 =head2 new_fast
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184 Arg [1] : hash reference $hashref
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185 Example : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186 Description: This is an ultra fast constructor which requires knowledge of
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187 the objects internals to be used.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188 Returntype :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 Caller :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195 sub new_fast {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196 my $class = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197 my $hashref = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199 return bless $hashref, $class;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 =head2 dbID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 Arg [1] : int $dbID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 Example : $dbID = $dnafrag->dbID()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 Example : $dnafrag->dbID(1)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 Function : get/set dbID attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208 Returns : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209 Exeption : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 Caller : $object->dbID
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215 sub dbID {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 my ($self, $dbID) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218 if (defined($dbID)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 $self->{'dbID'} = $dbID;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 return $self->{'dbID'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226 =head2 adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228 Arg [1] : Bio::EnsEMBL::Compara::DBSQL::DnaFragAdaptor $dnafrag_adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 Example : $dnafrag_adaptor = $dnafrag->adaptor()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230 Example : $dnafrag->adaptor($dnafrag_adaptor)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 Function : get/set adaptor attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 Returns : Bio::EnsEMBL::Compara::DBSQL::DnaFragAdaptor object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233 Exeption : thrown if argument is not a Bio::EnsEMBL::Compara::DBSQL::DnaFragAdaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234 object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235 Caller : $object->adaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240 sub adaptor {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 my ($self, $adaptor) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243 if (defined($adaptor)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 throw("[$adaptor] must be a Bio::EnsEMBL::Compara::DBSQL::DnaFragAdaptor object")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245 unless ($adaptor->isa("Bio::EnsEMBL::Compara::DBSQL::DnaFragAdaptor"));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 $self->{'adaptor'} = $adaptor;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249 return $self->{'adaptor'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253 =head2 length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255 Arg [1] : int $length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 Example : $length = $dnafrag->length()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257 Example : $dnafrag->length(256)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258 Function : get/set length attribute. Use 0 as argument to reset this attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259 Returns : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260 Exeption : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261 Caller : $object->length
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266 sub length {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 my ($self, $length) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269 if (defined($length)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270 $self->{'length'} = ($length or undef);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 return $self->{'length'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277 =head2 name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279 Arg [1] : string $name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280 Example : $name = $dnafrag->name()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
281 Example : $dnafrag->name("19")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
282 Function : get/set name attribute. Use "" as argument to reset this attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
283 Returns : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
284 Exeption : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
285 Caller : $object->name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
286 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
287
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
288 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
289
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
290 sub name {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
291 my ($self, $name) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
292
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
293 if (defined($name)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
294 $self->{'name'} = ($name or undef);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
295 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
296
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
297 return $self->{'name'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
298 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
299
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
300
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
301 =head2 genome_db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
302
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
303 Arg [1] : Bio::EnsEMBL::Compara::GenomeDB $genome_db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
304 Example : $genome_db = $dnafrag->genome_db()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
305 Example : $dnafrag->genome_db($genome_db)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
306 Function : get/set genome_db attribute. If no argument is given and the genome_db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
307 is not defined, it tries to get the data from other sources like the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
308 database using the genome_db_id.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
309 Returns : Bio::EnsEMBL::Compara::GenomeDB object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
310 Exeption : thrown if argument is not a Bio::EnsEMBL::Compara::GenomeDB
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
311 object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
312 Caller : $object->genome_db
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
313 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
314
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
315 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
316
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
317 sub genome_db {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
318 my ($self, $genome_db) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
319
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
320 if (defined($genome_db)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
321 throw("[$genome_db] must be a Bio::EnsEMBL::Compara::GenomeDB object")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
322 unless ($genome_db and $genome_db->isa("Bio::EnsEMBL::Compara::GenomeDB"));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
323 if ($genome_db->dbID and defined($self->genome_db_id)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
324 throw("dbID of genome_db object does not match previously defined".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
325 " genome_db_id. If you want to override this".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
326 " Bio::EnsEMBL::Compara::GenomeDB object, you can reset the ".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
327 "genome_db_id using \$dnafrag->genome_db_id(0)")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
328 unless ($genome_db->dbID == $self->genome_db_id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
329 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
330 $self->{'genome_db'} = $genome_db;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
331
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
332 } elsif (!defined($self->{'genome_db'})) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
333 # Try to get data from other sources
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
334 if (defined($self->{'genome_db_id'}) and defined($self->{'adaptor'})) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
335 $self->{'genome_db'} =
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
336 $self->{'adaptor'}->db->get_GenomeDBAdaptor->fetch_by_dbID($self->{'genome_db_id'});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
337 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
338 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
339
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
340 return $self->{'genome_db'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
341 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
342
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
343
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
344 =head2 genome_db_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
345
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
346 Arg [1] : int $genome_db_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
347 Example : $genome_db_id = $dnafrag->genome_db_id()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
348 Example : $dnafrag->genome_db_id(123)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
349 Function : get/set genome_db_id attribute. If no argument is given and the genome_db_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
350 is not defined, it tries to get the data from other sources like the
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
351 corresponding Bio::EnsEMBL::Compara::GenomeDB object. Use 0 as argument to
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
352 clear this attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
353 Returns : integer
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
354 Exeption : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
355 Caller : $object->genome_db_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
356 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
357
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
358 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
359
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
360 sub genome_db_id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
361 my ($self, $genome_db_id) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
362
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
363 if (defined($genome_db_id)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
364 if (defined($self->genome_db) and $genome_db_id) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
365 if (defined($self->genome_db->dbID)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
366 throw("genome_db_id does not match previously defined".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
367 " dbID of genome_db object.")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
368 unless ($genome_db_id == $self->genome_db->dbID);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
369 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
370 $self->genome_db->dbID($genome_db_id);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
371 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
372 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
373 $self->{'genome_db_id'} = ($genome_db_id or undef);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
374
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
375 } elsif (!defined($self->{'genome_db_id'})) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
376 # Try to get data from other sources
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
377 if (defined($self->{'genome_db'})) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
378 # From the dbID of the corresponding Bio::EnsEMBL::Compara::GenomeDB object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
379 $self->{'genome_db_id'} = $self->{'genome_db'}->dbID;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
380 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
381 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
382
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
383 return $self->{'genome_db_id'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
384 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
385
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
386
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
387 =head2 coord_system_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
388
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
389 Arg [1] : string $coord_system_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
390 Example : $coord_system_name = $dnafrag->coord_system_name()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
391 Example : $dnafrag->coord_system_name("chromosome")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
392 Function : get/set coord_system_name attribute. Use "" or 0 as argument to
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
393 clear this attribute.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
394 Returns : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
395 Exeption : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
396 Caller : $object->coord_system_name
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
397 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
398
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
399 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
400
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
401 sub coord_system_name {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
402 my ($self, $coord_system_name) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
403
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
404 if (defined($coord_system_name)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
405 $self->{'coord_system_name'} = ($coord_system_name or undef);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
406 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
407
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
408 return $self->{'coord_system_name'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
409 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
410
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
411
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
412 =head2 is_reference
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
413
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
414 Arg [1] : bool $is_reference
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
415 Example : $is_reference = $dnafrag->is_reference()
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
416 Example : $dnafrag->is_reference(1)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
417 Function : get/set is_reference attribute. The default value
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
418 is 1 (TRUE).
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
419 Returns : bool
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
420 Exeption : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
421 Caller : $object->is_reference
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
422 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
423
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
424 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
425
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
426 sub is_reference {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
427 my ($self, $is_reference) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
428
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
429 if (defined($is_reference)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
430 $self->{'is_reference'} = $is_reference;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
431 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
432 if (!defined($self->{'is_reference'})) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
433 $self->{'is_reference'} = 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
434 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
435
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
436 return $self->{'is_reference'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
437 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
438
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
439
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
440 =head2 slice
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
441
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
442 Arg 1 : -none-
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
443 Example : $slice = $dnafrag->slice;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
444 Description: Returns the Bio::EnsEMBL::Slice object corresponding to this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
445 Bio::EnsEMBL::Compara::DnaFrag object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
446 Returntype : Bio::EnsEMBL::Slice object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
447 Exceptions : warns when the corresponding Bio::EnsEMBL::Compara::GenomeDB,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
448 coord_system_name, name or Bio::EnsEMBL::DBSQL::DBAdaptor
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
449 cannot be retrieved and returns undef.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
450 Caller : $object->methodname
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
451 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
452
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
453 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
454
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
455 sub slice {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
456 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
457
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
458 unless (defined $self->{'_slice'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
459 if (!defined($self->genome_db)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
460 warn "Cannot get the Bio::EnsEMBL::Compara::GenomeDB object corresponding to [".$self."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
461 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
462 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
463 if (!defined($self->coord_system_name)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
464 warn "Cannot get the coord_system_name corresponding to [".$self."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
465 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
466 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
467 if (!defined($self->name)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
468 warn "Cannot get the name corresponding to [".$self."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
469 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
470 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
471 my $dba = $self->genome_db->db_adaptor;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
472 if (!defined($dba)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
473 warn "Cannot get the Bio::EnsEMBL::DBSQL::DBAdaptor corresponding to [".$self->genome_db->name."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
474 return undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
475 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
476 $dba->dbc->reconnect_when_lost(1);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
477
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
478 $self->{'_slice'} = $dba->get_SliceAdaptor->fetch_by_region($self->coord_system_name, $self->name);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
479 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
480
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
481 return $self->{'_slice'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
482 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
483
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
484
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
485 =head2 display_id
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
486
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
487 Args : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
488 Example : my $id = $dnafrag->display_id;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
489 Description: returns string describing this chunk which can be used
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
490 as display_id of a Bio::Seq object or in a fasta file.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
491 Uses dnafrag information in addition to start and end.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
492 Returntype : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
493 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
494 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
495 Status : Stable
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
496
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
497 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
498
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
499 sub display_id {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
500 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
501
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
502 return "" unless($self->genome_db);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
503 my $id = $self->genome_db->taxon_id. ".".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
504 $self->genome_db->dbID. ":".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
505 $self->coord_system_name.":".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
506 $self->name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
507 return $id;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
508 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
509
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
510
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
511 #####################################################################
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
512 #####################################################################
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
513
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
514 =head1 DEPRECATED METHODS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
515
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
516 Bio::EnsEMBL::Compara::DnaFrag::start and Bio::EnsEMBL::Compara::DnaFrag::end
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
517 methods are no longer used. All Bio::EnsEMBL::Compara::DnaFrag objects start
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
518 in 1. Start and end coordinates have been replaced by length attribute. Please,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
519 use Bio::EnsEMBL::Compara::DnaFrag::length method to access it.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
520
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
521 Bio::EnsEMBL::Compara::DnaFrag::genomedb has been renamed
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
522 Bio::EnsEMBL::Compara::DnaFrag::genome_db.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
523
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
524 Bio::EnsEMBL::Compara::DnaFrag::type has been renamed
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
525 Bio::EnsEMBL::Compara::DnaFrag::coord_system_name.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
526
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
527 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
528
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
529 #####################################################################
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
530 #####################################################################
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
531
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
532
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
533
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
534
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
535 =head2 start [DEPRECATED]
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
536
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
537 DEPRECATED! All Bio::EnsEMBL::Compara::DnaFrag objects start in 1
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
538
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
539 Arg [1] : int
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
540 Example : $dnafrag->start(1);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
541 Description: Getter/Setter for the start attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
542 Returntype : int
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
543 Exceptions : thrown when trying to set a starting position different from 1
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
544 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
545
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
546 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
547
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
548 sub start {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
549 my ($self,$value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
550
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
551 deprecate("All Bio::EnsEMBL::Compara::DnaFrag objects start in 1");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
552 if (defined($value) and ($value != 1)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
553 throw("Trying to set a start value different from 1!\n".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
554 "All Bio::EnsEMBL::Compara::DnaFrag objects start in 1");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
555 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
556
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
557 return 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
558 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
559
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
560
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
561
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
562 =head2 end [DEPRECATED]
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
563
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
564 DEPRECATED! Use Bio::EnsEMBL::Compara::DnaFrag->length() method instead
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
565
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
566 Arg [1] : int $end
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
567 Example : $dnafrag->end(42);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
568 Description: Getter/Setter for the start attribute
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
569 Returntype : int
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
570 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
571 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
572
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
573 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
574
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
575 sub end {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
576 my ($self, $end) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
577 deprecate("Use Bio::EnsEMBL::Compara::DnaFrag->length() method instead");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
578
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
579 return $self->length($end);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
580 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
581
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
582
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
583 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
584
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
585