Mercurial > repos > mahtabm > ensembl
comparison variant_effect_predictor/Bio/EnsEMBL/Variation/Study.pm @ 0:1f6dce3d34e0
Uploaded
| author | mahtabm |
|---|---|
| date | Thu, 11 Apr 2013 02:01:53 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:1f6dce3d34e0 |
|---|---|
| 1 =head1 LICENSE | |
| 2 | |
| 3 Copyright (c) 1999-2012 The European Bioinformatics Institute and | |
| 4 Genome Research Limited. All rights reserved. | |
| 5 | |
| 6 This software is distributed under a modified Apache license. | |
| 7 For license details, please see | |
| 8 | |
| 9 http://www.ensembl.org/info/about/code_licence.html | |
| 10 | |
| 11 =head1 CONTACT | |
| 12 | |
| 13 Please email comments or questions to the public Ensembl | |
| 14 developers list at <dev@ensembl.org>. | |
| 15 | |
| 16 Questions may also be sent to the Ensembl help desk at | |
| 17 <helpdesk@ensembl.org>. | |
| 18 | |
| 19 =cut | |
| 20 | |
| 21 # Ensembl module for Bio::EnsEMBL::Variation::Study | |
| 22 # | |
| 23 # Copyright (c) 2011 Ensembl | |
| 24 # | |
| 25 | |
| 26 | |
| 27 =head1 NAME | |
| 28 | |
| 29 Bio::EnsEMBL::Variation::Study - Ensembl representation of a study. | |
| 30 | |
| 31 =head1 SYNOPSIS | |
| 32 | |
| 33 # Study | |
| 34 $study = Bio::EnsEMBL::Variation::Study->new | |
| 35 (-name => 'EGAS00000000001', | |
| 36 -external_reference => 'pubmed/17554300', | |
| 37 -url => 'http://www.ebi.ac.uk/ega/page.php?page=study&study=EGAS00000000001&cat=www.wtccc.studies.xml.ega&subcat=BD' | |
| 38 ); | |
| 39 ... | |
| 40 | |
| 41 | |
| 42 =head1 DESCRIPTION | |
| 43 | |
| 44 This is a class representing a study from the ensembl-variation database. | |
| 45 | |
| 46 =head1 METHODS | |
| 47 | |
| 48 =cut | |
| 49 | |
| 50 use strict; | |
| 51 use warnings; | |
| 52 | |
| 53 package Bio::EnsEMBL::Variation::Study; | |
| 54 | |
| 55 use Bio::EnsEMBL::Storable; | |
| 56 use Bio::EnsEMBL::Utils::Exception qw(throw warning); | |
| 57 use Bio::EnsEMBL::Utils::Argument qw(rearrange); | |
| 58 | |
| 59 our @ISA = ('Bio::EnsEMBL::Storable'); | |
| 60 | |
| 61 | |
| 62 =head2 new | |
| 63 | |
| 64 Arg [-dbID] : | |
| 65 see superclass constructor | |
| 66 Arg [-ADAPTOR] : | |
| 67 see superclass constructor | |
| 68 Arg [-NAME] : | |
| 69 name of the study | |
| 70 Arg [-DESCRIPTION] : | |
| 71 study description | |
| 72 Arg [-URL] : | |
| 73 string - url of the database/file where the data are stored | |
| 74 Arg [-EXTERNAL_REFERENCE] : | |
| 75 string - the pubmed/ids or project/study names | |
| 76 Arg [-TYPE] : | |
| 77 string - type of the study (e.g. GWAS) | |
| 78 Arg [-SOURCE] : | |
| 79 string - name of the source | |
| 80 Arg [-ASSOCIATE] : | |
| 81 array ref - list of the study objects associated with the current study | |
| 82 | |
| 83 Example : | |
| 84 | |
| 85 $study = Bio::EnsEMBL::Variation::Study->new | |
| 86 (-name => 'EGAS00000000001', | |
| 87 -external_reference => 'pubmed/17554300', | |
| 88 -url => 'http://www.ebi.ac.uk/ega/page.php?page=study&study=EGAS00000000001&cat=www.wtccc.studies.xml.ega&subcat=BD' | |
| 89 ); | |
| 90 | |
| 91 Description: Constructor. Instantiates a new Study object. | |
| 92 Returntype : Bio::EnsEMBL::Variation::Study | |
| 93 Exceptions : none | |
| 94 Caller : general | |
| 95 Status : At Risk | |
| 96 | |
| 97 =cut | |
| 98 | |
| 99 sub new { | |
| 100 my $caller = shift; | |
| 101 my $class = ref($caller) || $caller; | |
| 102 | |
| 103 my $self = $class->SUPER::new(@_); | |
| 104 my ($dbID,$adaptor,$study_name,$study_description,$study_url,$external_reference, | |
| 105 $study_type,$source_name,$associate) = | |
| 106 rearrange([qw(dbID ADAPTOR NAME DESCRIPTION URL EXTERNAL_REFERENCE TYPE SOURCE ASSOCIATE)], @_); | |
| 107 | |
| 108 $self = { | |
| 109 'dbID' => $dbID, | |
| 110 'adaptor' => $adaptor, | |
| 111 'name' => $study_name, | |
| 112 'description' => $study_description, | |
| 113 'url' => $study_url, | |
| 114 'external_reference' => $external_reference, | |
| 115 'type' => $study_type, | |
| 116 'source' => $source_name, | |
| 117 'associate' => $associate | |
| 118 }; | |
| 119 | |
| 120 return bless $self, $class; | |
| 121 } | |
| 122 | |
| 123 | |
| 124 =head2 name | |
| 125 | |
| 126 Arg [1] : string $newval (optional) | |
| 127 The new value to set the name attribute to | |
| 128 Example : $name = $obj->name() | |
| 129 Description: Getter/Setter for the name attribute | |
| 130 Returntype : string | |
| 131 Exceptions : none | |
| 132 Caller : general | |
| 133 Status : At Risk | |
| 134 | |
| 135 =cut | |
| 136 | |
| 137 sub name{ | |
| 138 my $self = shift; | |
| 139 return $self->{'name'} = shift if(@_); | |
| 140 return $self->{'name'}; | |
| 141 } | |
| 142 | |
| 143 | |
| 144 =head2 description | |
| 145 | |
| 146 Arg [1] : string $newval (optional) | |
| 147 The new value to set the description attribute to | |
| 148 Example : $name = $obj->description() | |
| 149 Description: Getter/Setter for the description attribute | |
| 150 Returntype : string | |
| 151 Exceptions : none | |
| 152 Caller : general | |
| 153 Status : At Risk | |
| 154 | |
| 155 =cut | |
| 156 | |
| 157 sub description{ | |
| 158 my $self = shift; | |
| 159 return $self->{'description'} = shift if(@_); | |
| 160 return $self->{'description'}; | |
| 161 } | |
| 162 | |
| 163 | |
| 164 =head2 url | |
| 165 | |
| 166 Arg [1] : string $newval (optional) | |
| 167 The new value to set the url attribute to | |
| 168 Example : $name = $obj->url() | |
| 169 Description: Getter/Setter for the url attribute | |
| 170 Returntype : string | |
| 171 Exceptions : none | |
| 172 Caller : general | |
| 173 Status : At Risk | |
| 174 | |
| 175 =cut | |
| 176 | |
| 177 sub url{ | |
| 178 my $self = shift; | |
| 179 return $self->{'url'} = shift if(@_); | |
| 180 return $self->{'url'}; | |
| 181 } | |
| 182 | |
| 183 | |
| 184 =head2 external_reference | |
| 185 | |
| 186 Arg [1] : string $newval (optional) | |
| 187 The new value to set the external_reference attribute to | |
| 188 Example : $name = $obj->external_reference() | |
| 189 Description: Getter/Setter for the external_reference attribute | |
| 190 Returntype : string | |
| 191 Exceptions : none | |
| 192 Caller : general | |
| 193 Status : At Risk | |
| 194 | |
| 195 =cut | |
| 196 | |
| 197 sub external_reference{ | |
| 198 my $self = shift; | |
| 199 return $self->{'external_reference'} = shift if(@_); | |
| 200 return $self->{'external_reference'}; | |
| 201 } | |
| 202 | |
| 203 | |
| 204 =head2 type | |
| 205 | |
| 206 Arg [1] : string $newval (optional) | |
| 207 The new value to set the type attribute to | |
| 208 Example : $name = $obj->type() | |
| 209 Description: Getter/Setter for the type attribute | |
| 210 Returntype : string | |
| 211 Exceptions : none | |
| 212 Caller : general | |
| 213 Status : At Risk | |
| 214 | |
| 215 =cut | |
| 216 | |
| 217 sub type{ | |
| 218 my $self = shift; | |
| 219 return $self->{'type'} = shift if(@_); | |
| 220 return $self->{'type'}; | |
| 221 } | |
| 222 | |
| 223 | |
| 224 =head2 source | |
| 225 | |
| 226 Arg [1] : string $newval (optional) | |
| 227 The new value to set the source attribute to | |
| 228 Example : $name = $obj->source() | |
| 229 Description: Getter/Setter for the source attribute | |
| 230 Returntype : string | |
| 231 Exceptions : none | |
| 232 Caller : general | |
| 233 Status : At Risk | |
| 234 | |
| 235 =cut | |
| 236 | |
| 237 sub source{ | |
| 238 my $self = shift; | |
| 239 return $self->{'source'} = shift if(@_); | |
| 240 return $self->{'source'}; | |
| 241 } | |
| 242 | |
| 243 | |
| 244 =head2 associated_studies | |
| 245 Example : $name = $obj->associate_studies() | |
| 246 Description: Getter/Setter for the associated_studies attribute | |
| 247 Returntype : reference to list of Bio::EnsEMBL::Variation::Study | |
| 248 Exceptions : none | |
| 249 Caller : general | |
| 250 Status : At Risk | |
| 251 | |
| 252 =cut | |
| 253 | |
| 254 sub associated_studies{ | |
| 255 my $self = shift; | |
| 256 | |
| 257 my $results; | |
| 258 | |
| 259 if (defined($self->{'associate'}) && defined($self->{'adaptor'})) { | |
| 260 my $studya = $self->{'adaptor'}->db()->get_StudyAdaptor(); | |
| 261 return $studya->fetch_all_by_dbID_list($self->{'associate'}); | |
| 262 } | |
| 263 else { | |
| 264 return []; | |
| 265 } | |
| 266 } |
