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.io.StockholmFile;
11 import java.io.BufferedReader;
12 import java.io.IOException;
13 import java.io.InputStreamReader;
14 import java.io.PrintWriter;
15 import java.util.List;
17 public class HMMERCommands
19 // Path of hmmer binaries directory
20 private static final String HMMERFOLDER = "H:/Documents/";
22 private static final String HMMALIGN = HMMERFOLDER + "hmmalign";
24 private static final String HMMBUILD = HMMERFOLDER + "hmmbuild";
26 private static final String HMMSEARCH = HMMERFOLDER + "hmmsearch";
28 private static final String JALVIEWDIRECTORY = "C:/Users/TZVanaalten/git/jalview/";
30 private static final String HMMBUFFER = "src/jalview/hmmer/hmm_buffer.hmm";
32 private static final String ALIGNMENTBUFFER = "src/jalview/hmmer/alignment_buffer.sto";
34 private static final String OUTPUTALIGNMENT = "-o " + ALIGNMENTBUFFER;
36 private static final String SPACE = " ";
38 public static void hmmBuild(AlignFrame af)
39 throws IOException, InterruptedException
41 HiddenMarkovModel hmm = null;
42 AlignmentI alignment = af.getViewport().getAlignment();
43 List<SequenceI> list = alignment.getSequences();
44 SequenceI[] array = new SequenceI[list.size()];
46 StockholmFile file = new StockholmFile(alignment);
48 String output = file.print();
49 PrintWriter writer = new PrintWriter(ALIGNMENTBUFFER);
50 writer.println(output);
52 final String command = HMMBUILD + SPACE + JALVIEWDIRECTORY + HMMBUFFER
54 + JALVIEWDIRECTORY + ALIGNMENTBUFFER;
58 af.loadJalviewDataFile(HMMBUFFER, DataSourceType.FILE,
59 FileFormat.HMMER3, null);
62 private static void runCommand(String command)
63 throws IOException, InterruptedException
65 final Process p = Runtime.getRuntime().exec(command);
67 new Thread(new Runnable()
72 BufferedReader input = new BufferedReader(
73 new InputStreamReader(p.getInputStream()));
78 while ((line = input.readLine()) != null)
80 System.out.println(line);
82 } catch (IOException e)