annotate variant_effect_predictor/Bio/EnsEMBL/Variation/Population.pm @ 2:a5976b2dce6f

changing defualt values for ensembl database
author mahtabm
date Thu, 11 Apr 2013 17:15:42 +1000
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 developers list at <dev@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 # Ensembl module for Bio::EnsEMBL::Variation::Population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 # Copyright (c) 2004 Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 Bio::EnsEMBL::Variation::Population - A population represents a phenotypic
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 group, ethnic group, set of individuals used in an assay, etc.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 # Population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 $pop = Bio::EnsEMBL::Variation::Population->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 (-name => 'WEST AFRICA',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 -description => 'Sub-Saharan Nations bordering Atlantic north' .
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 ' of Congo River, and Central/Southern Atlantic' .
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 ' Island Nations.');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 ...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 # print out all sub populations of a population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 # same could work for super populations
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 print_sub_pops($pop);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 sub print_sub_pops {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 my $pop = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 my $level = shift || 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 my $sub_pops = $pop->get_all_sub_Populations();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 foreach my $sp (@$sub_pops) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 print ' ' x $level++,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 'name: ', $sp->name(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 'desc: ', $sp->description(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 'size: ', $sp->size(),"\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 print_sub_pops($sp, $level);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 This is a class representing a population. A population may consist of any
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 grouping of individuals, including phenotypic groups (e.g. people with
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 diabetes), ethnic groups (e.g. caucasians), individuals used in an assay
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 (e.g. subjects in experiment X), etc.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 Populations may be arranged into an arbitrary hierarchy of sub and super
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 populations.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 package Bio::EnsEMBL::Variation::Population;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 use Bio::EnsEMBL::Variation::Sample;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 use Bio::EnsEMBL::Utils::Exception qw(throw);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 our @ISA = ('Bio::EnsEMBL::Variation::Sample');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 Arg [-dbID]: int - unique internal identifier of the sample
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 Arg [-ADAPTOR]: Bio::EnsEMBL::PopulationAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 Arg [-NAME]: string - name of the population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 Arg [-DESCRIPTION]: string - description of the population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 Arg [-SIZE]: int - the size of the population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 Arg [-SUB_POPULATIONS]: listref of Bio::EnsEMBL::Population objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 Example : $pop = Bio::EnsEMBL::Variation::Population->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 (-name => 'WEST AFRICA',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 -description => 'Sub-Saharan Nations bordering Atlantic north' .
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 ' of Congo River, and Central/Southern Atlantic' .
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 ' Island Nations.'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 -sub_populations => \@sub_pops);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 Description: Constructor. Instantiates a new Population object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 Returntype : Bio::EnsEMBL::Variation::Population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 my ($dbID, $adaptor, $name, $desc, $size, $is_strain, $sub_pops) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 rearrange(['DBID','ADAPTOR','NAME', 'DESCRIPTION', 'SIZE',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 'SUB_POPULATIONS'], @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 return bless {'dbID' => $dbID,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 'adaptor' => $adaptor,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 'name' => $name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 'description' => $desc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 'size' => $size,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 'sub_populations' => $sub_pops}, $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 =head2 get_all_sub_Populations
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 Example : foreach my $sub_pop (@{$pop->get_all_sub_Populations}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 my $sub_sub_pops = $sub_pop->get_all_sub_Populations();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 Description: Retrieves all populations which are conceptually a sub set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 of this population.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 Returntype : reference to list of Bio::EnsEMBL::Variation::Population objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 sub get_all_sub_Populations {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 if(!defined($self->{'sub_populations'}) && $self->{'adaptor'}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 # lazy-load from database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 $self->{'sub_populations'} =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 $self->{'adaptor'}->fetch_all_by_super_Population($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 return $self->{'sub_populations'} || [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 =head2 get_all_super_Populations
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Example : foreach my $sup_pop (@{$pop->get_all_super_Populations}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 my $sup_sup_pops = $sup_pop->get_all_super_Populations();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 Description: Retrieves all populations which this population is a part of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 from the database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 Super populations may not be directly added in order to avoid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 circular references and memory leaks. You must add
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 sub_Populations instead and store this in the database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 Returntype : reference to list of Bio::EnsEMBL::Variation::Population objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 sub get_all_super_Populations {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 return [] if(!$self->{'adaptor'});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 # load from database - do not cache to avoid circular references (mem leak)!
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 return $self->{'adaptor'}->fetch_all_by_sub_Population($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 =head2 add_sub_Population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 Arg [1] : Bio::EnsEMBL::Variation::Population $pop
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 Example : $pop->add_sub_Population($sub_pop);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 $sub_pop->add_super_Population($pop);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 Description: Adds a sub population to this population.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 Exceptions : throw on incorrect argument
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 sub add_sub_Population {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 my $pop = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 if(!ref($pop) || !$pop->isa('Bio::EnsEMBL::Variation::Population')) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 throw('Bio::EnsEMBL::Variation::Population argument expected.');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 if($pop == $self) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 throw("Cannot add self as sub population.");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 $self->{'sub_populations'} ||= [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 push @{$self->{'sub_populations'}}, $pop;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 return $pop;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 =head2 get_all_synonyms
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 Arg [1] : (optional) string $source - the source of the synonyms to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 return.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 Example : @dbsnp_syns = @{$p->get_all_synonyms('dbSNP')};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 @all_syns = @{$p->get_all_synonyms()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 Description: Retrieves synonyms for this Population. If a source argument
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 is provided all synonyms from that source are returned,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 otherwise all synonyms are returned.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 Returntype : reference to list of strings
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 sub get_all_synonyms {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 my $source = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 return [] if(!$self->adaptor()); #if there is no adaptor, return empty string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 return $self->adaptor()->fetch_synonyms($self->dbID(),$source);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 =head2 get_all_Individuals
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 Example : @individuals = @{$p->get_all_individuals()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 Description: Retrieves all Individuals belonging to this Population.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 Returntype : reference to list of Bio::EnsEMBL::Variation::Individual objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 sub get_all_Individuals {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 my $ia = $self->adaptor->db->get_IndividualAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 return (defined $ia ? $ia->fetch_all_by_Population($self) : []);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 1;