X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FAlignFile.java;h=f933961b3c6886330bcdc2f2520aa195913cd66f;hb=58e82de6951f919828899de75b908cd1114d8511;hp=04ddff3fe9599a277032650e50a69df81312db6c;hpb=588042b69abf8e60bcc950b24c283933c7dd422f;p=jalview.git diff --git a/src/jalview/io/AlignFile.java b/src/jalview/io/AlignFile.java index 04ddff3..f933961 100755 --- a/src/jalview/io/AlignFile.java +++ b/src/jalview/io/AlignFile.java @@ -25,24 +25,45 @@ import java.io.*; import java.util.*; -public abstract class AlignFile extends FileParse { +/** + * DOCUMENT ME! + * + * @author $author$ + * @version $Revision$ + */ +public abstract class AlignFile extends FileParse +{ int noSeqs = 0; int maxLength = 0; Vector seqs; Vector headers; long start; long end; + boolean jvSuffix = true; - public AlignFile() { + /** + * Creates a new AlignFile object. + */ + public AlignFile() + { } - public AlignFile(String inStr) { + /** + * Creates a new AlignFile object. + * + * @param inStr DOCUMENT ME! + */ + public AlignFile(String inStr) + { initData(); System.out.println("is this ever called??"); - try { + try + { parse(); - } catch (Exception ex) { + } + catch (Exception ex) + { } } @@ -51,7 +72,8 @@ public abstract class AlignFile extends FileParse { * @param inFile Filename to read from. * @param type What type of file to read from (File, URL) */ - public AlignFile(String inFile, String type) throws IOException { + public AlignFile(String inFile, String type) throws IOException + { super(inFile, type); initData(); @@ -62,17 +84,20 @@ public abstract class AlignFile extends FileParse { /** * Return the seqs Vector */ - public Vector getSeqs() { + public Vector getSeqs() + { return seqs; } /** * Return the Sequences in the seqs Vector as an array of Sequences */ - public SequenceI[] getSeqsAsArray() { + public SequenceI[] getSeqsAsArray() + { SequenceI[] s = new SequenceI[seqs.size()]; - for (int i = 0; i < seqs.size(); i++) { + for (int i = 0; i < seqs.size(); i++) + { s[i] = (SequenceI) seqs.elementAt(i); } @@ -82,24 +107,34 @@ public abstract class AlignFile extends FileParse { /** * Initialise objects to store sequence data in. */ - protected void initData() { + protected void initData() + { seqs = new Vector(); headers = new Vector(); } - protected void setSeqs(SequenceI[] s) { + /** + * DOCUMENT ME! + * + * @param s DOCUMENT ME! + */ + protected void setSeqs(SequenceI[] s) + { seqs = new Vector(); - for (int i = 0; i < s.length; i++) { + for (int i = 0; i < s.length; i++) + { seqs.addElement(s[i]); } } // Checks whether sequence is valid aa characters - protected boolean isValidProteinSequence(String sequence) { + protected boolean isValidProteinSequence(String sequence) + { for (int i = 0; i < sequence.length(); i++) if (!jalview.schemes.ResidueProperties.aaHash.containsKey( - String.valueOf(sequence.charAt(i)))) { + String.valueOf(sequence.charAt(i)))) + { return false; } @@ -115,4 +150,45 @@ public abstract class AlignFile extends FileParse { * Print out in alignment file format the Sequences in the seqs Vector. */ public abstract String print(); + + public void addJVSuffix(boolean b) + { + jvSuffix = b; + } + + /** + * A general parser for ids. + * + * @String id Id to be parsed + */ + Sequence parseId(String id) + { + Sequence seq = null; + id = id.trim(); + int space = id.indexOf(" "); + if(space>-1) + { + seq = new Sequence(id.substring(0, space),""); + seq.setDescription(id.substring(space+1)); + } + else + { + seq = new Sequence(id, ""); + } + + return seq; + } + + /** + * Creates the output id. + * Adds prefix Uniprot format source|id + * And suffix Jalview /start-end + * + * @String id Id to be parsed + */ + String printId(SequenceI seq) + { + return seq.getDisplayId(jvSuffix); + } + }