JAL-1517 update copyright to version 2.8.2
[jalview.git] / src / jalview / schemabinding / version2 / SequenceSet.java
old mode 100755 (executable)
new mode 100644 (file)
index bd5efa9..a65618b
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview 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 3 of the License, or (at your option) any later version.\r
- * \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.schemabinding.version2;\r
-\r
-//---------------------------------/\r
-//- Imported classes and packages -/\r
-//---------------------------------/\r
-\r
-import org.exolab.castor.xml.Marshaller;\r
-import org.exolab.castor.xml.Unmarshaller;\r
-\r
-/**\r
- * Class SequenceSet.\r
- * \r
- * @version $Revision$ $Date$\r
- */\r
-public class SequenceSet implements java.io.Serializable\r
-{\r
-\r
-  // --------------------------/\r
-  // - Class/Member Variables -/\r
-  // --------------------------/\r
-\r
-  /**\r
-   * Field _gapChar.\r
-   */\r
-  private java.lang.String _gapChar;\r
-\r
-  /**\r
-   * reference to set where jalview will gather the dataset sequences for all\r
-   * sequences in the set.\r
-   * \r
-   */\r
-  private java.lang.String _datasetId;\r
-\r
-  /**\r
-   * Field _sequenceList.\r
-   */\r
-  private java.util.Vector _sequenceList;\r
-\r
-  /**\r
-   * Field _annotationList.\r
-   */\r
-  private java.util.Vector _annotationList;\r
-\r
-  /**\r
-   * Field _sequenceSetPropertiesList.\r
-   */\r
-  private java.util.Vector _sequenceSetPropertiesList;\r
-\r
-  /**\r
-   * Field _alcodonFrameList.\r
-   */\r
-  private java.util.Vector _alcodonFrameList;\r
-\r
-  // ----------------/\r
-  // - Constructors -/\r
-  // ----------------/\r
-\r
-  public SequenceSet()\r
-  {\r
-    super();\r
-    this._sequenceList = new java.util.Vector();\r
-    this._annotationList = new java.util.Vector();\r
-    this._sequenceSetPropertiesList = new java.util.Vector();\r
-    this._alcodonFrameList = new java.util.Vector();\r
-  }\r
-\r
-  // -----------/\r
-  // - Methods -/\r
-  // -----------/\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vAlcodonFrame\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addAlcodonFrame(\r
-          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._alcodonFrameList.addElement(vAlcodonFrame);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vAlcodonFrame\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addAlcodonFrame(final int index,\r
-          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._alcodonFrameList.add(index, vAlcodonFrame);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vAnnotation\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addAnnotation(\r
-          final jalview.schemabinding.version2.Annotation vAnnotation)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._annotationList.addElement(vAnnotation);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vAnnotation\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addAnnotation(final int index,\r
-          final jalview.schemabinding.version2.Annotation vAnnotation)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._annotationList.add(index, vAnnotation);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vSequence\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addSequence(\r
-          final jalview.schemabinding.version2.Sequence vSequence)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._sequenceList.addElement(vSequence);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vSequence\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addSequence(final int index,\r
-          final jalview.schemabinding.version2.Sequence vSequence)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._sequenceList.add(index, vSequence);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vSequenceSetProperties\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addSequenceSetProperties(\r
-          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._sequenceSetPropertiesList.addElement(vSequenceSetProperties);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vSequenceSetProperties\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addSequenceSetProperties(\r
-          final int index,\r
-          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._sequenceSetPropertiesList.add(index, vSequenceSetProperties);\r
-  }\r
-\r
-  /**\r
-   * Method enumerateAlcodonFrame.\r
-   * \r
-   * @return an Enumeration over all jalview.schemabinding.version2.AlcodonFrame\r
-   *         elements\r
-   */\r
-  public java.util.Enumeration enumerateAlcodonFrame()\r
-  {\r
-    return this._alcodonFrameList.elements();\r
-  }\r
-\r
-  /**\r
-   * Method enumerateAnnotation.\r
-   * \r
-   * @return an Enumeration over all jalview.schemabinding.version2.Annotation\r
-   *         elements\r
-   */\r
-  public java.util.Enumeration enumerateAnnotation()\r
-  {\r
-    return this._annotationList.elements();\r
-  }\r
-\r
-  /**\r
-   * Method enumerateSequence.\r
-   * \r
-   * @return an Enumeration over all jalview.schemabinding.version2.Sequence\r
-   *         elements\r
-   */\r
-  public java.util.Enumeration enumerateSequence()\r
-  {\r
-    return this._sequenceList.elements();\r
-  }\r
-\r
-  /**\r
-   * Method enumerateSequenceSetProperties.\r
-   * \r
-   * @return an Enumeration over all\r
-   *         jalview.schemabinding.version2.SequenceSetProperties elements\r
-   */\r
-  public java.util.Enumeration enumerateSequenceSetProperties()\r
-  {\r
-    return this._sequenceSetPropertiesList.elements();\r
-  }\r
-\r
-  /**\r
-   * Method getAlcodonFrame.\r
-   * \r
-   * @param index\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   * @return the value of the jalview.schemabinding.version2.AlcodonFrame at the\r
-   *         given inde\r
-   */\r
-  public jalview.schemabinding.version2.AlcodonFrame getAlcodonFrame(\r
-          final int index) throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._alcodonFrameList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException("getAlcodonFrame: Index value '"\r
-              + index + "' not in range [0.."\r
-              + (this._alcodonFrameList.size() - 1) + "]");\r
-    }\r
-\r
-    return (jalview.schemabinding.version2.AlcodonFrame) _alcodonFrameList\r
-            .get(index);\r
-  }\r
-\r
-  /**\r
-   * Method getAlcodonFrame.Returns the contents of the collection in an Array.\r
-   * <p>\r
-   * Note: Just in case the collection contents are changing in another thread,\r
-   * we pass a 0-length Array of the correct type into the API call. This way we\r
-   * <i>know</i> that the Array returned is of exactly the correct length.\r
-   * \r
-   * @return this collection as an Array\r
-   */\r
-  public jalview.schemabinding.version2.AlcodonFrame[] getAlcodonFrame()\r
-  {\r
-    jalview.schemabinding.version2.AlcodonFrame[] array = new jalview.schemabinding.version2.AlcodonFrame[0];\r
-    return (jalview.schemabinding.version2.AlcodonFrame[]) this._alcodonFrameList\r
-            .toArray(array);\r
-  }\r
-\r
-  /**\r
-   * Method getAlcodonFrameCount.\r
-   * \r
-   * @return the size of this collection\r
-   */\r
-  public int getAlcodonFrameCount()\r
-  {\r
-    return this._alcodonFrameList.size();\r
-  }\r
-\r
-  /**\r
-   * Method getAnnotation.\r
-   * \r
-   * @param index\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   * @return the value of the jalview.schemabinding.version2.Annotation at the\r
-   *         given index\r
-   */\r
-  public jalview.schemabinding.version2.Annotation getAnnotation(\r
-          final int index) throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._annotationList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException("getAnnotation: Index value '"\r
-              + index + "' not in range [0.."\r
-              + (this._annotationList.size() - 1) + "]");\r
-    }\r
-\r
-    return (jalview.schemabinding.version2.Annotation) _annotationList\r
-            .get(index);\r
-  }\r
-\r
-  /**\r
-   * Method getAnnotation.Returns the contents of the collection in an Array.\r
-   * <p>\r
-   * Note: Just in case the collection contents are changing in another thread,\r
-   * we pass a 0-length Array of the correct type into the API call. This way we\r
-   * <i>know</i> that the Array returned is of exactly the correct length.\r
-   * \r
-   * @return this collection as an Array\r
-   */\r
-  public jalview.schemabinding.version2.Annotation[] getAnnotation()\r
-  {\r
-    jalview.schemabinding.version2.Annotation[] array = new jalview.schemabinding.version2.Annotation[0];\r
-    return (jalview.schemabinding.version2.Annotation[]) this._annotationList\r
-            .toArray(array);\r
-  }\r
-\r
-  /**\r
-   * Method getAnnotationCount.\r
-   * \r
-   * @return the size of this collection\r
-   */\r
-  public int getAnnotationCount()\r
-  {\r
-    return this._annotationList.size();\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'datasetId'. The field 'datasetId' has the\r
-   * following description: reference to set where jalview will gather the\r
-   * dataset sequences for all sequences in the set.\r
-   * \r
-   * \r
-   * @return the value of field 'DatasetId'.\r
-   */\r
-  public java.lang.String getDatasetId()\r
-  {\r
-    return this._datasetId;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'gapChar'.\r
-   * \r
-   * @return the value of field 'GapChar'.\r
-   */\r
-  public java.lang.String getGapChar()\r
-  {\r
-    return this._gapChar;\r
-  }\r
-\r
-  /**\r
-   * Method getSequence.\r
-   * \r
-   * @param index\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   * @return the value of the jalview.schemabinding.version2.Sequence at the\r
-   *         given index\r
-   */\r
-  public jalview.schemabinding.version2.Sequence getSequence(final int index)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._sequenceList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException("getSequence: Index value '"\r
-              + index + "' not in range [0.."\r
-              + (this._sequenceList.size() - 1) + "]");\r
-    }\r
-\r
-    return (jalview.schemabinding.version2.Sequence) _sequenceList\r
-            .get(index);\r
-  }\r
-\r
-  /**\r
-   * Method getSequence.Returns the contents of the collection in an Array.\r
-   * <p>\r
-   * Note: Just in case the collection contents are changing in another thread,\r
-   * we pass a 0-length Array of the correct type into the API call. This way we\r
-   * <i>know</i> that the Array returned is of exactly the correct length.\r
-   * \r
-   * @return this collection as an Array\r
-   */\r
-  public jalview.schemabinding.version2.Sequence[] getSequence()\r
-  {\r
-    jalview.schemabinding.version2.Sequence[] array = new jalview.schemabinding.version2.Sequence[0];\r
-    return (jalview.schemabinding.version2.Sequence[]) this._sequenceList\r
-            .toArray(array);\r
-  }\r
-\r
-  /**\r
-   * Method getSequenceCount.\r
-   * \r
-   * @return the size of this collection\r
-   */\r
-  public int getSequenceCount()\r
-  {\r
-    return this._sequenceList.size();\r
-  }\r
-\r
-  /**\r
-   * Method getSequenceSetProperties.\r
-   * \r
-   * @param index\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   * @return the value of the\r
-   *         jalview.schemabinding.version2.SequenceSetProperties at the given\r
-   *         index\r
-   */\r
-  public jalview.schemabinding.version2.SequenceSetProperties getSequenceSetProperties(\r
-          final int index) throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._sequenceSetPropertiesList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException(\r
-              "getSequenceSetProperties: Index value '" + index\r
-                      + "' not in range [0.."\r
-                      + (this._sequenceSetPropertiesList.size() - 1) + "]");\r
-    }\r
-\r
-    return (jalview.schemabinding.version2.SequenceSetProperties) _sequenceSetPropertiesList\r
-            .get(index);\r
-  }\r
-\r
-  /**\r
-   * Method getSequenceSetProperties.Returns the contents of the collection in\r
-   * an Array.\r
-   * <p>\r
-   * Note: Just in case the collection contents are changing in another thread,\r
-   * we pass a 0-length Array of the correct type into the API call. This way we\r
-   * <i>know</i> that the Array returned is of exactly the correct length.\r
-   * \r
-   * @return this collection as an Array\r
-   */\r
-  public jalview.schemabinding.version2.SequenceSetProperties[] getSequenceSetProperties()\r
-  {\r
-    jalview.schemabinding.version2.SequenceSetProperties[] array = new jalview.schemabinding.version2.SequenceSetProperties[0];\r
-    return (jalview.schemabinding.version2.SequenceSetProperties[]) this._sequenceSetPropertiesList\r
-            .toArray(array);\r
-  }\r
-\r
-  /**\r
-   * Method getSequenceSetPropertiesCount.\r
-   * \r
-   * @return the size of this collection\r
-   */\r
-  public int getSequenceSetPropertiesCount()\r
-  {\r
-    return this._sequenceSetPropertiesList.size();\r
-  }\r
-\r
-  /**\r
-   * Method isValid.\r
-   * \r
-   * @return true if this object is valid according to the schema\r
-   */\r
-  public boolean isValid()\r
-  {\r
-    try\r
-    {\r
-      validate();\r
-    } catch (org.exolab.castor.xml.ValidationException vex)\r
-    {\r
-      return false;\r
-    }\r
-    return true;\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param out\r
-   * @throws org.exolab.castor.xml.MarshalException\r
-   *           if object is null or if any SAXException is thrown during\r
-   *           marshaling\r
-   * @throws org.exolab.castor.xml.ValidationException\r
-   *           if this object is an invalid instance according to the schema\r
-   */\r
-  public void marshal(final java.io.Writer out)\r
-          throws org.exolab.castor.xml.MarshalException,\r
-          org.exolab.castor.xml.ValidationException\r
-  {\r
-    Marshaller.marshal(this, out);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param handler\r
-   * @throws java.io.IOException\r
-   *           if an IOException occurs during marshaling\r
-   * @throws org.exolab.castor.xml.ValidationException\r
-   *           if this object is an invalid instance according to the schema\r
-   * @throws org.exolab.castor.xml.MarshalException\r
-   *           if object is null or if any SAXException is thrown during\r
-   *           marshaling\r
-   */\r
-  public void marshal(final org.xml.sax.ContentHandler handler)\r
-          throws java.io.IOException,\r
-          org.exolab.castor.xml.MarshalException,\r
-          org.exolab.castor.xml.ValidationException\r
-  {\r
-    Marshaller.marshal(this, handler);\r
-  }\r
-\r
-  /**\r
-   * Method removeAlcodonFrame.\r
-   * \r
-   * @param vAlcodonFrame\r
-   * @return true if the object was removed from the collection.\r
-   */\r
-  public boolean removeAlcodonFrame(\r
-          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
-  {\r
-    boolean removed = _alcodonFrameList.remove(vAlcodonFrame);\r
-    return removed;\r
-  }\r
-\r
-  /**\r
-   * Method removeAlcodonFrameAt.\r
-   * \r
-   * @param index\r
-   * @return the element removed from the collection\r
-   */\r
-  public jalview.schemabinding.version2.AlcodonFrame removeAlcodonFrameAt(\r
-          final int index)\r
-  {\r
-    java.lang.Object obj = this._alcodonFrameList.remove(index);\r
-    return (jalview.schemabinding.version2.AlcodonFrame) obj;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void removeAllAlcodonFrame()\r
-  {\r
-    this._alcodonFrameList.clear();\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void removeAllAnnotation()\r
-  {\r
-    this._annotationList.clear();\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void removeAllSequence()\r
-  {\r
-    this._sequenceList.clear();\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void removeAllSequenceSetProperties()\r
-  {\r
-    this._sequenceSetPropertiesList.clear();\r
-  }\r
-\r
-  /**\r
-   * Method removeAnnotation.\r
-   * \r
-   * @param vAnnotation\r
-   * @return true if the object was removed from the collection.\r
-   */\r
-  public boolean removeAnnotation(\r
-          final jalview.schemabinding.version2.Annotation vAnnotation)\r
-  {\r
-    boolean removed = _annotationList.remove(vAnnotation);\r
-    return removed;\r
-  }\r
-\r
-  /**\r
-   * Method removeAnnotationAt.\r
-   * \r
-   * @param index\r
-   * @return the element removed from the collection\r
-   */\r
-  public jalview.schemabinding.version2.Annotation removeAnnotationAt(\r
-          final int index)\r
-  {\r
-    java.lang.Object obj = this._annotationList.remove(index);\r
-    return (jalview.schemabinding.version2.Annotation) obj;\r
-  }\r
-\r
-  /**\r
-   * Method removeSequence.\r
-   * \r
-   * @param vSequence\r
-   * @return true if the object was removed from the collection.\r
-   */\r
-  public boolean removeSequence(\r
-          final jalview.schemabinding.version2.Sequence vSequence)\r
-  {\r
-    boolean removed = _sequenceList.remove(vSequence);\r
-    return removed;\r
-  }\r
-\r
-  /**\r
-   * Method removeSequenceAt.\r
-   * \r
-   * @param index\r
-   * @return the element removed from the collection\r
-   */\r
-  public jalview.schemabinding.version2.Sequence removeSequenceAt(\r
-          final int index)\r
-  {\r
-    java.lang.Object obj = this._sequenceList.remove(index);\r
-    return (jalview.schemabinding.version2.Sequence) obj;\r
-  }\r
-\r
-  /**\r
-   * Method removeSequenceSetProperties.\r
-   * \r
-   * @param vSequenceSetProperties\r
-   * @return true if the object was removed from the collection.\r
-   */\r
-  public boolean removeSequenceSetProperties(\r
-          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
-  {\r
-    boolean removed = _sequenceSetPropertiesList\r
-            .remove(vSequenceSetProperties);\r
-    return removed;\r
-  }\r
-\r
-  /**\r
-   * Method removeSequenceSetPropertiesAt.\r
-   * \r
-   * @param index\r
-   * @return the element removed from the collection\r
-   */\r
-  public jalview.schemabinding.version2.SequenceSetProperties removeSequenceSetPropertiesAt(\r
-          final int index)\r
-  {\r
-    java.lang.Object obj = this._sequenceSetPropertiesList.remove(index);\r
-    return (jalview.schemabinding.version2.SequenceSetProperties) obj;\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vAlcodonFrame\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void setAlcodonFrame(final int index,\r
-          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._alcodonFrameList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException("setAlcodonFrame: Index value '"\r
-              + index + "' not in range [0.."\r
-              + (this._alcodonFrameList.size() - 1) + "]");\r
-    }\r
-\r
-    this._alcodonFrameList.set(index, vAlcodonFrame);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vAlcodonFrameArray\r
-   */\r
-  public void setAlcodonFrame(\r
-          final jalview.schemabinding.version2.AlcodonFrame[] vAlcodonFrameArray)\r
-  {\r
-    // -- copy array\r
-    _alcodonFrameList.clear();\r
-\r
-    for (int i = 0; i < vAlcodonFrameArray.length; i++)\r
-    {\r
-      this._alcodonFrameList.add(vAlcodonFrameArray[i]);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vAnnotation\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void setAnnotation(final int index,\r
-          final jalview.schemabinding.version2.Annotation vAnnotation)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._annotationList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException("setAnnotation: Index value '"\r
-              + index + "' not in range [0.."\r
-              + (this._annotationList.size() - 1) + "]");\r
-    }\r
-\r
-    this._annotationList.set(index, vAnnotation);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vAnnotationArray\r
-   */\r
-  public void setAnnotation(\r
-          final jalview.schemabinding.version2.Annotation[] vAnnotationArray)\r
-  {\r
-    // -- copy array\r
-    _annotationList.clear();\r
-\r
-    for (int i = 0; i < vAnnotationArray.length; i++)\r
-    {\r
-      this._annotationList.add(vAnnotationArray[i]);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'datasetId'. The field 'datasetId' has the\r
-   * following description: reference to set where jalview will gather the\r
-   * dataset sequences for all sequences in the set.\r
-   * \r
-   * \r
-   * @param datasetId\r
-   *          the value of field 'datasetId'.\r
-   */\r
-  public void setDatasetId(final java.lang.String datasetId)\r
-  {\r
-    this._datasetId = datasetId;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'gapChar'.\r
-   * \r
-   * @param gapChar\r
-   *          the value of field 'gapChar'.\r
-   */\r
-  public void setGapChar(final java.lang.String gapChar)\r
-  {\r
-    this._gapChar = gapChar;\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vSequence\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void setSequence(final int index,\r
-          final jalview.schemabinding.version2.Sequence vSequence)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._sequenceList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException("setSequence: Index value '"\r
-              + index + "' not in range [0.."\r
-              + (this._sequenceList.size() - 1) + "]");\r
-    }\r
-\r
-    this._sequenceList.set(index, vSequence);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vSequenceArray\r
-   */\r
-  public void setSequence(\r
-          final jalview.schemabinding.version2.Sequence[] vSequenceArray)\r
-  {\r
-    // -- copy array\r
-    _sequenceList.clear();\r
-\r
-    for (int i = 0; i < vSequenceArray.length; i++)\r
-    {\r
-      this._sequenceList.add(vSequenceArray[i]);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vSequenceSetProperties\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void setSequenceSetProperties(\r
-          final int index,\r
-          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._sequenceSetPropertiesList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException(\r
-              "setSequenceSetProperties: Index value '" + index\r
-                      + "' not in range [0.."\r
-                      + (this._sequenceSetPropertiesList.size() - 1) + "]");\r
-    }\r
-\r
-    this._sequenceSetPropertiesList.set(index, vSequenceSetProperties);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vSequenceSetPropertiesArray\r
-   */\r
-  public void setSequenceSetProperties(\r
-          final jalview.schemabinding.version2.SequenceSetProperties[] vSequenceSetPropertiesArray)\r
-  {\r
-    // -- copy array\r
-    _sequenceSetPropertiesList.clear();\r
-\r
-    for (int i = 0; i < vSequenceSetPropertiesArray.length; i++)\r
-    {\r
-      this._sequenceSetPropertiesList.add(vSequenceSetPropertiesArray[i]);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * Method unmarshal.\r
-   * \r
-   * @param reader\r
-   * @throws org.exolab.castor.xml.MarshalException\r
-   *           if object is null or if any SAXException is thrown during\r
-   *           marshaling\r
-   * @throws org.exolab.castor.xml.ValidationException\r
-   *           if this object is an invalid instance according to the schema\r
-   * @return the unmarshaled jalview.schemabinding.version2.SequenceSet\r
-   */\r
-  public static jalview.schemabinding.version2.SequenceSet unmarshal(\r
-          final java.io.Reader reader)\r
-          throws org.exolab.castor.xml.MarshalException,\r
-          org.exolab.castor.xml.ValidationException\r
-  {\r
-    return (jalview.schemabinding.version2.SequenceSet) Unmarshaller\r
-            .unmarshal(jalview.schemabinding.version2.SequenceSet.class,\r
-                    reader);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @throws org.exolab.castor.xml.ValidationException\r
-   *           if this object is an invalid instance according to the schema\r
-   */\r
-  public void validate() throws org.exolab.castor.xml.ValidationException\r
-  {\r
-    org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();\r
-    validator.validate(this);\r
-  }\r
-\r
-}\r
+/*******************************************************************************
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview 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 3 of the License, or (at your option) any later version.
+ *  
+ * Jalview 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 Jalview.  
+ * If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ ******************************************************************************/
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
+ * Schema.
+ * $Id$
+ */
+
+package jalview.schemabinding.version2;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class SequenceSet.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class SequenceSet implements java.io.Serializable
+{
+
+  // --------------------------/
+  // - Class/Member Variables -/
+  // --------------------------/
+
+  /**
+   * Field _gapChar.
+   */
+  private java.lang.String _gapChar;
+
+  /**
+   * reference to set where jalview will gather the dataset sequences for all
+   * sequences in the set.
+   * 
+   */
+  private java.lang.String _datasetId;
+
+  /**
+   * Field _sequenceList.
+   */
+  private java.util.Vector _sequenceList;
+
+  /**
+   * Field _annotationList.
+   */
+  private java.util.Vector _annotationList;
+
+  /**
+   * Field _sequenceSetPropertiesList.
+   */
+  private java.util.Vector _sequenceSetPropertiesList;
+
+  /**
+   * Field _alcodonFrameList.
+   */
+  private java.util.Vector _alcodonFrameList;
+
+  // ----------------/
+  // - Constructors -/
+  // ----------------/
+
+  public SequenceSet()
+  {
+    super();
+    this._sequenceList = new java.util.Vector();
+    this._annotationList = new java.util.Vector();
+    this._sequenceSetPropertiesList = new java.util.Vector();
+    this._alcodonFrameList = new java.util.Vector();
+  }
+
+  // -----------/
+  // - Methods -/
+  // -----------/
+
+  /**
+   * 
+   * 
+   * @param vAlcodonFrame
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addAlcodonFrame(
+          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._alcodonFrameList.addElement(vAlcodonFrame);
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vAlcodonFrame
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addAlcodonFrame(final int index,
+          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._alcodonFrameList.add(index, vAlcodonFrame);
+  }
+
+  /**
+   * 
+   * 
+   * @param vAnnotation
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addAnnotation(
+          final jalview.schemabinding.version2.Annotation vAnnotation)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._annotationList.addElement(vAnnotation);
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vAnnotation
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addAnnotation(final int index,
+          final jalview.schemabinding.version2.Annotation vAnnotation)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._annotationList.add(index, vAnnotation);
+  }
+
+  /**
+   * 
+   * 
+   * @param vSequence
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addSequence(
+          final jalview.schemabinding.version2.Sequence vSequence)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._sequenceList.addElement(vSequence);
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vSequence
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addSequence(final int index,
+          final jalview.schemabinding.version2.Sequence vSequence)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._sequenceList.add(index, vSequence);
+  }
+
+  /**
+   * 
+   * 
+   * @param vSequenceSetProperties
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addSequenceSetProperties(
+          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._sequenceSetPropertiesList.addElement(vSequenceSetProperties);
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vSequenceSetProperties
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addSequenceSetProperties(
+          final int index,
+          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._sequenceSetPropertiesList.add(index, vSequenceSetProperties);
+  }
+
+  /**
+   * Method enumerateAlcodonFrame.
+   * 
+   * @return an Enumeration over all jalview.schemabinding.version2.AlcodonFrame
+   *         elements
+   */
+  public java.util.Enumeration enumerateAlcodonFrame()
+  {
+    return this._alcodonFrameList.elements();
+  }
+
+  /**
+   * Method enumerateAnnotation.
+   * 
+   * @return an Enumeration over all jalview.schemabinding.version2.Annotation
+   *         elements
+   */
+  public java.util.Enumeration enumerateAnnotation()
+  {
+    return this._annotationList.elements();
+  }
+
+  /**
+   * Method enumerateSequence.
+   * 
+   * @return an Enumeration over all jalview.schemabinding.version2.Sequence
+   *         elements
+   */
+  public java.util.Enumeration enumerateSequence()
+  {
+    return this._sequenceList.elements();
+  }
+
+  /**
+   * Method enumerateSequenceSetProperties.
+   * 
+   * @return an Enumeration over all
+   *         jalview.schemabinding.version2.SequenceSetProperties elements
+   */
+  public java.util.Enumeration enumerateSequenceSetProperties()
+  {
+    return this._sequenceSetPropertiesList.elements();
+  }
+
+  /**
+   * Method getAlcodonFrame.
+   * 
+   * @param index
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   * @return the value of the jalview.schemabinding.version2.AlcodonFrame at the
+   *         given inde
+   */
+  public jalview.schemabinding.version2.AlcodonFrame getAlcodonFrame(
+          final int index) throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._alcodonFrameList.size())
+    {
+      throw new IndexOutOfBoundsException("getAlcodonFrame: Index value '"
+              + index + "' not in range [0.."
+              + (this._alcodonFrameList.size() - 1) + "]");
+    }
+
+    return (jalview.schemabinding.version2.AlcodonFrame) _alcodonFrameList
+            .get(index);
+  }
+
+  /**
+   * Method getAlcodonFrame.Returns the contents of the collection in an Array.
+   * <p>
+   * Note: Just in case the collection contents are changing in another thread,
+   * we pass a 0-length Array of the correct type into the API call. This way we
+   * <i>know</i> that the Array returned is of exactly the correct length.
+   * 
+   * @return this collection as an Array
+   */
+  public jalview.schemabinding.version2.AlcodonFrame[] getAlcodonFrame()
+  {
+    jalview.schemabinding.version2.AlcodonFrame[] array = new jalview.schemabinding.version2.AlcodonFrame[0];
+    return (jalview.schemabinding.version2.AlcodonFrame[]) this._alcodonFrameList
+            .toArray(array);
+  }
+
+  /**
+   * Method getAlcodonFrameCount.
+   * 
+   * @return the size of this collection
+   */
+  public int getAlcodonFrameCount()
+  {
+    return this._alcodonFrameList.size();
+  }
+
+  /**
+   * Method getAnnotation.
+   * 
+   * @param index
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   * @return the value of the jalview.schemabinding.version2.Annotation at the
+   *         given index
+   */
+  public jalview.schemabinding.version2.Annotation getAnnotation(
+          final int index) throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._annotationList.size())
+    {
+      throw new IndexOutOfBoundsException("getAnnotation: Index value '"
+              + index + "' not in range [0.."
+              + (this._annotationList.size() - 1) + "]");
+    }
+
+    return (jalview.schemabinding.version2.Annotation) _annotationList
+            .get(index);
+  }
+
+  /**
+   * Method getAnnotation.Returns the contents of the collection in an Array.
+   * <p>
+   * Note: Just in case the collection contents are changing in another thread,
+   * we pass a 0-length Array of the correct type into the API call. This way we
+   * <i>know</i> that the Array returned is of exactly the correct length.
+   * 
+   * @return this collection as an Array
+   */
+  public jalview.schemabinding.version2.Annotation[] getAnnotation()
+  {
+    jalview.schemabinding.version2.Annotation[] array = new jalview.schemabinding.version2.Annotation[0];
+    return (jalview.schemabinding.version2.Annotation[]) this._annotationList
+            .toArray(array);
+  }
+
+  /**
+   * Method getAnnotationCount.
+   * 
+   * @return the size of this collection
+   */
+  public int getAnnotationCount()
+  {
+    return this._annotationList.size();
+  }
+
+  /**
+   * Returns the value of field 'datasetId'. The field 'datasetId' has the
+   * following description: reference to set where jalview will gather the
+   * dataset sequences for all sequences in the set.
+   * 
+   * 
+   * @return the value of field 'DatasetId'.
+   */
+  public java.lang.String getDatasetId()
+  {
+    return this._datasetId;
+  }
+
+  /**
+   * Returns the value of field 'gapChar'.
+   * 
+   * @return the value of field 'GapChar'.
+   */
+  public java.lang.String getGapChar()
+  {
+    return this._gapChar;
+  }
+
+  /**
+   * Method getSequence.
+   * 
+   * @param index
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   * @return the value of the jalview.schemabinding.version2.Sequence at the
+   *         given index
+   */
+  public jalview.schemabinding.version2.Sequence getSequence(final int index)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._sequenceList.size())
+    {
+      throw new IndexOutOfBoundsException("getSequence: Index value '"
+              + index + "' not in range [0.."
+              + (this._sequenceList.size() - 1) + "]");
+    }
+
+    return (jalview.schemabinding.version2.Sequence) _sequenceList
+            .get(index);
+  }
+
+  /**
+   * Method getSequence.Returns the contents of the collection in an Array.
+   * <p>
+   * Note: Just in case the collection contents are changing in another thread,
+   * we pass a 0-length Array of the correct type into the API call. This way we
+   * <i>know</i> that the Array returned is of exactly the correct length.
+   * 
+   * @return this collection as an Array
+   */
+  public jalview.schemabinding.version2.Sequence[] getSequence()
+  {
+    jalview.schemabinding.version2.Sequence[] array = new jalview.schemabinding.version2.Sequence[0];
+    return (jalview.schemabinding.version2.Sequence[]) this._sequenceList
+            .toArray(array);
+  }
+
+  /**
+   * Method getSequenceCount.
+   * 
+   * @return the size of this collection
+   */
+  public int getSequenceCount()
+  {
+    return this._sequenceList.size();
+  }
+
+  /**
+   * Method getSequenceSetProperties.
+   * 
+   * @param index
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   * @return the value of the
+   *         jalview.schemabinding.version2.SequenceSetProperties at the given
+   *         index
+   */
+  public jalview.schemabinding.version2.SequenceSetProperties getSequenceSetProperties(
+          final int index) throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._sequenceSetPropertiesList.size())
+    {
+      throw new IndexOutOfBoundsException(
+              "getSequenceSetProperties: Index value '" + index
+                      + "' not in range [0.."
+                      + (this._sequenceSetPropertiesList.size() - 1) + "]");
+    }
+
+    return (jalview.schemabinding.version2.SequenceSetProperties) _sequenceSetPropertiesList
+            .get(index);
+  }
+
+  /**
+   * Method getSequenceSetProperties.Returns the contents of the collection in
+   * an Array.
+   * <p>
+   * Note: Just in case the collection contents are changing in another thread,
+   * we pass a 0-length Array of the correct type into the API call. This way we
+   * <i>know</i> that the Array returned is of exactly the correct length.
+   * 
+   * @return this collection as an Array
+   */
+  public jalview.schemabinding.version2.SequenceSetProperties[] getSequenceSetProperties()
+  {
+    jalview.schemabinding.version2.SequenceSetProperties[] array = new jalview.schemabinding.version2.SequenceSetProperties[0];
+    return (jalview.schemabinding.version2.SequenceSetProperties[]) this._sequenceSetPropertiesList
+            .toArray(array);
+  }
+
+  /**
+   * Method getSequenceSetPropertiesCount.
+   * 
+   * @return the size of this collection
+   */
+  public int getSequenceSetPropertiesCount()
+  {
+    return this._sequenceSetPropertiesList.size();
+  }
+
+  /**
+   * Method isValid.
+   * 
+   * @return true if this object is valid according to the schema
+   */
+  public boolean isValid()
+  {
+    try
+    {
+      validate();
+    } catch (org.exolab.castor.xml.ValidationException vex)
+    {
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * 
+   * 
+   * @param out
+   * @throws org.exolab.castor.xml.MarshalException
+   *           if object is null or if any SAXException is thrown during
+   *           marshaling
+   * @throws org.exolab.castor.xml.ValidationException
+   *           if this object is an invalid instance according to the schema
+   */
+  public void marshal(final java.io.Writer out)
+          throws org.exolab.castor.xml.MarshalException,
+          org.exolab.castor.xml.ValidationException
+  {
+    Marshaller.marshal(this, out);
+  }
+
+  /**
+   * 
+   * 
+   * @param handler
+   * @throws java.io.IOException
+   *           if an IOException occurs during marshaling
+   * @throws org.exolab.castor.xml.ValidationException
+   *           if this object is an invalid instance according to the schema
+   * @throws org.exolab.castor.xml.MarshalException
+   *           if object is null or if any SAXException is thrown during
+   *           marshaling
+   */
+  public void marshal(final org.xml.sax.ContentHandler handler)
+          throws java.io.IOException,
+          org.exolab.castor.xml.MarshalException,
+          org.exolab.castor.xml.ValidationException
+  {
+    Marshaller.marshal(this, handler);
+  }
+
+  /**
+   * Method removeAlcodonFrame.
+   * 
+   * @param vAlcodonFrame
+   * @return true if the object was removed from the collection.
+   */
+  public boolean removeAlcodonFrame(
+          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)
+  {
+    boolean removed = _alcodonFrameList.remove(vAlcodonFrame);
+    return removed;
+  }
+
+  /**
+   * Method removeAlcodonFrameAt.
+   * 
+   * @param index
+   * @return the element removed from the collection
+   */
+  public jalview.schemabinding.version2.AlcodonFrame removeAlcodonFrameAt(
+          final int index)
+  {
+    java.lang.Object obj = this._alcodonFrameList.remove(index);
+    return (jalview.schemabinding.version2.AlcodonFrame) obj;
+  }
+
+  /**
+     */
+  public void removeAllAlcodonFrame()
+  {
+    this._alcodonFrameList.clear();
+  }
+
+  /**
+     */
+  public void removeAllAnnotation()
+  {
+    this._annotationList.clear();
+  }
+
+  /**
+     */
+  public void removeAllSequence()
+  {
+    this._sequenceList.clear();
+  }
+
+  /**
+     */
+  public void removeAllSequenceSetProperties()
+  {
+    this._sequenceSetPropertiesList.clear();
+  }
+
+  /**
+   * Method removeAnnotation.
+   * 
+   * @param vAnnotation
+   * @return true if the object was removed from the collection.
+   */
+  public boolean removeAnnotation(
+          final jalview.schemabinding.version2.Annotation vAnnotation)
+  {
+    boolean removed = _annotationList.remove(vAnnotation);
+    return removed;
+  }
+
+  /**
+   * Method removeAnnotationAt.
+   * 
+   * @param index
+   * @return the element removed from the collection
+   */
+  public jalview.schemabinding.version2.Annotation removeAnnotationAt(
+          final int index)
+  {
+    java.lang.Object obj = this._annotationList.remove(index);
+    return (jalview.schemabinding.version2.Annotation) obj;
+  }
+
+  /**
+   * Method removeSequence.
+   * 
+   * @param vSequence
+   * @return true if the object was removed from the collection.
+   */
+  public boolean removeSequence(
+          final jalview.schemabinding.version2.Sequence vSequence)
+  {
+    boolean removed = _sequenceList.remove(vSequence);
+    return removed;
+  }
+
+  /**
+   * Method removeSequenceAt.
+   * 
+   * @param index
+   * @return the element removed from the collection
+   */
+  public jalview.schemabinding.version2.Sequence removeSequenceAt(
+          final int index)
+  {
+    java.lang.Object obj = this._sequenceList.remove(index);
+    return (jalview.schemabinding.version2.Sequence) obj;
+  }
+
+  /**
+   * Method removeSequenceSetProperties.
+   * 
+   * @param vSequenceSetProperties
+   * @return true if the object was removed from the collection.
+   */
+  public boolean removeSequenceSetProperties(
+          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)
+  {
+    boolean removed = _sequenceSetPropertiesList
+            .remove(vSequenceSetProperties);
+    return removed;
+  }
+
+  /**
+   * Method removeSequenceSetPropertiesAt.
+   * 
+   * @param index
+   * @return the element removed from the collection
+   */
+  public jalview.schemabinding.version2.SequenceSetProperties removeSequenceSetPropertiesAt(
+          final int index)
+  {
+    java.lang.Object obj = this._sequenceSetPropertiesList.remove(index);
+    return (jalview.schemabinding.version2.SequenceSetProperties) obj;
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vAlcodonFrame
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void setAlcodonFrame(final int index,
+          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._alcodonFrameList.size())
+    {
+      throw new IndexOutOfBoundsException("setAlcodonFrame: Index value '"
+              + index + "' not in range [0.."
+              + (this._alcodonFrameList.size() - 1) + "]");
+    }
+
+    this._alcodonFrameList.set(index, vAlcodonFrame);
+  }
+
+  /**
+   * 
+   * 
+   * @param vAlcodonFrameArray
+   */
+  public void setAlcodonFrame(
+          final jalview.schemabinding.version2.AlcodonFrame[] vAlcodonFrameArray)
+  {
+    // -- copy array
+    _alcodonFrameList.clear();
+
+    for (int i = 0; i < vAlcodonFrameArray.length; i++)
+    {
+      this._alcodonFrameList.add(vAlcodonFrameArray[i]);
+    }
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vAnnotation
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void setAnnotation(final int index,
+          final jalview.schemabinding.version2.Annotation vAnnotation)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._annotationList.size())
+    {
+      throw new IndexOutOfBoundsException("setAnnotation: Index value '"
+              + index + "' not in range [0.."
+              + (this._annotationList.size() - 1) + "]");
+    }
+
+    this._annotationList.set(index, vAnnotation);
+  }
+
+  /**
+   * 
+   * 
+   * @param vAnnotationArray
+   */
+  public void setAnnotation(
+          final jalview.schemabinding.version2.Annotation[] vAnnotationArray)
+  {
+    // -- copy array
+    _annotationList.clear();
+
+    for (int i = 0; i < vAnnotationArray.length; i++)
+    {
+      this._annotationList.add(vAnnotationArray[i]);
+    }
+  }
+
+  /**
+   * Sets the value of field 'datasetId'. The field 'datasetId' has the
+   * following description: reference to set where jalview will gather the
+   * dataset sequences for all sequences in the set.
+   * 
+   * 
+   * @param datasetId
+   *          the value of field 'datasetId'.
+   */
+  public void setDatasetId(final java.lang.String datasetId)
+  {
+    this._datasetId = datasetId;
+  }
+
+  /**
+   * Sets the value of field 'gapChar'.
+   * 
+   * @param gapChar
+   *          the value of field 'gapChar'.
+   */
+  public void setGapChar(final java.lang.String gapChar)
+  {
+    this._gapChar = gapChar;
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vSequence
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void setSequence(final int index,
+          final jalview.schemabinding.version2.Sequence vSequence)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._sequenceList.size())
+    {
+      throw new IndexOutOfBoundsException("setSequence: Index value '"
+              + index + "' not in range [0.."
+              + (this._sequenceList.size() - 1) + "]");
+    }
+
+    this._sequenceList.set(index, vSequence);
+  }
+
+  /**
+   * 
+   * 
+   * @param vSequenceArray
+   */
+  public void setSequence(
+          final jalview.schemabinding.version2.Sequence[] vSequenceArray)
+  {
+    // -- copy array
+    _sequenceList.clear();
+
+    for (int i = 0; i < vSequenceArray.length; i++)
+    {
+      this._sequenceList.add(vSequenceArray[i]);
+    }
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vSequenceSetProperties
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void setSequenceSetProperties(
+          final int index,
+          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._sequenceSetPropertiesList.size())
+    {
+      throw new IndexOutOfBoundsException(
+              "setSequenceSetProperties: Index value '" + index
+                      + "' not in range [0.."
+                      + (this._sequenceSetPropertiesList.size() - 1) + "]");
+    }
+
+    this._sequenceSetPropertiesList.set(index, vSequenceSetProperties);
+  }
+
+  /**
+   * 
+   * 
+   * @param vSequenceSetPropertiesArray
+   */
+  public void setSequenceSetProperties(
+          final jalview.schemabinding.version2.SequenceSetProperties[] vSequenceSetPropertiesArray)
+  {
+    // -- copy array
+    _sequenceSetPropertiesList.clear();
+
+    for (int i = 0; i < vSequenceSetPropertiesArray.length; i++)
+    {
+      this._sequenceSetPropertiesList.add(vSequenceSetPropertiesArray[i]);
+    }
+  }
+
+  /**
+   * Method unmarshal.
+   * 
+   * @param reader
+   * @throws org.exolab.castor.xml.MarshalException
+   *           if object is null or if any SAXException is thrown during
+   *           marshaling
+   * @throws org.exolab.castor.xml.ValidationException
+   *           if this object is an invalid instance according to the schema
+   * @return the unmarshaled jalview.schemabinding.version2.SequenceSet
+   */
+  public static jalview.schemabinding.version2.SequenceSet unmarshal(
+          final java.io.Reader reader)
+          throws org.exolab.castor.xml.MarshalException,
+          org.exolab.castor.xml.ValidationException
+  {
+    return (jalview.schemabinding.version2.SequenceSet) Unmarshaller
+            .unmarshal(jalview.schemabinding.version2.SequenceSet.class,
+                    reader);
+  }
+
+  /**
+   * 
+   * 
+   * @throws org.exolab.castor.xml.ValidationException
+   *           if this object is an invalid instance according to the schema
+   */
+  public void validate() throws org.exolab.castor.xml.ValidationException
+  {
+    org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+    validator.validate(this);
+  }
+
+}