Merge branch 'features/r2_11_2_alphafold/JAL-629' into merge/big_merge_of_bens_stuff_...
[jalview.git] / src / jalview / bin / Commands.java
index 0cae97d..06684e7 100644 (file)
@@ -799,7 +799,7 @@ public class Commands
 
           case "biojs":
             Console.debug(
-                    "Creating BioJS MSA Viwer HTML file: " + fileName);
+                    "Outputting BioJS MSA Viwer HTML file: " + fileName);
             try
             {
               BioJsHTMLOutput.refreshVersionInfo(
@@ -813,12 +813,12 @@ public class Commands
             break;
 
           case "eps":
-            Console.debug("Creating EPS file: " + fileName);
-            af.createEPS(file, name);
+            Console.debug("Outputting EPS file: " + fileName);
+            af.createEPS(file, renderer);
             break;
 
           case "imagemap":
-            Console.debug("Creating ImageMap file: " + fileName);
+            Console.debug("Outputting ImageMap file: " + fileName);
             af.createImageMap(file, name);
             break;
 
@@ -854,6 +854,7 @@ public class Commands
         String val = av.getValue();
         SubVals subVals = av.getSubVals();
         String fileName = subVals.getContent();
+        boolean stdout = ArgParser.STDOUTFILENAME.equals(fileName);
         File file = new File(fileName);
         boolean overwrite = ArgParser.getFromSubValArgOrPref(avm,
                 Arg.OVERWRITE, subVals, null, "OVERWRITE_OUTPUT", false);
@@ -866,7 +867,7 @@ public class Commands
                 !Platform.isHeadless());
 
         // if backups is not true then --overwrite must be specified
-        if (file.exists() && !(overwrite || backups))
+        if (file.exists() && !(overwrite || backups || stdout))
         {
           Console.error("Won't overwrite file '" + fileName + "' without "
                   + Arg.OVERWRITE.argString() + " or "
@@ -904,23 +905,30 @@ public class Commands
         }
         if (ff == null)
         {
-          StringBuilder validSB = new StringBuilder();
-          for (String f : validFormats)
-          {
-            if (validSB.length() > 0)
-              validSB.append(", ");
-            validSB.append(f);
-            FileFormatI tff = ffs.forName(f);
-            validSB.append(" (");
-            validSB.append(tff.getExtensions());
-            validSB.append(")");
+          if (stdout)
+          {
+            ff = FileFormat.Fasta;
           }
+          else
+          {
+            StringBuilder validSB = new StringBuilder();
+            for (String f : validFormats)
+            {
+              if (validSB.length() > 0)
+                validSB.append(", ");
+              validSB.append(f);
+              FileFormatI tff = ffs.forName(f);
+              validSB.append(" (");
+              validSB.append(tff.getExtensions());
+              validSB.append(")");
+            }
 
-          Jalview.exit("No valid format specified for "
-                  + Arg.OUTPUT.argString() + ". Valid formats are "
-                  + validSB.toString() + ".", 1);
-          // this return really shouldn't happen
-          return false;
+            Jalview.exit("No valid format specified for "
+                    + Arg.OUTPUT.argString() + ". Valid formats are "
+                    + validSB.toString() + ".", 1);
+            // this return really shouldn't happen
+            return false;
+          }
         }
 
         String savedBackupsPreference = Cache
@@ -931,7 +939,7 @@ public class Commands
 
         Console.info("Writing " + fileName);
 
-        af.saveAlignment(fileName, ff);
+        af.saveAlignment(fileName, ff, stdout);
         Console.debug("Returning backups to " + savedBackupsPreference);
         if (savedBackupsPreference != null)
           Cache.applicationProperties.put(BackupFiles.ENABLED,
@@ -981,7 +989,7 @@ public class Commands
         seq = al.getSequenceAt(subVals.getIndex());
       }
     }
-    else if (idAv != null)
+    if (seq == null && idAv != null)
     {
       seq = al.findName(idAv.getValue());
     }