annotate variant_effect_predictor/Bio/EnsEMBL/Variation/Variation.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::Variation
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::Variation - Ensembl representation of a nucleotide variation.
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 $v = Bio::EnsEMBL::Variation::Variation->new(-name => 'rs123',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 -source => 'dbSNP');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 # add additional synonyms for the same SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 $v->add_synonym('dbSNP', 'ss3242');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 $v->add_synonym('TSC', '53253');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 # add some validation states for this SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 $v->add_validation_status('freq');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 $v->add_validation_status('cluster');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 # add alleles associated with this SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 $a1 = Bio::EnsEMBL::Allele->new(...);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 $a2 = Bio::EnsEMBL::Allele->new(...);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 $v->add_Allele($a1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 $v->add_Allele($a2);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 # set the flanking sequences
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 $v->five_prime_flanking_seq($seq);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 $v->three_prime_flanking_seq($seq);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 ...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 # print out the default name and source of the variation and the version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 print $v->source(), ':',$v->name(), ".",$v->version,"\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 # print out every synonym associated with this variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 @synonyms = @{$v->get_all_synonyms()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 print "@synonyms\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 # print out synonyms and their database associations
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 my $sources = $v->get_all_synonym_sources();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 foreach my $src (@$sources) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 @synonyms = $v->get_all_synonyms($src);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 print "$src: @synonyms\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 # print out validation states
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 my @vstates = @{$v->get_all_validation_states()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 print "@validation_states\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 # print out flanking sequences
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 print "5' flanking: ", $v->five_prime_flanking_seq(), "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 print "3' flanking: ", $v->three_prime_flanking_seq(), "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 This is a class representing a nucleotide variation from the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 ensembl-variation database. A variation may be a SNP a multi-base substitution
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 or an insertion/deletion. The objects Alleles associated with a Variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 object describe the nucleotide change that Variation represents.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 A Variation object has an associated identifier and 0 or more additional
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 synonyms. The position of a Variation object on the Genome is represented
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 by the B<Bio::EnsEMBL::Variation::VariationFeature> class.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 package Bio::EnsEMBL::Variation::Variation;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 use Bio::EnsEMBL::Storable;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 use Bio::EnsEMBL::Utils::Scalar qw(assert_ref wrap_array);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 use Bio::EnsEMBL::Variation::Utils::Sequence qw(ambiguity_code SO_variation_class);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 use Bio::EnsEMBL::Variation::Utils::Sequence;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 use Bio::EnsEMBL::Variation::Utils::Constants qw(%VARIATION_CLASSES);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 use Bio::EnsEMBL::Variation::Failable;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 use Scalar::Util qw(weaken);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 @ISA = qw(Bio::EnsEMBL::Storable Bio::EnsEMBL::Variation::Failable);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 Arg [-dbID] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 int - unique internal identifier for snp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 Arg [-ADAPTOR] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 Bio::EnsEMBL::Variation::DBSQL::VariationAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 Adaptor which provides database connectivity for this Variation object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 Arg [-NAME] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 string - the name of this SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 Arg [-SOURCE] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 string - the source of this SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Arg [-SOURCE_DESCRIPTION] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 string - description of the SNP source
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 Arg [-SOURCE_TYPE] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 string - the source type of this variant
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 Arg [-SYNONYMS] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 reference to hash with list reference values - keys are source
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 names and values are lists of identifiers from that db.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 e.g.: {'dbSNP' => ['ss1231', '1231'], 'TSC' => ['1452']}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 Arg [-ANCESTRAL_ALLELES] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 string - the ancestral allele of this SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 Arg [-ALLELES] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 reference to list of Bio::EnsEMBL::Variation::Allele objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Arg [-VALIDATION_STATES] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 reference to list of strings
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 Arg [-MOLTYPE] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 string - the moltype of this SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 Arg [-FIVE_PRIME_FLANKING_SEQ] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 string - the five prime flanking nucleotide sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 Arg [-THREE_PRIME_FLANKING_SEQ] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 string - the three prime flanking nucleotide sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Example : $v = Bio::EnsEMBL::Variation::Variation->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 (-name => 'rs123',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 -source => 'dbSNP');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Description: Constructor. Instantiates a new Variation object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 Returntype : Bio::EnsEMBL::Variation::Variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 my ($dbID, $adaptor, $name, $class_so_term, $src, $src_desc, $src_url, $src_type, $is_somatic, $flipped, $syns, $ancestral_allele,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 $alleles, $valid_states, $moltype, $five_seq, $three_seq, $flank_flag, $minor_allele, $minor_allele_frequency, $minor_allele_count,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 $clinical_significance) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 rearrange([qw(dbID ADAPTOR NAME CLASS_SO_TERM SOURCE SOURCE_DESCRIPTION SOURCE_URL SOURCE_TYPE IS_SOMATIC
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 FLIPPED SYNONYMS ANCESTRAL_ALLELE ALLELES VALIDATION_STATES MOLTYPE FIVE_PRIME_FLANKING_SEQ
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 THREE_PRIME_FLANKING_SEQ FLANK_FLAG MINOR_ALLELE MINOR_ALLELE_FREQUENCY MINOR_ALLELE_COUNT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 CLINICAL_SIGNIFICANCE)],@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 # convert the validation state strings into a bit field
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 # this preserves the same order and representation as in the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 # and filters out invalid states
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 my $vcode = Bio::EnsEMBL::Variation::Utils::Sequence::get_validation_code($valid_states);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 my $self = bless {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 'dbID' => $dbID,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 'adaptor' => $adaptor,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 'name' => $name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 'class_SO_term' => $class_so_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 'source' => $src,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 'source_description' => $src_desc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 'source_url' => $src_url,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 'source_type'=> $src_type,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 'is_somatic' => $is_somatic,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 'flipped' => $flipped,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 'synonyms' => $syns || {},
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 'ancestral_allele' => $ancestral_allele,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 'validation_code' => $vcode,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 'moltype' => $moltype,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 'five_prime_flanking_seq' => $five_seq,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 'three_prime_flanking_seq' => $three_seq,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 'flank_flag' => $flank_flag,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 'minor_allele' => $minor_allele,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 'minor_allele_frequency' => $minor_allele_frequency,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 'minor_allele_count' => $minor_allele_count,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 'clinical_significance' => $clinical_significance,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 }, $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 $self->add_Allele($alleles) if defined($alleles);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 sub new_fast {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 my $class = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 my $hashref = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 return bless $hashref, $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 =head2 has_failed_subsnps
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 Description: DEPRECATED: Use has_failed_alleles instead.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 Status : DEPRECATED
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 sub has_failed_subsnps {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 deprecate("has_failed_subsnps should no longer be used, use has_failed_alleles instead\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 return $self->has_failed_alleles();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 =head2 has_failed_alleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 Example : print "Variation '" . $var->name() . "' has " . ($var->has_failed_alleles() ? "" : "no ") . " failed alleles\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 Description: Returns true if this variation has alleles that are flagged as failed
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 Returntype : int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 sub has_failed_alleles {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 map {return 1 if ($_->is_failed())} @{$self->get_all_Alleles()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 return 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 =head2 add_Allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 Arg [1] : Bio::EnsEMBL::Variation::Allele $allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 Example : $v->add_allele(Bio::EnsEMBL::Variation::Allele->new(...));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 Description: Add an Allele to this variation.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 Exceptions : throw on incorrect argument
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 sub add_Allele {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 my $allele = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 # This method also accepts a list of alleles so wrap the argument in an array and treat as such
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 $allele = wrap_array($allele);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 map {assert_ref($_,'Bio::EnsEMBL::Variation::Allele')} @{$allele};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 # Store the allele in the private hash
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 $self->{alleles} = [] unless (exists($self->{alleles}));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 push(@{$self->{alleles}},@{$allele});
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 =head2 name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 Arg [1] : string $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 The new value to set the name attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 Example : $name = $obj->name()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 Description: Getter/Setter for the name attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 sub name{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 return $self->{'name'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 return $self->{'name'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 =head2 get_all_Genes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 Example : $genes = $v->get_all_genes();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 Description : Retrieves all the genes where this Variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 has a consequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 ReturnType : reference to list of Bio::EnsEMBL::Gene
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 sub get_all_Genes{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 my $genes;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 if (defined $self->{'adaptor'}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 my $UPSTREAM = 5000;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 my $DOWNSTREAM = 5000;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 my $vf_adaptor = $self->adaptor()->db()->get_VariationFeatureAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 my $vf_list = $vf_adaptor->fetch_all_by_Variation($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324 #foreach vf, get the slice is on, us ethe USTREAM and DOWNSTREAM limits to get all the genes, and see if SNP is within the gene
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 my $new_slice;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 my $gene_list;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 my $gene_hash;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 foreach my $vf (@{$vf_list}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 #expand the slice UPSTREAM and DOWNSTREAM
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 $new_slice = $vf->feature_Slice()->expand($UPSTREAM,$DOWNSTREAM);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 #get the genes in the new slice
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333 $gene_list = $new_slice->get_all_Genes();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 foreach my $gene (@{$gene_list}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 if (($vf->start >= $gene->seq_region_start - $UPSTREAM) && ($vf->start <= $gene->seq_region_end + $DOWNSTREAM) && ($vf->end <= $gene->seq_region_end + $DOWNSTREAM)){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 #the vf is affecting the gene, add to the hash if not present already
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 if (!exists $gene_hash->{$gene->dbID}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 $gene_hash->{$gene->dbID} = $gene;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 #and return all the genes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 push @{$genes}, values %{$gene_hash};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 return $genes;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 =head2 get_all_VariationFeatures
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 Example : $vfs = $v->get_all_VariationFeatures();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 Description : Retrieves all VariationFeatures for this Variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 ReturnType : reference to list of Bio::EnsEMBL::Variation::VariationFeature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 sub get_all_VariationFeatures{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 if(defined $self->adaptor) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 # get variation feature adaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370 my $vf_adaptor = $self->adaptor()->db()->get_VariationFeatureAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372 return $vf_adaptor->fetch_all_by_Variation($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376 warn("No variation database attached");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377 return [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 =head2 get_VariationFeature_by_dbID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384 Example : $vf = $v->get_VariationFeature_by_dbID();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385 Description : Retrieves a VariationFeature for this Variation by it's internal
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386 database identifier
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387 ReturnType : Bio::EnsEMBL::Variation::VariationFeature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394 sub get_VariationFeature_by_dbID{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396 my $dbID = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 throw("No dbID defined") unless defined $dbID;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400 if(defined $self->adaptor) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402 # get variation feature adaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403 my $vf_adaptor = $self->adaptor()->db()->get_VariationFeatureAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405 my $vf = $vf_adaptor->fetch_by_dbID($dbID);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407 # check defined
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408 if(defined($vf)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410 # check it is the same variation ID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411 if($vf->{_variation_id} == $self->dbID) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412 return $vf;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416 warn("Variation dbID for Variation Feature does not match this Variation's dbID");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427 warn("No variation database attached");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
431
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
432
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
433
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
434 =head2 get_all_synonyms
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436 Arg [1] : (optional) string $source - the source of the synonyms to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
437 return.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
438 Example : @dbsnp_syns = @{$v->get_all_synonyms('dbSNP')};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
439 @all_syns = @{$v->get_all_synonyms()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
440 Description: Retrieves synonyms for this Variation. If a source argument
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
441 is provided all synonyms from that source are returned,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
442 otherwise all synonyms are returned.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
443 Returntype : reference to list of strings
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
444 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
445 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
446 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
447
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
448 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
449
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
450 sub get_all_synonyms {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
451 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
452 my $source = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
453
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
454 if ($source) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
455 $source = [$source];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
456 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
457 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
458 $source = $self->get_all_synonym_sources();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
459 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
460
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
461 my @synonyms;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
462 map {push(@synonyms,keys(%{$self->{synonyms}{$_}}))} @{$source};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
463
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
464 return \@synonyms;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
465 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
466
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
467
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
468
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
469 =head2 get_all_synonym_sources
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
470
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
471 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
472 Example : my @sources = @{$v->get_all_synonym_sources()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
473 Description: Retrieves a list of all the sources for synonyms of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
474 Variation.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
475 Returntype : reference to a list of strings
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
476 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
477 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
478 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
479
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
480 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
481
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
482 sub get_all_synonym_sources {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
483 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
484 my @sources = keys %{$self->{'synonyms'}};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
485 return \@sources;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
486 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
487
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
488
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
489
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
490 =head2 add_synonym
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
491
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
492 Arg [1] : string $source
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
493 Arg [2] : string $syn
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
494 Example : $v->add_synonym('dbSNP', 'ss55331');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
495 Description: Adds a synonym to this variation.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
496 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
497 Exceptions : throw if $source argument is not provided
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
498 throw if $syn argument is not provided
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
499 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
500 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
501
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
502 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
503
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
504 sub add_synonym {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
505 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
506 my $source = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
507 my $syn = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
508
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
509 throw("source argument is required") if(!$source);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
510 throw("syn argument is required") if(!$syn);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
511
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
512 $self->{'synonyms'}{$source}{$syn}++;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
513
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
514 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
515 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
516
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
517
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
518
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
519 =head2 get_all_validation_states
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
520
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
521 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
522 Example : my @vstates = @{$v->get_all_validation_states()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
523 Description: Retrieves all validation states for this variation. Current
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
524 possible validation statuses are 'cluster','freq','submitter',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
525 'doublehit', 'hapmap'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
526 Returntype : reference to list of strings
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
527 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
528 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
529 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
530
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
531 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
532
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
533 sub get_all_validation_states {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
534 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
535
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
536 return Bio::EnsEMBL::Variation::Utils::Sequence::get_all_validation_states($self->{'validation_code'});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
537 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
538
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
539
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
540
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
541
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
542 =head2 add_validation_state
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
543
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
544 Arg [1] : string $state
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
545 Example : $v->add_validation_state('cluster');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
546 Description: Adds a validation state to this variation.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
547 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
548 Exceptions : warning if validation state is not a recognised type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
549 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
550 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
551
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
552 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
553
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
554 sub add_validation_state {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
555 Bio::EnsEMBL::Variation::Utils::Sequence::add_validation_state(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
556 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
557
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
558
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
559
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
560 =head2 source
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
561
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
562 Arg [1] : string $source (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
563 The new value to set the source attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
564 Example : $source = $v->source()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
565 Description: Getter/Setter for the source attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
566 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
567 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
568 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
569 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
570
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
571 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
572
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
573 sub source{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
574 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
575 return $self->{'source'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
576 return $self->{'source'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
577 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
578
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
579
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
580 =head2 source_type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
581
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
582 Arg [1] : string $source_type (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
583 The new value to set the source type attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
584 Example : $source_type = $v->source_type()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
585 Description: Getter/Setter for the source type attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
586 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
587 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
588 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
589 Status : At risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
590
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
591 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
592
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
593 sub source_type{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
594 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
595 return $self->{'source_type'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
596 return $self->{'source_type'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
597 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
598
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
599
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
600 =head2 source_description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
601
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
602 Arg [1] : string $source_description (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
603 The new value to set the source description attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
604 Example : $source_description = $v->source_description()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
605 Description: Getter/Setter for the source description attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
606 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
607 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
608 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
609 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
610
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
611 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
612
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
613 sub source_description{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
614 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
615 return $self->{'source_description'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
616 return $self->{'source_description'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
617 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
618
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
619
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
620
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
621 =head2 source_url
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
622
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
623 Arg [1] : string $source_url (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
624 The new value to set the source URL attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
625 Example : $source_url = $v->source_url()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
626 Description: Getter/Setter for the source URL attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
627 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
628 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
629 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
630 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
631
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
632 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
633
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
634 sub source_url{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
635 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
636 return $self->{'source_url'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
637 return $self->{'source_url'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
638 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
639
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
640 =head2 is_somatic
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
641
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
642 Arg [1] : boolean $is_somatic (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
643 The new value to set the is_somatic flag to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
644 Example : $is_somatic = $v->is_somatic
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
645 Description: Getter/Setter for the is_somatic flag, which identifies this variation as either somatic or germline
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
646 Returntype : boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
647 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
648 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
649 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
650
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
651 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
652
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
653 sub is_somatic {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
654 my ($self, $is_somatic) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
655 $self->{is_somatic} = $is_somatic if defined $is_somatic;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
656 return $self->{is_somatic};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
657 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
658
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
659 =head2 flipped
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
660
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
661 Arg [1] : boolean $flipped (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
662 The new value to set the flipped flag to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
663 Example : $flipped = $v->flipped
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
664 Description: Getter/Setter for the flipped flag, which identifies if this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
665 variation's strand has been flipped during the import process
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
666 Returntype : boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
667 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
668 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
669 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
670
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
671 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
672
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
673 sub flipped {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
674 my ($self, $flipped) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
675 $self->{flipped} = $flipped if defined $flipped;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
676 return $self->{flipped};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
677 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
678
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
679 =head2 get_all_Alleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
680
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
681 Arg [1] : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
682 Example : @alleles = @{$v->get_all_Alleles()};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
683 Description: Retrieves all Alleles associated with this variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
684 Returntype : reference to list of Bio::EnsEMBL::Variation::Allele objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
685 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
686 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
687 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
688
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
689 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
690
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
691 sub get_all_Alleles {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
692 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
693
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
694 # If the private hash key 'alleles' does not exist, no attempt has been made to load them, so do that
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
695 unless (exists($self->{alleles})) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
696
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
697 # Get an AlleleAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
698 assert_ref($self->adaptor(),'Bio::EnsEMBL::Variation::DBSQL::BaseAdaptor');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
699 my $allele_adaptor = $self->adaptor->db->get_AlleleAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
700
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
701 $self->add_Allele($allele_adaptor->fetch_all_by_Variation($self));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
702 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
703
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
704 return $self->{alleles};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
705 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
706
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
707
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
708
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
709 =head2 ancestral_allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
710
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
711 Arg [1] : string $ancestral_allele (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
712 Example : $ancestral_allele = v->ancestral_allele();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
713 Description: Getter/Setter ancestral allele associated with this variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
714 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
715 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
716 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
717 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
718
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
719 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
720
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
721 sub ancestral_allele {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
722 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
723 return $self->{'ancestral_allele'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
724 return $self->{'ancestral_allele'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
725 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
726
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
727 =head2 moltype
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
728
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
729 Arg [1] : string $moltype (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
730 The new value to set the moltype attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
731 Example : $moltype = v->moltype();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
732 Description: Getter/Setter moltype associated with this variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
733 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
734 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
735 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
736 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
737
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
738 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
739
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
740 sub moltype {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
741 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
742 return $self->{'moltype'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
743 return $self->{'moltype'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
744 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
745
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
746
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
747 =head2 five_prime_flanking_seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
748
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
749 Arg [1] : string $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
750 The new value to set the five_prime_flanking_seq attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
751 Example : $five_prime_flanking_seq = $obj->five_prime_flanking_seq()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
752 Description: Getter/Setter for the five_prime_flanking_seq attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
753 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
754 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
755 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
756 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
757
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
758 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
759
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
760 sub five_prime_flanking_seq{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
761 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
762
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
763 #setter of the flanking sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
764 return $self->{'five_prime_flanking_seq'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
765 #lazy-load the flanking sequence from the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
766 if (!defined $self->{'five_prime_flanking_seq'} && $self->{'adaptor'}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
767 my $variation_adaptor = $self->adaptor()->db()->get_VariationAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
768 ($self->{'three_prime_flanking_seq'},$self->{'five_prime_flanking_seq'}) = @{$variation_adaptor->get_flanking_sequence($self->{'dbID'})};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
769 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
770 return $self->{'five_prime_flanking_seq'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
771 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
772
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
773
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
774
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
775
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
776 =head2 three_prime_flanking_seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
777
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
778 Arg [1] : string $newval (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
779 The new value to set the three_prime_flanking_seq attribute to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
780 Example : $three_prime_flanking_seq = $obj->three_prime_flanking_seq()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
781 Description: Getter/Setter for the three_prime_flanking_seq attribute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
782 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
783 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
784 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
785 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
786
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
787 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
788
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
789 sub three_prime_flanking_seq{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
790 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
791
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
792 #setter of the flanking sequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
793 return $self->{'three_prime_flanking_seq'} = shift if(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
794 #lazy-load the flanking sequence from the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
795 if (!defined $self->{'three_prime_flanking_seq'} && $self->{'adaptor'}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
796 my $variation_adaptor = $self->adaptor()->db()->get_VariationAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
797 ($self->{'three_prime_flanking_seq'},$self->{'five_prime_flanking_seq'}) = @{$variation_adaptor->get_flanking_sequence($self->{'dbID'})};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
798 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
799 return $self->{'three_prime_flanking_seq'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
800 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
801
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
802
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
803 =head2 get_all_IndividualGenotypes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
804
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
805 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
806 Example : $ind_genotypes = $var->get_all_IndividualGenotypes()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
807 Description: Getter for IndividualGenotypes for this Variation, returns empty list if
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
808 there are none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
809 Returntype : listref of IndividualGenotypes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
810 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
811 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
812 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
813
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
814 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
815
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
816 sub get_all_IndividualGenotypes {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
817 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
818 my $individual = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
819 if (defined ($self->{'adaptor'})){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
820 my $igtya = $self->{'adaptor'}->db()->get_IndividualGenotypeAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
821
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
822 return $igtya->fetch_all_by_Variation($self, $individual);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
823 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
824 return [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
825 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
826
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
827 =head2 get_all_PopulationGenotypes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
828
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
829 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
830 Example : $pop_genotypes = $var->get_all_PopulationGenotypes()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
831 Description: Getter for PopulationGenotypes for this Variation, returns empty list if
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
832 there are none.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
833 Returntype : listref of PopulationGenotypes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
834 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
835 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
836 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
837
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
838 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
839
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
840 sub get_all_PopulationGenotypes {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
841 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
842
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
843 #simulate a lazy-load on demand situation, used by the Glovar team
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
844 if (!defined($self->{'populationGenotypes'}) && defined ($self->{'adaptor'})){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
845 my $pgtya = $self->{'adaptor'}->db()->get_PopulationGenotypeAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
846
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
847 return $pgtya->fetch_all_by_Variation($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
848 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
849 return $self->{'populationGenotypes'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
850
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
851 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
852
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
853
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
854 =head2 add_PopulationGenotype
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
855
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
856 Arg [1] : Bio::EnsEMBL::Variation::PopulationGenotype
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
857 Example : $v->add_PopulationGenotype($pop_genotype)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
858 Description : Adds another PopulationGenotype to the Variation object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
859 Exceptions : thrown on bad argument
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
860 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
861 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
862
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
863 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
864
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
865 sub add_PopulationGenotype{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
866 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
867
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
868 if (@_){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
869 if(!ref($_[0]) || !$_[0]->isa('Bio::EnsEMBL::Variation::PopulationGenotype')) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
870 throw("Bio::EnsEMBL::Variation::PopulationGenotype argument expected");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
871 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
872 #a variation can have multiple PopulationGenotypes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
873 push @{$self->{'populationGenotypes'}},shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
874 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
875
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
876 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
877
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
878
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
879 =head2 ambig_code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
880
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
881 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
882 Example : my $ambiguity_code = $v->ambig_code()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
883 Description : Returns the ambigutiy code for the alleles in the Variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
884 ReturnType : String $ambiguity_code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
885 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
886 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
887 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
888
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
889 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
890
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
891 sub ambig_code{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
892 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
893
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
894 my $code;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
895
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
896 # first try via VF
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
897 if(my @vfs = @{$self->get_all_VariationFeatures}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
898 if(scalar @vfs) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
899 $code = $vfs[0]->ambig_code;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
900 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
901 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
902
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
903 # otherwise get it via alleles attatched to this object already
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
904 if(!defined($code)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
905 my $alleles = $self->get_all_Alleles(); #get all Allele objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
906 my %alleles; #to get all the different alleles in the Variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
907 map {$alleles{$_->allele}++} @{$alleles};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
908 my $allele_string = join "|",keys %alleles;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
909 $code = &ambiguity_code($allele_string);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
910 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
911
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
912 return $code;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
913 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
914
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
915 =head2 var_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
916
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
917 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
918 Example : my $variation_class = $vf->var_class()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
919 Description : returns the class for the variation, according to dbSNP classification
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
920 ReturnType : String $variation_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
921 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
922 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
923 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
924
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
925 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
926
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
927 sub var_class{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
928 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
929
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
930 unless ($self->{class_display_term}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
931
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
932 unless ($self->{class_SO_term}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
933 # work out the term from the alleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
934
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
935 my $alleles = $self->get_all_Alleles(); #get all Allele objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
936 my %alleles; #to get all the different alleles in the Variation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
937 map {$alleles{$_->allele}++} @{$alleles};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
938 my $allele_string = join '/',keys %alleles;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
939
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
940 $self->{class_SO_term} = SO_variation_class($allele_string);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
941 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
942
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
943 # convert the SO term to the ensembl display term
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
944
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
945 $self->{class_display_term} = $self->is_somatic ?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
946 $VARIATION_CLASSES{$self->{class_SO_term}}->{somatic_display_term} :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
947 $VARIATION_CLASSES{$self->{class_SO_term}}->{display_term};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
948 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
949
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
950 return $self->{class_display_term};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
951 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
952
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
953 =head2 derived_allele_frequency
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
954
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
955 Arg[1] : Bio::EnsEMBL::Variation::Population $population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
956 Example : $daf = $variation->derived_allele_frequency($population);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
957 Description: Gets the derived allele frequency for the population.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
958 The DAF is the frequency of the reference allele that is
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
959 different from the allele in Chimp. If none of the alleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
960 is the same as the ancestral, will return reference allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
961 frequency
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
962 Returntype : float
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
963 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
964 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
965 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
966
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
967 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
968
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
969 sub derived_allele_frequency{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
970 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
971 my $population = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
972 my $daf;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
973
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
974 if(!ref($population) || !$population->isa('Bio::EnsEMBL::Variation::Population')) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
975 throw('Bio::EnsEMBL::Variation::Population argument expected.');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
976 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
977 my $ancestral_allele = $self->ancestral_allele();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
978 if (defined $ancestral_allele){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
979 #get reference allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
980 my $vf_adaptor = $self->adaptor->db->get_VariationFeatureAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
981 my $vf = shift @{$vf_adaptor->fetch_all_by_Variation($self)};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
982 my $ref_freq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
983 #get allele in population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
984 my $alleles = $self->get_all_Alleles();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
985
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
986 foreach my $allele (@{$alleles}){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
987 next unless defined $allele->population;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
988
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
989 if (($allele->allele eq $vf->ref_allele_string) and ($allele->population->name eq $population->name)){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
990 $ref_freq = $allele->frequency;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
991 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
992 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
993
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
994 if(defined $ref_freq) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
995 if ($ancestral_allele eq $vf->ref_allele_string){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
996 $daf = 1 - $ref_freq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
997 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
998 elsif ($ancestral_allele ne $vf->ref_allele_string){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
999 $daf = $ref_freq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1000 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1001 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1002 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1003
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1004 return $daf;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1005 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1006
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1007 =head2 derived_allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1008
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1009 Arg[1] : Bio::EnsEMBL::Variation::Population $population
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1010 Example : $da = $variation->derived_allele($population);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1011 Description: Gets the derived allele for the population.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1012 Returntype : float
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1013 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1014 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1015 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1016
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1017 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1018
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1019 sub derived_allele {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1020 my $self = shift();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1021 my $population = shift();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1022
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1023 my $population_dbID = $population->dbID();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1024 my $ancestral_allele_str = $self->ancestral_allele();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1025
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1026 if (not defined($ancestral_allele_str)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1027 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1028 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1029
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1030 my $alleles = $self->get_all_Alleles();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1031
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1032 my $derived_allele_str;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1033
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1034 foreach my $allele (@{$alleles}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1035 my $allele_population = $allele->population();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1036
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1037 if (defined($allele_population) and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1038 $allele_population->dbID() == $population_dbID)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1039 {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1040 my $allele_str = $allele->allele();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1041
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1042 if ($ancestral_allele_str ne $allele_str) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1043 if (defined($derived_allele_str)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1044 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1045 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1046 $derived_allele_str = $allele_str;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1047 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1048 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1049 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1050 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1051 return $derived_allele_str;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1052 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1053
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1054 =head2 minor_allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1055
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1056 Arg [1] : string $minor_allele (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1057 The new minor allele string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1058 Example : $ma = $obj->minor_allele()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1059 Description: Get/set the minor allele of this variation, as reported by dbSNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1060 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1061 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1062 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1063 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1064
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1065 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1066
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1067 sub minor_allele {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1068 my ($self, $minor_allele) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1069 $self->{minor_allele} = $minor_allele if defined $minor_allele;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1070 return $self->{minor_allele}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1071 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1072
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1073 =head2 minor_allele_frequency
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1074
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1075 Arg [1] : float $minor_allele_frequency (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1076 The new minor allele frequency
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1077 Example : $maf = $obj->minor_allele_frequency()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1078 Description: Get/set the frequency of the minor allele of this variation, as reported by dbSNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1079 Returntype : float
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1080 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1081 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1082 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1083
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1084 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1085
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1086 sub minor_allele_frequency {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1087 my ($self, $minor_allele_frequency) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1088 $self->{minor_allele_frequency} = $minor_allele_frequency if defined $minor_allele_frequency;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1089 return $self->{minor_allele_frequency}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1090 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1091
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1092 =head2 minor_allele_count
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1093
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1094 Arg [1] : int $minor_allele_count (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1095 The new minor allele count
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1096 Example : $maf_count = $obj->minor_allele_count()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1097 Description: Get/set the sample count of the minor allele of this variation, as reported by dbSNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1098 Returntype : int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1099 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1100 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1101 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1102
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1103 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1105 sub minor_allele_count {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1106 my ($self, $minor_allele_count) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1107 $self->{minor_allele_count} = $minor_allele_count if defined $minor_allele_count;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1108 return $self->{minor_allele_count}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1109 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1111 =head2 clinical_significance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1113 Arg [1] : string $clinical_significance (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1114 The new clinical significance string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1115 Example : $ma = $obj->clinical_significance()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1116 Description: Get/set the clinical significance of this variation, as reported by dbSNP.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1117 When available, this will be one of the following strings:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1118 unknown
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1119 untested
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1120 non-pathogenic
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1121 probable-non-pathogenic
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1122 probable-pathogenic
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1123 pathogenic
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1124 drug-response
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1125 histocompatibility
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1126 other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1127 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1128 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1129 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1130 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1132 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1134 sub clinical_significance {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1135 my ($self, $clinical_significance) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1136 $self->{clinical_significance} = $clinical_significance if defined $clinical_significance;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1137 return $self->{clinical_significance}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1138 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1140 =head2 get_all_VariationAnnotations
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1142 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1143 Example : my $annotations = $var->get_all_VariationAnnotations()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1144 Description: Getter for VariationAnnotations for this Variation, returns empty list if
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1145 there are none.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1146 Returntype : listref of VariationAnnotations
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1147 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1148 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1150 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1151
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1152 sub get_all_VariationAnnotations {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1153 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1154
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1155 #ÊAssert the adaptor reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1156 assert_ref($self->adaptor(),'Bio::EnsEMBL::Variation::DBSQL::BaseAdaptor');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1158 # Get the annotations from the database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1159 return $self->adaptor->db->get_VariationAnnotationAdaptor()->fetch_all_by_Variation($self);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1160
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1161 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1163 1;