use 1 & -1 if start/end not specified
[jalview.git] / src / jalview / io / PIRFile.java
index a15a4cb..0a24601 100755 (executable)
@@ -56,19 +56,33 @@ public class PIRFile
 \r
       while ( (line = nextLine()) != null)\r
       {\r
-        try\r
+        if(line.length()==0)\r
         {\r
-          id = line.substring(line.indexOf(";") + 1, line.indexOf("/"));\r
-          line = line.substring(line.indexOf("/") + 1);\r
-          start = line.substring(0, line.indexOf("-"));\r
-          end = line.substring(line.indexOf("-") + 1);\r
+          //System.out.println("blank line");\r
+          continue;\r
         }\r
-        catch (Exception ex)\r
+\r
+        id = "No id";\r
+        start = "1";\r
+        end = "-1";\r
+\r
+        try\r
         {\r
-          id = "No id";\r
-          start = "0";\r
-          end = "0";\r
+          int slashIndex = line.indexOf("/");\r
+          if(slashIndex!=-1)\r
+          {\r
+            id = line.substring(line.indexOf(";") + 1, line.indexOf("/"));\r
+            line = line.substring(line.indexOf("/") + 1);\r
+            start = line.substring(0, line.indexOf("-"));\r
+            end = line.substring(line.indexOf("-") + 1);\r
+          }\r
+          else\r
+          {\r
+            id = line.substring(line.indexOf(";")+1);\r
+          }\r
         }\r
+        catch (Exception ex)\r
+        {    }// Default id, start and end unchanged\r
 \r
         sequence = new StringBuffer();\r
 \r
@@ -76,24 +90,29 @@ public class PIRFile
 \r
         boolean starFound = false;\r
 \r
-        do\r
+        while(!starFound)\r
         {\r
           line = nextLine();\r
           sequence.append(line);\r
 \r
+          if (line == null)\r
+            break;\r
+\r
           if (line.indexOf("*") > -1)\r
           {\r
             starFound = true;\r
           }\r
         }\r
-        while (!starFound);\r
 \r
-        sequence.setLength(sequence.length() - 1);\r
+        if(sequence.length()>0)\r
+        {\r
+          sequence.setLength(sequence.length() - 1);\r
 \r
-        Sequence newSeq = new Sequence(id, sequence.toString(),\r
-                                       Integer.parseInt(start),\r
-                                       Integer.parseInt(end));\r
-        seqs.addElement(newSeq);\r
+          Sequence newSeq = new Sequence(id, sequence.toString(),\r
+                                         Integer.parseInt(start),\r
+                                         Integer.parseInt(end));\r
+          seqs.addElement(newSeq);\r
+        }\r
       }\r
     }\r
     catch (Exception ex)\r