3 import jalview.datamodel.AlignmentI;
4 import jalview.datamodel.HiddenMarkovModel;
5 import jalview.datamodel.SequenceI;
6 import jalview.gui.AlignFrame;
7 import jalview.io.DataSourceType;
8 import jalview.io.FileFormat;
9 import jalview.util.MessageManager;
11 import java.io.FileNotFoundException;
12 import java.io.IOException;
15 public class HMMBuildThread implements Runnable
23 Map<Integer, SequenceI> hmmSeqs;
25 public HMMBuildThread(AlignFrame af)
28 alignment = af.getViewport().getAlignment();
34 barID = System.currentTimeMillis();
35 af.setProgressBar(MessageManager.getString("status.running_hmmbuild"),
42 hmmSeqs = alignment.getHMMConsensusSequences(true);
43 HMMERCommands.exportData(alignment, true, false,
44 new HiddenMarkovModel());
45 } catch (FileNotFoundException e)
47 // TODO Auto-generated catch block
54 } catch (IOException | InterruptedException e)
56 // TODO Auto-generated catch block
62 } catch (IOException | InterruptedException e)
64 // TODO Auto-generated catch block
72 af.setProgressBar(MessageManager.getString("status.running_hmmbuild"),
80 private void runCommand() throws IOException, InterruptedException
82 final String command = HMMERCommands.HMMBUILD + HMMERCommands.NAME
83 + af.getName() + HMMERCommands.SPACE
84 + HMMERCommands.JALVIEWDIRECTORY + HMMERCommands.HMMBUFFER
85 + HMMERCommands.JALVIEWDIRECTORY + HMMERCommands.ALIGNMENTBUFFER;
86 HMMERCommands.runCommand(command);
89 private void importData() throws IOException, InterruptedException
91 af.loadJalviewDataFile(HMMERCommands.HMMBUFFER, DataSourceType.FILE,
92 FileFormat.HMMER3, null);
93 for (Map.Entry<Integer, SequenceI> entry : hmmSeqs.entrySet())
95 SequenceI seq = entry.getValue();
96 Integer pos = entry.getKey();
97 HMMERCommands.addHMMConsensusSequence(af, seq, pos);
99 af.alignPanel.alignmentChanged();