- for (i = 0; i < headers.size(); i++) {\r
- if (seqhash.get(headers.elementAt(i)) != null) {\r
- if (maxLength < seqhash.get(headers.elementAt(i)).toString()\r
- .length()) {\r
- maxLength = seqhash.get(headers.elementAt(i)).toString()\r
- .length();\r
- }\r
-\r
- String head = headers.elementAt(i).toString();\r
- int start = 1;\r
- int end = seqhash.get(headers.elementAt(i)).toString().length();\r
-\r
- if (head.indexOf("/") > 0) {\r
- StringTokenizer st = new StringTokenizer(head, "/");\r
-\r
- if (st.countTokens() == 2) {\r
- ids.addElement(st.nextToken());\r
-\r
- String tmp = st.nextToken();\r
- st = new StringTokenizer(tmp, "-");\r
-\r
- if (st.countTokens() == 2) {\r
- start = Integer.valueOf(st.nextToken()).intValue();\r
- end = Integer.valueOf(st.nextToken()).intValue();\r
- } else {\r
- start = -1;\r
- end = -1;\r
- }\r
- } else {\r
- ids.addElement(headers.elementAt(i));\r
- }\r
- } else {\r
- ids.addElement(headers.elementAt(i));\r
- }\r
-\r
- Sequence newSeq = null;\r
-\r
- if ((start != -1) && (end != -1)) {\r
- newSeq = new Sequence(ids.elementAt(i).toString(),\r
- seqhash.get(headers.elementAt(i).toString())\r
- .toString(), start, end);\r
- seqs.addElement(newSeq);\r
- } else {\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
-\r
- if (!isValidProteinSequence(newSeq.getSequence())) {\r
- throw new IOException(\r
- "Not a valid protein sequence - (PFAM input)");\r
- }\r
- } else {\r
- System.err.println("PFAM File reader: Can't find sequence for " +\r
- headers.elementAt(i));\r
- }\r