X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FPfamFile.java;h=4c90bca4979caa8f967b5ee1ebb41c8f9822177f;hb=0753f0b8ac8473d278dfc255c04b174943c2b345;hp=a6c7a4f3e4edbe66718502f825a7ab6adaf27a40;hpb=efc31b4a8d5cee63555586804a2b79c06bdb5a14;p=jalview.git diff --git a/src/jalview/io/PfamFile.java b/src/jalview/io/PfamFile.java index a6c7a4f..4c90bca 100755 --- a/src/jalview/io/PfamFile.java +++ b/src/jalview/io/PfamFile.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -27,17 +27,11 @@ import jalview.util.*; public class PfamFile extends AlignFile { - Vector ids; public PfamFile() { } - public PfamFile(String inStr) - { - super(inStr); - } - public PfamFile(String inFile, String type) throws IOException { @@ -47,7 +41,6 @@ public class PfamFile public void initData() { super.initData(); - ids = new Vector(); } public void parse() @@ -113,66 +106,10 @@ public class PfamFile .length(); } - String head = headers.elementAt(i).toString(); - int start = 1; - int end = seqhash.get(headers.elementAt(i)).toString().length(); - - 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 - { - start = -1; - end = -1; - } - } - else - { - ids.addElement(headers.elementAt(i)); - } - } - else - { - ids.addElement(headers.elementAt(i)); - } - - Sequence newSeq = null; - - if ( (start != -1) && (end != -1)) - { - newSeq = new Sequence(ids.elementAt(i).toString(), - seqhash.get(headers.elementAt(i).toString()) - .toString(), start, end); - seqs.addElement(newSeq); - } - else - { - newSeq = new Sequence(ids.elementAt(i).toString(), - seqhash.get(headers.elementAt(i).toString()) - .toString(), 1, - seqhash.get(headers.elementAt(i).toString()) - .toString().length()); - seqs.addElement(newSeq); - } - - if (!isValidProteinSequence(newSeq.getSequence())) - { - throw new IOException( - "Not a valid protein sequence - (PFAM input)"); - } + Sequence newSeq = parseId(headers.elementAt(i).toString()); + newSeq.setSequence(seqhash.get(headers.elementAt(i).toString()). + toString()); + seqs.addElement(newSeq); } else { @@ -182,7 +119,7 @@ public class PfamFile } } - public static String print(SequenceI[] s) + public String print(SequenceI[] s) { StringBuffer out = new StringBuffer(""); @@ -193,12 +130,11 @@ 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) + if (s[i].getSequence().length > max) { - max = s[i].getSequence().length(); + max = s[i].getSequence().length; } if (tmp.length() > maxid) @@ -218,10 +154,9 @@ 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"); + out.append(s[j].getSequenceAsString() + "\n"); j++; }