3 import jalview.datamodel.Alignment;
4 import jalview.datamodel.AlignmentI;
5 import jalview.datamodel.HiddenMarkovModel;
6 import jalview.datamodel.SequenceI;
7 import jalview.gui.AlignFrame;
8 import jalview.io.HMMFile;
9 import jalview.io.StockholmFile;
11 import java.io.BufferedReader;
13 import java.io.IOException;
14 import java.io.InputStreamReader;
15 import java.io.PrintWriter;
16 import java.util.List;
18 public class HMMERCommands
20 // Path of hmmer binaries directory
21 String HMMERFOLDER = "/Documents/";
23 public String JALVIEWDIRECTORY = System.getProperty("user.dir")
26 public String HMMALIGN = "/hmmalign ";
28 public String HMMBUILD = "/hmmbuild ";
30 public String HMMSEARCH = "/hmmsearch ";
32 public String HMMBUFFER;
34 public String ALIGNMENTBUFFER;
36 public String ALIGNMENTINPUT;
38 public String OUTPUTALIGNMENT;
40 public String NAME = "-n ";
42 public String SPACE = " ";
44 public String ALLCOL = "--allcol ";
46 public String TRIM = "--trim ";
50 * Runs a command in the terminal.
54 * @throws InterruptedException
56 public void runCommand(String command)
57 throws IOException, InterruptedException
59 final Process p = Runtime.getRuntime().exec(command);
61 new Thread(new Runnable()
66 BufferedReader input = new BufferedReader(
67 new InputStreamReader(p.getInputStream()));
72 while ((line = input.readLine()) != null)
74 System.out.println(line);
76 } catch (IOException e)
87 * Exports an alignment to the buffer location in Jalview.
92 public void exportData(AlignmentI alignment,
93 File stoLocation, HiddenMarkovModel hmm, File hmmLocation)
96 if (alignment != null)
98 if (!alignment.isAligned())
102 List<SequenceI> list = alignment.getSequences();
103 SequenceI[] array = new SequenceI[list.size()];
105 StockholmFile file = new StockholmFile(new Alignment(array));
107 String output = file.print();
108 PrintWriter writer = new PrintWriter(stoLocation);
109 writer.println(output);
115 HMMFile file = new HMMFile(hmm);
116 file.exportFile(hmmLocation);
120 public void addHMMConsensusSequence(AlignFrame af, SequenceI seq,
123 seq.getHMM().initHMMSequence(af, position);
124 AlignmentI al = af.getViewport().getAlignment();
125 af.getViewport().setAlignment(al);
126 af.alignPanel.adjustAnnotationHeight();
127 af.getViewport().updateSequenceIdColours();
128 af.buildSortByAnnotationScoresMenu();