spelling err
[jalview.git] / src / jalview / io / AlignFile.java
index 04ddff3..ceec54b 100755 (executable)
@@ -25,24 +25,45 @@ import java.io.*;
 import java.util.*;\r
 \r
 \r
-public abstract class AlignFile extends FileParse {\r
+/**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @author $author$\r
+ * @version $Revision$\r
+ */\r
+public abstract class AlignFile extends FileParse\r
+{\r
     int noSeqs = 0;\r
     int maxLength = 0;\r
     Vector seqs;\r
     Vector headers;\r
     long start;\r
     long end;\r
+    boolean jvSuffix = true;\r
 \r
-    public AlignFile() {\r
+    /**\r
+     * Creates a new AlignFile object.\r
+     */\r
+    public AlignFile()\r
+    {\r
     }\r
 \r
-    public AlignFile(String inStr) {\r
+    /**\r
+     * Creates a new AlignFile object.\r
+     *\r
+     * @param inStr DOCUMENT ME!\r
+     */\r
+    public AlignFile(String inStr)\r
+    {\r
         initData();\r
         System.out.println("is this ever called??");\r
 \r
-        try {\r
+        try\r
+        {\r
             parse();\r
-        } catch (Exception ex) {\r
+        }\r
+        catch (Exception ex)\r
+        {\r
         }\r
     }\r
 \r
@@ -51,7 +72,8 @@ public abstract class AlignFile extends FileParse {
      * @param inFile Filename to read from.\r
      * @param type   What type of file to read from (File, URL)\r
      */\r
-    public AlignFile(String inFile, String type) throws IOException {\r
+    public AlignFile(String inFile, String type) throws IOException\r
+    {\r
         super(inFile, type);\r
 \r
         initData();\r
@@ -62,17 +84,20 @@ public abstract class AlignFile extends FileParse {
     /**\r
      * Return the seqs Vector\r
      */\r
-    public Vector getSeqs() {\r
+    public Vector getSeqs()\r
+    {\r
         return seqs;\r
     }\r
 \r
     /**\r
      * Return the Sequences in the seqs Vector as an array of Sequences\r
      */\r
-    public SequenceI[] getSeqsAsArray() {\r
+    public SequenceI[] getSeqsAsArray()\r
+    {\r
         SequenceI[] s = new SequenceI[seqs.size()];\r
 \r
-        for (int i = 0; i < seqs.size(); i++) {\r
+        for (int i = 0; i < seqs.size(); i++)\r
+        {\r
             s[i] = (SequenceI) seqs.elementAt(i);\r
         }\r
 \r
@@ -82,30 +107,43 @@ public abstract class AlignFile extends FileParse {
     /**\r
      * Initialise objects to store sequence data in.\r
      */\r
-    protected void initData() {\r
+    protected void initData()\r
+    {\r
         seqs = new Vector();\r
         headers = new Vector();\r
     }\r
 \r
-    protected void setSeqs(SequenceI[] s) {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param s DOCUMENT ME!\r
+     */\r
+    protected void setSeqs(SequenceI[] s)\r
+    {\r
         seqs = new Vector();\r
 \r
-        for (int i = 0; i < s.length; i++) {\r
+        for (int i = 0; i < s.length; i++)\r
+        {\r
             seqs.addElement(s[i]);\r
         }\r
     }\r
 \r
     // Checks whether sequence is valid aa characters\r
-    protected boolean isValidProteinSequence(String sequence) {\r
+    protected boolean isValidProteinSequence(String sequence)\r
+    {\r
         for (int i = 0; i < sequence.length(); i++)\r
             if (!jalview.schemes.ResidueProperties.aaHash.containsKey(\r
-                        String.valueOf(sequence.charAt(i)))) {\r
+                        String.valueOf(sequence.charAt(i))))\r
+            {\r
+                invalidCharacter = sequence.charAt(i);\r
                 return false;\r
             }\r
 \r
         return true;\r
     }\r
 \r
+    char invalidCharacter;\r
+\r
     /**\r
      * This method must be implemented to parse the contents of the file.\r
      */\r
@@ -115,4 +153,45 @@ public abstract class AlignFile extends FileParse {
      * Print out in alignment file format the Sequences in the seqs Vector.\r
      */\r
     public abstract String print();\r
+\r
+    public void addJVSuffix(boolean b)\r
+    {\r
+      jvSuffix = b;\r
+    }\r
+\r
+    /**\r
+     * A general parser for ids.\r
+     *\r
+     * @String id Id to be parsed\r
+     */\r
+    Sequence parseId(String id)\r
+    {\r
+      Sequence seq = null;\r
+      id = id.trim();\r
+      int space = id.indexOf(" ");\r
+      if(space>-1)\r
+      {\r
+        seq = new Sequence(id.substring(0, space),"");\r
+        seq.setDescription(id.substring(space+1));\r
+      }\r
+      else\r
+      {\r
+        seq = new Sequence(id, "");\r
+      }\r
+\r
+      return seq;\r
+    }\r
+\r
+    /**\r
+     * Creates the output id.\r
+     * Adds prefix Uniprot format source|id\r
+     * And suffix Jalview /start-end\r
+     *\r
+     * @String id Id to be parsed\r
+     */\r
+    String printId(SequenceI seq)\r
+    {\r
+     return seq.getDisplayId(jvSuffix);\r
+    }\r
+\r
 }\r