Formatting changes
[jalview.git] / src / jalview / io / FastaFile.java
index 458465e..757bb57 100755 (executable)
@@ -27,19 +27,51 @@ import java.io.*;
 import java.util.*;\r
 \r
 \r
-public class FastaFile extends AlignFile {\r
-    public FastaFile() {\r
+/**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @author $author$\r
+ * @version $Revision$\r
+ */\r
+public class FastaFile extends AlignFile\r
+{\r
+    /**\r
+     * Creates a new FastaFile object.\r
+     */\r
+    public FastaFile()\r
+    {\r
     }\r
 \r
-    public FastaFile(String inStr) {\r
+    /**\r
+     * Creates a new FastaFile object.\r
+     *\r
+     * @param inStr DOCUMENT ME!\r
+     */\r
+    public FastaFile(String inStr)\r
+    {\r
         super(inStr);\r
     }\r
 \r
-    public FastaFile(String inFile, String type) throws IOException {\r
+    /**\r
+     * Creates a new FastaFile object.\r
+     *\r
+     * @param inFile DOCUMENT ME!\r
+     * @param type DOCUMENT ME!\r
+     *\r
+     * @throws IOException DOCUMENT ME!\r
+     */\r
+    public FastaFile(String inFile, String type) throws IOException\r
+    {\r
         super(inFile, type);\r
     }\r
 \r
-    public void parse() throws IOException {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @throws IOException DOCUMENT ME!\r
+     */\r
+    public void parse() throws IOException\r
+    {\r
         String id = "";\r
         StringBuffer seq = new StringBuffer();\r
         int count = 0;\r
@@ -49,20 +81,25 @@ public class FastaFile extends AlignFile {
 \r
         String line;\r
 \r
-        while ((line = nextLine()) != null) {\r
-            if (line.length() > 0) {\r
+        while ((line = nextLine()) != null)\r
+        {\r
+            if (line.length() > 0)\r
+            {\r
                 // Do we have an id line?\r
                 // JBPNote - this code needs to be standardised to EBI/whatever for the\r
                 // >dbref/dbref/dbref|refid1|refid2|refid3 'human-readable' style of naming (should it really exist)\r
-\r
-                if (line.substring(0, 1).equals(">")) {\r
-                    if (count != 0) {\r
-                        if (sstart != 0) {\r
-                            seqs.addElement(new Sequence(id,\r
-                                    seq.toString(), sstart, send));\r
-                        } else {\r
-                            seqs.addElement(new Sequence(id,\r
-                                    seq.toString(), 1,\r
+                if (line.substring(0, 1).equals(">"))\r
+                {\r
+                    if (count != 0)\r
+                    {\r
+                        if (sstart != 0)\r
+                        {\r
+                            seqs.addElement(new Sequence(id, seq.toString(),\r
+                                    sstart, send));\r
+                        }\r
+                        else\r
+                        {\r
+                            seqs.addElement(new Sequence(id, seq.toString(), 1,\r
                                     seq.length()));\r
                         }\r
                     }\r
@@ -76,31 +113,39 @@ public class FastaFile extends AlignFile {
 \r
                     com.stevesoft.pat.Regex dbId = new com.stevesoft.pat.Regex(\r
                             "[A-Za-z-]+/?[A-Za-z-]+\\|(\\w+)\\|(.+)");\r
+\r
                     // JBPNote At the moment - we don't get rid of the friendly names but this\r
                     // behaviour is probably wrong in the long run.\r
-                    if (dbId.search(id)) {\r
+                    if (dbId.search(id))\r
+                    {\r
                         String dbid = dbId.stringMatched(1);\r
                         String idname = dbId.stringMatched(2);\r
-                        if ( (idname.length() > 0) &&\r
-                             (idname.indexOf("_") > -1)) {\r
-                          id = idname; // use the friendly name - apparently no dbid\r
-                        } else\r
-                        if (dbid.length()>1) {\r
+\r
+                        if ((idname.length() > 0) &&\r
+                                (idname.indexOf("_") > -1))\r
+                        {\r
+                            id = idname; // use the friendly name - apparently no dbid\r
+                        }\r
+                        else if (dbid.length() > 1)\r
+                        {\r
                             id = dbid; // ignore the friendly name - we lose uniprot accession ID otherwise\r
                         }\r
                     }\r
 \r
-                    if (id.indexOf("/") > 0) {\r
+                    if (id.indexOf("/") > 0)\r
+                    {\r
                         StringTokenizer st = new StringTokenizer(id, "/");\r
 \r
-                        if (st.countTokens() == 2) {\r
+                        if (st.countTokens() == 2)\r
+                        {\r
                             id = st.nextToken();\r
 \r
                             String tmp = st.nextToken();\r
 \r
                             st = new StringTokenizer(tmp, "-");\r
 \r
-                            if (st.countTokens() == 2) {\r
+                            if (st.countTokens() == 2)\r
+                            {\r
                                 sstart = Integer.valueOf(st.nextToken())\r
                                                 .intValue();\r
                                 send = Integer.valueOf(st.nextToken()).intValue();\r
@@ -109,50 +154,99 @@ public class FastaFile extends AlignFile {
                     }\r
 \r
                     seq = new StringBuffer();\r
-                } else {\r
+                }\r
+                else\r
+                {\r
                     seq = seq.append(line);\r
                 }\r
             }\r
         }\r
 \r
-        if (count > 0) {\r
-            if (!isValidProteinSequence(seq.toString().toUpperCase())) {\r
+        if (count > 0)\r
+        {\r
+            if (!isValidProteinSequence(seq.toString().toUpperCase()))\r
+            {\r
                 throw new IOException("Invalid protein sequence");\r
             }\r
 \r
-            if (sstart != 0) {\r
+            if (sstart != 0)\r
+            {\r
                 seqs.addElement(new Sequence(id, seq.toString().toUpperCase(),\r
                         sstart, send));\r
-            } else {\r
+            }\r
+            else\r
+            {\r
                 seqs.addElement(new Sequence(id, seq.toString().toUpperCase(),\r
                         1, seq.length()));\r
             }\r
         }\r
     }\r
 \r
-    public static String print(SequenceI[] s) {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param s DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public static String print(SequenceI[] s)\r
+    {\r
         return print(s, 72);\r
     }\r
 \r
-    public static String print(SequenceI[] s, int len) {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param s DOCUMENT ME!\r
+     * @param len DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public static String print(SequenceI[] s, int len)\r
+    {\r
         return print(s, len, true);\r
     }\r
 \r
-    public static String print(SequenceI[] s, int len, boolean gaps) {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param s DOCUMENT ME!\r
+     * @param len DOCUMENT ME!\r
+     * @param gaps DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public static String print(SequenceI[] s, int len, boolean gaps)\r
+    {\r
         return print(s, len, gaps, true);\r
     }\r
 \r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param s DOCUMENT ME!\r
+     * @param len DOCUMENT ME!\r
+     * @param gaps DOCUMENT ME!\r
+     * @param displayId DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
     public static String print(SequenceI[] s, int len, boolean gaps,\r
-        boolean displayId) {\r
+        boolean displayId)\r
+    {\r
         StringBuffer out = new StringBuffer();\r
         int i = 0;\r
 \r
-        while ((i < s.length) && (s[i] != null)) {\r
+        while ((i < s.length) && (s[i] != null))\r
+        {\r
             String seq = "";\r
 \r
-            if (gaps) {\r
+            if (gaps)\r
+            {\r
                 seq = s[i].getSequence();\r
-            } else {\r
+            }\r
+            else\r
+            {\r
                 seq = AlignSeq.extractGaps("-. ", s[i].getSequence());\r
             }\r
 \r
@@ -162,13 +256,17 @@ public class FastaFile extends AlignFile {
 \r
             int nochunks = (seq.length() / len) + 1;\r
 \r
-            for (int j = 0; j < nochunks; j++) {\r
+            for (int j = 0; j < nochunks; j++)\r
+            {\r
                 int start = j * len;\r
                 int end = start + len;\r
 \r
-                if (end < seq.length()) {\r
+                if (end < seq.length())\r
+                {\r
                     out.append(seq.substring(start, end) + "\n");\r
-                } else if (start < seq.length()) {\r
+                }\r
+                else if (start < seq.length())\r
+                {\r
                     out.append(seq.substring(start) + "\n");\r
                 }\r
             }\r
@@ -179,7 +277,13 @@ public class FastaFile extends AlignFile {
         return out.toString();\r
     }\r
 \r
-    public String print() {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public String print()\r
+    {\r
         return print(getSeqsAsArray());\r
     }\r
 }\r