JAL-2629 fix hmmsearch/jackhmmer being unable to search through DB file
[jalview.git] / src / jalview / hmmer / JackHMMER.java
index e532ab7..4435b14 100644 (file)
@@ -40,6 +40,8 @@ public class JackHMMER extends HmmerCommand
 
   private String databaseName;
 
+  boolean searchAlignment = true;
+
   Hashtable sequencesHash;
 
   /**
@@ -163,7 +165,6 @@ public class JackHMMER extends HmmerCommand
     String seqScoreCutoff = null;
     String domScoreCutoff = null;
     databaseName = "Alignment";
-    boolean searchAlignment = false;
 
     if (params != null)
     {
@@ -171,26 +172,16 @@ public class JackHMMER extends HmmerCommand
       {
         String name = arg.getName();
 
-        if (MessageManager.getString("action.search").equals(name))
-        {
-          searchAlignment = arg.getValue().equals(
-                  MessageManager.getString(JackHMMER.THIS_ALIGNMENT_KEY));
-        }
-        else if (MessageManager.getString(DATABASE_KEY).equals(name))
-        {
-          dbPath = arg.getValue();
-          int pos = dbPath.lastIndexOf(File.separator);
-          databaseName = dbPath.substring(pos + 1);
-          databaseFile = new File(dbPath);
-        }
-        else if (MessageManager.getString(REPORTING_CUTOFF_KEY)
+        if (MessageManager.getString(REPORTING_CUTOFF_KEY)
                 .equals(name))
         {
-          if (CUTOFF_EVALUE.equals(arg.getValue()))
+          if (MessageManager.getString(CUTOFF_EVALUE)
+                  .equals(arg.getValue()))
           {
             useEvalueCutoff = true;
           }
-          else if (CUTOFF_SCORE.equals(arg.getValue()))
+          else if (MessageManager.getString(CUTOFF_SCORE)
+                  .equals(arg.getValue()))
           {
             useScoreCutoff = true;
           }
@@ -221,6 +212,7 @@ public class JackHMMER extends HmmerCommand
             databaseName = dbPath.substring(pos + 1);
             databaseFile = new File(dbPath);
           }
+          searchAlignment = false;
         }
       }
     }
@@ -284,7 +276,10 @@ public class JackHMMER extends HmmerCommand
               inputAlignmentTemp.getAbsolutePath(), DataSourceType.FILE));
       seqs = file.getSeqsAsArray();
 
-      recoverSequences(sequencesHash, seqs);
+      if (searchAlignment)
+      {
+        recoverSequences(sequencesHash, seqs);
+      }
 
       readTable(searchOutputFile);
 
@@ -375,6 +370,7 @@ public class JackHMMER extends HmmerCommand
 
       annot.setSequenceRef(seq);
       seq.addAlignmentAnnotation(annot);
+
     } catch (NumberFormatException e)
     {
       System.err.println("Error parsing " + label + " from " + eValue