else\r
{\r
ids.addElement(line.substring(abracket + 1));\r
- starts.addElement("0");\r
- ends.addElement("0");\r
+ starts.addElement("1");\r
+ ends.addElement("-1");\r
}\r
}\r
}\r
//Add sequences to the hash\r
for (i = 0; i < headers.size(); i++)\r
{\r
- int start = -1;\r
+ int start = 1;\r
int end = -1;\r
\r
if (seqhash.get(headers.elementAt(i)) != null)\r
}\r
\r
String head = headers.elementAt(i).toString();\r
- start = 1;\r
- end = seqhash.get(headers.elementAt(i)).toString().length();\r
\r
if (head.indexOf("/") > 0)\r
{\r
String seq = seqhash.get(head).toString();\r
\r
int start = 1;\r
- int end = seq.length();\r
+ int end = -1;\r
\r
if (maxLength < head.length())\r
{\r
\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
\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
\r
String head = headers.elementAt(i).toString();\r
int start = 1;\r
- int end = seqhash.get(headers.elementAt(i)).toString().length();\r
+ int end = -1;\r
\r
if (head.indexOf("/") > 0)\r
{\r
start = Integer.valueOf(st.nextToken()).intValue();\r
end = Integer.valueOf(st.nextToken()).intValue();\r
}\r
- else\r
- {\r
- start = -1;\r
- end = -1;\r
- }\r
}\r
else\r
{\r
\r
Sequence newSeq = null;\r
\r
- if ( (start != -1) && (end != -1))\r
- {\r
- newSeq = new Sequence(ids.elementAt(i).toString(),\r
- seqhash.get(headers.elementAt(i).toString())\r
- .toString(), start, end);\r
- seqs.addElement(newSeq);\r
- }\r
- else\r
- {\r
- newSeq = new Sequence(ids.elementAt(i).toString(),\r
- seqhash.get(headers.elementAt(i).toString())\r
- .toString(), 1,\r
- seqhash.get(headers.elementAt(i).toString())\r
- .toString().length());\r
- seqs.addElement(newSeq);\r
- }\r
+ newSeq = new Sequence(ids.elementAt(i).toString(),\r
+ seqhash.get(headers.elementAt(i).toString())\r
+ .toString(), start, end);\r
+ seqs.addElement(newSeq);\r
+\r
\r
if (!isValidProteinSequence(newSeq.getSequence()))\r
{\r
String seq = seqhash.get(head).toString();\r
\r
int start = 1;\r
- int end = seq.length();\r
+ int end = -1;\r
\r
if (maxLength < head.length())\r
{\r