{\r
try\r
{\r
- String id;\r
- String start;\r
- String end;\r
StringBuffer sequence;\r
String line = null;\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
- }\r
- catch (Exception ex)\r
- {\r
- id = "No id";\r
- start = "0";\r
- end = "0";\r
+ //System.out.println("blank line");\r
+ continue;\r
}\r
\r
+ Sequence newSeq = parseId(line.substring(line.indexOf(";") + 1));\r
+\r
sequence = new StringBuffer();\r
\r
- line = nextLine(); // this is the title line\r
+ newSeq.setDescription(nextLine()); // this is the title line\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
+ newSeq.setSequence(sequence.toString());\r
+ seqs.addElement(newSeq);\r
+ }\r
}\r
}\r
catch (Exception ex)\r
return print(getSeqsAsArray());\r
}\r
\r
- public static String print(SequenceI[] s)\r
- {\r
- return print(s, 72, true);\r
- }\r
-\r
- public static String print(SequenceI[] s, int len)\r
- {\r
- return print(s, len, true);\r
- }\r
-\r
- public static String print(SequenceI[] s, int len, boolean gaps)\r
+ public String print(SequenceI[] s)\r
{\r
+ boolean is_NA = jalview.util.Comparison.isNucleotide(s);\r
+ int len = 72;\r
StringBuffer out = new StringBuffer();\r
int i = 0;\r
\r
while ( (i < s.length) && (s[i] != null))\r
{\r
- String seq = "";\r
+ String seq = s[i].getSequence();\r
+ seq = seq + "*";\r
\r
- if (gaps)\r
- {\r
- seq = s[i].getSequence() + "*";\r
- }\r
+ out.append(">P1;" + printId(s[i]) + "\n");\r
+\r
+ if(s[i].getDescription()!=null)\r
+ out.append(s[i].getDescription()+"\n");\r
else\r
{\r
- seq = AlignSeq.extractGaps(s[i].getSequence(), "-");\r
- seq = AlignSeq.extractGaps(seq, ".");\r
- seq = AlignSeq.extractGaps(seq, " ");\r
- seq = seq + "*";\r
+ out.append(s[i].getName()+" "+ (s[i].getEnd() - s[i].getStart() + 1));\r
+ out.append( is_NA ? " bases\n" : " residues\n");\r
}\r
-\r
- out.append(">P1;" + s[i].getName() + "/" + s[i].getStart() + "-" +\r
- s[i].getEnd() + "\n");\r
- out.append(" Dummy title\n");\r
-\r
int nochunks = (seq.length() / len) + 1;\r
\r
for (int j = 0; j < nochunks; j++)\r
return out.toString();\r
}\r
\r
- public static void main(String[] args)\r
- {\r
- String inStr = ">P1;LCAT_MOUSE_90.35\nMGLPGSPWQRVLLLLGLLLPPATPFWLLNVLFPPHTTPKAELSNHTRPVILVPGCLGNRLEAKLDKPDVVNW\nMCYRKTEDFFTIWLDFNLFLPLGVDCWIDNTRIVYNHSSGRVSNAPGVQIRVPGFGKTESVEYVDDNKLAGY\n\n>LCAT_PAPAN_95.78\nMGPPGSPWQWVPLLLGLLLPPAAPFWLLNVLFPPHTTPKAELSNHTRPVILVPGCLGNQLEAKLDKPDVVNW\nMCYRKTEDFFTIWLDLNMFLPLGVDCWIDNTRVVYNRSSGLVSNAPGVQIRVPGFGKTYSVEYLDSSKLAGY\nLHTLVQNLVNNGYVRDETVRAAPYDWRLEPGQQEEYYHKLAGLVEEMHAAYGKPVFLIGHSLGCLHLLYFLL\n";\r
- PIRFile fa = new PIRFile(inStr);\r
- }\r
}\r