Mercurial > repos > mahtabm > ensembl
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/variant_effect_predictor/Bio/EnsEMBL/Funcgen/Utils/Encode.pm Thu Apr 11 02:01:53 2013 -0400 @@ -0,0 +1,96 @@ +# Ensembl module for Bio::EnsEMBL::Funcgen::Utils::Encode +# + +=head1 LICENSE + + Copyright (c) 1999-2011 The European Bioinformatics Institute and + Genome Research Limited. All rights reserved. + + This software is distributed under a modified Apache license. + For license details, please see + + http://www.ensembl.org/info/about/code_licence.html + +=head1 CONTACT + + Please email comments or questions to the public Ensembl + developers list at <ensembl-dev@ebi.ac.uk>. + + Questions may also be sent to the Ensembl help desk at + <helpdesk@ensembl.org>. + + +=head1 NAME + +Bio::EnsEMBL::Funcgen::Utils::Encode - provides some handy methods to deal +with Encode regions. + +=head1 SYNOPSIS + + use Bio::EnsEMBL::Funcgen::Utils::Encode qw(get_encode_regions); + + my $encode_regions = &get_encode_regions($dnadb, $assembly_version); + +=head1 DESCRIPTION + +=cut + +use strict; +use warnings; + +package Bio::EnsEMBL::Funcgen::Utils::Encode; + +require Exporter; +use vars qw(@ISA @EXPORT_OK); +@ISA = qw(Exporter); +@EXPORT_OK = qw(get_encode_regions); + +use Bio::EnsEMBL::Utils::Exception qw(throw); +use POSIX; +use Data::Dumper; + +=head2 get_encode_regions + + Arg [1] : Bio::EnsEMBL::DBSQL::DBAdaptor + Description : fetch encode region coordinates from core db + Returns : reference to list of Bio::EnsEMBL::MiscFeatures Encode region slices + Exceptions : Throws if no Bio::EnsEMBL::DBSQL::DBAdaptor defined + Example : get_encode_regions($dnadb); + +=cut + +sub get_encode_regions { + + my $db = shift; + + throw("Need to pass a valid Bio::EnsEMBL::DBSQL::DBAdaptor") + if (! ($db && $db->isa("Bio::EnsEMBL::DBSQL::DBAdaptor"))); + + my $sa = $db->get_SliceAdaptor(); + my $tls = $sa->fetch_all('toplevel'); + #map { print Dumper $_->name } @$tls; + + my $mfa = $db->get_MiscFeatureAdaptor(); + + my @encode_regions; + map { + push @encode_regions, @{$mfa->fetch_all_by_Slice_and_set_code($_, 'encode')}; + } @$tls; + + return \@encode_regions; + + + #my %encode_regions; + #map { $encode_regions{$_->display_id} = sprintf + # ("%s:%s:%s:%d:%d:%d", + # $_->slice->coord_system_name, + # $_->slice->coord_system()->version(), + # $_->slice->seq_region_name, + # $_->start, $_->end, $_->strand); + # } @encode_regions; + # + #return \%encode_regions; + +} + +1;
