int start = hasMap ? getNode(1).getResidueNumber() : 1;
int endResNo = hasMap ? getNode(nodes.size() - 1).getResidueNumber()
: (start + getLength() - 1);
- char[] sequence = new char[endResNo + 1];
+ char[] sequence = new char[endResNo];
int lastResNo = start - 1;
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);
af.setProgressBar(MessageManager.getString("status.running_hmmalign"),
msgId);
+ // ensure alignments are the same length
+ alignment.padGaps();
+
AlignmentView msa = af.gatherSequencesForAlignment();
SequenceI[][] subAlignments = msa.getVisibleContigs(alignment.getGapCharacter());