annotate variant_effect_predictor/Bio/EnsEMBL/Variation/Individual.pm @ 3:d30fa12e4cc5 default tip

Merge heads 2:a5976b2dce6f and 1:09613ce8151e which were created as a result of a recently fixed bug.
author devteam <devteam@galaxyproject.org>
date Mon, 13 Jan 2014 10:38:30 -0500
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::Individual
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::Individual - A single member of a population.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 $individual = Bio::EnsEMBL::Variation::Individual->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 (-name => 'WI530.07',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -description => 'african',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 -gender => 'Male',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 -father_individual => $father_ind,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 -mother_individual => $mother_ind);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 ...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 print $individual->name(), ' - ', $individual->description(), "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 print "Gender: ", $individual->gender(), "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 print $individual->mother_Individual->name()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 if($individual->mother_Individual());
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 print $individual->father_Individual->name()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 if($individual->father_Individual());
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 This is a class representing a single individual. An individual may be part
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 of one population or several. A pedigree may be constructed using the father_Individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 and mother_Individual attributes.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 package Bio::EnsEMBL::Variation::Individual;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 use Bio::EnsEMBL::Utils::Exception qw(throw warning);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 use Bio::EnsEMBL::Variation::Sample;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 our @ISA = ('Bio::EnsEMBL::Variation::Sample');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 Arg [-dbID] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 int - unique internal identifier
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 Arg [-ADAPTOR] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 Bio::EnsEMBL::Variation::DBSQL::IndividualAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 Arg [-NAME] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 string - name of this individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Arg [-DESCRIPTION] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 string description - description of this individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 Arg [-GENDER] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 string - must be one of 'Male', 'Female', 'Unknown'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Arg [-FATHER_INDIVIDUAL] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 Bio::EnsEMBL::Variation::Individual - the father of this individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 Arg [-MOTHER_INDIVIDUAL] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 Bio::EnsEMBL::Variation::Individual - the mother of this individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 Arg [-MOTHER_INDIVIDUAL_SAMPLE_ID] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 int - set the internal id of the mother individual so that the actual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 mother Individual object can be retrieved on demand.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 Arg [-FATHER_INDIVIDUAL_SAMPLE_ID]:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 int - set the internal id of the mother individual so that the actual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 mother Individual object can be retrieved on demand.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 Arg [-TYPE_INDIVIDUAL]:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 int - name for the type of the individual (fully or partly inbred, outbred or mutant
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 Arg [-TYPE_DESCRIPTION]:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 string - description of the type of individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 Example : $individual = Bio::EnsEMBL::Variation::Individual->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 (-name => 'WI530.07',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 -description => 'african',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 -gender => 'Male',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 -father_individual => $father_ind,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 -mother_individual => $mother_ind,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 -type_individual => 'outbred',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 -type_description => 'a single organism which breeds freely');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 Description: Constructor Instantiates an Individual object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 Returntype : Bio::EnsEMBL::Variation::Individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 Exceptions : throw if gender arg is provided but not valid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 my ($dbID, $adaptor, $name, $desc, $display_flag, $gender, $father, $mother, $type_name, $type_desc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 $father_id, $mother_id) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 rearrange([qw(dbID adaptor name description display gender
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 father_individual mother_individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 type_individual type_description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 father_individual_sample_id mother_individual_sample_id)], @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 if(defined($gender)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 $gender = ucfirst(lc($gender));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 if($gender ne 'Male' && $gender ne 'Female' && $gender ne 'Unknown') {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 throw('Gender must be one of "Male","Female","Unknown"');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 if (defined($type_name)){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 $type_name = ucfirst(lc($type_name));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 if ($type_name ne 'Fully_inbred' && $type_name ne 'Partly_inbred' && $type_name ne 'Outbred' && $type_name ne 'Mutant'){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 throw('Type of individual must of one of: "fully_inbred", "partly_inbred", "outbred", "mutant"');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 return bless {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 'dbID' => $dbID,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 'adaptor' => $adaptor,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 'name' => $name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 'description' => $desc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 'display' => $display_flag,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 'gender' => $gender,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 'father_individual' => $father,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 'mother_individual' => $mother,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 'type_individual' => $type_name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 'type_description' => $type_desc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 '_mother_individual_sample_id' => $mother_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 '_father_individual_sample_id' => $father_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 }, $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 =head2 type_individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Arg [1] : int $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 The new value to set the type_individual attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 Example : $type_individual = $obj->type_individual();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Description : Getter/Setter for the type_individual attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Returntype : int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 sub type_individual{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 if (@_){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 my $new_name = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 return $self->{'type_individual'} = $new_name;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 return $self->{'type_individual'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 =head2 type_description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 Arg [1] : int $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 The new value to set the type_description attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 Example : $type_description = $obj->type_description();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 Description : Getter/Setter for the type_description attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 Returntype : int
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 type_description{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 if (@_){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 my $new_desc = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 return $self->{'type_description'} = $new_desc;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 return $self->{'type_description'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 =head2 gender
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 Arg [1] : string $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 The new value to set the gender attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 Example : $gender = $obj->gender()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 Description: Getter/Setter for the gender attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 sub gender{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 if(@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 my $gender = ucfirst(lc(shift));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 if($gender ne 'Male' && $gender ne 'Female' && $gender ne 'Unknown') {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 throw('Gender must be one of "Male","Female","Unknown"');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 $self->{'gender'} = $gender;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 return $self->{'gender'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 =head2 display
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 Arg [1] : string $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 The new value to set the display attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 Example : $display = $obj->display()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 Description: Getter/Setter for the display attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 sub display{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 if(@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 my $display = uc(shift);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 if($display ne 'UNDISPLAYABLE' && $display ne 'REFERENCE' && $display ne 'DISPLAYABLE' && $display ne 'DEFAULT') {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 throw('Display flag must be one of "REFERENCE", "DEFAULT", "DISPLAYABLE", "UNDISPLAYABLE"');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 $self->{'display'} = $display;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 return $self->{'display'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 =head2 get_all_Populations
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 Example : $pops = $ind->get_all_Populations();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 Description : Getter for the Populations for this Individual. Returns
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 empty list if there are none.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 ReturnType : listref of Bio::EnsEMBL::Population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 sub get_all_Populations{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276 if(!defined($self->{populations})) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 if (defined ($self->{'adaptor'})){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 my $pop_adaptor = $self->{'adaptor'}->db()->get_PopulationAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 $self->{populations} = $pop_adaptor->fetch_all_by_Individual($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 return $self->{populations};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 =head2 father_Individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 Arg [1] : string $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 The new value to set the father_Individual attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 Example : $father_Individual = $obj->father_Individual()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 Description: Getter/Setter for the father of this Individual. If this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 has not been set manually and this Individual has an attached
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 adaptor, an attempt will be made to lazy-load it from the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 sub father_Individual{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 if(@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 my $ind = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 if(defined($ind) && (!ref($ind) ||
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 !$ind->isa('Bio::EnsEMBL::Variation::Individual'))) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311 throw('Bio::EnsEMBL::Variation::Individual arg expected');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 if($ind->gender() eq 'Female') {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 throw("Father individual may not have gender of Female");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 return $self->{'father_individual'} = $ind;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 # lazy-load mother if we can
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 if(!defined($self->{'father_individual'}) && $self->adaptor() &&
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 defined($self->{'_father_individual_sample_id'})) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 $self->{'father_individual'} =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 $self->adaptor->fetch_by_dbID($self->{'_father_individual_sample_id'});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 return $self->{'father_individual'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 =head2 mother_Individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333 Arg [1] : string $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 The new value to set the mother_Individual attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 Example : $mother_Individual = $obj->mother_Individual()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 Description: Getter/Setter for the mother of this individual. If this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 has not been set manually and this Individual has an attached
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 adaptor, an attempt will be made to lazy-load it from the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 sub mother_Individual{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350 if(@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 my $ind = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 if(defined($ind) && (!ref($ind) ||
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 !$ind->isa('Bio::EnsEMBL::Variation::Individual'))) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 throw('Bio::EnsEMBL::Variation::Individual arg expected');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 if($ind->gender() eq 'Male') {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 throw("Mother individual may not have gender of Male");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 return $self->{'mother_individual'} = $ind;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 # lazy-load mother if we can
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 if(!defined($self->{'mother_individual'}) && $self->adaptor() &&
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 defined($self->{'_mother_individual_sample_id'})) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 $self->{'mother_individual'} =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366 $self->adaptor->fetch_by_dbID($self->{'_mother_individual_sample_id'});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 return $self->{'mother_individual'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374 =head2 get_all_child_Individuals
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377 Example : foreach my $c (@{$ind->get_all_child_Individuals}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 print "Child: " $c->name(), "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 Description: Retrieves all individuals from the database which are children
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 of this individual. This will only work if this Individual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382 object has been stored in the database and has an attached
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383 adaptor.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384 Returntype : reference to list of Bio::EnsEMBL::Variation::Individual objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385 Exceptions : warning if this object does not have an attached adaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391 sub get_all_child_Individuals {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394 if(!$self->adaptor()) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395 warning("Cannot retrieve child individuals without attached adaptor.");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 return $self->adaptor()->fetch_all_by_parent_Individual($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402 1;