annotate variant_effect_predictor/Bio/EnsEMBL/Variation/Population.pm @ 0:21066c0abaf5 draft

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