Don't parse input id, leave it as it is
[jalview.git] / src / jalview / io / FormatAdapter.java
index d4179b6..0c8554a 100755 (executable)
+/*\r
+* Jalview - A Sequence Alignment Editor and Viewer\r
+* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+*\r
+* This program is free software; you can redistribute it and/or\r
+* modify it under the terms of the GNU General Public License\r
+* as published by the Free Software Foundation; either version 2\r
+* of the License, or (at your option) any later version.\r
+*\r
+* This program is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+* GNU General Public License for more details.\r
+*\r
+* You should have received a copy of the GNU General Public License\r
+* along with this program; if not, write to the Free Software\r
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
+*/\r
 package jalview.io;\r
 \r
 import jalview.datamodel.*;\r
-import java.util.*;\r
 \r
-public class FormatAdapter {\r
+import java.util.Vector;\r
 \r
-  public static String get(String format,Vector seqs) {\r
 \r
-    SequenceI [] s = new SequenceI[seqs.size()];\r
-\r
-    for (int i=0;i<seqs.size(); i++)\r
-      s[i] = (SequenceI)seqs.elementAt(i);\r
+/**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @author $author$\r
+ * @version $Revision$\r
+ */\r
+public class FormatAdapter extends AppletFormatAdapter\r
+{\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param format DOCUMENT ME!\r
+     * @param seqs DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public String formatSequences(String format, Vector seqs)\r
+    {\r
+        SequenceI[] s = new SequenceI[seqs.size()];\r
 \r
+        for (int i = 0; i < seqs.size(); i++)\r
+            s[i] = (SequenceI) seqs.elementAt(i);\r
 \r
-    if (FormatProperties.contains(format))\r
-    {\r
-      AlignFile afile = FormatFactory.get(format);\r
-      afile.setSeqs(s);\r
-      return afile.print();\r
-    }\r
-    else\r
-       return null;\r
-  }\r
-\r
-  public static SequenceI[] read(String format,String inStr) {\r
-    if (FormatProperties.contains(format)) {\r
-      AlignFile afile = FormatFactory.get(format,inStr);\r
-      return afile.getSeqsAsArray();\r
-    } else {\r
-    // Should throw exception\r
-      return null;\r
-    }\r
-  }\r
+        try\r
+        {\r
+            AlignFile afile = null;\r
 \r
+            if (format.equalsIgnoreCase("FASTA"))\r
+            {\r
+                afile = new FastaFile();\r
+                afile.addJVSuffix(\r
+                    jalview.bin.Cache.getDefault("FASTA_JVSUFFIX", true));\r
+            }\r
+            else if (format.equalsIgnoreCase("MSF"))\r
+            {\r
+              afile = new MSFfile();\r
+              afile.addJVSuffix(\r
+                  jalview.bin.Cache.getDefault("MSF_JVSUFFIX", true));\r
+            }\r
+            else if (format.equalsIgnoreCase("PileUp"))\r
+            {\r
+                afile = new PileUpfile();\r
+                afile.addJVSuffix(\r
+                    jalview.bin.Cache.getDefault("PILEUP_JVSUFFIX", true));\r
+            }\r
+            else if (format.equalsIgnoreCase("CLUSTAL"))\r
+            {\r
+                afile = new ClustalFile();\r
+                afile.addJVSuffix(\r
+                    jalview.bin.Cache.getDefault("CLUSTAL_JVSUFFIX", true));\r
+            }\r
+            else if (format.equalsIgnoreCase("BLC"))\r
+            {\r
+                afile = new BLCFile();\r
+                afile.addJVSuffix(\r
+                    jalview.bin.Cache.getDefault("BLC_JVSUFFIX", true));\r
+            }\r
+            else if (format.equalsIgnoreCase("PIR"))\r
+            {\r
+                afile = new PIRFile();\r
+                afile.addJVSuffix(\r
+                    jalview.bin.Cache.getDefault("PIR_JVSUFFIX", true));\r
+            }\r
+            else if (format.equalsIgnoreCase("PFAM"))\r
+            {\r
+                afile = new PfamFile();\r
+                afile.addJVSuffix(\r
+                    jalview.bin.Cache.getDefault("PFAM_JVSUFFIX", true));\r
+            }\r
 \r
-  public static SequenceI[] read(String inFile, String type, String format) {\r
-      try {\r
-        AlignFile afile = FormatFactory.get(format,inFile,type);\r
-        return afile.getSeqsAsArray();\r
-      } catch (Exception e) {    }\r
+            afile.setSeqs(s);\r
 \r
-    return null;\r
-  }\r
+            return afile.print();\r
+        }\r
+        catch (Exception e)\r
+        {\r
+            System.err.println("Failed to write alignment as a '" + format +\r
+                "' file\n");\r
+            e.printStackTrace();\r
+        }\r
 \r
+        return null;\r
+    }\r
 }\r