diff --git a/modules/seq/alg/src/merge_pairwise_alignments.cc b/modules/seq/alg/src/merge_pairwise_alignments.cc index 6bba7edd06e48c707e815b0eded56b1226a32fe5..032e92ac9de3d0d994fb7449247c033707198cdb 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(),