annotate variant_effect_predictor/Bio/EnsEMBL/Pipeline/FASTA/Indexer.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
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::Pipeline::FASTA::Indexer;
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::Pipeline::FASTA::Base/;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 use File::Copy qw/copy/;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 use File::Spec;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10 use Bio::EnsEMBL::Utils::Exception qw/throw/;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 sub decompress {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 my $source = $self->param('file');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 my $target_dir = $self->target_dir();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 my ($vol, $dir, $file) = File::Spec->splitpath($source);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 my $target = File::Spec->catdir($target_dir, $file);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 my $gunzipped_target = $target;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 $gunzipped_target =~ s/.gz$//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 $self->info('Copying from %s to %s', $source, $target);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 copy($source, $target) or throw "Cannot copy $source to $target: $!";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 $self->info('Decompressing %s to %s', $source, $gunzipped_target);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 system("gunzip -f $target") and throw sprintf('Could not gunzip. Exited with code %d', ($? >>8));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 return $gunzipped_target;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 sub repeat_mask_date {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 my $res = $self->get_DBAdaptor()->dbc()->sql_helper()->execute_simple(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 -SQL => <<'SQL',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 select max(date_format( created, "%Y%m%d"))
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 from analysis a join meta m on (a.logic_name = lower(m.meta_value))
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 where meta_key =?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 SQL
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -PARAMS => ['repeat.analysis']
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 return $res->[0] if @$res;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 return q{};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 sub run {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 my $decompressed = $self->decompress();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 $self->index_file($decompressed);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 $self->cleanup_DBAdaptor();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 sub index_file {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 die "Implement";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 sub target_dir {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 die "Implement";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 1;