Mercurial > repos > willmclaren > ensembl_vep
comparison variant_effect_predictor/Bio/EnsEMBL/Funcgen/ExperimentalGroup.pm @ 0:21066c0abaf5 draft
Uploaded
author | willmclaren |
---|---|
date | Fri, 03 Aug 2012 10:04:48 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:21066c0abaf5 |
---|---|
1 # | |
2 # Ensembl module for Bio::EnsEMBL::Funcgen::ExperimentalGroup | |
3 # | |
4 | |
5 | |
6 =head1 LICENSE | |
7 | |
8 Copyright (c) 1999-2011 The European Bioinformatics Institute and | |
9 Genome Research Limited. All rights reserved. | |
10 | |
11 This software is distributed under a modified Apache license. | |
12 For license details, please see | |
13 | |
14 http://www.ensembl.org/info/about/code_licence.html | |
15 | |
16 =head1 CONTACT | |
17 | |
18 Please email comments or questions to the public Ensembl | |
19 developers list at <ensembl-dev@ebi.ac.uk>. | |
20 | |
21 Questions may also be sent to the Ensembl help desk at | |
22 <helpdesk@ensembl.org>. | |
23 | |
24 =head1 NAME | |
25 | |
26 Bio::EnsEMBL::Funcgen::ExperimentalGroup - A module to represent | |
27 an ExperimentalGroup. i.e. the authors of an experiment. | |
28 | |
29 =head1 SYNOPSIS | |
30 | |
31 use Bio::EnsEMBL::Funcgen::ExperimentalGroup; | |
32 | |
33 | |
34 | |
35 =head1 DESCRIPTION | |
36 | |
37 This is a simple class to represent information about an ExperimentalGroup, | |
38 containing a name and a more detailed description | |
39 This module is part of the Ensembl project: http://www.ensembl.org/ | |
40 | |
41 =cut | |
42 | |
43 use strict; | |
44 use warnings; | |
45 | |
46 package Bio::EnsEMBL::Funcgen::ExperimentalGroup; | |
47 | |
48 use Bio::EnsEMBL::Utils::Argument qw( rearrange ) ; | |
49 use Bio::EnsEMBL::Utils::Exception qw( throw warning ); | |
50 use Bio::EnsEMBL::Funcgen::Storable; | |
51 | |
52 use vars qw(@ISA); | |
53 @ISA = qw(Bio::EnsEMBL::Funcgen::Storable); | |
54 | |
55 | |
56 =head2 new | |
57 | |
58 Arg [-name]: string - name of ExperimentalGroup | |
59 Arg [-location]: (optional) string - location of ExperimentalGroup | |
60 Arg [-contact]: (optional) string - contact of ExperimentalGroup | |
61 Arg [-url]: (optional) string - url containing information for the ExperimentalGroup | |
62 Arg [-description]: (optional) string - descriptiom of ExperimentalGroup | |
63 Arg [-project]: (optional) boolean - True if this is part of a large project (eg. ENCODE) | |
64 Example : my $group = Bio::EnsEMBL::Funcgen::ExperimentalGroup->new( | |
65 -name => "EBI", | |
66 -location => "Hinxton", | |
67 -contact => "dev@ensembl.org", | |
68 -url => "http://www.ebi.ac.uk/", | |
69 -description => "European Bioinformatics Institute", | |
70 -is_project => 0, | |
71 ); | |
72 Description: Constructor method for ExperimentalGroup class | |
73 Returntype : Bio::EnsEMBL::Funcgen::ExperimentalGroup | |
74 Exceptions : Throws if name not defined | |
75 Caller : General | |
76 Status : At risk | |
77 | |
78 =cut | |
79 | |
80 sub new { | |
81 my $caller = shift; | |
82 | |
83 my $obj_class = ref($caller) || $caller; | |
84 my $self = $obj_class->SUPER::new(@_); | |
85 | |
86 my ( | |
87 $name, | |
88 $location, | |
89 $contact, | |
90 $url, | |
91 $desc, | |
92 $is_project | |
93 ) = rearrange([ | |
94 'NAME', 'LOCATION', 'CONTACT', 'URL', 'DESCRIPTION', 'IS_PROJECT' | |
95 ], @_); | |
96 | |
97 | |
98 if($name){ | |
99 $self->name($name); | |
100 }else{ | |
101 throw("Must supply a Group name\n"); | |
102 } | |
103 $self->location($location) if $location; | |
104 $self->contact($contact) if $contact; | |
105 $self->url($url) if $url; | |
106 $self->description($desc) if $desc; | |
107 $self->is_project($is_project) if $is_project; | |
108 | |
109 return $self; | |
110 } | |
111 | |
112 | |
113 | |
114 =head2 name | |
115 | |
116 Arg [1] : string - name | |
117 Example : my $name = $ft->name(); | |
118 Description: Getter and setter of name attribute for ExperimentalGroup objects | |
119 Returntype : string | |
120 Exceptions : None | |
121 Caller : General | |
122 Status : Low Risk | |
123 | |
124 =cut | |
125 | |
126 sub name { | |
127 my $self = shift; | |
128 $self->{'name'} = shift if @_; | |
129 return $self->{'name'}; | |
130 } | |
131 | |
132 =head2 description | |
133 | |
134 Arg [1] : (optional) string - description | |
135 Example : my $desc = $group->description(); | |
136 Description: Getter and setter of description attribute for ExperimentalGroup objects. | |
137 Returntype : string | |
138 Exceptions : None | |
139 Caller : General | |
140 Status : Low Risk | |
141 | |
142 =cut | |
143 | |
144 sub description { | |
145 my $self = shift; | |
146 $self->{'description'} = shift if @_; | |
147 return $self->{'description'}; | |
148 } | |
149 | |
150 =head2 location | |
151 | |
152 Arg [1] : (optional) string - location | |
153 Example : my $location = $group->location(); | |
154 Description: Getter and setter of location attribute for ExperimentalGroup objects. | |
155 Returntype : string | |
156 Exceptions : None | |
157 Caller : General | |
158 Status : Low Risk | |
159 | |
160 =cut | |
161 | |
162 sub location { | |
163 my $self = shift; | |
164 $self->{'location'} = shift if @_; | |
165 return $self->{'location'}; | |
166 } | |
167 | |
168 | |
169 =head2 contact | |
170 | |
171 Arg [1] : (optional) string - contact | |
172 Example : my $contact = $group->contact(); | |
173 Description: Getter and setter of contact attribute for ExperimentalGroup objects. | |
174 Returntype : string | |
175 Exceptions : None | |
176 Caller : General | |
177 Status : Low Risk | |
178 | |
179 =cut | |
180 | |
181 sub contact { | |
182 my $self = shift; | |
183 $self->{'contact'} = shift if @_; | |
184 return $self->{'contact'}; | |
185 } | |
186 | |
187 | |
188 =head2 url | |
189 | |
190 Arg [1] : (optional) string - url | |
191 Example : my $url = $group->url(); | |
192 Description: Getter and setter of url attribute for ExperimentalGroup objects. | |
193 Returntype : string | |
194 Exceptions : None | |
195 Caller : General | |
196 Status : Low Risk | |
197 | |
198 =cut | |
199 | |
200 sub url { | |
201 my $self = shift; | |
202 $self->{'url'} = shift if @_; | |
203 return $self->{'url'}; | |
204 } | |
205 | |
206 =head2 is_project | |
207 | |
208 Arg [1] : (optional) Boolean - is_project | |
209 Example : $group->is_project(); | |
210 Description: Getter and setter of is_project attribute for ExperimentalGroup objects. | |
211 Returntype : string | |
212 Exceptions : None | |
213 Caller : General | |
214 Status : High Risk | |
215 | |
216 =cut | |
217 | |
218 sub is_project { | |
219 my $self = shift; | |
220 $self->{'is_project'} = shift if @_; | |
221 return $self->{'is_project'}; | |
222 } | |
223 | |
224 1; | |
225 |