JAL-3899 Update usages of uniquify and deuniquify.
[jalview.git] / src / jalview / hmmer / HMMAlign.java
index 492e71c..dd85c74 100644 (file)
@@ -1,6 +1,7 @@
 package jalview.hmmer;
 
 import jalview.analysis.AlignmentSorter;
+import jalview.analysis.SeqsetUtils.SequenceInfo;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AlignmentOrder;
@@ -24,6 +25,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.List;
+import java.util.Map;
 
 import javax.swing.JInternalFrame;
 
@@ -31,8 +33,6 @@ public class HMMAlign extends HmmerCommand
 {
   static final String HMMALIGN = "hmmalign";
 
-  static final String ARG_TRIM = "--trim";
-
   private final AlignmentI dataset;
 
   /**
@@ -70,6 +70,9 @@ public class HMMAlign extends HmmerCommand
     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());
 
@@ -79,7 +82,7 @@ public class HMMAlign extends HmmerCommand
     int job = 0;
     for (SequenceI[] seqs : subAlignments)
     {
-      Hashtable sequencesHash = stashSequences(seqs);
+      Map<String, SequenceInfo> sequencesHash = stashSequences(seqs);
       try
       {
         File modelFile = FileUtils.createTempFile("hmm", ".hmm");
@@ -152,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);
   }
@@ -172,7 +175,7 @@ public class HMMAlign extends HmmerCommand
   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);