|
0
|
1 =head1 LICENSE
|
|
|
2 Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute
|
|
|
3 Copyright [2016-2018] EMBL-European Bioinformatics Institute
|
|
|
4 Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
5 you may not use this file except in compliance with the License.
|
|
|
6 You may obtain a copy of the License at
|
|
|
7 http://www.apache.org/licenses/LICENSE-2.0
|
|
|
8 Unless required by applicable law or agreed to in writing, software
|
|
|
9 distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
10 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
11 See the License for the specific language governing permissions and
|
|
|
12 limitations under the License.
|
|
|
13
|
|
|
14 =head1 CONTACT
|
|
|
15
|
|
|
16 Ensembl <http://www.ensembl.org/info/about/contact/index.html>
|
|
|
17
|
|
|
18 =cut
|
|
|
19
|
|
|
20 =head1 NAME
|
|
|
21
|
|
|
22 HGVSReferenceBase
|
|
|
23
|
|
|
24 =head1 SYNOPSIS
|
|
|
25
|
|
|
26 mv HGVSReferenceBase.pm ~/.vep/Plugins
|
|
|
27 ./vep -i variations.vcf --cache --hgvs --plugin HGVSReferenceBase
|
|
|
28
|
|
|
29 =head1 DESCRIPTION
|
|
|
30
|
|
|
31 This is a plugin for the Ensembl Variant Effect Predictor (VEP) that
|
|
|
32 reports the reference base for the variant, as used in the longer form.
|
|
|
33 of HGVS. To be used with --hgvs option.
|
|
|
34
|
|
|
35 =cut
|
|
|
36
|
|
|
37
|
|
|
38 package HGVSReferenceBase;
|
|
|
39
|
|
|
40 use strict;
|
|
|
41 use warnings;
|
|
|
42
|
|
|
43 use Bio::EnsEMBL::Variation::Utils::BaseVepPlugin;
|
|
|
44 use Bio::EnsEMBL::Variation::DBSQL::TranscriptVariationAdaptor;
|
|
|
45 use Bio::EnsEMBL::Variation::DBSQL::DBAdaptor;
|
|
|
46 use Bio::EnsEMBL::Variation::TranscriptVariationAllele;
|
|
|
47
|
|
|
48 use base qw(Bio::EnsEMBL::Variation::Utils::BaseVepPlugin);
|
|
|
49
|
|
|
50
|
|
|
51 sub feature_types {
|
|
|
52 return ['Transcript'];
|
|
|
53 }
|
|
|
54
|
|
|
55 sub variant_feature_types {
|
|
|
56 return ['VariationFeature'];
|
|
|
57 }
|
|
|
58
|
|
|
59 sub get_header_info {
|
|
|
60 my $self = shift;
|
|
|
61
|
|
|
62 return {
|
|
|
63 'HGVS_ref' => 'Reference base as may be reported in HGVS transcript level notation',
|
|
|
64 };
|
|
|
65 }
|
|
|
66
|
|
|
67 sub run {
|
|
|
68 my ($self, $tva) = @_;
|
|
|
69
|
|
|
70 # check var class, this is only useful for deletions
|
|
|
71 # or duplications - a subset of insertions
|
|
|
72 return {} unless $tva->variation_feature->var_class() =~ /del|ins/;
|
|
|
73
|
|
|
74 return $tva->hgvs_transcript_reference() ? {'HGVS_ref' => $tva->hgvs_transcript_reference()} : {};
|
|
|
75
|
|
|
76 }
|
|
|
77
|
|
|
78 1;
|