import jalview.bin.Cache;
import jalview.bin.Jalview;
import jalview.datamodel.AlignmentI;
-import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.HiddenColumns;
import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
import jalview.gui.AlignViewport;
}
// append to existing alignment
viewport.addAlignment(al, title);
+ if (source instanceof HMMFile)
+ {
+ AlignmentI alignment = viewport.getAlignment();
+ SequenceI seq = alignment
+ .getSequenceAt(alignment.getAbsoluteHeight() - 1);
+ 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
+ {
+ for (int i = 0; i < alignment.getAbsoluteHeight(); i++)
+ {
+ if (!alignment.getSequenceAt(i).isHMMConsensusSequence())
+ {
+ alignment.getSequences().add(i, seq);
+ break;
+ }
+ }
+ }
+ viewport.setAlignment(alignment);
+ viewport.initInformation();
+ viewport.updateInformation(viewport.getAlignPanel());
+ viewport.getAlignPanel().adjustAnnotationHeight();
+ viewport.updateSequenceIdColours();
+ viewport.getAlignPanel().paintAlignment(true);
+ viewport.alignmentChanged(viewport.getAlignPanel());
+ }
}
else
{
if (source instanceof ComplexAlignFile)
{
- ColumnSelection colSel = ((ComplexAlignFile) source)
- .getColumnSelection();
+ HiddenColumns colSel = ((ComplexAlignFile) source)
+ .getHiddenColumns();
SequenceI[] hiddenSeqs = ((ComplexAlignFile) source)
.getHiddenSequences();
String colourSchemeName = ((ComplexAlignFile) source)