annotate variant_effect_predictor/Bio/EnsEMBL/Funcgen/ArrayChip.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 # Ensembl module for Bio::EnsEMBL::Funcgen::ArrayChip
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 # You may distribute this module under the same terms as Perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 Copyright (c) 1999-2011 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 developers list at <ensembl-dev@ebi.ac.uk>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 Bio::EnsEMBL::Funcgen::ArrayChip - A simple module to represent the concept/template of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 a chip/slide within an array, of which the physical manifestation is an ExperimentalChip.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 use Bio::EnsEMBL::Funcgen::ArrayChip;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 my $ec = Bio::EnsEMBL::Funcgen::ArrayChip->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -ARRAY_ID => $array->dbID(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 -NAME => $desc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 -DESIGN_ID => $design_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 #add more methods here?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 An ArrayChip object represent the concept of an array chip/slide withing a given array/chipset.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 The data for ArrayChips is stored in the array_chip table.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 package Bio::EnsEMBL::Funcgen::ArrayChip;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 use Bio::EnsEMBL::Utils::Argument qw( rearrange );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 use Bio::EnsEMBL::Utils::Exception qw( throw warning );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 use Bio::EnsEMBL::Funcgen::Storable;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 @ISA = qw(Bio::EnsEMBL::Funcgen::Storable);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 Arg [-ARRAY_ID] : int - the dbID of the parent array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 Arg [-ARRAY] : Bio::EnsEMBL::Funcgen::Array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 Arg [-DESIGN_ID] : string - the unqiue deisng ID defined by the array vendor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 Arg [-NAME] : string - the name of the array chip
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 Example : my $array_chip = Bio::EnsEMBL::Funcgen::ArrayChip->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 -ARRAY_ID => $array->dbID(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 -NAME => $desc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 -DESIGN_ID => $design_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 ); );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 Description: Creates a new Bio::EnsEMBL::Funcgen::ArrayChip object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 Returntype : Bio::EnsEMBL::Funcgen::ArrayChip
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Exceptions : None ? should throw if mandaotry params not set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 Status : Medium Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 my $self = $class->SUPER::new(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 my ($array_id, $name, $design_id, $array)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 = rearrange( ['ARRAY_ID', 'NAME', 'DESIGN_ID', 'ARRAY'], @_ );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 #Remove array_id so we can remove checking below?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 throw("Must define a name($name) and design_id($design_id)") if(! $name || ! $design_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 #Make these mutually exclusive to avoid checking
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 if($array_id && $array){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 throw('Must provide either -array or -array_id but not both');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 if(defined $array){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 if(!(ref($array) && $array->isa('Bio::EnsEMBL::Funcgen::Array'))){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 throw('array paramter must be a valid Bio::EnsEMBL::Funcgen::Array');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 $self->{'array'} = $array;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 $self->array_id($array_id) if defined $array_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 $self->name($name);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 $self->design_id($design_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 =head2 array_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Arg [1] : (optional) int - the parent array dbID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Example : my $array_id = $array_chip->array_id();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Description: Getter, setter array_id attribute.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 Returntype : int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 sub array_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 $self->{'array_id'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 return $self->{'array_id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 =head2 name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Arg [1] : (optional) string - the array chip name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Example : my $ac_name = $array_chip->name();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 Description: Getter, setter for the name attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 Status : Medium Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 sub name {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 $self->{'name'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 return $self->{'name'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 =head2 design_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 Arg [1] : (optional) string - the array_chip unique design id as deinfed by the array vendor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 Example : my $design_id = $array_chip->design_id();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 Description: Getter, setter for the design_id attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 sub design_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 $self->{'design_id'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 return $self->{'design_id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 =head2 get_Array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 Example : my $array = $array_chip->get_array();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 Description: Getter for the array attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 Returntype : Bio::EnsEMBL::Funcgen::Array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 sub get_Array {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 if(! defined $self->{'array'}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 $self->{'array'} = $self->adaptor->db->get_ArrayAdaptor()->fetch_by_dbID($self->array_id());
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 return $self->{'array'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205