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);
*/
while (resNo > lastResNo + 1)
{
- sequence[seqOffset++] = '-';
+ sequence[seqOffset++] = GAP_DASH;
lastResNo++;
gapCount++;
}