Mercurial > repos > mahtabm > ensembl
comparison variant_effect_predictor/Bio/EnsEMBL/Variation/Pipeline/UpdateVariationFeature.pm @ 0:1f6dce3d34e0
Uploaded
author | mahtabm |
---|---|
date | Thu, 11 Apr 2013 02:01:53 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1f6dce3d34e0 |
---|---|
1 package Bio::EnsEMBL::Variation::Pipeline::UpdateVariationFeature; | |
2 | |
3 use strict; | |
4 use warnings; | |
5 | |
6 use base qw(Bio::EnsEMBL::Variation::Pipeline::BaseVariationProcess); | |
7 | |
8 sub run { | |
9 | |
10 my $self = shift; | |
11 | |
12 my $var_dba = $self->get_species_adaptor('variation'); | |
13 | |
14 my $dbc = $var_dba->dbc; | |
15 | |
16 # first set the default consequence type | |
17 | |
18 $dbc->do(qq{ | |
19 UPDATE variation_feature | |
20 SET consequence_types = 'intergenic_variant' | |
21 }) or die "Failed to reset consequence_types on variation_feature"; | |
22 | |
23 # create a temp table (dropping it if it exists) | |
24 | |
25 my $temp_table = 'variation_feature_with_tv'; | |
26 | |
27 $dbc->do(qq{DROP TABLE IF EXISTS $temp_table}) | |
28 or die "Failed to drop pre-existing temp table"; | |
29 | |
30 $dbc->do(qq{CREATE TABLE $temp_table LIKE variation_feature}) | |
31 or die "Failed to create temp table"; | |
32 | |
33 # concatenate the consequence types from transcript_variation | |
34 | |
35 $dbc->do(qq{ | |
36 INSERT INTO $temp_table (variation_feature_id, consequence_types) | |
37 SELECT variation_feature_id, GROUP_CONCAT(DISTINCT(consequence_types)) | |
38 FROM transcript_variation | |
39 GROUP BY variation_feature_id | |
40 }) or die "Populating temp table failed"; | |
41 | |
42 # update variation_feature | |
43 | |
44 $dbc->do(qq{ | |
45 UPDATE variation_feature vf, $temp_table tvf | |
46 SET vf.consequence_types = tvf.consequence_types | |
47 WHERE vf.variation_feature_id = tvf.variation_feature_id | |
48 }) or die "Failed to update vf table"; | |
49 | |
50 # and get rid of our temp table | |
51 | |
52 $dbc->do(qq{DROP TABLE $temp_table}) | |
53 or die "Failed to drop temp table"; | |
54 | |
55 } | |
56 | |
57 1; | |
58 |