0
|
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;
|