+ // append to existing alignment
+ viewport.addAlignment(al, title);
+ if (source instanceof HMMFile)
+ {
+ AlignmentI alignment = viewport.getAlignment();
+ SequenceI seq = alignment
+ .getSequenceAt(alignment.getAbsoluteHeight() - 1);
+ seq.setIsHMMConsensusSequence(true);
+ alignment.deleteSequence(alignment.getAbsoluteHeight() - 1);
+ SequenceGroup sg = viewport.getSelectionGroup();
+ if (sg != null)
+ {
+ seq.insertCharAt(0, sg.getStartRes(), '-');
+ seq.insertCharAt(sg.getEndRes() + 1,
+ alignment.getWidth() - sg.getEndRes(), '-');
+ SequenceI topSeq = sg.getSequencesInOrder(alignment)[0];
+ int topIndex = alignment.findIndex(topSeq);
+ alignment.insertSequenceAt(topIndex, seq);
+ sg.setSeqrep(seq);
+ viewport.getSelectionGroup().addSequence(seq, false);
+ }
+ else
+ {
+ alignment.insertSequenceAt(0, seq);
+ }
+ viewport.getAlignPanel().adjustAnnotationHeight();
+ viewport.updateSequenceIdColours();
+ if (viewport.getAlignPanel().alignFrame
+ .getSelectedHMM() == null)
+ {
+ viewport.getAlignPanel().alignFrame
+ .setSelectedHMMSequence(seq);
+ }