added unofficial support for concise output parsing from the JNet server to extract...
[jalview.git] / src / jalview / io / JPredFile.java
index f5ba7d6..0ee41b8 100755 (executable)
  */\r
 package jalview.io;\r
 \r
-import jalview.datamodel.*;\r
-\r
 import java.io.*;\r
-\r
 import java.util.*;\r
 \r
+import jalview.datamodel.*;\r
+\r
 \r
 /**\r
  * DOCUMENT ME!\r
@@ -264,12 +263,12 @@ public class JPredFile extends AlignFile
                 }\r
             }\r
         }\r
-\r
+        /* leave it to the parser user to actually check this.\r
         if (noSeqs < 1)\r
         {\r
             throw new IOException(\r
                 "JpredFile Parser: No sequence in the prediction!");\r
-        }\r
+        }*/\r
 \r
         maxLength = seq_entries.elementAt(0).toString().length();\r
 \r
@@ -339,6 +338,34 @@ public class JPredFile extends AlignFile
             e.printStackTrace();\r
         }\r
     }\r
+    Vector annotSeqs=null;\r
+  /**\r
+   * removeNonSequences\r
+   */\r
+  public void removeNonSequences()\r
+  {\r
+    if (annotSeqs!=null)\r
+      return;\r
+    annotSeqs = new Vector();\r
+    Vector newseqs = new Vector();\r
+    int i=0;\r
+    int j=seqs.size();\r
+    for (; i<QuerySeqPosition; i++)\r
+        annotSeqs.add(seqs.get(i));\r
+      // check that no stray annotations have been added at the end.\r
+      {\r
+        SequenceI sq = (SequenceI) seqs.get(j-1);\r
+        if (sq.getName().toUpperCase().startsWith("JPRED")) {\r
+          annotSeqs.add(sq);\r
+          seqs.remove(--j);\r
+        }\r
+      }\r
+    for (; i<j; i++)\r
+        newseqs.add(seqs.get(i));\r
+\r
+    seqs.clear();\r
+    seqs = newseqs;\r
+  }\r
 }\r
 \r
 \r