Remove redundancy in Eclipse
[jalview.git] / src / jalview / io / JPredFile.java
index 12be9de..cadf153 100755 (executable)
-/*
-* Jalview - A Sequence Alignment Editor and Viewer
-* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License
-* as published by the Free Software Foundation; either version 2
-* of the License, or (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+/*\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
 \r
-/**
- * PredFile.java
- * JalviewX / Vamsas Project
- * JPred.seq.concise reader
+/**\r
+ * PredFile.java\r
+ * JalviewX / Vamsas Project\r
+ * JPred.seq.concise reader\r
  */\r
 package jalview.io;\r
 \r
 import jalview.datamodel.*;\r
 \r
-import jalview.util.*;\r
-\r
 import java.io.*;\r
 \r
 import java.util.*;\r
 \r
 \r
-public class JPredFile extends AlignFile {\r
+/**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @author $author$\r
+ * @version $Revision$\r
+ */\r
+public class JPredFile extends AlignFile\r
+{\r
     Vector ids;\r
     Vector conf;\r
     Hashtable Scores; // Hash of names and score vectors\r
     Hashtable Symscores; // indexes of symbol annotation properties in sequenceI vector\r
     private int QuerySeqPosition;\r
 \r
-    public JPredFile(String inStr) {\r
+    /**\r
+     * Creates a new JPredFile object.\r
+     *\r
+     * @param inStr DOCUMENT ME!\r
+     */\r
+    public JPredFile(String inStr)\r
+    {\r
         super(inStr);\r
     }\r
 \r
-    public JPredFile(String inFile, String type) throws IOException {\r
+    /**\r
+     * Creates a new JPredFile object.\r
+     *\r
+     * @param inFile DOCUMENT ME!\r
+     * @param type DOCUMENT ME!\r
+     *\r
+     * @throws IOException DOCUMENT ME!\r
+     */\r
+    public JPredFile(String inFile, String type) throws IOException\r
+    {\r
         super(inFile, type);\r
     }\r
 \r
-    public void setQuerySeqPosition(int QuerySeqPosition) {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param QuerySeqPosition DOCUMENT ME!\r
+     */\r
+    public void setQuerySeqPosition(int QuerySeqPosition)\r
+    {\r
         this.QuerySeqPosition = QuerySeqPosition;\r
     }\r
 \r
-    public int getQuerySeqPosition() {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public int getQuerySeqPosition()\r
+    {\r
         return QuerySeqPosition;\r
     }\r
 \r
-    public Hashtable getScores() {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public Hashtable getScores()\r
+    {\r
         return Scores;\r
     }\r
 \r
-    public Hashtable getSymscores() {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public Hashtable getSymscores()\r
+    {\r
         return Symscores;\r
     }\r
 \r
-    public void initData() {\r
+    /**\r
+     * DOCUMENT ME!\r
+     */\r
+    public void initData()\r
+    {\r
         super.initData();\r
         Scores = new Hashtable();\r
         ids = null;\r
         conf = null;\r
     }\r
 \r
-    /**
- * parse a JPred concise file into a sequence-alignment like object.
+    /**\r
+ * parse a JPred concise file into a sequence-alignment like object.\r
  */\r
-    public void parse() throws IOException {\r
+    public void parse() throws IOException\r
+    {\r
         // JBPNote log.System.out.println("all read in ");\r
         String line;\r
         QuerySeqPosition = -1;\r
@@ -84,12 +133,14 @@ public class JPredFile extends AlignFile {
         Vector ids = new Vector();\r
         Hashtable Symscores = new Hashtable();\r
 \r
-        while ((line = nextLine()) != null) {\r
+        while ((line = nextLine()) != null)\r
+        {\r
             // Concise format allows no comments or non comma-formatted data\r
             StringTokenizer str = new StringTokenizer(line, ":");\r
             String id = "";\r
 \r
-            if (!str.hasMoreTokens()) {\r
+            if (!str.hasMoreTokens())\r
+            {\r
                 continue;\r
             }\r
 \r
@@ -101,16 +152,20 @@ public class JPredFile extends AlignFile {
             // decide if we have more than just alphanumeric symbols\r
             int numSymbols = symbols.countTokens();\r
 \r
-            if (numSymbols == 0) {\r
+            if (numSymbols == 0)\r
+            {\r
                 continue;\r
             }\r
 \r
-            if (seqsym.length() != (2 * numSymbols)) {\r
+            if (seqsym.length() != (2 * numSymbols))\r
+            {\r
                 // Set of scalars for some property\r
-                if (Scores.containsKey(id)) {\r
+                if (Scores.containsKey(id))\r
+                {\r
                     int i = 1;\r
 \r
-                    while (Scores.containsKey(id + "_" + i)) {\r
+                    while (Scores.containsKey(id + "_" + i))\r
+                    {\r
                         i++;\r
                     }\r
 \r
@@ -123,9 +178,11 @@ public class JPredFile extends AlignFile {
                 int i = 0;\r
                 String ascore = "dead";\r
 \r
-                try {\r
+                try\r
+                {\r
                     // store elements as floats...\r
-                    while (symbols.hasMoreTokens()) {\r
+                    while (symbols.hasMoreTokens())\r
+                    {\r
                         ascore = symbols.nextToken();\r
 \r
                         Float score = new Float(ascore);\r
@@ -133,55 +190,70 @@ public class JPredFile extends AlignFile {
                     }\r
 \r
                     Scores.put(id, scores);\r
-                } catch (Exception e) {\r
+                }\r
+                catch (Exception e)\r
+                {\r
                     // or just keep them as strings\r
                     i = scores.size();\r
 \r
-                    for (int j = 0; j < i; j++) {\r
+                    for (int j = 0; j < i; j++)\r
+                    {\r
                         scores.set(j,\r
                             (Object) ((Float) scores.get(j)).toString());\r
                     }\r
 \r
                     scores.addElement((Object) ascore);\r
 \r
-                    while (symbols.hasMoreTokens()) {\r
+                    while (symbols.hasMoreTokens())\r
+                    {\r
                         ascore = symbols.nextToken();\r
                         scores.addElement((Object) ascore);\r
                     }\r
 \r
                     Scores.put(id, scores);\r
                 }\r
-            } else if (id.equals("jnetconf")) {\r
+            }\r
+            else if (id.equals("jnetconf"))\r
+            {\r
                 // log.debug System.out.println("here");\r
                 id = "Prediction Confidence";\r
                 this.conf = new Vector(numSymbols);\r
 \r
-                for (int i = 0; i < numSymbols; i++) {\r
+                for (int i = 0; i < numSymbols; i++)\r
+                {\r
                     conf.set(i, (Object) symbols.nextToken());\r
                 }\r
-            } else {\r
+            }\r
+            else\r
+            {\r
                 // Sequence or a prediction string (rendered as sequence)\r
                 StringBuffer newseq = new StringBuffer();\r
 \r
-                for (int i = 0; i < numSymbols; i++) {\r
+                for (int i = 0; i < numSymbols; i++)\r
+                {\r
                     newseq.append(symbols.nextToken());\r
                 }\r
 \r
-                if (id.indexOf(";") > -1) {\r
+                if (id.indexOf(";") > -1)\r
+                {\r
                     seq_entries.addElement(newseq);\r
 \r
                     int i = 1;\r
                     String name = id.substring(id.indexOf(";") + 1);\r
 \r
-                    while (ids.lastIndexOf(name) > -1) {\r
-                        name = id.substring(id.indexOf(";") + 1) + "_" + 1;\r
+                    while (ids.lastIndexOf(name) > -1)\r
+                    {\r
+                        name = id.substring(id.indexOf(";") + 1) + "_" + ++i;\r
                     }\r
 \r
                     ids.addElement(name);\r
 \r
                     noSeqs++;\r
-                } else {\r
-                    if (id.equals("JNETPRED")) {\r
+                }\r
+                else\r
+                {\r
+                    if (id.equals("JNETPRED"))\r
+                    {\r
                         id = "Predicted Secondary Structure";\r
                     }\r
 \r
@@ -193,34 +265,39 @@ public class JPredFile extends AlignFile {
             }\r
         }\r
 \r
-        if (noSeqs < 1) {\r
+        if (noSeqs < 1)\r
+        {\r
             throw new IOException(\r
                 "JpredFile Parser: No sequence in the prediction!");\r
         }\r
 \r
         maxLength = seq_entries.elementAt(0).toString().length();\r
 \r
-        for (int i = 0; i < ids.size(); i++) {\r
+        for (int i = 0; i < ids.size(); i++)\r
+        {\r
             // Add all sequence like objects\r
             Sequence newSeq = new Sequence(ids.elementAt(i).toString(),\r
                     seq_entries.elementAt(i).toString(), 1,\r
                     seq_entries.elementAt(i).toString().length());\r
 \r
             if (!Symscores.containsKey(ids.elementAt(i)) &&\r
-                    !isValidProteinSequence(newSeq.getSequence())) {\r
+                    !isValidProteinSequence(newSeq.getSequence()))\r
+            {\r
                 throw new IOException(\r
                     "JPredConcise: Not a valid protein sequence - (" +\r
                     ids.elementAt(i).toString() + ")");\r
             }\r
 \r
-            if (maxLength != seq_entries.elementAt(i).toString().length()) {\r
+            if (maxLength != seq_entries.elementAt(i).toString().length())\r
+            {\r
                 throw new IOException("JPredConcise: Entry (" +\r
                     ids.elementAt(i).toString() +\r
                     ") has an unexpected number of columns");\r
             }\r
 \r
             if (newSeq.getName().startsWith("QUERY") &&\r
-                    (QuerySeqPosition == -1)) {\r
+                    (QuerySeqPosition == -1))\r
+            {\r
                 QuerySeqPosition = seqs.size();\r
             }\r
 \r
@@ -228,25 +305,36 @@ public class JPredFile extends AlignFile {
         }\r
     }\r
 \r
-    /**
- * print
- *
- * @return String
+    /**\r
+ * print\r
+ *\r
+ * @return String\r
    */\r
-    public String print() {\r
+    public String print()\r
+    {\r
         return "Not Supported";\r
     }\r
 \r
-    public static void main(String[] args) {\r
-        try {\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param args DOCUMENT ME!\r
+     */\r
+    public static void main(String[] args)\r
+    {\r
+        try\r
+        {\r
             JPredFile blc = new JPredFile(args[0], "File");\r
 \r
-            for (int i = 0; i < blc.seqs.size(); i++) {\r
+            for (int i = 0; i < blc.seqs.size(); i++)\r
+            {\r
                 System.out.println(((Sequence) blc.seqs.elementAt(i)).getName() +\r
                     "\n" + ((Sequence) blc.seqs.elementAt(i)).getSequence() +\r
                     "\n");\r
             }\r
-        } catch (java.io.IOException e) {\r
+        }\r
+        catch (java.io.IOException e)\r
+        {\r
             System.err.println("Exception " + e);\r
             e.printStackTrace();\r
         }\r
@@ -254,47 +342,47 @@ public class JPredFile extends AlignFile {
 }\r
 \r
 \r
-/*
- StringBuffer out = new StringBuffer();
-
- out.append("START PRED\n");
- for (int i = 0; i < s[0].sequence.length(); i++)
- {
-  out.append(s[0].sequence.substring(i, i + 1) + " ");
-  out.append(s[1].sequence.substring(i, i + 1) + " ");
-  out.append(s[1].score[0].elementAt(i) + " ");
-  out.append(s[1].score[1].elementAt(i) + " ");
-  out.append(s[1].score[2].elementAt(i) + " ");
-  out.append(s[1].score[3].elementAt(i) + " ");
-
-  out.append("\n");
- }
- out.append("END PRED\n");
- return out.toString();
- }
-
-    public static void main(String[] args)
- {
-  try
-  {
-    BLCFile blc = new BLCFile(args[0], "File");
-    DrawableSequence[] s = new DrawableSequence[blc.seqs.size()];
-    for (int i = 0; i < blc.seqs.size(); i++)
-    {
-      s[i] = new DrawableSequence( (Sequence) blc.seqs.elementAt(i));
-    }
-    String out = BLCFile.print(s);
-
-    AlignFrame af = new AlignFrame(null, s);
-    af.resize(700, 500);
-    af.show();
-    System.out.println(out);
-  }
-  catch (java.io.IOException e)
-  {
-    System.out.println("Exception " + e);
-  }
- }
-
- }
+/*\r
+ StringBuffer out = new StringBuffer();\r
+\r
+ out.append("START PRED\n");\r
+ for (int i = 0; i < s[0].sequence.length(); i++)\r
+ {\r
+  out.append(s[0].sequence.substring(i, i + 1) + " ");\r
+  out.append(s[1].sequence.substring(i, i + 1) + " ");\r
+  out.append(s[1].score[0].elementAt(i) + " ");\r
+  out.append(s[1].score[1].elementAt(i) + " ");\r
+  out.append(s[1].score[2].elementAt(i) + " ");\r
+  out.append(s[1].score[3].elementAt(i) + " ");\r
+\r
+  out.append("\n");\r
+ }\r
+ out.append("END PRED\n");\r
+ return out.toString();\r
+ }\r
+\r
+    public static void main(String[] args)\r
+ {\r
+  try\r
+  {\r
+    BLCFile blc = new BLCFile(args[0], "File");\r
+    DrawableSequence[] s = new DrawableSequence[blc.seqs.size()];\r
+    for (int i = 0; i < blc.seqs.size(); i++)\r
+    {\r
+      s[i] = new DrawableSequence( (Sequence) blc.seqs.elementAt(i));\r
+    }\r
+    String out = BLCFile.print(s);\r
+\r
+    AlignFrame af = new AlignFrame(null, s);\r
+    af.resize(700, 500);\r
+    af.show();\r
+    System.out.println(out);\r
+  }\r
+  catch (java.io.IOException e)\r
+  {\r
+    System.out.println("Exception " + e);\r
+  }\r
+ }\r
+\r
+ }\r
  */\r