annotate variant_effect_predictor/Bio/EnsEMBL/Variation/StructuralVariationOverlap.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 package Bio::EnsEMBL::Variation::StructuralVariationOverlap;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 use Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 use Bio::EnsEMBL::Utils::Scalar qw(assert_ref);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 use Bio::EnsEMBL::Utils::Exception qw(throw warning);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 use base qw(Bio::EnsEMBL::Variation::BaseVariationFeatureOverlap);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 my $class = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 my %args = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 # swap a '-structural_variation_feature' argument for a '-base_variation_feature' one for the superclass
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 for my $arg (keys %args) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 if (lc($arg) eq '-structural_variation_feature') {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 $args{'-base_variation_feature'} = delete $args{$arg};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 # call the superclass constructor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 my $self = $class->SUPER::new(%args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 # construct a fake 'allele'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 $self->add_StructuralVariationOverlapAllele(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele->new_fast({
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 structural_variation_overlap => $self,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 })
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 sub new_fast {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 my ($class, $hashref) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 # swap a 'structural_variation_feature' argument for a 'base_variation_feature' one for the superclass
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 if ($hashref->{structural_variation_feature}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 $hashref->{base_variation_feature} = delete $hashref->{structural_variation_feature};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 # and call the superclass
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 my $self = $class->SUPER::new_fast($hashref);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 # for my $ssv (@{ $self->structural_variation_feature->structural_variation->get_all_SupportingStructuralVariants }) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 # for my $ssvf (@{ $ssv->get_all_StructuralVariationFeatures }) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 # $self->add_StructuralVariationOverlapAllele(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 # Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele->new_fast({
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 # structural_variation_overlap => $self,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 # })
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 # );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 # }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 # }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 unless (@{ $self->get_all_alternate_StructuralVariationOverlapAlleles }) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 # construct a fake 'allele'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 $self->add_StructuralVariationOverlapAllele(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele->new_fast({
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 structural_variation_overlap => $self,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 })
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 sub structural_variation_feature {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 return $self->base_variation_feature(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 =head2 add_StructuralVariationOverlapAllele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 Arg [1] : A Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele instance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 Description: Add an allele to this StructuralVariationOverlap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 Returntype : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 Exceptions : throws if the argument is not the expected type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 sub add_StructuralVariationOverlapAllele {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 my ($self, $svoa) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 assert_ref($svoa, 'Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 return $self->SUPER::add_BaseVariationFeatureOverlapAllele($svoa);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 =head2 get_reference_StructuralVariationOverlapAllele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 Description: Get the object representing the reference allele of this StructuralVariationOverlap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 Returntype : Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele instance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 sub get_reference_StructuralVariationOverlapAllele {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 return $self->SUPER::get_reference_BaseVariationFeatureOverlapAllele(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 =head2 get_all_alternate_StructuralVariationOverlapAlleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 Description: Get a list of the alternate alleles of this StructuralVariationOverlap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 Returntype : listref of Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 sub get_all_alternate_StructuralVariationOverlapAlleles {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 return $self->SUPER::get_all_alternate_BaseVariationFeatureOverlapAlleles(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 =head2 get_all_StructuralVariationOverlapAlleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Description: Get a list of the all the alleles, both reference and alternate, of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 this StructuralVariationOverlap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 Returntype : listref of Bio::EnsEMBL::Variation::StructuralVariationOverlapAllele objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 sub get_all_StructuralVariationOverlapAlleles {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 return $self->SUPER::get_all_BaseVariationFeatureOverlapAlleles(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144