comparison variant_effect_predictor/Bio/EnsEMBL/Funcgen/Utils/Encode.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 # Ensembl module for Bio::EnsEMBL::Funcgen::Utils::Encode
2 #
3
4 =head1 LICENSE
5
6 Copyright (c) 1999-2011 The European Bioinformatics Institute and
7 Genome Research Limited. All rights reserved.
8
9 This software is distributed under a modified Apache license.
10 For license details, please see
11
12 http://www.ensembl.org/info/about/code_licence.html
13
14 =head1 CONTACT
15
16 Please email comments or questions to the public Ensembl
17 developers list at <ensembl-dev@ebi.ac.uk>.
18
19 Questions may also be sent to the Ensembl help desk at
20 <helpdesk@ensembl.org>.
21
22
23 =head1 NAME
24
25 Bio::EnsEMBL::Funcgen::Utils::Encode - provides some handy methods to deal
26 with Encode regions.
27
28 =head1 SYNOPSIS
29
30 use Bio::EnsEMBL::Funcgen::Utils::Encode qw(get_encode_regions);
31
32 my $encode_regions = &get_encode_regions($dnadb, $assembly_version);
33
34 =head1 DESCRIPTION
35
36 =cut
37
38 use strict;
39 use warnings;
40
41 package Bio::EnsEMBL::Funcgen::Utils::Encode;
42
43 require Exporter;
44 use vars qw(@ISA @EXPORT_OK);
45 @ISA = qw(Exporter);
46 @EXPORT_OK = qw(get_encode_regions);
47
48 use Bio::EnsEMBL::Utils::Exception qw(throw);
49 use POSIX;
50 use Data::Dumper;
51
52 =head2 get_encode_regions
53
54 Arg [1] : Bio::EnsEMBL::DBSQL::DBAdaptor
55 Description : fetch encode region coordinates from core db
56 Returns : reference to list of Bio::EnsEMBL::MiscFeatures Encode region slices
57 Exceptions : Throws if no Bio::EnsEMBL::DBSQL::DBAdaptor defined
58 Example : get_encode_regions($dnadb);
59
60 =cut
61
62 sub get_encode_regions {
63
64 my $db = shift;
65
66 throw("Need to pass a valid Bio::EnsEMBL::DBSQL::DBAdaptor")
67 if (! ($db && $db->isa("Bio::EnsEMBL::DBSQL::DBAdaptor")));
68
69 my $sa = $db->get_SliceAdaptor();
70 my $tls = $sa->fetch_all('toplevel');
71 #map { print Dumper $_->name } @$tls;
72
73 my $mfa = $db->get_MiscFeatureAdaptor();
74
75 my @encode_regions;
76 map {
77 push @encode_regions, @{$mfa->fetch_all_by_Slice_and_set_code($_, 'encode')};
78 } @$tls;
79
80 return \@encode_regions;
81
82
83 #my %encode_regions;
84 #map { $encode_regions{$_->display_id} = sprintf
85 # ("%s:%s:%s:%d:%d:%d",
86 # $_->slice->coord_system_name,
87 # $_->slice->coord_system()->version(),
88 # $_->slice->seq_region_name,
89 # $_->start, $_->end, $_->strand);
90 # } @encode_regions;
91 #
92 #return \%encode_regions;
93
94 }
95
96 1;