From a8c9987947127a8080d8a8cc24738631d75064af Mon Sep 17 00:00:00 2001
From: Valerio Mariani <valerio.mariani@unibas.ch>
Date: Wed, 15 Jun 2011 10:06:17 +0200
Subject: [PATCH] Fiex bug with sequence offsets

---
 modules/seq/alg/src/merge_pairwise_alignments.cc | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/modules/seq/alg/src/merge_pairwise_alignments.cc b/modules/seq/alg/src/merge_pairwise_alignments.cc
index 6bba7edd0..032e92ac9 100644
--- a/modules/seq/alg/src/merge_pairwise_alignments.cc
+++ b/modules/seq/alg/src/merge_pairwise_alignments.cc
@@ -55,7 +55,8 @@ void update_shifts(const AlignmentHandle& aln,
         res_index=-1;
       }
       else if (i > 0) {
-        res_index=s1.GetResidueIndex(i-1);
+        res_index=s1.GetResidueIndex(i-1)-s1.GetOffset();
+//        res_index=s1.GetResidueIndex(i-1);
       }
       ShiftMap::iterator p=shifts.find(res_index);
       if (p!=shifts.end()) {
@@ -111,7 +112,8 @@ SequenceHandle realign_sequence(const AlignmentHandle& aln,
       p=shifts.find(-1);
     }
     else if (i>0 && s1.GetOneLetterCode(i-1)!='-') {
-      p=shifts.find(s1.GetResidueIndex(i-1));
+      p=shifts.find(s1.GetResidueIndex(i-1)-s1.GetOffset());
+//      p=shifts.find(s1.GetResidueIndex(i-1));
     }
     if (p!=shifts.end()) {
       int d=p->second-shift;
@@ -139,6 +141,7 @@ AlignmentHandle MergePairwiseAlignments(const AlignmentList& pairwise_alns,
     update_shifts(*i, ref_seq, shifts);
   }
 
+ 
   AlignmentHandle merged=CreateAlignment();
   merged.AddSequence(shift_reference(ref_seq, shifts));
   for (AlignmentList::const_iterator i=pairwise_alns.begin(),
-- 
GitLab