From 7f5d7a5a69512d849f2f1fd6620cc33a32cff9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kusalananda=20K=C3=A4h=C3=A4ri?= <ak4@sanger.ac.uk> Date: Wed, 15 Sep 2010 14:43:00 +0000 Subject: [PATCH] In slice(): Do not transfer supporting features that does not have an attached slice. --- modules/Bio/EnsEMBL/Exon.pm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/Bio/EnsEMBL/Exon.pm b/modules/Bio/EnsEMBL/Exon.pm index 7d03eb2019..2181223b15 100755 --- a/modules/Bio/EnsEMBL/Exon.pm +++ b/modules/Bio/EnsEMBL/Exon.pm @@ -791,7 +791,7 @@ sub slice { if ( defined($slice) ) { # If a new slice was provided, flush the internal sequence cache and - # transcer all supporting evidence to the new slice. + # transfer all supporting evidence to the new slice. delete $self->{'_seq_cache'}; @@ -799,7 +799,17 @@ sub slice { my @new_features; for my $old_feature ( @{ $self->{'_supporting_evidence'} } ) { - my $new_feature = $old_feature->transfer($slice); + + my $new_feature; + + if ( defined( $old_feature->slice() ) ) { + $new_feature = $old_feature->transfer($slice); + } else { + # If the old feature does not have a slice, assume transfer is + # not necessary. + $new_feature = $old_feature; + } + push( @new_features, $new_feature ); } -- GitLab