JAL-674 patch broken getMapping function
authorJim Procter <jprocter@dundee.ac.uk>
Wed, 12 Nov 2014 12:39:50 +0000 (12:39 +0000)
committerJim Procter <jprocter@dundee.ac.uk>
Wed, 12 Nov 2014 12:39:50 +0000 (12:39 +0000)
src/jalview/analysis/AlignSeq.java

index c546310..307a06f 100755 (executable)
@@ -1020,22 +1020,29 @@ public class AlignSeq
 
       if (allowmismatch || c1 == c2)
       {
-        lastmatch = true;
-        // extend mapping interval.
+        // extend mapping interval
         if (lp1 + 1 != alignpos || lp2 + 1 != pdbpos)
         {
           as1.add(Integer.valueOf(alignpos));
           as2.add(Integer.valueOf(pdbpos));
         }
+        lastmatch = true;
         lp1 = alignpos;
         lp2 = pdbpos;
       }
       else
       {
+        // extend mapping interval
+        if (lastmatch)
+        {
+          as1.add(Integer.valueOf(lp1));
+          as2.add(Integer.valueOf(lp2));
+        }
         lastmatch = false;
       }
     }
     // construct range pairs
+
     int[] mapseq1 = new int[as1.size() + (lastmatch ? 1 : 0)], mapseq2 = new int[as2
             .size() + (lastmatch ? 1 : 0)];
     int i = 0;