Raw content of Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::IntronUtils
=head1 NAME
Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::IntronUtils - utilities for transcript objects
=head1 SYNOPSIS
use Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::IntronUtils qw(get_splice_sites);
or
use Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::IntronUtils
to get all methods
=head1 DESCRIPTION
All methods in this class should take a Bio::EnsEMBL::Intron
object as their first argument.
The methods provided should carry out some standard
functionality for said objects such as printing info or
getting splice sites
=head1 CONTACT
please send any questions to ensembl-dev@ebi.ac.uk
=head1 METHODS
the rest of the documention details the exported static
class methods
=cut
package Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::IntronUtils;
use strict;
use warnings;
use Exporter;
use Bio::EnsEMBL::Utils::Exception qw(verbose throw warning
stack_trace_dump);
use Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils qw(coord_string id);
use Bio::EnsEMBL::Analysis::Tools::Logger qw(logger_info);
use vars qw (@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(
print_Intron
Intron_info
get_splice_sites
intron_length_less_than_maximum);
=head2 Intron_info
Arg [1] : Bio::EnsEMBL::Intron
Arg [2] : string, indent of \ts to put infrount of string
Function : return a string with coords or intron
Returntype: string
Exceptions: throw is not given an argument
Example :
=cut
sub Intron_info{
my ($intron, $indent) = @_;
throw("Must be passed an intron") if(!$intron);
$indent = '' if(!$indent);
my $coord_string = coord_string($intron);
my $id = id($intron);
return $indent."INTRON: ".$coord_string;
}
=head2 print_Intron
Arg [1] : Bio::EnsEMBL::Intron
Arg [2] : string, indent
Function : print out info about given Intron
Returntype: none
Exceptions: n/a
Example :
=cut
sub print_Intron{
my ($intron, $indent) = @_;
print Intron_info($intron, $indent)."\n";
}
=head2 get_splice_sites
Arg [1] : Bio::EnsEMBL::Intron
Function : get the donor and acceptor splice sites for the
given intron
Returntype: array, (two strings in an array the donor and
acceptor splice sites)
Exceptions: none
Example :
=cut
sub get_splice_sites{
my ($intron) = @_;
my $intron_slice = $intron->feature_Slice;
my $donor_seq = uc($intron_slice->subseq(1,2));
my $acceptor_seq = uc($intron_slice->subseq($intron->length-1,$intron->length));
return $donor_seq, $acceptor_seq;
}
=head2 intron_length_less_than_maximum
Arg [1] : Bio::EnsEMBL::Intron
Arg [2] : Int, max length of intron
Function : check intron length against specificed maximum
Returntype: boolean 0 for longer than max, 1 for less than
Exceptions: none
Example :
=cut
sub intron_length_less_than_maximum{
my ($intron, $max_length) = @_;
if($intron->length >= $max_length){
warning("This intron is longer than ".$max_length);
return 0;
}
return 1;
}
1;