X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FPfamFile.java;h=8056f383763dd8e557d0084b244ebc211b947edf;hb=4f24ef0848cf3c43ba0467f31fce1baa5c57aad5;hp=9a6ca549ebf9d3dacd7ac3162bd5dcfcf4373c7b;hpb=bacb105d85f7d068c8cd643cd337b832aeb80343;p=jalview.git diff --git a/src/jalview/io/PfamFile.java b/src/jalview/io/PfamFile.java index 9a6ca54..8056f38 100755 --- a/src/jalview/io/PfamFile.java +++ b/src/jalview/io/PfamFile.java @@ -27,7 +27,6 @@ import jalview.util.*; public class PfamFile extends AlignFile { - Vector ids; public PfamFile() { @@ -47,11 +46,9 @@ public class PfamFile public void initData() { super.initData(); - ids = new Vector(); } - public void parse() - throws IOException + public void parse() throws IOException { int i = 0; String line; @@ -113,49 +110,16 @@ public class PfamFile .length(); } - String head = headers.elementAt(i).toString(); - int start = 1; - int end = -1; - - if (head.indexOf("/") > 0) - { - StringTokenizer st = new StringTokenizer(head, "/"); - - if (st.countTokens() == 2) - { - ids.addElement(st.nextToken()); - String tmp = st.nextToken(); - st = new StringTokenizer(tmp, "-"); - - if (st.countTokens() == 2) - { - start = Integer.valueOf(st.nextToken()).intValue(); - end = Integer.valueOf(st.nextToken()).intValue(); - } - } - else - { - ids.addElement(headers.elementAt(i)); - } - } - else - { - ids.addElement(headers.elementAt(i)); - } - - Sequence newSeq = null; - - newSeq = new Sequence(ids.elementAt(i).toString(), - seqhash.get(headers.elementAt(i).toString()) - .toString(), start, end); + Sequence newSeq = parseId(headers.elementAt(i).toString()); + newSeq.setSequence( seqhash.get(headers.elementAt(i).toString()).toString()); seqs.addElement(newSeq); - if (!isValidProteinSequence(newSeq.getSequence())) { - throw new IOException( - "Not a valid protein sequence - (PFAM input)"); + throw new IOException(AppletFormatAdapter.INVALID_CHARACTERS + +" : "+ newSeq.getName() + +" : "+invalidCharacter); } } else @@ -166,7 +130,7 @@ public class PfamFile } } - public static String print(SequenceI[] s) + public String print(SequenceI[] s) { StringBuffer out = new StringBuffer(""); @@ -177,8 +141,7 @@ public class PfamFile while ( (i < s.length) && (s[i] != null)) { - String tmp = s[i].getName() + "/" + s[i].getStart() + "-" + - s[i].getEnd(); + String tmp = printId(s[i]); if (s[i].getSequence().length() > max) { @@ -202,8 +165,7 @@ public class PfamFile while ( (j < s.length) && (s[j] != null)) { - out.append(new Format("%-" + maxid + "s").form(s[j].getName() + - "/" + s[j].getStart() + "-" + s[j].getEnd()) + " "); + out.append(new Format("%-" + maxid + "s").form( printId(s[j])+" ")); out.append(s[j].getSequence() + "\n"); j++;