JAL-2629 fix file format issues preventing hmmsearch, jackhmmer running
[jalview.git] / src / jalview / hmmer / JackHMMER.java
index 16dcebb..58b1b75 100644 (file)
@@ -72,13 +72,14 @@ public class JackHMMER extends HmmerCommand
 
     try
     {
-      File seqFile = FileUtils.createTempFile("seq", ".fa");
+      File seqFile = FileUtils.createTempFile("seq", ".sto");
       File hitsAlignmentFile = FileUtils.createTempFile("hitAlignment",
               ".sto");
       File searchOutputFile = FileUtils.createTempFile("searchOutput",
               ".txt");
 
-      exportSequence(seq, seqFile.getAbsoluteFile());
+      exportStockholm(new SequenceI[] { seq }, seqFile.getAbsoluteFile(),
+              null, true);
 
       boolean ran = runCommand(searchOutputFile, hitsAlignmentFile,
               seqFile);
@@ -244,11 +245,16 @@ public class JackHMMER extends HmmerCommand
        * no external database specified for search, so
        * export current alignment as 'database' to search
        */
-      databaseFile = FileUtils.createTempFile("database", ".fa");
+      databaseFile = FileUtils.createTempFile("database", ".sto");
       AlignmentI al = af.getViewport().getAlignment();
       AlignmentI copy = new Alignment(al);
+
       deleteHmmSequences(copy);
-      exportFasta(copy, databaseFile);
+
+      // jackhmmer fails if file contains duplicate sequence names
+      renameDuplicates(copy.getSequencesArray());
+
+      exportStockholm(copy.getSequencesArray(), databaseFile, null, true);
     }
 
     args.add(getFilePath(seqFile, true));