JAL-2629 default HMMBuild to alignment if not specified by args
[jalview.git] / src / jalview / hmmer / HMMBuild.java
index b99ad2e..6de7029 100644 (file)
@@ -96,11 +96,14 @@ public class HMMBuild extends HmmerCommand
           AlignViewportI viewport)
   {
     List<AnnotatedCollectionI> runBuildFor = new ArrayList<>();
+    boolean foundArg = false;
+
     for (ArgumentI arg : params)
     {
       String name = arg.getName();
       if (MessageManager.getString("label.hmmbuild_for").equals(name))
       {
+        foundArg = true;
         String value = arg.getValue();
         if (MessageManager.getString("label.alignment").equals(value))
         {
@@ -134,6 +137,15 @@ public class HMMBuild extends HmmerCommand
         }
       }
     }
+
+    /*
+     * default is to build for the whole alignment
+     */
+    if (!foundArg)
+    {
+      runBuildFor.add(alignment);
+    }
+
     return runBuildFor;
   }
 
@@ -188,6 +200,8 @@ public class HMMBuild extends HmmerCommand
       boolean ran = runCommand(alignmentFile, hmmFile, ac);
       if (!ran)
       {
+        JvOptionPane.showInternalMessageDialog(af, MessageManager
+                .formatMessage("warn.command_failed", "hmmbuild"));
         return;
       }
       importData(hmmFile, ac);
@@ -215,8 +229,8 @@ public class HMMBuild extends HmmerCommand
    */
   void deleteHmmSequences(AnnotatedCollectionI ac)
   {
-    SequenceI hmmSeq = ac.getHmmConsensus();
-    if (hmmSeq != null)
+    List<SequenceI> hmmSeqs = ac.getHmmSequences();
+    for (SequenceI hmmSeq : hmmSeqs)
     {
       if (ac instanceof SequenceGroup)
       {
@@ -359,17 +373,10 @@ public class HMMBuild extends HmmerCommand
       alignment.insertSequenceAt(topIndex, hmmSeq);
       ac.setSeqrep(hmmSeq);
       grp.addSequence(hmmSeq, false);
-      grp.setHmmConsensus(hmmSeq);
     }
     else
     {
       alignment.insertSequenceAt(0, hmmSeq);
-      alignment.setHmmConsensus(hmmSeq);
-    }
-
-    if (af.getSelectedHMM() == null)
-    {
-      af.setSelectedHMMSequence(hmmSeq);
     }
   }
 }