layout changes
[jalview.git] / src / jalview / io / BLCFile.java
index 5f45aec..84d8a9d 100755 (executable)
@@ -21,8 +21,6 @@ import jalview.datamodel.*;
 \r
 import java.io.*;\r
 import java.util.*;\r
-import java.net.*;\r
-import java.awt.Font;\r
 \r
 public class BLCFile extends AlignFile {\r
 \r
@@ -65,31 +63,50 @@ public class BLCFile extends AlignFile {
         break;\r
       }\r
 \r
-      if (line.indexOf(">") > -1)\r
+      int abracket = line.indexOf(">");\r
+\r
+      if (abracket > -1)\r
       {\r
 \r
-        if(line.indexOf(" ")>-1 )\r
+        if(line.indexOf(" ")>-1)//\r
         {\r
-          //>54402046         0             1   137   137: immunog\r
-          ids.addElement(line.substring(1, line.indexOf(" ")));\r
-\r
-          // remove p Value\r
-          line = line.substring(line.indexOf(" ") + 1);\r
-          line = line.trim();\r
-\r
-          line = line.substring(line.indexOf(" ") + 1);\r
-          line = line.trim();\r
-          starts.addElement(line.substring(0, line.indexOf(" ")));\r
-          line = line.substring(line.indexOf(" ") + 1);\r
-          line = line.trim();\r
-          ends.addElement(line.substring(0, line.indexOf(" ")));\r
+          ///Colur it be this format?\r
+          //>54402046         0             1   137   137:\r
+          // or this??\r
+          //     1   >L1H14       30539  343\r
+          try{\r
+            ids.addElement(line.substring(abracket + 1,\r
+                                          line.indexOf(" ", abracket + 1)));\r
+\r
+\r
+            // remove p Value\r
+            line = line.substring(abracket + 1);\r
+            line = line.substring(line.indexOf(" ") + 1);\r
+            line = line.trim();\r
+            line = line.substring(line.indexOf(" ") + 1);\r
+            line = line.trim();\r
+            int value = Integer.parseInt(line.substring(0, line.indexOf(" ")));\r
+            starts.addElement(value+"");\r
+            line = line.substring(line.indexOf(" ") + 1);\r
+            line = line.trim();\r
+            value = Integer.parseInt(line.substring(0, line.indexOf(" ")));\r
+            ends.addElement(value+"");\r
+\r
+          }catch(Exception ex)\r
+          {\r
+            System.err.println("Error during blockfile read.");\r
+            ex.printStackTrace();\r
+            starts.addElement("0");\r
+            ends.addElement("0");\r
+          }\r
+\r
         }\r
         else\r
         {\r
-          ids.addElement( line.substring(line.indexOf(">") + 1, line.indexOf("/")));\r
+          ids.addElement( line.substring(abracket + 1, line.indexOf("/")));\r
           line = line.substring(line.indexOf("/") + 1);\r
           starts.addElement(line.substring(0, line.indexOf("-")));\r
-          ends.addElement(line.substring(line.indexOf("-")+1));\r
+          ends.addElement(line.substring(line.indexOf("-") + 1));\r
         }\r
       }\r
     }while(!idsFound);\r
@@ -105,7 +122,10 @@ public class BLCFile extends AlignFile {
     while ((line = nextLine()).indexOf("*")==-1)\r
     {\r
       for(int i=0; i<ids.size(); i++)\r
-        seqstrings[i].append( line.charAt(i+starCol) );\r
+      {\r
+        if(line.length()>i+starCol)\r
+          seqstrings[i].append(line.charAt(i + starCol));\r
+      }\r
     }\r
 \r
     for(int i=0; i<ids.size(); i++)\r