[ensembl-dev] getting gene exons and transcripts that overlap only the original slice
Andrea Edwards
edwardsa at cs.man.ac.uk
Tue Jan 11 19:38:02 GMT 2011
Hello
i have this code below taken from the core api tutorial which gets me
all the exons and transcripts for the gene(s) that overlap a slice.
I was hoping for an easy way to get those features of the gene that
only overlap the original one bp slice; this code gets all exons and
transcripts
associated with the gene
I thought you might be able to call 'get_all_Object' methods with a
parameter which represents a region of sequence overlap but it seems not.
I also thought they might be filtered automatically based on the
underlying slice but it seems not.
Naturally i can filter the features in the list based on their start and
end positions but for speed it would be easier not to retrieve them all at.
I have a lot of data so speed is important. Please can you advise the
best way to do this.
$slice = $slice_adaptor->fetch_by_region( 'chromosome', '9', 21816758,
21816758 );
my $genes = $slice->get_all_Genes();
while ( my $gene = shift @{$genes} ) {
my $gstring = feature2string($gene);
print "$gstring\n";
my $transcripts = $gene->get_all_Transcripts();
while ( my $transcript = shift @{$transcripts} ) {
my $tstring = feature2string($transcript);
print "\t$tstring\n";
foreach my $exon ( @{ $transcript->get_all_Exons() } ) {
my $estring = feature2string($exon);
print "\t\t$estring\n";
}
}
}
print "done\n";
Many thanks
More information about the Dev
mailing list