annotation and seqs vectors are protected members for use by file parsers for adding...
authorjprocter <Jim Procter>
Fri, 20 Apr 2007 14:05:50 +0000 (14:05 +0000)
committerjprocter <Jim Procter>
Fri, 20 Apr 2007 14:05:50 +0000 (14:05 +0000)
src/jalview/io/AlignFile.java

index f115361..ae8e0d0 100755 (executable)
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
- */\r
-package jalview.io;\r
-\r
-import java.io.*;\r
-import java.util.*;\r
-\r
-import jalview.datamodel.*;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- *\r
- * @author $author$\r
- * @version $Revision$\r
- */\r
-public abstract class AlignFile\r
-    extends FileParse\r
-{\r
-  int noSeqs = 0;\r
-  int maxLength = 0;\r
-  Vector seqs;\r
-  Vector annotations;\r
-  long start;\r
-  long end;\r
-  boolean jvSuffix = true;\r
-\r
-  /**\r
-   * Creates a new AlignFile object.\r
-   */\r
-  public AlignFile()\r
-  {\r
-  }\r
-\r
-  /**\r
-   * Constructor which parses the data from a file of some specified type.\r
-   * @param inFile Filename to read from.\r
-   * @param type   What type of file to read from (File, URL)\r
-   */\r
-  public AlignFile(String inFile, String type)\r
-      throws IOException\r
-  {\r
-    super(inFile, type);\r
-\r
-    initData();\r
-\r
-    parse();\r
-  }\r
-\r
-  /**\r
-   * Return the seqs Vector\r
-   */\r
-  public Vector getSeqs()\r
-  {\r
-    return seqs;\r
-  }\r
-\r
-  /**\r
-   * Return the Sequences in the seqs Vector as an array of Sequences\r
-   */\r
-  public SequenceI[] getSeqsAsArray()\r
-  {\r
-    SequenceI[] s = new SequenceI[seqs.size()];\r
-\r
-    for (int i = 0; i < seqs.size(); i++)\r
-    {\r
-      s[i] = (SequenceI) seqs.elementAt(i);\r
-    }\r
-\r
-    return s;\r
-  }\r
-\r
-  public void addAnnotations(Alignment al)\r
-  {\r
-    for (int i = 0; i < annotations.size(); i++)\r
-    {\r
-      al.addAnnotation(\r
-          (AlignmentAnnotation) annotations.elementAt(i)\r
-          );\r
-    }\r
-\r
-  }\r
-\r
-  /**\r
-   * Initialise objects to store sequence data in.\r
-   */\r
-  protected void initData()\r
-  {\r
-    seqs = new Vector();\r
-    annotations = new Vector();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   *\r
-   * @param s DOCUMENT ME!\r
-   */\r
-  protected void setSeqs(SequenceI[] s)\r
-  {\r
-    seqs = new Vector();\r
-\r
-    for (int i = 0; i < s.length; i++)\r
-    {\r
-      seqs.addElement(s[i]);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * This method must be implemented to parse the contents of the file.\r
-   */\r
-  public abstract void parse()\r
-      throws IOException;\r
-\r
-  /**\r
-   * Print out in alignment file format the Sequences in the seqs Vector.\r
-   */\r
-  public abstract String print();\r
-\r
-  public void addJVSuffix(boolean b)\r
-  {\r
-    jvSuffix = b;\r
-  }\r
-\r
-  /**\r
-   * A general parser for ids.\r
-   *\r
-   * @String id Id to be parsed\r
-   */\r
-  Sequence parseId(String id)\r
-  {\r
-    Sequence seq = null;\r
-    id = id.trim();\r
-    int space = id.indexOf(" ");\r
-    if (space > -1)\r
-    {\r
-      seq = new Sequence(id.substring(0, space), "");\r
-      seq.setDescription(id.substring(space + 1));\r
-    }\r
-    else\r
-    {\r
-      seq = new Sequence(id, "");\r
-    }\r
-\r
-    return seq;\r
-  }\r
-\r
-  /**\r
-   * Creates the output id.\r
-   * Adds prefix Uniprot format source|id\r
-   * And suffix Jalview /start-end\r
-   *\r
-   * @String id Id to be parsed\r
-   */\r
-  String printId(SequenceI seq)\r
-  {\r
-    return seq.getDisplayId(jvSuffix);\r
-  }\r
-\r
-}\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer
+ * 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
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ */
+package jalview.io;
+
+import java.io.*;
+import java.util.*;
+
+import jalview.datamodel.*;
+
+/**
+ * DOCUMENT ME!
+ *
+ * @author $author$
+ * @version $Revision$
+ */
+public abstract class AlignFile
+    extends FileParse
+{
+  int noSeqs = 0;
+  int maxLength = 0;
+  protected Vector seqs;
+  protected Vector annotations;
+  long start;
+  long end;
+  boolean jvSuffix = true;
+
+  /**
+   * Creates a new AlignFile object.
+   */
+  public AlignFile()
+  {
+  }
+
+  /**
+   * Constructor which parses the data from a file of some specified type.
+   * @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
+  {
+    super(inFile, type);
+
+    initData();
+
+    parse();
+  }
+
+  /**
+   * Return the seqs Vector
+   */
+  public Vector getSeqs()
+  {
+    return seqs;
+  }
+
+  /**
+   * Return the Sequences in the seqs Vector as an array of Sequences
+   */
+  public SequenceI[] getSeqsAsArray()
+  {
+    SequenceI[] s = new SequenceI[seqs.size()];
+
+    for (int i = 0; i < seqs.size(); i++)
+    {
+      s[i] = (SequenceI) seqs.elementAt(i);
+    }
+
+    return s;
+  }
+
+  public void addAnnotations(Alignment al)
+  {
+    for (int i = 0; i < annotations.size(); i++)
+    {
+      al.addAnnotation(
+          (AlignmentAnnotation) annotations.elementAt(i)
+          );
+    }
+
+  }
+
+  /**
+   * Initialise objects to store sequence data in.
+   */
+  protected void initData()
+  {
+    seqs = new Vector();
+    annotations = new Vector();
+  }
+
+  /**
+   * DOCUMENT ME!
+   *
+   * @param s DOCUMENT ME!
+   */
+  protected void setSeqs(SequenceI[] s)
+  {
+    seqs = new Vector();
+
+    for (int i = 0; i < s.length; i++)
+    {
+      seqs.addElement(s[i]);
+    }
+  }
+
+  /**
+   * This method must be implemented to parse the contents of the file.
+   */
+  public abstract void parse()
+      throws IOException;
+
+  /**
+   * 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);
+  }
+
+}