+ public void parse() {\r
+ boolean idsFound = false;\r
+ Vector ids = new Vector();\r
+ StringBuffer[] seqstrings;\r
+ Vector starts = new Vector();\r
+ Vector ends = new Vector();\r
+\r
+ String line = null;\r
+\r
+ try {\r
+ do {\r
+ line = nextLine();\r
+\r
+ // seek end of ids\r
+ if (line.indexOf("*") > -1) {\r
+ idsFound = true;\r
+\r
+ break;\r
+ }\r
+\r
+ int abracket = line.indexOf(">");\r
+\r
+ if (abracket > -1) {\r
+ if (line.indexOf(" ") > -1) //\r
+ {\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
+ // 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
+\r
+ int value = Integer.parseInt(line.substring(0,\r
+ line.indexOf(" ")));\r
+ starts.addElement(value + "");\r
+ line = line.substring(line.indexOf(" ") + 1);\r
+ line = line.trim();\r
+ value = Integer.parseInt(line.substring(0,\r
+ line.indexOf(" ")));\r
+ ends.addElement(value + "");\r
+ } catch (Exception ex) {\r
+ System.err.println("Error during blockfile read.");\r
+ ex.printStackTrace();\r
+ starts.addElement("0");\r
+ ends.addElement("0");\r
+ }\r
+ } else {\r
+ if(line.indexOf("/")>-1)\r
+ {\r
+ ids.addElement(line.substring(abracket + 1,\r
+ 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
+ }\r
+ else{\r
+ ids.addElement(line.substring(abracket+1));\r
+ starts.addElement("0");\r
+ ends.addElement("0");\r
+ }\r
+\r
+ }\r
+ }\r
+ } while (!idsFound);\r
+\r
+ int starCol = line.indexOf("*");\r
+ seqstrings = new StringBuffer[ids.size()];\r
+\r
+ for (int i = 0; i < ids.size(); i++) {\r
+ if (seqstrings[i] == null) {\r
+ seqstrings[i] = new StringBuffer();\r
+ }\r
+ }\r
+\r
+ while ((line = nextLine()).indexOf("*") == -1) {\r
+ for (int i = 0; i < ids.size(); i++) {\r
+ if (line.length() > (i + starCol)) {\r
+ seqstrings[i].append(line.charAt(i + starCol));\r
+ }\r
+ }\r
+ }\r
+\r
+ for (int i = 0; i < ids.size(); i++) {\r
+ Sequence newSeq = new Sequence(ids.elementAt(i).toString(),\r
+ seqstrings[i].toString(),\r
+ Integer.parseInt(starts.elementAt(i).toString()),\r
+ Integer.parseInt(ends.elementAt(i).toString()));\r
+ seqs.addElement(newSeq);\r
+ }\r
+ } catch (Exception ex) {\r
+ ex.printStackTrace();\r
+ }\r
+ }\r
+\r
+ public String print() {\r
+ return print(getSeqsAsArray());\r