X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fhmmer%2FHMMAlign.java;h=464203447708a62bbecbd176bb1bd8e0e63bf321;hb=bedfa8b30d527da43c403b96ab45aec8ab317555;hp=163e85bffed429737c65f8e99b838ef01c49a6f8;hpb=37f0332f53a8564ba7a9d55b993f8bfd2f368c80;p=jalview.git diff --git a/src/jalview/hmmer/HMMAlign.java b/src/jalview/hmmer/HMMAlign.java index 163e85b..4642034 100644 --- a/src/jalview/hmmer/HMMAlign.java +++ b/src/jalview/hmmer/HMMAlign.java @@ -64,17 +64,15 @@ public class HMMAlign extends HmmerCommand @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"), msgId); + // ensure alignments are the same length + alignment.padGaps(); + AlignmentView msa = af.gatherSequencesForAlignment(); SequenceI[][] subAlignments = msa.getVisibleContigs(alignment.getGapCharacter()); @@ -97,8 +95,8 @@ public class HMMAlign extends HmmerCommand 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; } @@ -157,9 +155,9 @@ public class HMMAlign extends HmmerCommand } } 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); } @@ -177,7 +175,7 @@ public class HMMAlign extends HmmerCommand private SequenceI[] importData(File resultFile, List 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); @@ -212,14 +210,6 @@ public class HMMAlign extends HmmerCommand al.setDataset(dataset); } - /* - * hack to ensure hmm set on alignment - */ - if (al.getSequenceAt(0).hasHMMProfile()) - { - al.setHmmConsensus(al.getSequenceAt(0)); - } - displayInNewFrame(al, allOrders, hidden, title); }