annotate variant_effect_predictor/Bio/EnsEMBL/Variation/OverlapConsequence.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 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 Bio::EnsEMBL::Variation::OverlapConsequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 use Bio::EnsEMBL::Variation::OverlapConsequence;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 my $oc = Bio::EnsEMBL::Variation::OverlapConsequence->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 -display_term => 'NON_SYNONYMOUS_CODING',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 -SO_term => 'non_synonymous_codon',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 -SO_accession => 'SO:0001583',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 -NCBI_term => 'missense',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 -feature_SO_term => 'mRNA',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -description => 'In coding sequence and results in an amino acid change in the encoded peptide sequence',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 -predicate => 'Bio::EnsEMBL::Variation::Utils::VariationEffect::non_synonymous_codon',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 -label => 'Non-synonymous coding',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 -rank => 7,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 -feature_class => 'Bio::EnsEMBL::Transcript',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 if ($oc->predicate($transcript_variation_allele)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 print "This allele is: ", $oc->display_term, "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 An OverlapConsequence represents the consequence of an allele of a VariationFeature overlapping
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 some other Ensembl Feature (and therefore applies to VariationFeatureOverlapAllele objects as these
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 represent just such an event). It contains various values that represent the consequence type, such
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 as the Sequence Ontology (SO) term and accession (which should always be unique), the Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 display_term (which will not always be unique), the relative rank of this consequence when compared
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 to other consequences etc. It also contains a reference to a subroutine, referred to as the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 'predicate', which if a called with a VariationFeatureOverlapAllele (or a subclass) as the first and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 only argument, will return a true or false value if this consequence type applies to this allele.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 The list of OverlapConsequences used by Ensembl is defined in the Bio::EnsEMBL::Variation::Utils::Constants
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 module, and can be imported from there.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 package Bio::EnsEMBL::Variation::OverlapConsequence;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 use Bio::EnsEMBL::Utils::Exception qw(throw);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 use Bio::EnsEMBL::Variation::Utils::VariationEffect;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 Arg [-SO_ACCESSION] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 The Sequence Ontology accession for this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 Arg [-SO_TERM] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 The Sequence Ontology term for this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 Arg [-FEATURE_SO_TERM] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 The Sequence Ontology term for the feature affected by this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Arg [-FEATURE_CLASS] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 The Ensembl class that represents the feature affected by this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Arg [-VARIANT_FEATURE_CLASS] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 The Ensembl class that represents the variation feature this consequence applies to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 Arg [-PREDICATE] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 A reference to a subroutine that checks if this consequence type holds for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 a given VariationFeatureOverlapAllele (or the name of such a subroutine)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 Arg [-RANK] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 The relative rank of this consequence type when compred to other OverlapConsequence
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 Arg [-DISPLAY_TERM] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 The Ensembl display term for this consequence type (used by default on the website)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 Arg [-NCBI_TERM] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 The NCBI term for this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 Arg [-DESCRIPTION] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 A freetext description of this consequence type (used on the website)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 Arg [-LABEL] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 A freetext label briefly describing this consequence type (used on the website)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 Arg [-IS_DEFAULT] :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 A flag indicating if this is the default consequence type used when none other applies
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 (in Ensembl this currently set on the intergenic OverlapConsequence)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 my $oc = Bio::EnsEMBL::Variation::OverlapConsequence->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 -display_term => 'NON_SYNONYMOUS_CODING',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 -SO_term => 'non_synonymous_codon',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 -SO_accession => 'SO:0001583',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 -NCBI_term => 'missense',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 -feature_SO_term => 'mRNA',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 -description => 'In coding sequence and results in an amino acid change in the encoded peptide sequence',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 -predicate => 'Bio::EnsEMBL::Variation::Utils::VariationEffect::non_synonymous_codon',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 -label => 'Non-synonymous coding',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 -rank => 7,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 -tier => 1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 -feature_class => 'Bio::EnsEMBL::Transcript',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 Description: Constructs a new OverlapConsequence instance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Returntype : A new Bio::EnsEMBL::Variation::OverlapConsequence instance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 my $class = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 my (
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 $SO_accession,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 $SO_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 $feature_SO_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 $feature_class,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 $variant_feature_class,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 $predicate,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 $rank,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 $tier,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 $display_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 $NCBI_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 $description,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 $label,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 $is_default,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 ) = rearrange([qw(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 SO_ACCESSION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 SO_TERM
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 FEATURE_SO_TERM
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 FEATURE_CLASS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 VARIANT_FEATURE_CLASS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 PREDICATE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 RANK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 TIER
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 DISPLAY_TERM
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 NCBI_TERM
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 LABEL
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 IS_DEFAULT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 )], @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 my $self = bless {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 SO_accession => $SO_accession,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 SO_term => $SO_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 feature_SO_term => $feature_SO_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 feature_class => $feature_class,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 variant_feature_class => $variant_feature_class,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 predicate => $predicate,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 rank => $rank,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 tier => $tier,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 display_term => $display_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 NCBI_term => $NCBI_term,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 description => $description,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 label => $label,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 is_default => $is_default,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 }, $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 sub new_fast {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 my ($class, $hashref) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 return bless $hashref, $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 =head2 SO_accession
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 Arg [1] : (optional) accession to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 Description: Get/set the Sequence Ontology accession for this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 sub SO_accession {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 my ($self, $SO_accession) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 $self->{SO_accession} = $SO_accession if $SO_accession;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 return $self->{SO_accession};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 =head2 SO_term
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 Arg [1] : (optional) term to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 Description: Get/set the Sequence Ontology term for this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 sub SO_term {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 my ($self, $SO_term) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 $self->{SO_term} = $SO_term if $SO_term;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 return $self->{SO_term};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 =head2 feature_SO_term
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 Arg [1] : (optional) term to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 Description: Get/set the Sequence Ontology term for the feature affected by this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 sub feature_SO_term {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 my ($self, $feature_SO_term) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 $self->{feature_SO_term} = $feature_SO_term if $feature_SO_term;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 return $self->{feature_SO_term};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 =head2 feature_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 Arg [1] : (optional) class to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 Description: Get/set the Ensembl class representing the feature affected by this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 Exceptions : none
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 feature_class {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 my ($self, $feature_class) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 $self->{feature_class} = $feature_class if $feature_class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 return $self->{feature_class} || '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 =head2 predicate
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 Arg [1] : (optional) reference to subroutine (or the name of a subroutine)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 Description: Get/set the predicate used to check if this consequence type applies
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 to a given VariationFeatureOverlapAllele. Currently, if you supply
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 a name (rather than a coderef), this subroutine must be found in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 Bio::EnsEMBL::Variation::Utils::VariationEffect module.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 Returntype : coderef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 Exceptions : throws if a name is supplied and the subroutine cannot be found in
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 the expected module
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 predicate {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 my ($self, $predicate) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 $self->{predicate} = $predicate if $predicate;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 if ($self->{predicate} && ref $self->{predicate} ne 'CODE') {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 my $name = $self->{predicate};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 if (defined &$name && $name =~ /^Bio::EnsEMBL::Variation::Utils::VariationEffect/) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 $self->{predicate} = \&$name;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281 throw("Can't find a subroutine called $name in the VariationEffect module?");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 return $self->{predicate};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 =head2 rank
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 Arg [1] : (optional) rank to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 Description: Get/set the relative rank of this OverlapConsequence when compared to other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 OverlapConsequence objects. This is used, for example, to determine the most
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 severe consequence of a VariationFeature.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 Returntype : integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 sub rank {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301 my ($self, $rank) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 $self->{rank} = $rank if $rank;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 return $self->{rank};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 =head2 tier
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 Arg [1] : (optional) tier to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 Description: Get/set the tier this OverlapConsequence belongs to. Variations will be
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 assigned consequences in tier order; if a tier 1 consequence is assigned,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311 no tier 2 consequences will be checked/assigned.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 Returntype : integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 sub tier {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 my ($self, $tier) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 $self->{tier} = $tier if $tier;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 return $self->{tier};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 =head2 display_term
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 Arg [1] : (optional) term to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 Description: Get/set the Ensembl display term for this consequence type. This is
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 used by default on the website.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 sub display_term {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 my ($self, $display_term) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 $self->{display_term} = $display_term if $display_term;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 return $self->{display_term} || $self->SO_term;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342 =head2 NCBI_term
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 Arg [1] : (optional) term to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 Description: Get/set the NCBI term for this consequence type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 sub NCBI_term {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 my ($self, $NCBI_term) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 $self->{NCBI_term} = $NCBI_term if $NCBI_term;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 return $self->{NCBI_term} || $self->SO_term;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 =head2 description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 Arg [1] : (optional) description to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361 Description: Get/set the description for this consequence type. This is used on the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 website and is intended to be a freetext description of this consequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 sub description {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370 my ($self, $description) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371 $self->{description} = $description if $description;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372 return $self->{description};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375 =head2 label
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377 Arg [1] : (optional) label to set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 Description: Get/set the label for this consequence type. This is used on the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 website and is intended to be a short description of this consequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386 sub label {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387 my ($self, $label) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388 $self->{label} = $label if $label;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389 return $self->{label};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392 =head2 variant_feature_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394 Arg [1] : (optional) class as a atring
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395 Description: Get/set the class of variant features that this consequence can apply to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396 Returntype : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402 sub variant_feature_class {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403 my ($self, $class) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404 $self->{variant_feature_class} = $class if $class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405 return $self->{variant_feature_class};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408 =head2 is_default
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410 Arg [1] : (optional) flag
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411 Description: Get/set a flag indicating if this is the default consequence type.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412 There should only be one default OverlapConsequence, in Ensembl this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413 flag is only set on the INTERGENIC OverlapConsequence object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414 Returntype : bool
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420 sub is_default {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421 my ($self, $is_default) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422 $self->{is_default} = $is_default if defined $is_default;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423 return $self->{is_default};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 sub get_all_parent_SO_terms {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429 if (my $adap = $self->{adaptor}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430 if (my $goa = $adap->db->get_SOTermAdaptor) {
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 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436 1;