import jalview.gui.SplitFrame;
import jalview.io.DataSourceType;
import jalview.io.StockholmFile;
+import jalview.util.FileUtils;
import jalview.util.MessageManager;
import jalview.viewmodel.seqfeatures.FeatureRendererSettings;
import jalview.ws.params.ArgumentI;
@Override
public void run()
{
- HiddenMarkovModel hmm = af.getSelectedHMM();
- if (hmm == null)
- {
- System.err.println("Can't run hmmalign as no HMM profile selected");
- return;
- }
+ HiddenMarkovModel hmm = getHmmProfile();
long msgId = System.currentTimeMillis();
af.setProgressBar(MessageManager.getString("status.running_hmmalign"),
Hashtable sequencesHash = stashSequences(seqs);
try
{
- File modelFile = createTempFile("hmm", ".hmm");
- File alignmentFile = createTempFile("output", ".sto");
- File resultFile = createTempFile("input", ".sto");
+ File modelFile = FileUtils.createTempFile("hmm", ".hmm");
+ File alignmentFile = FileUtils.createTempFile("output", ".sto");
+ File resultFile = FileUtils.createTempFile("input", ".sto");
exportStockholm(seqs, alignmentFile.getAbsoluteFile(), null);
exportHmm(hmm, modelFile.getAbsoluteFile());
boolean ran = runCommand(modelFile, alignmentFile, resultFile);
if (!ran)
{
- JvOptionPane.showInternalMessageDialog(af,
- MessageManager.getString("warn.hmmalign_failed"));
+ JvOptionPane.showInternalMessageDialog(af, MessageManager
+ .formatMessage("warn.command_failed", "hmmalign"));
return;
}
}
}
args.add("-o");
- args.add(resultFile.getAbsolutePath());
- args.add(modelFile.getAbsolutePath());
- args.add(alignmentFile.getAbsolutePath());
+ args.add(getFilePath(resultFile, true));
+ args.add(getFilePath(modelFile, true));
+ args.add(getFilePath(alignmentFile, true));
return runCommand(args);
}
private SequenceI[] importData(File resultFile,
List<AlignmentOrder> allOrders) throws IOException
{
- StockholmFile file = new StockholmFile(resultFile.getAbsolutePath(),
+ StockholmFile file = new StockholmFile(getFilePath(resultFile, false),
DataSourceType.FILE);
SequenceI[] result = file.getSeqsAsArray();
AlignmentOrder msaorder = new AlignmentOrder(result);
al.setDataset(dataset);
}
- /*
- * hack to ensure hmm set on alignment
- */
- if (al.getSequenceAt(0).isHMMConsensusSequence())
- {
- al.setHmmConsensus(al.getSequenceAt(0));
- }
-
displayInNewFrame(al, allOrders, hidden, title);
}