JAL-3291 issue fixed, passing tests added
[jalview.git] / src / jalview / datamodel / HiddenMarkovModel.java
index e3eb160..e917474 100644 (file)
@@ -520,12 +520,18 @@ public class HiddenMarkovModel
     int start = hasMap ? getNode(1).getResidueNumber() : 1;
     int endResNo = hasMap ? getNode(nodes.size() - 1).getResidueNumber()
             : (start + getLength() - 1);
-    char[] sequence = new char[endResNo - start + 1];
+    char[] sequence = new char[endResNo + 1];
 
     int lastResNo = start - 1;
-    int seqOffset = 0;
+    int seqOffset = -1;
     int gapCount = 0;
 
+    for (int seqN = 0; seqN < start; seqN++)
+    {
+      sequence[seqN] = GAP_DASH;
+      seqOffset++;
+    }
+
     for (int nodeNo = 1; nodeNo < nodes.size(); nodeNo++)
     {
       HMMNode node = nodes.get(nodeNo);
@@ -536,7 +542,7 @@ public class HiddenMarkovModel
        */
       while (resNo > lastResNo + 1)
       {
-        sequence[seqOffset++] = '-';
+        sequence[seqOffset++] = GAP_DASH;
         lastResNo++;
         gapCount++;
       }