import jalview.datamodel.AlignmentI;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.PDBEntry;
+import jalview.datamodel.Profile;
+import jalview.datamodel.Profiles;
+import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
import jalview.gui.AlignViewport;
return alignFrame;
}
+ public void LoadFileOntoAlignmentWaitTillLoaded(AlignViewport viewport,
+ String file, DataSourceType sourceType, FileFormatI format)
+ {
+ this.viewport = viewport;
+ this.file = file;
+ this.protocol = sourceType;
+ this.format = format;
+ _LoadAlignmentFileWaitTillLoaded();
+ }
+
+ protected void _LoadAlignmentFileWaitTillLoaded()
+ {
+ Thread loader = new Thread(this);
+ loader.start();
+
+ while (loader.isAlive())
+ {
+ try
+ {
+ Thread.sleep(500);
+ } catch (Exception ex)
+ {
+ }
+ }
+ }
+
public void updateRecentlyOpened()
{
Vector recent = new Vector();
}
// 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
+ {
+ alignment.insertSequenceAt(0, seq);
+ }
+ viewport.initInformation();
+ viewport.setSequenceInformationHash(
+ new Profiles(new Profile[1]), 0);
+ viewport.updateInformation(viewport.getAlignPanel());
+ viewport.getAlignPanel().adjustAnnotationHeight();
+ viewport.updateSequenceIdColours();
+ if (viewport.getAlignPanel().alignFrame
+ .getSelectedHMM() == null)
+ {
+ viewport.getAlignPanel().alignFrame
+ .setSelectedHMM(seq.getHMM());
+ }
+
+ }
}
else
{