3e5e250c200486f3abafb855b6b779d9c6d7cef5
[jalview.git] / src / jalview / io / FormatAdapter.java
1 package jalview.io;\r
2 \r
3 import jalview.datamodel.*;\r
4 import java.util.Vector;\r
5 public class FormatAdapter\r
6 {\r
7 \r
8   public static Vector formats = new Vector();\r
9   static{\r
10     formats.addElement("FASTA");\r
11     formats.addElement("MSF");\r
12     formats.addElement("PileUp");\r
13     formats.addElement("CLUSTAL");\r
14     formats.addElement("BLC");\r
15     formats.addElement("PIR");\r
16     formats.addElement("PFAM");\r
17   }\r
18 \r
19   public static SequenceI[] readFile(String inFile, String type, String format)\r
20   {\r
21 \r
22     try\r
23     {\r
24       AlignFile afile = null;\r
25       if (format.equals("FASTA"))\r
26         afile = new FastaFile(inFile, type);\r
27       else if (format.equals("MSF"))\r
28         afile = new MSFfile(inFile, type);\r
29       else if (format.equals("PileUp"))\r
30               afile = new PileUpfile(inFile, type);\r
31       else if (format.equals("CLUSTAL"))\r
32         afile = new ClustalFile(inFile, type);\r
33       else if (format.equals("BLC"))\r
34         afile = new BLCFile(inFile, type);\r
35       else if (format.equals("PIR"))\r
36         afile = new PIRFile(inFile, type);\r
37       else if (format.equals("PFAM"))\r
38         afile = new PfamFile(inFile, type);\r
39 \r
40       return afile.getSeqsAsArray();\r
41     }\r
42     catch (Exception e)  {\r
43     System.err.println("Failed to read alignment using the '"+format+"' reader.");\r
44     e.printStackTrace();\r
45     }\r
46 \r
47     return null;\r
48   }\r
49 \r
50 \r
51   public static String formatSequences(String format, Vector seqs)\r
52   {\r
53     SequenceI [] s = new SequenceI[seqs.size()];\r
54 \r
55     for (int i = 0; i < seqs.size(); i++)\r
56       s[i] = (SequenceI) seqs.elementAt(i);\r
57 \r
58     try\r
59     {\r
60       AlignFile afile = null;\r
61       if (format.equals("FASTA"))\r
62         afile = new FastaFile();\r
63       else if (format.equals("MSF"))\r
64         afile = new MSFfile();\r
65       else if (format.equals("PileUp"))\r
66         afile = new PileUpfile();\r
67       else if (format.equals("CLUSTAL"))\r
68         afile = new ClustalFile();\r
69       else if (format.equals("BLC"))\r
70         afile = new BLCFile();\r
71       else if (format.equals("PIR"))\r
72         afile = new PIRFile();\r
73       else if (format.equals("PFAM"))\r
74         afile = new PfamFile();\r
75 \r
76       afile.setSeqs(s);\r
77       return afile.print();\r
78     }\r
79     catch (Exception e)  {\r
80       System.err.println("Failed to write alignment as a '"+format+"' file\n");\r
81       e.printStackTrace();\r
82     }\r
83 \r
84     return null;\r
85   }\r
86 }\r