javadoc and main method for testing file input routines
authorjprocter <Jim Procter>
Mon, 21 Jan 2008 16:55:51 +0000 (16:55 +0000)
committerjprocter <Jim Procter>
Mon, 21 Jan 2008 16:55:51 +0000 (16:55 +0000)
src/jalview/io/AppletFormatAdapter.java

index fbfaab1..a91a1b0 100755 (executable)
  */
 package jalview.io;
 
+import java.io.File;
+
 import jalview.datamodel.*;
 
 /**
- * DOCUMENT ME!
+ * A low level class for alignment and feature IO
+ * with alignment formatting methods used by both applet 
+ * and application for generating flat alignment files.
+ * It also holds the lists of magic format names
+ * that the applet and application will allow the user to read or write files with.
  *
  * @author $author$
  * @version $Revision$
  */
 public class AppletFormatAdapter
 {
-  /** DOCUMENT ME!! */
+  /** 
+   * List of valid format strings used in the isValidFormat method 
+   */
   public static final String[] READABLE_FORMATS = new String[]
       {
       "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "STH", "PDB", "JnetFile"
   };
-
+  /**
+   * List of valid format strings for use by callers of the formatSequences method
+   */
   public static final String[] WRITEABLE_FORMATS = new String[]
       {
       "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM" , "AMSA"
   };
-
+  /**
+   * List of extensions corresponding to file format types 
+   * in WRITABLE_FNAMES that are writable by the
+   * application.
+   */
   public static final String[] WRITABLE_EXTENSIONS = new String[]
         { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc","amsa","jar" };
-
+  /**
+   * List of writable formats by the application. Order must
+   * correspond with the WRITABLE_EXTENSIONS list of formats.
+   */
   public static final String[] WRITABLE_FNAMES = new String[]
         { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview" };
 
+  /**
+   * List of readable format file extensions by application in order
+   * corresponding to READABLE_FNAMES 
+   */
   public static final String[] READABLE_EXTENSIONS =         new String[]
         {
         "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc",
         "amsa","jar"
     };
+  /**
+   * List of readable formats by application in order
+   * corresponding to READABLE_EXTENSIONS
+   */
   public static final String[] READABLE_FNAMES =         new String[]
         {
         "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA","Jalview"
@@ -206,9 +231,9 @@ public class AppletFormatAdapter
   /**
    * Construct an output class for an alignment in a particular filetype
    *
-   * @param format DOCUMENT ME!
-   * @param seqs DOCUMENT ME!
-   * @param jvsuffix passed to AlnFile class
+   * @param format string name of alignment format 
+   * @param alignment the alignment to be written out
+   * @param jvsuffix passed to AlnFile class controls whether /START-END is added to sequence names
    *
    * @return alignment flat file contents
    */
@@ -274,4 +299,26 @@ public class AppletFormatAdapter
 
     return null;
   }
+  public static void main(String[] args)
+  {
+    int i=0;
+    while (i<args.length)
+    {
+      File f = new File(args[i]);
+      if (f.exists())
+      {
+        try {
+          AppletFormatAdapter afa = new AppletFormatAdapter();
+          afa.readFile(args[i], FILE, new IdentifyFile().Identify(args[i], FILE));
+        } catch (Exception e)
+        {
+          System.err.println("Exception when dealing with "+i+"'th argument: "+args[i]+"\n"+e);
+        }
+      } else {
+          System.err.println("Ignoring argument '"+args[i]+"' ("+i+"'th)- not a readable file.");
+      }
+      i++;
+    }
+    
+  }
 }