Mercurial > repos > mahtabm > ensembl
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; |
