From cd9ab8bc2ea0b020cf364be19788dc9211b5b5fc Mon Sep 17 00:00:00 2001 From: Graham McVicker <mcvicker@sanger.ac.uk> Date: Thu, 5 Feb 2004 18:27:16 +0000 Subject: [PATCH] add more classes of mapping failure --- misc-scripts/chimp/ErrCode.pm | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/misc-scripts/chimp/ErrCode.pm b/misc-scripts/chimp/ErrCode.pm index af22e3ce07..af0067587f 100644 --- a/misc-scripts/chimp/ErrCode.pm +++ b/misc-scripts/chimp/ErrCode.pm @@ -9,7 +9,7 @@ use vars qw(@EXPORT_OK @ISA); @ISA = qw(Exporter); -@EXPORT_OK = qw(&set_err &get_err &ec2str); +@EXPORT_OK = qw(&push_err &pop_err &ec2str); use constant OK => 0; @@ -34,17 +34,27 @@ use constant TRANSCRIPT_SCAFFOLD_SPAN => 22; use constant TRANSCRIPT_DOES_NOT_TRANSLATE => 30; +use constant PART_EXON_CDS_DELETE_FIVE_PRIME_TOO_LONG => 40; +use constant PART_EXON_CDS_DELETE_THREE_PRIME_TOO_LONG => 41; +use constant PART_EXON_CDS_DELETE_MIDDLE_TOO_LONG => 42; -my $ERR; -sub set_err { - $ERR = shift; +my @ERR_STACK = (); + +sub push_err { + my $err = shift || return; + my $err_desc = shift || ''; + + push @ERR_STACK, [$err, $err_desc]; } -sub get_err { - my $cur_err = $ERR; - $ERR = OK; - return $cur_err; +sub pop_err { + my ($err, $err_desc); + + return () if(!@ERR_STACK); + + my $arref = pop(@ERR_STACK); + return @$arref; } @@ -100,6 +110,15 @@ sub ec2str { elsif($ec == TRANSCRIPT_SCAFFOLD_SPAN) { $str = 'Transcript spans multiple scaffolds.'; } + elsif($ec == PART_EXON_CDS_DELETE_FIVE_PRIME_TOO_LONG) { + $str = "CDS deletion at 5' end of exon too long."; + } + elsif($ec == PART_EXON_CDS_DELETE_THREE_PRIME_TOO_LONG) { + $str = "CDS deletion at 3' end of exon too long."; + } + elsif($ec == PART_EXON_CDS_DELETE_MIDDLE_TOO_LONG) { + $str = "CDS deletion in middle of exon too long."; + } return $str; } -- GitLab