[ensembl-dev] Question about AligSlice and get_all_Slices method

Marc P. Hoeppner mphoeppner at gmail.com
Mon Sep 14 10:40:20 BST 2015


Note: Sorry if this is a double post, but it seems my first message 
didn't go through (?). Sending this again to be sure.

Dear EnsEMBL developers,

I've just played around with a script I wrote ages ago and found it does
not work anymore. Briefly, I am retrieving a human gene, converting it
to a slice and am then trying to use the AlignSlice to check which other
genomes have alignments to this feature. However, this query never
completes and seems stuck on

my $sub_slices = $align_slice->get_all_Slices;

Tried it against the EnsEMBL mirror as well as a mix of remote and local
DBs as well as different MethodLinkSpeciesSets for releases 79 and 81.
Has anything changed about the behaviour of this class?


Cheers,

Marc

PS: For reference, the relevant code:

my $gene_adaptor = $registry->get_adaptor("human", "Core", "Gene");
my $genes = $gene_adaptor->fetch_all_by_external_name($rfam_acc,'RFAM');
throw("No genes found for this rfam accession") if (!$genes);

# Getting Bio::EnsEMBL::Compara::MethodLinkSpeciesSet object
my $mlssa = $registry->get_adaptor("Multi", "compara",
"MethodLinkSpeciesSet");
my $method_link_species_set =
$mlssa->fetch_by_method_link_type_species_set_name($alignment_type,$set_of_species);
throw("MLSS not found") if (!$method_link_species_set);

my $align_slice_adaptor = Bio::EnsEMBL::Registry->get_adaptor( "Multi"
,"Compara","AlignSlice");

throw("Failed to retrieve AlignSlice Adaptor") if (!$align_slice_adaptor);

foreach my $gene (@$genes) {

     print $gene->stable_id , "\n";
     my $slice = $gene->slice;

     my $align_slice =
$align_slice_adaptor->fetch_by_Slice_MethodLinkSpeciesSet(
               $slice,
               $method_link_species_set,
               "expanded"
           );

     throw("No AlignSlice for this region found") if (!$align_slice) ;

     my $sub_slices = $align_slice->get_all_Slices;
     foreach my $slice (@$sub_slices) {
         print $slice->genome_db->name , "\n";
     }
}







More information about the Dev mailing list