From 5c4fad5f3b473424ccb98756442682247ab11b8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20Kusalananda=20K=C3=A4h=C3=A4ri?=
 <ak4@sanger.ac.uk>
Date: Tue, 1 Sep 2009 13:34:52 +0000
Subject: [PATCH] Patch from Dan Staines to sorting of seq-edits.

---
 modules/Bio/EnsEMBL/Translation.pm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/modules/Bio/EnsEMBL/Translation.pm b/modules/Bio/EnsEMBL/Translation.pm
index 9b9a44e17a..03bd172624 100755
--- a/modules/Bio/EnsEMBL/Translation.pm
+++ b/modules/Bio/EnsEMBL/Translation.pm
@@ -955,18 +955,20 @@ sub get_all_SeqEdits {
 =cut
 
 sub modify_translation {
-  my ($self, $seq) = @_;
+  my ( $self, $seq ) = @_;
 
-  my @seqeds = @{$self->get_all_SeqEdits()};
+  my @seqeds = @{ $self->get_all_SeqEdits() };
 
-  # sort in reverse order to avoid complication of adjusting downstream edits
-  @seqeds = sort {$b <=> $a} @seqeds;
+  # Sort in reverse order to avoid complication of adjusting
+  # downstream edits.
+  @seqeds = sort { $b->start() <=> $a->start() } @seqeds;
 
-  # apply all edits
+  # Apply all edits.
   my $peptide = $seq->seq();
   foreach my $se (@seqeds) {
-    $se->apply_edit(\$peptide);
+    $se->apply_edit( \$peptide );
   }
+
   $seq->seq($peptide);
 
   return $seq;
-- 
GitLab