annotate variant_effect_predictor/Bio/EnsEMBL/Variation/Pipeline/TranscriptEffect.pm @ 2:a5976b2dce6f

changing defualt values for ensembl database
author mahtabm
date Thu, 11 Apr 2013 17:15:42 +1000
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 package Bio::EnsEMBL::Variation::Pipeline::TranscriptEffect;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 use Bio::EnsEMBL::Variation::TranscriptVariation;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 use Bio::EnsEMBL::Variation::Utils::VariationEffect qw(MAX_DISTANCE_FROM_TRANSCRIPT);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 use base qw(Bio::EnsEMBL::Variation::Pipeline::BaseVariationProcess);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 my $DEBUG = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 sub run {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 my $transcript_id = $self->required_param('transcript_stable_id');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 my $disambiguate_sn_alleles =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 $self->param('disambiguate_single_nucleotide_alleles');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 my $variations_to_include;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 if (my $vars = $self->param('variations_to_include')) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 # turn the list of variation names into a hash to speed up checking
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 $variations_to_include = { map { $_ => 1 } @$vars };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 my $core_dba = $self->get_species_adaptor('core');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 my $var_dba = $self->get_species_adaptor('variation');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 my $ta = $core_dba->get_TranscriptAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 my $sa = $core_dba->get_SliceAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 my $tva = $var_dba->get_TranscriptVariationAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 my $transcript = $ta->fetch_by_stable_id($transcript_id)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 or die "failed to fetch transcript for stable id: $transcript_id";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 # we need to include failed variations
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 $tva->db->include_failed_variations(1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 my $slice = $sa->fetch_by_transcript_stable_id(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 $transcript->stable_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 MAX_DISTANCE_FROM_TRANSCRIPT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 ) or die "failed to get slice around transcript: ".$transcript->stable_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 for my $vf ( @{ $slice->get_all_VariationFeatures },
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 @{ $slice->get_all_somatic_VariationFeatures } ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 if (defined $variations_to_include) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 next unless $variations_to_include->{$vf->variation_name};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 my $tv = Bio::EnsEMBL::Variation::TranscriptVariation->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 -transcript => $transcript,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 -variation_feature => $vf,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 -adaptor => $tva,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 -disambiguate_single_nucleotide_alleles => $disambiguate_sn_alleles,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 # if the variation has no effect on the transcript $tv will be undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 if ($tv && ( scalar(@{ $tv->consequence_type }) > 0) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 $tva->store($tv);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 sub write_output {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 1;