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