Raw content of Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::ConfigDependent::TranscriptUtils
=head1 NAME
Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::ConfigDependent::TranscriptUtils - utilities for transcript objects which depend on config files
=head1 SYNOPSIS
use Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::ConfigDependent::TranscriptUtils qw( method );
or
use Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::ConfigDependent::TranscriptUtils
to get all methods
=head1 DESCRIPTION
All methods in this class should take a Bio::EnsEMBL::Transcript
object as their first argument.
The methods provided should carry out some standard
functionality for said objects such as printing info, and
cloning and checking phase consistency or splice sites etc
=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::ConfigDependent::TranscriptUtils;
use strict;
use warnings;
use Exporter;
use Bio::EnsEMBL::Utils::Exception qw(verbose throw warning stack_trace_dump);
use Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils::TranslationUtils qw( print_peptide );
use Bio::EnsEMBL::Analysis::Tools::Logger qw(logger_info);
use Bio::EnsEMBL::Analysis;
use Bio::EnsEMBL::Analysis::Tools::GeneBuildUtils qw( id );
use Bio::EnsEMBL::Analysis::Runnable::ProteinAnnotation::Seg;
use Bio::SeqIO;
use vars qw (@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(
low_complexity_less_than_maximum
);
=head2 low_complexity_less_than_maximum
Arg [1] : Bio::EnsEMBL::Transcript
Arg [2] : int, maximum low complexity
Function : calculate how much low complexity a
transcripts translation has and check if it is above
the specificed threshold
Returntype: boolean, 1 for pass 0 for fail
Exceptions: none
Example :
=cut
sub low_complexity_less_than_maximum{
my ($transcript, $complexity_threshold) = @_;
my $peptide = $transcript->translate;
my $seg = Bio::EnsEMBL::Analysis::Runnable::ProteinAnnotation::Seg->new
(
-query => $peptide,
-analysis => Bio::EnsEMBL::Analysis->new
(
-logic_name => 'seg',
-program_file => 'seg',
)
);
$seg->run;
my $low_complexity = $seg->get_low_complexity_length;
logger_info(id($transcript)." has ".$low_complexity.
" low complexity sequence");
#print_peptide($transcript);
#print id($transcript)." has ".$low_complexity." low complexity sequence compared to".
# " ".$complexity_threshold."\n";
if($low_complexity >= $complexity_threshold){
warn(id($transcript)."'s low ".
"complexity (".$low_complexity.") is above ".
"the threshold ".$complexity_threshold.
"\n");
return 0;
}
return 1;
}
1;