Merge branch 'develop' into spike/JAL-4047/JAL-4048_columns_in_sequenceID
[jalview.git] / src / jalview / xml / binding / jalview / JalviewModel.java
index 22b2533..94f9373 100644 (file)
@@ -2,10 +2,9 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.17 at 05:31:44 PM GMT 
+// Generated on: 2023.05.13 at 06:58:41 PM BST 
 //
 
-
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -22,11 +21,13 @@ import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.datatype.XMLGregorianCalendar;
 
-
 /**
- * <p>Java class for JalviewModel complex type.
+ * <p>
+ * Java class for JalviewModel complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
  * 
  * <pre>
  * &lt;complexType name="JalviewModel">
@@ -381,2762 +382,3475 @@ import javax.xml.datatype.XMLGregorianCalendar;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "JalviewModel", namespace = "www.jalview.org", propOrder = {
-    "creationDate",
-    "version",
-    "vamsasModel",
-    "jSeq",
-    "jGroup",
-    "viewport",
-    "userColours",
-    "tree",
-    "pcaViewer",
-    "featureSettings"
-})
-public class JalviewModel {
-
-    @XmlElement(required = true)
-    @XmlSchemaType(name = "dateTime")
-    protected XMLGregorianCalendar creationDate;
-    @XmlElement(required = true)
-    protected String version;
-    @XmlElement(required = true)
-    protected VAMSAS vamsasModel;
-    @XmlElement(name = "JSeq")
-    protected List<JalviewModel.JSeq> jSeq;
-    @XmlElement(name = "JGroup")
-    protected List<JalviewModel.JGroup> jGroup;
-    @XmlElement(name = "Viewport")
-    protected List<JalviewModel.Viewport> viewport;
-    @XmlElement(name = "UserColours")
-    protected List<JalviewModel.UserColours> userColours;
-    protected List<JalviewModel.Tree> tree;
-    @XmlElement(name = "PcaViewer")
-    protected List<JalviewModel.PcaViewer> pcaViewer;
-    @XmlElement(name = "FeatureSettings")
-    protected JalviewModel.FeatureSettings featureSettings;
-
-    /**
-     * Gets the value of the creationDate property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link XMLGregorianCalendar }
-     *     
-     */
-    public XMLGregorianCalendar getCreationDate() {
-        return creationDate;
-    }
-
-    /**
-     * Sets the value of the creationDate property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link XMLGregorianCalendar }
-     *     
-     */
-    public void setCreationDate(XMLGregorianCalendar value) {
-        this.creationDate = value;
+@XmlType(
+  name = "JalviewModel",
+  namespace = "www.jalview.org",
+  propOrder =
+  { "creationDate", "version", "vamsasModel", "jSeq", "jGroup", "viewport",
+      "userColours", "tree", "pcaViewer", "featureSettings" })
+public class JalviewModel
+{
+
+  @XmlElement(required = true)
+  @XmlSchemaType(name = "dateTime")
+  protected XMLGregorianCalendar creationDate;
+
+  @XmlElement(required = true)
+  protected String version;
+
+  @XmlElement(required = true)
+  protected VAMSAS vamsasModel;
+
+  @XmlElement(name = "JSeq")
+  protected List<JalviewModel.JSeq> jSeq;
+
+  @XmlElement(name = "JGroup")
+  protected List<JalviewModel.JGroup> jGroup;
+
+  @XmlElement(name = "Viewport")
+  protected List<JalviewModel.Viewport> viewport;
+
+  @XmlElement(name = "UserColours")
+  protected List<JalviewModel.UserColours> userColours;
+
+  protected List<JalviewModel.Tree> tree;
+
+  @XmlElement(name = "PcaViewer")
+  protected List<JalviewModel.PcaViewer> pcaViewer;
+
+  @XmlElement(name = "FeatureSettings")
+  protected JalviewModel.FeatureSettings featureSettings;
+
+  /**
+   * Gets the value of the creationDate property.
+   * 
+   * @return possible object is {@link XMLGregorianCalendar }
+   * 
+   */
+  public XMLGregorianCalendar getCreationDate()
+  {
+    return creationDate;
+  }
+
+  /**
+   * Sets the value of the creationDate property.
+   * 
+   * @param value
+   *          allowed object is {@link XMLGregorianCalendar }
+   * 
+   */
+  public void setCreationDate(XMLGregorianCalendar value)
+  {
+    this.creationDate = value;
+  }
+
+  /**
+   * Gets the value of the version property.
+   * 
+   * @return possible object is {@link String }
+   * 
+   */
+  public String getVersion()
+  {
+    return version;
+  }
+
+  /**
+   * Sets the value of the version property.
+   * 
+   * @param value
+   *          allowed object is {@link String }
+   * 
+   */
+  public void setVersion(String value)
+  {
+    this.version = value;
+  }
+
+  /**
+   * Gets the value of the vamsasModel property.
+   * 
+   * @return possible object is {@link VAMSAS }
+   * 
+   */
+  public VAMSAS getVamsasModel()
+  {
+    return vamsasModel;
+  }
+
+  /**
+   * Sets the value of the vamsasModel property.
+   * 
+   * @param value
+   *          allowed object is {@link VAMSAS }
+   * 
+   */
+  public void setVamsasModel(VAMSAS value)
+  {
+    this.vamsasModel = value;
+  }
+
+  /**
+   * Gets the value of the jSeq property.
+   * 
+   * <p>
+   * This accessor method returns a reference to the live list, not a snapshot.
+   * Therefore any modification you make to the returned list will be present
+   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+   * for the jSeq property.
+   * 
+   * <p>
+   * For example, to add a new item, do as follows:
+   * 
+   * <pre>
+   * getJSeq().add(newItem);
+   * </pre>
+   * 
+   * 
+   * <p>
+   * Objects of the following type(s) are allowed in the list
+   * {@link JalviewModel.JSeq }
+   * 
+   * 
+   */
+  public List<JalviewModel.JSeq> getJSeq()
+  {
+    if (jSeq == null)
+    {
+      jSeq = new ArrayList<JalviewModel.JSeq>();
     }
-
-    /**
-     * Gets the value of the version property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getVersion() {
-        return version;
+    return this.jSeq;
+  }
+
+  /**
+   * Gets the value of the jGroup property.
+   * 
+   * <p>
+   * This accessor method returns a reference to the live list, not a snapshot.
+   * Therefore any modification you make to the returned list will be present
+   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+   * for the jGroup property.
+   * 
+   * <p>
+   * For example, to add a new item, do as follows:
+   * 
+   * <pre>
+   * getJGroup().add(newItem);
+   * </pre>
+   * 
+   * 
+   * <p>
+   * Objects of the following type(s) are allowed in the list
+   * {@link JalviewModel.JGroup }
+   * 
+   * 
+   */
+  public List<JalviewModel.JGroup> getJGroup()
+  {
+    if (jGroup == null)
+    {
+      jGroup = new ArrayList<JalviewModel.JGroup>();
     }
-
-    /**
-     * Sets the value of the version property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setVersion(String value) {
-        this.version = value;
+    return this.jGroup;
+  }
+
+  /**
+   * Gets the value of the viewport property.
+   * 
+   * <p>
+   * This accessor method returns a reference to the live list, not a snapshot.
+   * Therefore any modification you make to the returned list will be present
+   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+   * for the viewport property.
+   * 
+   * <p>
+   * For example, to add a new item, do as follows:
+   * 
+   * <pre>
+   * getViewport().add(newItem);
+   * </pre>
+   * 
+   * 
+   * <p>
+   * Objects of the following type(s) are allowed in the list
+   * {@link JalviewModel.Viewport }
+   * 
+   * 
+   */
+  public List<JalviewModel.Viewport> getViewport()
+  {
+    if (viewport == null)
+    {
+      viewport = new ArrayList<JalviewModel.Viewport>();
     }
-
-    /**
-     * Gets the value of the vamsasModel property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link VAMSAS }
-     *     
-     */
-    public VAMSAS getVamsasModel() {
-        return vamsasModel;
+    return this.viewport;
+  }
+
+  /**
+   * Gets the value of the userColours property.
+   * 
+   * <p>
+   * This accessor method returns a reference to the live list, not a snapshot.
+   * Therefore any modification you make to the returned list will be present
+   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+   * for the userColours property.
+   * 
+   * <p>
+   * For example, to add a new item, do as follows:
+   * 
+   * <pre>
+   * getUserColours().add(newItem);
+   * </pre>
+   * 
+   * 
+   * <p>
+   * Objects of the following type(s) are allowed in the list
+   * {@link JalviewModel.UserColours }
+   * 
+   * 
+   */
+  public List<JalviewModel.UserColours> getUserColours()
+  {
+    if (userColours == null)
+    {
+      userColours = new ArrayList<JalviewModel.UserColours>();
     }
-
-    /**
-     * Sets the value of the vamsasModel property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link VAMSAS }
-     *     
-     */
-    public void setVamsasModel(VAMSAS value) {
-        this.vamsasModel = value;
+    return this.userColours;
+  }
+
+  /**
+   * Gets the value of the tree property.
+   * 
+   * <p>
+   * This accessor method returns a reference to the live list, not a snapshot.
+   * Therefore any modification you make to the returned list will be present
+   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+   * for the tree property.
+   * 
+   * <p>
+   * For example, to add a new item, do as follows:
+   * 
+   * <pre>
+   * getTree().add(newItem);
+   * </pre>
+   * 
+   * 
+   * <p>
+   * Objects of the following type(s) are allowed in the list
+   * {@link JalviewModel.Tree }
+   * 
+   * 
+   */
+  public List<JalviewModel.Tree> getTree()
+  {
+    if (tree == null)
+    {
+      tree = new ArrayList<JalviewModel.Tree>();
+    }
+    return this.tree;
+  }
+
+  /**
+   * Gets the value of the pcaViewer property.
+   * 
+   * <p>
+   * This accessor method returns a reference to the live list, not a snapshot.
+   * Therefore any modification you make to the returned list will be present
+   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+   * for the pcaViewer property.
+   * 
+   * <p>
+   * For example, to add a new item, do as follows:
+   * 
+   * <pre>
+   * getPcaViewer().add(newItem);
+   * </pre>
+   * 
+   * 
+   * <p>
+   * Objects of the following type(s) are allowed in the list
+   * {@link JalviewModel.PcaViewer }
+   * 
+   * 
+   */
+  public List<JalviewModel.PcaViewer> getPcaViewer()
+  {
+    if (pcaViewer == null)
+    {
+      pcaViewer = new ArrayList<JalviewModel.PcaViewer>();
     }
+    return this.pcaViewer;
+  }
+
+  /**
+   * Gets the value of the featureSettings property.
+   * 
+   * @return possible object is {@link JalviewModel.FeatureSettings }
+   * 
+   */
+  public JalviewModel.FeatureSettings getFeatureSettings()
+  {
+    return featureSettings;
+  }
+
+  /**
+   * Sets the value of the featureSettings property.
+   * 
+   * @param value
+   *          allowed object is {@link JalviewModel.FeatureSettings }
+   * 
+   */
+  public void setFeatureSettings(JalviewModel.FeatureSettings value)
+  {
+    this.featureSettings = value;
+  }
+
+  /**
+   * <p>
+   * Java class for anonymous complex type.
+   * 
+   * <p>
+   * The following schema fragment specifies the expected content contained
+   * within this class.
+   * 
+   * <pre>
+   * &lt;complexType>
+   *   &lt;complexContent>
+   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *       &lt;sequence>
+   *         &lt;element name="setting" maxOccurs="unbounded" minOccurs="0">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;sequence>
+   *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
+   *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
+   *                 &lt;/sequence>
+   *                 &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                 &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *                 &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
+   *                 &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
+   *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+   *                 &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
+   *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
+   *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *         &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *       &lt;/sequence>
+   *     &lt;/restriction>
+   *   &lt;/complexContent>
+   * &lt;/complexType>
+   * </pre>
+   * 
+   * 
+   */
+  @XmlAccessorType(XmlAccessType.FIELD)
+  @XmlType(name = "", propOrder = { "setting", "group" })
+  public static class FeatureSettings
+  {
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected List<JalviewModel.FeatureSettings.Setting> setting;
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected List<JalviewModel.FeatureSettings.Group> group;
 
     /**
-     * Gets the value of the jSeq property.
+     * Gets the value of the setting property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the jSeq property.
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the setting property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
+     * 
      * <pre>
-     *    getJSeq().add(newItem);
+     * getSetting().add(newItem);
      * </pre>
      * 
      * 
      * <p>
      * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.JSeq }
+     * {@link JalviewModel.FeatureSettings.Setting }
      * 
      * 
      */
-    public List<JalviewModel.JSeq> getJSeq() {
-        if (jSeq == null) {
-            jSeq = new ArrayList<JalviewModel.JSeq>();
-        }
-        return this.jSeq;
+    public List<JalviewModel.FeatureSettings.Setting> getSetting()
+    {
+      if (setting == null)
+      {
+        setting = new ArrayList<JalviewModel.FeatureSettings.Setting>();
+      }
+      return this.setting;
     }
 
     /**
-     * Gets the value of the jGroup property.
+     * Gets the value of the group property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the jGroup property.
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the group property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
+     * 
      * <pre>
-     *    getJGroup().add(newItem);
+     * getGroup().add(newItem);
      * </pre>
      * 
      * 
      * <p>
      * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.JGroup }
+     * {@link JalviewModel.FeatureSettings.Group }
      * 
      * 
      */
-    public List<JalviewModel.JGroup> getJGroup() {
-        if (jGroup == null) {
-            jGroup = new ArrayList<JalviewModel.JGroup>();
-        }
-        return this.jGroup;
+    public List<JalviewModel.FeatureSettings.Group> getGroup()
+    {
+      if (group == null)
+      {
+        group = new ArrayList<JalviewModel.FeatureSettings.Group>();
+      }
+      return this.group;
     }
 
     /**
-     * Gets the value of the viewport property.
-     * 
      * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the viewport property.
+     * Java class for anonymous complex type.
      * 
      * <p>
-     * For example, to add a new item, do as follows:
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
      * <pre>
-     *    getViewport().add(newItem);
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
      * </pre>
      * 
      * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class Group
+    {
+
+      @XmlAttribute(name = "name", required = true)
+      protected String name;
+
+      @XmlAttribute(name = "display", required = true)
+      protected boolean display;
+
+      /**
+       * Gets the value of the name property.
+       * 
+       * @return possible object is {@link String }
+       * 
+       */
+      public String getName()
+      {
+        return name;
+      }
+
+      /**
+       * Sets the value of the name property.
+       * 
+       * @param value
+       *          allowed object is {@link String }
+       * 
+       */
+      public void setName(String value)
+      {
+        this.name = value;
+      }
+
+      /**
+       * Gets the value of the display property.
+       * 
+       */
+      public boolean isDisplay()
+      {
+        return display;
+      }
+
+      /**
+       * Sets the value of the display property.
+       * 
+       */
+      public void setDisplay(boolean value)
+      {
+        this.display = value;
+      }
+
+    }
+
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
      * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.Viewport }
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;sequence>
+     *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
+     *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
+     *       &lt;/sequence>
+     *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *       &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *       &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
+     *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *       &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
      * 
      * 
      */
-    public List<JalviewModel.Viewport> getViewport() {
-        if (viewport == null) {
-            viewport = new ArrayList<JalviewModel.Viewport>();
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = { "attributeName", "matcherSet" })
+    public static class Setting
+    {
+
+      @XmlElement(namespace = "www.jalview.org")
+      protected List<String> attributeName;
+
+      @XmlElement(namespace = "www.jalview.org")
+      protected FeatureMatcherSet matcherSet;
+
+      @XmlAttribute(name = "type", required = true)
+      protected String type;
+
+      @XmlAttribute(name = "colour", required = true)
+      protected int colour;
+
+      @XmlAttribute(name = "display", required = true)
+      protected boolean display;
+
+      @XmlAttribute(name = "order")
+      protected Float order;
+
+      @XmlAttribute(name = "mincolour")
+      protected Integer mincolour;
+
+      @XmlAttribute(name = "noValueColour")
+      protected NoValueColour noValueColour;
+
+      @XmlAttribute(name = "threshold")
+      protected Float threshold;
+
+      @XmlAttribute(name = "threshstate")
+      protected Integer threshstate;
+
+      @XmlAttribute(name = "max")
+      protected Float max;
+
+      @XmlAttribute(name = "min")
+      protected Float min;
+
+      @XmlAttribute(name = "colourByLabel")
+      protected Boolean colourByLabel;
+
+      @XmlAttribute(name = "autoScale")
+      protected Boolean autoScale;
+
+      /**
+       * Gets the value of the attributeName property.
+       * 
+       * <p>
+       * This accessor method returns a reference to the live list, not a
+       * snapshot. Therefore any modification you make to the returned list will
+       * be present inside the JAXB object. This is why there is not a
+       * <CODE>set</CODE> method for the attributeName property.
+       * 
+       * <p>
+       * For example, to add a new item, do as follows:
+       * 
+       * <pre>
+       * getAttributeName().add(newItem);
+       * </pre>
+       * 
+       * 
+       * <p>
+       * Objects of the following type(s) are allowed in the list {@link String
+       * }
+       * 
+       * 
+       */
+      public List<String> getAttributeName()
+      {
+        if (attributeName == null)
+        {
+          attributeName = new ArrayList<String>();
+        }
+        return this.attributeName;
+      }
+
+      /**
+       * Gets the value of the matcherSet property.
+       * 
+       * @return possible object is {@link FeatureMatcherSet }
+       * 
+       */
+      public FeatureMatcherSet getMatcherSet()
+      {
+        return matcherSet;
+      }
+
+      /**
+       * Sets the value of the matcherSet property.
+       * 
+       * @param value
+       *          allowed object is {@link FeatureMatcherSet }
+       * 
+       */
+      public void setMatcherSet(FeatureMatcherSet value)
+      {
+        this.matcherSet = value;
+      }
+
+      /**
+       * Gets the value of the type property.
+       * 
+       * @return possible object is {@link String }
+       * 
+       */
+      public String getType()
+      {
+        return type;
+      }
+
+      /**
+       * Sets the value of the type property.
+       * 
+       * @param value
+       *          allowed object is {@link String }
+       * 
+       */
+      public void setType(String value)
+      {
+        this.type = value;
+      }
+
+      /**
+       * Gets the value of the colour property.
+       * 
+       */
+      public int getColour()
+      {
+        return colour;
+      }
+
+      /**
+       * Sets the value of the colour property.
+       * 
+       */
+      public void setColour(int value)
+      {
+        this.colour = value;
+      }
+
+      /**
+       * Gets the value of the display property.
+       * 
+       */
+      public boolean isDisplay()
+      {
+        return display;
+      }
+
+      /**
+       * Sets the value of the display property.
+       * 
+       */
+      public void setDisplay(boolean value)
+      {
+        this.display = value;
+      }
+
+      /**
+       * Gets the value of the order property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getOrder()
+      {
+        return order;
+      }
+
+      /**
+       * Sets the value of the order property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setOrder(Float value)
+      {
+        this.order = value;
+      }
+
+      /**
+       * Gets the value of the mincolour property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getMincolour()
+      {
+        return mincolour;
+      }
+
+      /**
+       * Sets the value of the mincolour property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setMincolour(Integer value)
+      {
+        this.mincolour = value;
+      }
+
+      /**
+       * Gets the value of the noValueColour property.
+       * 
+       * @return possible object is {@link NoValueColour }
+       * 
+       */
+      public NoValueColour getNoValueColour()
+      {
+        if (noValueColour == null)
+        {
+          return NoValueColour.MIN;
         }
-        return this.viewport;
+        else
+        {
+          return noValueColour;
+        }
+      }
+
+      /**
+       * Sets the value of the noValueColour property.
+       * 
+       * @param value
+       *          allowed object is {@link NoValueColour }
+       * 
+       */
+      public void setNoValueColour(NoValueColour value)
+      {
+        this.noValueColour = value;
+      }
+
+      /**
+       * Gets the value of the threshold property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getThreshold()
+      {
+        return threshold;
+      }
+
+      /**
+       * Sets the value of the threshold property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setThreshold(Float value)
+      {
+        this.threshold = value;
+      }
+
+      /**
+       * Gets the value of the threshstate property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getThreshstate()
+      {
+        return threshstate;
+      }
+
+      /**
+       * Sets the value of the threshstate property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setThreshstate(Integer value)
+      {
+        this.threshstate = value;
+      }
+
+      /**
+       * Gets the value of the max property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getMax()
+      {
+        return max;
+      }
+
+      /**
+       * Sets the value of the max property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setMax(Float value)
+      {
+        this.max = value;
+      }
+
+      /**
+       * Gets the value of the min property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getMin()
+      {
+        return min;
+      }
+
+      /**
+       * Sets the value of the min property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setMin(Float value)
+      {
+        this.min = value;
+      }
+
+      /**
+       * Gets the value of the colourByLabel property.
+       * 
+       * @return possible object is {@link Boolean }
+       * 
+       */
+      public Boolean isColourByLabel()
+      {
+        return colourByLabel;
+      }
+
+      /**
+       * Sets the value of the colourByLabel property.
+       * 
+       * @param value
+       *          allowed object is {@link Boolean }
+       * 
+       */
+      public void setColourByLabel(Boolean value)
+      {
+        this.colourByLabel = value;
+      }
+
+      /**
+       * Gets the value of the autoScale property.
+       * 
+       * @return possible object is {@link Boolean }
+       * 
+       */
+      public Boolean isAutoScale()
+      {
+        return autoScale;
+      }
+
+      /**
+       * Sets the value of the autoScale property.
+       * 
+       * @param value
+       *          allowed object is {@link Boolean }
+       * 
+       */
+      public void setAutoScale(Boolean value)
+      {
+        this.autoScale = value;
+      }
+
     }
 
+  }
+
+  /**
+   * <p>
+   * Java class for anonymous complex type.
+   * 
+   * <p>
+   * The following schema fragment specifies the expected content contained
+   * within this class.
+   * 
+   * <pre>
+   * &lt;complexType>
+   *   &lt;complexContent>
+   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *       &lt;sequence>
+   *         &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+   *         &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+   *       &lt;/sequence>
+   *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *     &lt;/restriction>
+   *   &lt;/complexContent>
+   * &lt;/complexType>
+   * </pre>
+   * 
+   * 
+   */
+  @XmlAccessorType(XmlAccessType.FIELD)
+  @XmlType(name = "", propOrder = { "seq", "annotationColours" })
+  public static class JGroup
+  {
+
+    @XmlElement(namespace = "www.jalview.org", required = true)
+    protected List<String> seq;
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected AnnotationColourScheme annotationColours;
+
+    @XmlAttribute(name = "start")
+    protected Integer start;
+
+    @XmlAttribute(name = "end")
+    protected Integer end;
+
+    @XmlAttribute(name = "name")
+    protected String name;
+
+    @XmlAttribute(name = "colour")
+    protected String colour;
+
+    @XmlAttribute(name = "consThreshold")
+    protected Integer consThreshold;
+
+    @XmlAttribute(name = "pidThreshold")
+    protected Integer pidThreshold;
+
+    @XmlAttribute(name = "outlineColour")
+    protected Integer outlineColour;
+
+    @XmlAttribute(name = "displayBoxes")
+    protected Boolean displayBoxes;
+
+    @XmlAttribute(name = "displayText")
+    protected Boolean displayText;
+
+    @XmlAttribute(name = "colourText")
+    protected Boolean colourText;
+
+    @XmlAttribute(name = "textCol1")
+    protected Integer textCol1;
+
+    @XmlAttribute(name = "textCol2")
+    protected Integer textCol2;
+
+    @XmlAttribute(name = "textColThreshold")
+    protected Integer textColThreshold;
+
+    @XmlAttribute(name = "showUnconserved")
+    protected Boolean showUnconserved;
+
+    @XmlAttribute(name = "ignoreGapsinConsensus")
+    protected Boolean ignoreGapsinConsensus;
+
+    @XmlAttribute(name = "showConsensusHistogram")
+    protected Boolean showConsensusHistogram;
+
+    @XmlAttribute(name = "showSequenceLogo")
+    protected Boolean showSequenceLogo;
+
+    @XmlAttribute(name = "normaliseSequenceLogo")
+    protected Boolean normaliseSequenceLogo;
+
+    @XmlAttribute(name = "id")
+    protected String id;
+
     /**
-     * Gets the value of the userColours property.
+     * Gets the value of the seq property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the userColours property.
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the seq property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
+     * 
      * <pre>
-     *    getUserColours().add(newItem);
+     * getSeq().add(newItem);
      * </pre>
      * 
      * 
      * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.UserColours }
+     * Objects of the following type(s) are allowed in the list {@link String }
      * 
      * 
      */
-    public List<JalviewModel.UserColours> getUserColours() {
-        if (userColours == null) {
-            userColours = new ArrayList<JalviewModel.UserColours>();
-        }
-        return this.userColours;
+    public List<String> getSeq()
+    {
+      if (seq == null)
+      {
+        seq = new ArrayList<String>();
+      }
+      return this.seq;
     }
 
     /**
-     * Gets the value of the tree property.
+     * Gets the value of the annotationColours property.
      * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the tree property.
+     * @return possible object is {@link AnnotationColourScheme }
      * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getTree().add(newItem);
-     * </pre>
+     */
+    public AnnotationColourScheme getAnnotationColours()
+    {
+      return annotationColours;
+    }
+
+    /**
+     * Sets the value of the annotationColours property.
      * 
+     * @param value
+     *          allowed object is {@link AnnotationColourScheme }
      * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.Tree }
+     */
+    public void setAnnotationColours(AnnotationColourScheme value)
+    {
+      this.annotationColours = value;
+    }
+
+    /**
+     * Gets the value of the start property.
      * 
+     * @return possible object is {@link Integer }
      * 
      */
-    public List<JalviewModel.Tree> getTree() {
-        if (tree == null) {
-            tree = new ArrayList<JalviewModel.Tree>();
-        }
-        return this.tree;
+    public Integer getStart()
+    {
+      return start;
     }
 
     /**
-     * Gets the value of the pcaViewer property.
+     * Sets the value of the start property.
      * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the pcaViewer property.
+     * @param value
+     *          allowed object is {@link Integer }
      * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getPcaViewer().add(newItem);
-     * </pre>
+     */
+    public void setStart(Integer value)
+    {
+      this.start = value;
+    }
+
+    /**
+     * Gets the value of the end property.
      * 
+     * @return possible object is {@link Integer }
      * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.PcaViewer }
+     */
+    public Integer getEnd()
+    {
+      return end;
+    }
+
+    /**
+     * Sets the value of the end property.
      * 
+     * @param value
+     *          allowed object is {@link Integer }
      * 
      */
-    public List<JalviewModel.PcaViewer> getPcaViewer() {
-        if (pcaViewer == null) {
-            pcaViewer = new ArrayList<JalviewModel.PcaViewer>();
-        }
-        return this.pcaViewer;
+    public void setEnd(Integer value)
+    {
+      this.end = value;
     }
 
     /**
-     * Gets the value of the featureSettings property.
+     * Gets the value of the name property.
+     * 
+     * @return possible object is {@link String }
      * 
-     * @return
-     *     possible object is
-     *     {@link JalviewModel.FeatureSettings }
-     *     
      */
-    public JalviewModel.FeatureSettings getFeatureSettings() {
-        return featureSettings;
+    public String getName()
+    {
+      return name;
     }
 
     /**
-     * Sets the value of the featureSettings property.
+     * Sets the value of the name property.
      * 
      * @param value
-     *     allowed object is
-     *     {@link JalviewModel.FeatureSettings }
-     *     
+     *          allowed object is {@link String }
+     * 
      */
-    public void setFeatureSettings(JalviewModel.FeatureSettings value) {
-        this.featureSettings = value;
+    public void setName(String value)
+    {
+      this.name = value;
     }
 
+    /**
+     * Gets the value of the colour property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getColour()
+    {
+      return colour;
+    }
 
     /**
-     * <p>Java class for anonymous complex type.
+     * Sets the value of the colour property.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * @param value
+     *          allowed object is {@link String }
      * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="setting" maxOccurs="unbounded" minOccurs="0">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;sequence>
-     *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
-     *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
-     *                 &lt;/sequence>
-     *                 &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                 &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *                 &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *                 &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
-     *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *                 &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *         &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *       &lt;/sequence>
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
+     */
+    public void setColour(String value)
+    {
+      this.colour = value;
+    }
+
+    /**
+     * Gets the value of the consThreshold property.
      * 
+     * @return possible object is {@link Integer }
      * 
      */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "setting",
-        "group"
-    })
-    public static class FeatureSettings {
+    public Integer getConsThreshold()
+    {
+      return consThreshold;
+    }
 
-        @XmlElement(namespace = "www.jalview.org")
-        protected List<JalviewModel.FeatureSettings.Setting> setting;
-        @XmlElement(namespace = "www.jalview.org")
-        protected List<JalviewModel.FeatureSettings.Group> group;
+    /**
+     * Sets the value of the consThreshold property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setConsThreshold(Integer value)
+    {
+      this.consThreshold = value;
+    }
 
-        /**
-         * Gets the value of the setting property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the setting property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getSetting().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link JalviewModel.FeatureSettings.Setting }
-         * 
-         * 
-         */
-        public List<JalviewModel.FeatureSettings.Setting> getSetting() {
-            if (setting == null) {
-                setting = new ArrayList<JalviewModel.FeatureSettings.Setting>();
-            }
-            return this.setting;
-        }
+    /**
+     * Gets the value of the pidThreshold property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getPidThreshold()
+    {
+      return pidThreshold;
+    }
 
-        /**
-         * Gets the value of the group property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the group property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getGroup().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link JalviewModel.FeatureSettings.Group }
-         * 
-         * 
-         */
-        public List<JalviewModel.FeatureSettings.Group> getGroup() {
-            if (group == null) {
-                group = new ArrayList<JalviewModel.FeatureSettings.Group>();
-            }
-            return this.group;
-        }
+    /**
+     * Sets the value of the pidThreshold property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setPidThreshold(Integer value)
+    {
+      this.pidThreshold = value;
+    }
 
+    /**
+     * Gets the value of the outlineColour property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getOutlineColour()
+    {
+      return outlineColour;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "")
-        public static class Group {
-
-            @XmlAttribute(name = "name", required = true)
-            protected String name;
-            @XmlAttribute(name = "display", required = true)
-            protected boolean display;
-
-            /**
-             * Gets the value of the name property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
-             */
-            public String getName() {
-                return name;
-            }
-
-            /**
-             * Sets the value of the name property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
-             */
-            public void setName(String value) {
-                this.name = value;
-            }
-
-            /**
-             * Gets the value of the display property.
-             * 
-             */
-            public boolean isDisplay() {
-                return display;
-            }
-
-            /**
-             * Sets the value of the display property.
-             * 
-             */
-            public void setDisplay(boolean value) {
-                this.display = value;
-            }
+    /**
+     * Sets the value of the outlineColour property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setOutlineColour(Integer value)
+    {
+      this.outlineColour = value;
+    }
 
-        }
+    /**
+     * Gets the value of the displayBoxes property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isDisplayBoxes()
+    {
+      return displayBoxes;
+    }
 
+    /**
+     * Sets the value of the displayBoxes property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setDisplayBoxes(Boolean value)
+    {
+      this.displayBoxes = value;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;sequence>
-         *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
-         *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
-         *       &lt;/sequence>
-         *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *       &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-         *       &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
-         *       &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
-         *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-         *       &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
-         *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
-         *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-         *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "", propOrder = {
-            "attributeName",
-            "matcherSet"
-        })
-        public static class Setting {
-
-            @XmlElement(namespace = "www.jalview.org")
-            protected List<String> attributeName;
-            @XmlElement(namespace = "www.jalview.org")
-            protected FeatureMatcherSet matcherSet;
-            @XmlAttribute(name = "type", required = true)
-            protected String type;
-            @XmlAttribute(name = "colour", required = true)
-            protected int colour;
-            @XmlAttribute(name = "display", required = true)
-            protected boolean display;
-            @XmlAttribute(name = "order")
-            protected Float order;
-            @XmlAttribute(name = "mincolour")
-            protected Integer mincolour;
-            @XmlAttribute(name = "noValueColour")
-            protected NoValueColour noValueColour;
-            @XmlAttribute(name = "threshold")
-            protected Float threshold;
-            @XmlAttribute(name = "threshstate")
-            protected Integer threshstate;
-            @XmlAttribute(name = "max")
-            protected Float max;
-            @XmlAttribute(name = "min")
-            protected Float min;
-            @XmlAttribute(name = "colourByLabel")
-            protected Boolean colourByLabel;
-            @XmlAttribute(name = "autoScale")
-            protected Boolean autoScale;
-
-            /**
-             * Gets the value of the attributeName property.
-             * 
-             * <p>
-             * This accessor method returns a reference to the live list,
-             * not a snapshot. Therefore any modification you make to the
-             * returned list will be present inside the JAXB object.
-             * This is why there is not a <CODE>set</CODE> method for the attributeName property.
-             * 
-             * <p>
-             * For example, to add a new item, do as follows:
-             * <pre>
-             *    getAttributeName().add(newItem);
-             * </pre>
-             * 
-             * 
-             * <p>
-             * Objects of the following type(s) are allowed in the list
-             * {@link String }
-             * 
-             * 
-             */
-            public List<String> getAttributeName() {
-                if (attributeName == null) {
-                    attributeName = new ArrayList<String>();
-                }
-                return this.attributeName;
-            }
-
-            /**
-             * Gets the value of the matcherSet property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link FeatureMatcherSet }
-             *     
-             */
-            public FeatureMatcherSet getMatcherSet() {
-                return matcherSet;
-            }
-
-            /**
-             * Sets the value of the matcherSet property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link FeatureMatcherSet }
-             *     
-             */
-            public void setMatcherSet(FeatureMatcherSet value) {
-                this.matcherSet = value;
-            }
-
-            /**
-             * Gets the value of the type property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
-             */
-            public String getType() {
-                return type;
-            }
-
-            /**
-             * Sets the value of the type property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
-             */
-            public void setType(String value) {
-                this.type = value;
-            }
-
-            /**
-             * Gets the value of the colour property.
-             * 
-             */
-            public int getColour() {
-                return colour;
-            }
-
-            /**
-             * Sets the value of the colour property.
-             * 
-             */
-            public void setColour(int value) {
-                this.colour = value;
-            }
-
-            /**
-             * Gets the value of the display property.
-             * 
-             */
-            public boolean isDisplay() {
-                return display;
-            }
-
-            /**
-             * Sets the value of the display property.
-             * 
-             */
-            public void setDisplay(boolean value) {
-                this.display = value;
-            }
-
-            /**
-             * Gets the value of the order property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getOrder() {
-                return order;
-            }
-
-            /**
-             * Sets the value of the order property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setOrder(Float value) {
-                this.order = value;
-            }
-
-            /**
-             * Gets the value of the mincolour property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getMincolour() {
-                return mincolour;
-            }
-
-            /**
-             * Sets the value of the mincolour property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setMincolour(Integer value) {
-                this.mincolour = value;
-            }
-
-            /**
-             * Gets the value of the noValueColour property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link NoValueColour }
-             *     
-             */
-            public NoValueColour getNoValueColour() {
-                if (noValueColour == null) {
-                    return NoValueColour.MIN;
-                } else {
-                    return noValueColour;
-                }
-            }
-
-            /**
-             * Sets the value of the noValueColour property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link NoValueColour }
-             *     
-             */
-            public void setNoValueColour(NoValueColour value) {
-                this.noValueColour = value;
-            }
-
-            /**
-             * Gets the value of the threshold property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getThreshold() {
-                return threshold;
-            }
-
-            /**
-             * Sets the value of the threshold property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setThreshold(Float value) {
-                this.threshold = value;
-            }
-
-            /**
-             * Gets the value of the threshstate property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getThreshstate() {
-                return threshstate;
-            }
-
-            /**
-             * Sets the value of the threshstate property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setThreshstate(Integer value) {
-                this.threshstate = value;
-            }
-
-            /**
-             * Gets the value of the max property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getMax() {
-                return max;
-            }
-
-            /**
-             * Sets the value of the max property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setMax(Float value) {
-                this.max = value;
-            }
-
-            /**
-             * Gets the value of the min property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getMin() {
-                return min;
-            }
-
-            /**
-             * Sets the value of the min property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setMin(Float value) {
-                this.min = value;
-            }
-
-            /**
-             * Gets the value of the colourByLabel property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Boolean }
-             *     
-             */
-            public Boolean isColourByLabel() {
-                return colourByLabel;
-            }
-
-            /**
-             * Sets the value of the colourByLabel property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Boolean }
-             *     
-             */
-            public void setColourByLabel(Boolean value) {
-                this.colourByLabel = value;
-            }
-
-            /**
-             * Gets the value of the autoScale property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Boolean }
-             *     
-             */
-            public Boolean isAutoScale() {
-                return autoScale;
-            }
-
-            /**
-             * Sets the value of the autoScale property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Boolean }
-             *     
-             */
-            public void setAutoScale(Boolean value) {
-                this.autoScale = value;
-            }
+    /**
+     * Gets the value of the displayText property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isDisplayText()
+    {
+      return displayText;
+    }
 
-        }
+    /**
+     * Sets the value of the displayText property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setDisplayText(Boolean value)
+    {
+      this.displayText = value;
+    }
 
+    /**
+     * Gets the value of the colourText property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isColourText()
+    {
+      return colourText;
     }
 
+    /**
+     * Sets the value of the colourText property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setColourText(Boolean value)
+    {
+      this.colourText = value;
+    }
 
     /**
-     * <p>Java class for anonymous complex type.
+     * Gets the value of the textCol1 property.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * @return possible object is {@link Integer }
      * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
-     *         &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
-     *       &lt;/sequence>
-     *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
+     */
+    public Integer getTextCol1()
+    {
+      return textCol1;
+    }
+
+    /**
+     * Sets the value of the textCol1 property.
      * 
+     * @param value
+     *          allowed object is {@link Integer }
      * 
      */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "seq",
-        "annotationColours"
-    })
-    public static class JGroup {
-
-        @XmlElement(namespace = "www.jalview.org", required = true)
-        protected List<String> seq;
-        @XmlElement(namespace = "www.jalview.org")
-        protected AnnotationColourScheme annotationColours;
-        @XmlAttribute(name = "start")
-        protected Integer start;
-        @XmlAttribute(name = "end")
-        protected Integer end;
-        @XmlAttribute(name = "name")
-        protected String name;
-        @XmlAttribute(name = "colour")
-        protected String colour;
-        @XmlAttribute(name = "consThreshold")
-        protected Integer consThreshold;
-        @XmlAttribute(name = "pidThreshold")
-        protected Integer pidThreshold;
-        @XmlAttribute(name = "outlineColour")
-        protected Integer outlineColour;
-        @XmlAttribute(name = "displayBoxes")
-        protected Boolean displayBoxes;
-        @XmlAttribute(name = "displayText")
-        protected Boolean displayText;
-        @XmlAttribute(name = "colourText")
-        protected Boolean colourText;
-        @XmlAttribute(name = "textCol1")
-        protected Integer textCol1;
-        @XmlAttribute(name = "textCol2")
-        protected Integer textCol2;
-        @XmlAttribute(name = "textColThreshold")
-        protected Integer textColThreshold;
-        @XmlAttribute(name = "showUnconserved")
-        protected Boolean showUnconserved;
-        @XmlAttribute(name = "ignoreGapsinConsensus")
-        protected Boolean ignoreGapsinConsensus;
-        @XmlAttribute(name = "showConsensusHistogram")
-        protected Boolean showConsensusHistogram;
-        @XmlAttribute(name = "showSequenceLogo")
-        protected Boolean showSequenceLogo;
-        @XmlAttribute(name = "normaliseSequenceLogo")
-        protected Boolean normaliseSequenceLogo;
-        @XmlAttribute(name = "id")
-        protected String id;
+    public void setTextCol1(Integer value)
+    {
+      this.textCol1 = value;
+    }
 
-        /**
-         * Gets the value of the seq property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the seq property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getSeq().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link String }
-         * 
-         * 
-         */
-        public List<String> getSeq() {
-            if (seq == null) {
-                seq = new ArrayList<String>();
-            }
-            return this.seq;
-        }
+    /**
+     * Gets the value of the textCol2 property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getTextCol2()
+    {
+      return textCol2;
+    }
+
+    /**
+     * Sets the value of the textCol2 property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setTextCol2(Integer value)
+    {
+      this.textCol2 = value;
+    }
+
+    /**
+     * Gets the value of the textColThreshold property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getTextColThreshold()
+    {
+      return textColThreshold;
+    }
+
+    /**
+     * Sets the value of the textColThreshold property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setTextColThreshold(Integer value)
+    {
+      this.textColThreshold = value;
+    }
+
+    /**
+     * Gets the value of the showUnconserved property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowUnconserved()
+    {
+      return showUnconserved;
+    }
+
+    /**
+     * Sets the value of the showUnconserved property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowUnconserved(Boolean value)
+    {
+      this.showUnconserved = value;
+    }
+
+    /**
+     * Gets the value of the ignoreGapsinConsensus property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isIgnoreGapsinConsensus()
+    {
+      if (ignoreGapsinConsensus == null)
+      {
+        return true;
+      }
+      else
+      {
+        return ignoreGapsinConsensus;
+      }
+    }
+
+    /**
+     * Sets the value of the ignoreGapsinConsensus property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setIgnoreGapsinConsensus(Boolean value)
+    {
+      this.ignoreGapsinConsensus = value;
+    }
+
+    /**
+     * Gets the value of the showConsensusHistogram property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowConsensusHistogram()
+    {
+      if (showConsensusHistogram == null)
+      {
+        return true;
+      }
+      else
+      {
+        return showConsensusHistogram;
+      }
+    }
+
+    /**
+     * Sets the value of the showConsensusHistogram property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowConsensusHistogram(Boolean value)
+    {
+      this.showConsensusHistogram = value;
+    }
+
+    /**
+     * Gets the value of the showSequenceLogo property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowSequenceLogo()
+    {
+      if (showSequenceLogo == null)
+      {
+        return false;
+      }
+      else
+      {
+        return showSequenceLogo;
+      }
+    }
+
+    /**
+     * Sets the value of the showSequenceLogo property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowSequenceLogo(Boolean value)
+    {
+      this.showSequenceLogo = value;
+    }
+
+    /**
+     * Gets the value of the normaliseSequenceLogo property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isNormaliseSequenceLogo()
+    {
+      if (normaliseSequenceLogo == null)
+      {
+        return false;
+      }
+      else
+      {
+        return normaliseSequenceLogo;
+      }
+    }
+
+    /**
+     * Sets the value of the normaliseSequenceLogo property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setNormaliseSequenceLogo(Boolean value)
+    {
+      this.normaliseSequenceLogo = value;
+    }
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getId()
+    {
+      return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setId(String value)
+    {
+      this.id = value;
+    }
+
+  }
+
+  /**
+   * <p>
+   * Java class for anonymous complex type.
+   * 
+   * <p>
+   * The following schema fragment specifies the expected content contained
+   * within this class.
+   * 
+   * <pre>
+   * &lt;complexType>
+   *   &lt;complexContent>
+   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *       &lt;sequence>
+   *         &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
+   *         &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;extension base="{www.jalview.org}pdbentry">
+   *                 &lt;sequence>
+   *                   &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
+   *                     &lt;complexType>
+   *                       &lt;simpleContent>
+   *                         &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+   *                           &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+   *                           &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *                           &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                           &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *                           &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *                           &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *                           &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                         &lt;/extension>
+   *                       &lt;/simpleContent>
+   *                     &lt;/complexType>
+   *                   &lt;/element>
+   *                 &lt;/sequence>
+   *               &lt;/extension>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *         &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
+   *         &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;sequence>
+   *                   &lt;element name="secondaryStructure" maxOccurs="unbounded">
+   *                     &lt;complexType>
+   *                       &lt;complexContent>
+   *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                           &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                           &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                           &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *                           &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                         &lt;/restriction>
+   *                       &lt;/complexContent>
+   *                     &lt;/complexType>
+   *                   &lt;/element>
+   *                 &lt;/sequence>
+   *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+   *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                 &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *                 &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *       &lt;/sequence>
+   *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *     &lt;/restriction>
+   *   &lt;/complexContent>
+   * &lt;/complexType>
+   * </pre>
+   * 
+   * 
+   */
+  @XmlAccessorType(XmlAccessType.FIELD)
+  @XmlType(
+    name = "",
+    propOrder =
+    { "features", "pdbids", "hiddenSequences", "rnaViewer" })
+  public static class JSeq
+  {
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected List<Feature> features;
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected List<JalviewModel.JSeq.Pdbids> pdbids;
+
+    @XmlElement(namespace = "www.jalview.org", type = Integer.class)
+    protected List<Integer> hiddenSequences;
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected List<JalviewModel.JSeq.RnaViewer> rnaViewer;
+
+    @XmlAttribute(name = "colour")
+    protected Integer colour;
+
+    @XmlAttribute(name = "start", required = true)
+    protected int start;
+
+    @XmlAttribute(name = "end", required = true)
+    protected int end;
+
+    @XmlAttribute(name = "id", required = true)
+    protected String id;
+
+    @XmlAttribute(name = "hidden")
+    protected Boolean hidden;
+
+    @XmlAttribute(name = "viewreference")
+    protected Boolean viewreference;
+
+    /**
+     * Gets the value of the features property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the features property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * 
+     * <pre>
+     * getFeatures().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list {@link Feature }
+     * 
+     * 
+     */
+    public List<Feature> getFeatures()
+    {
+      if (features == null)
+      {
+        features = new ArrayList<Feature>();
+      }
+      return this.features;
+    }
+
+    /**
+     * Gets the value of the pdbids property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the pdbids property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * 
+     * <pre>
+     * getPdbids().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.JSeq.Pdbids }
+     * 
+     * 
+     */
+    public List<JalviewModel.JSeq.Pdbids> getPdbids()
+    {
+      if (pdbids == null)
+      {
+        pdbids = new ArrayList<JalviewModel.JSeq.Pdbids>();
+      }
+      return this.pdbids;
+    }
+
+    /**
+     * Gets the value of the hiddenSequences property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the hiddenSequences property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * 
+     * <pre>
+     * getHiddenSequences().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list {@link Integer }
+     * 
+     * 
+     */
+    public List<Integer> getHiddenSequences()
+    {
+      if (hiddenSequences == null)
+      {
+        hiddenSequences = new ArrayList<Integer>();
+      }
+      return this.hiddenSequences;
+    }
+
+    /**
+     * Gets the value of the rnaViewer property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the rnaViewer property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * 
+     * <pre>
+     * getRnaViewer().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.JSeq.RnaViewer }
+     * 
+     * 
+     */
+    public List<JalviewModel.JSeq.RnaViewer> getRnaViewer()
+    {
+      if (rnaViewer == null)
+      {
+        rnaViewer = new ArrayList<JalviewModel.JSeq.RnaViewer>();
+      }
+      return this.rnaViewer;
+    }
+
+    /**
+     * Gets the value of the colour property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getColour()
+    {
+      return colour;
+    }
+
+    /**
+     * Sets the value of the colour property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setColour(Integer value)
+    {
+      this.colour = value;
+    }
+
+    /**
+     * Gets the value of the start property.
+     * 
+     */
+    public int getStart()
+    {
+      return start;
+    }
+
+    /**
+     * Sets the value of the start property.
+     * 
+     */
+    public void setStart(int value)
+    {
+      this.start = value;
+    }
+
+    /**
+     * Gets the value of the end property.
+     * 
+     */
+    public int getEnd()
+    {
+      return end;
+    }
+
+    /**
+     * Sets the value of the end property.
+     * 
+     */
+    public void setEnd(int value)
+    {
+      this.end = value;
+    }
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getId()
+    {
+      return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setId(String value)
+    {
+      this.id = value;
+    }
+
+    /**
+     * Gets the value of the hidden property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isHidden()
+    {
+      return hidden;
+    }
+
+    /**
+     * Sets the value of the hidden property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setHidden(Boolean value)
+    {
+      this.hidden = value;
+    }
+
+    /**
+     * Gets the value of the viewreference property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isViewreference()
+    {
+      return viewreference;
+    }
+
+    /**
+     * Sets the value of the viewreference property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setViewreference(Boolean value)
+    {
+      this.viewreference = value;
+    }
+
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;extension base="{www.jalview.org}pdbentry">
+     *       &lt;sequence>
+     *         &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
+     *           &lt;complexType>
+     *             &lt;simpleContent>
+     *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+     *                 &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *                 &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+     *                 &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+     *                 &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+     *                 &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *               &lt;/extension>
+     *             &lt;/simpleContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *       &lt;/sequence>
+     *     &lt;/extension>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = { "structureState" })
+    public static class Pdbids extends Pdbentry
+    {
+
+      @XmlElement(namespace = "www.jalview.org")
+      protected List<JalviewModel.JSeq.Pdbids.StructureState> structureState;
+
+      /**
+       * Gets the value of the structureState property.
+       * 
+       * <p>
+       * This accessor method returns a reference to the live list, not a
+       * snapshot. Therefore any modification you make to the returned list will
+       * be present inside the JAXB object. This is why there is not a
+       * <CODE>set</CODE> method for the structureState property.
+       * 
+       * <p>
+       * For example, to add a new item, do as follows:
+       * 
+       * <pre>
+       * getStructureState().add(newItem);
+       * </pre>
+       * 
+       * 
+       * <p>
+       * Objects of the following type(s) are allowed in the list
+       * {@link JalviewModel.JSeq.Pdbids.StructureState }
+       * 
+       * 
+       */
+      public List<JalviewModel.JSeq.Pdbids.StructureState> getStructureState()
+      {
+        if (structureState == null)
+        {
+          structureState = new ArrayList<JalviewModel.JSeq.Pdbids.StructureState>();
+        }
+        return this.structureState;
+      }
+
+      /**
+       * <p>
+       * Java class for anonymous complex type.
+       * 
+       * <p>
+       * The following schema fragment specifies the expected content contained
+       * within this class.
+       * 
+       * <pre>
+       * &lt;complexType>
+       *   &lt;simpleContent>
+       *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+       *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+       *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+       *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+       *       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+       *       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+       *       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+       *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+       *     &lt;/extension>
+       *   &lt;/simpleContent>
+       * &lt;/complexType>
+       * </pre>
+       * 
+       * 
+       */
+      @XmlAccessorType(XmlAccessType.FIELD)
+      @XmlType(name = "", propOrder = { "value" })
+      public static class StructureState
+      {
+
+        @XmlValue
+        protected String value;
+
+        @XmlAttribute(name = "visible")
+        protected Boolean visible;
+
+        @XmlAttribute(name = "viewId")
+        protected String viewId;
+
+        @XmlAttribute(name = "alignwithAlignPanel")
+        protected Boolean alignwithAlignPanel;
+
+        @XmlAttribute(name = "colourwithAlignPanel")
+        protected Boolean colourwithAlignPanel;
+
+        @XmlAttribute(name = "colourByJmol")
+        protected Boolean colourByJmol;
+
+        @XmlAttribute(name = "type")
+        protected String type;
+
+        @XmlAttribute(name = "width")
+        protected Integer width;
+
+        @XmlAttribute(name = "height")
+        protected Integer height;
+
+        @XmlAttribute(name = "xpos")
+        protected Integer xpos;
 
-        /**
-         * Gets the value of the annotationColours property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link AnnotationColourScheme }
-         *     
-         */
-        public AnnotationColourScheme getAnnotationColours() {
-            return annotationColours;
-        }
+        @XmlAttribute(name = "ypos")
+        protected Integer ypos;
 
         /**
-         * Sets the value of the annotationColours property.
+         * Gets the value of the value property.
          * 
-         * @param value
-         *     allowed object is
-         *     {@link AnnotationColourScheme }
-         *     
-         */
-        public void setAnnotationColours(AnnotationColourScheme value) {
-            this.annotationColours = value;
-        }
-
-        /**
-         * Gets the value of the start property.
+         * @return possible object is {@link String }
          * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
          */
-        public Integer getStart() {
-            return start;
+        public String getValue()
+        {
+          return value;
         }
 
         /**
-         * Sets the value of the start property.
+         * Sets the value of the value property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setStart(Integer value) {
-            this.start = value;
-        }
-
-        /**
-         * Gets the value of the end property.
+         *          allowed object is {@link String }
          * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
          */
-        public Integer getEnd() {
-            return end;
+        public void setValue(String value)
+        {
+          this.value = value;
         }
 
         /**
-         * Sets the value of the end property.
+         * Gets the value of the visible property.
          * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setEnd(Integer value) {
-            this.end = value;
-        }
-
-        /**
-         * Gets the value of the name property.
+         * @return possible object is {@link Boolean }
          * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
          */
-        public String getName() {
-            return name;
+        public Boolean isVisible()
+        {
+          return visible;
         }
 
         /**
-         * Sets the value of the name property.
+         * Sets the value of the visible property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setName(String value) {
-            this.name = value;
-        }
-
-        /**
-         * Gets the value of the colour property.
+         *          allowed object is {@link Boolean }
          * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
          */
-        public String getColour() {
-            return colour;
+        public void setVisible(Boolean value)
+        {
+          this.visible = value;
         }
 
         /**
-         * Sets the value of the colour property.
+         * Gets the value of the viewId property.
          * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setColour(String value) {
-            this.colour = value;
-        }
-
-        /**
-         * Gets the value of the consThreshold property.
+         * @return possible object is {@link String }
          * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
          */
-        public Integer getConsThreshold() {
-            return consThreshold;
+        public String getViewId()
+        {
+          return viewId;
         }
 
         /**
-         * Sets the value of the consThreshold property.
+         * Sets the value of the viewId property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setConsThreshold(Integer value) {
-            this.consThreshold = value;
-        }
-
-        /**
-         * Gets the value of the pidThreshold property.
+         *          allowed object is {@link String }
          * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
          */
-        public Integer getPidThreshold() {
-            return pidThreshold;
+        public void setViewId(String value)
+        {
+          this.viewId = value;
         }
 
         /**
-         * Sets the value of the pidThreshold property.
+         * Gets the value of the alignwithAlignPanel property.
          * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setPidThreshold(Integer value) {
-            this.pidThreshold = value;
-        }
-
-        /**
-         * Gets the value of the outlineColour property.
+         * @return possible object is {@link Boolean }
          * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
          */
-        public Integer getOutlineColour() {
-            return outlineColour;
+        public boolean isAlignwithAlignPanel()
+        {
+          if (alignwithAlignPanel == null)
+          {
+            return true;
+          }
+          else
+          {
+            return alignwithAlignPanel;
+          }
         }
 
         /**
-         * Sets the value of the outlineColour property.
+         * Sets the value of the alignwithAlignPanel property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setOutlineColour(Integer value) {
-            this.outlineColour = value;
-        }
-
-        /**
-         * Gets the value of the displayBoxes property.
+         *          allowed object is {@link Boolean }
          * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
          */
-        public Boolean isDisplayBoxes() {
-            return displayBoxes;
+        public void setAlignwithAlignPanel(Boolean value)
+        {
+          this.alignwithAlignPanel = value;
         }
 
         /**
-         * Sets the value of the displayBoxes property.
+         * Gets the value of the colourwithAlignPanel property.
          * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setDisplayBoxes(Boolean value) {
-            this.displayBoxes = value;
-        }
-
-        /**
-         * Gets the value of the displayText property.
+         * @return possible object is {@link Boolean }
          * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
          */
-        public Boolean isDisplayText() {
-            return displayText;
+        public boolean isColourwithAlignPanel()
+        {
+          if (colourwithAlignPanel == null)
+          {
+            return false;
+          }
+          else
+          {
+            return colourwithAlignPanel;
+          }
         }
 
         /**
-         * Sets the value of the displayText property.
+         * Sets the value of the colourwithAlignPanel property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
+         *          allowed object is {@link Boolean }
+         * 
          */
-        public void setDisplayText(Boolean value) {
-            this.displayText = value;
+        public void setColourwithAlignPanel(Boolean value)
+        {
+          this.colourwithAlignPanel = value;
         }
 
         /**
-         * Gets the value of the colourText property.
+         * Gets the value of the colourByJmol property.
+         * 
+         * @return possible object is {@link Boolean }
          * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
          */
-        public Boolean isColourText() {
-            return colourText;
+        public boolean isColourByJmol()
+        {
+          if (colourByJmol == null)
+          {
+            return true;
+          }
+          else
+          {
+            return colourByJmol;
+          }
         }
 
         /**
-         * Sets the value of the colourText property.
+         * Sets the value of the colourByJmol property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
+         *          allowed object is {@link Boolean }
+         * 
          */
-        public void setColourText(Boolean value) {
-            this.colourText = value;
+        public void setColourByJmol(Boolean value)
+        {
+          this.colourByJmol = value;
         }
 
         /**
-         * Gets the value of the textCol1 property.
+         * Gets the value of the type property.
+         * 
+         * @return possible object is {@link String }
          * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
          */
-        public Integer getTextCol1() {
-            return textCol1;
+        public String getType()
+        {
+          return type;
         }
 
         /**
-         * Sets the value of the textCol1 property.
+         * Sets the value of the type property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
+         *          allowed object is {@link String }
+         * 
          */
-        public void setTextCol1(Integer value) {
-            this.textCol1 = value;
+        public void setType(String value)
+        {
+          this.type = value;
         }
 
         /**
-         * Gets the value of the textCol2 property.
+         * Gets the value of the width property.
+         * 
+         * @return possible object is {@link Integer }
          * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
          */
-        public Integer getTextCol2() {
-            return textCol2;
+        public Integer getWidth()
+        {
+          return width;
         }
 
         /**
-         * Sets the value of the textCol2 property.
+         * Sets the value of the width property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
+         *          allowed object is {@link Integer }
+         * 
          */
-        public void setTextCol2(Integer value) {
-            this.textCol2 = value;
+        public void setWidth(Integer value)
+        {
+          this.width = value;
         }
 
         /**
-         * Gets the value of the textColThreshold property.
+         * Gets the value of the height property.
+         * 
+         * @return possible object is {@link Integer }
          * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
          */
-        public Integer getTextColThreshold() {
-            return textColThreshold;
+        public Integer getHeight()
+        {
+          return height;
         }
 
         /**
-         * Sets the value of the textColThreshold property.
+         * Sets the value of the height property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
+         *          allowed object is {@link Integer }
+         * 
          */
-        public void setTextColThreshold(Integer value) {
-            this.textColThreshold = value;
+        public void setHeight(Integer value)
+        {
+          this.height = value;
         }
 
         /**
-         * Gets the value of the showUnconserved property.
+         * Gets the value of the xpos property.
+         * 
+         * @return possible object is {@link Integer }
          * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
          */
-        public Boolean isShowUnconserved() {
-            return showUnconserved;
+        public Integer getXpos()
+        {
+          return xpos;
         }
 
         /**
-         * Sets the value of the showUnconserved property.
+         * Sets the value of the xpos property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
+         *          allowed object is {@link Integer }
+         * 
          */
-        public void setShowUnconserved(Boolean value) {
-            this.showUnconserved = value;
+        public void setXpos(Integer value)
+        {
+          this.xpos = value;
         }
 
         /**
-         * Gets the value of the ignoreGapsinConsensus property.
+         * Gets the value of the ypos property.
+         * 
+         * @return possible object is {@link Integer }
          * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
          */
-        public boolean isIgnoreGapsinConsensus() {
-            if (ignoreGapsinConsensus == null) {
-                return true;
-            } else {
-                return ignoreGapsinConsensus;
-            }
+        public Integer getYpos()
+        {
+          return ypos;
         }
 
         /**
-         * Sets the value of the ignoreGapsinConsensus property.
+         * Sets the value of the ypos property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
+         *          allowed object is {@link Integer }
+         * 
          */
-        public void setIgnoreGapsinConsensus(Boolean value) {
-            this.ignoreGapsinConsensus = value;
+        public void setYpos(Integer value)
+        {
+          this.ypos = value;
         }
 
+      }
+
+    }
+
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;sequence>
+     *         &lt;element name="secondaryStructure" maxOccurs="unbounded">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *                 &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *                 &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *                 &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *       &lt;/sequence>
+     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *       &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = { "secondaryStructure" })
+    public static class RnaViewer
+    {
+
+      @XmlElement(namespace = "www.jalview.org", required = true)
+      protected List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> secondaryStructure;
+
+      @XmlAttribute(name = "title")
+      protected String title;
+
+      @XmlAttribute(name = "viewId")
+      protected String viewId;
+
+      @XmlAttribute(name = "dividerLocation")
+      protected Integer dividerLocation;
+
+      @XmlAttribute(name = "selectedRna")
+      protected Integer selectedRna;
+
+      @XmlAttribute(name = "width")
+      protected Integer width;
+
+      @XmlAttribute(name = "height")
+      protected Integer height;
+
+      @XmlAttribute(name = "xpos")
+      protected Integer xpos;
+
+      @XmlAttribute(name = "ypos")
+      protected Integer ypos;
+
+      /**
+       * Gets the value of the secondaryStructure property.
+       * 
+       * <p>
+       * This accessor method returns a reference to the live list, not a
+       * snapshot. Therefore any modification you make to the returned list will
+       * be present inside the JAXB object. This is why there is not a
+       * <CODE>set</CODE> method for the secondaryStructure property.
+       * 
+       * <p>
+       * For example, to add a new item, do as follows:
+       * 
+       * <pre>
+       * getSecondaryStructure().add(newItem);
+       * </pre>
+       * 
+       * 
+       * <p>
+       * Objects of the following type(s) are allowed in the list
+       * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
+       * 
+       * 
+       */
+      public List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> getSecondaryStructure()
+      {
+        if (secondaryStructure == null)
+        {
+          secondaryStructure = new ArrayList<JalviewModel.JSeq.RnaViewer.SecondaryStructure>();
+        }
+        return this.secondaryStructure;
+      }
+
+      /**
+       * Gets the value of the title property.
+       * 
+       * @return possible object is {@link String }
+       * 
+       */
+      public String getTitle()
+      {
+        return title;
+      }
+
+      /**
+       * Sets the value of the title property.
+       * 
+       * @param value
+       *          allowed object is {@link String }
+       * 
+       */
+      public void setTitle(String value)
+      {
+        this.title = value;
+      }
+
+      /**
+       * Gets the value of the viewId property.
+       * 
+       * @return possible object is {@link String }
+       * 
+       */
+      public String getViewId()
+      {
+        return viewId;
+      }
+
+      /**
+       * Sets the value of the viewId property.
+       * 
+       * @param value
+       *          allowed object is {@link String }
+       * 
+       */
+      public void setViewId(String value)
+      {
+        this.viewId = value;
+      }
+
+      /**
+       * Gets the value of the dividerLocation property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getDividerLocation()
+      {
+        return dividerLocation;
+      }
+
+      /**
+       * Sets the value of the dividerLocation property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setDividerLocation(Integer value)
+      {
+        this.dividerLocation = value;
+      }
+
+      /**
+       * Gets the value of the selectedRna property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getSelectedRna()
+      {
+        return selectedRna;
+      }
+
+      /**
+       * Sets the value of the selectedRna property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setSelectedRna(Integer value)
+      {
+        this.selectedRna = value;
+      }
+
+      /**
+       * Gets the value of the width property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getWidth()
+      {
+        return width;
+      }
+
+      /**
+       * Sets the value of the width property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setWidth(Integer value)
+      {
+        this.width = value;
+      }
+
+      /**
+       * Gets the value of the height property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getHeight()
+      {
+        return height;
+      }
+
+      /**
+       * Sets the value of the height property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setHeight(Integer value)
+      {
+        this.height = value;
+      }
+
+      /**
+       * Gets the value of the xpos property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getXpos()
+      {
+        return xpos;
+      }
+
+      /**
+       * Sets the value of the xpos property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setXpos(Integer value)
+      {
+        this.xpos = value;
+      }
+
+      /**
+       * Gets the value of the ypos property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getYpos()
+      {
+        return ypos;
+      }
+
+      /**
+       * Sets the value of the ypos property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setYpos(Integer value)
+      {
+        this.ypos = value;
+      }
+
+      /**
+       * <p>
+       * Java class for anonymous complex type.
+       * 
+       * <p>
+       * The following schema fragment specifies the expected content contained
+       * within this class.
+       * 
+       * <pre>
+       * &lt;complexType>
+       *   &lt;complexContent>
+       *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+       *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+       *       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+       *       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+       *       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+       *     &lt;/restriction>
+       *   &lt;/complexContent>
+       * &lt;/complexType>
+       * </pre>
+       * 
+       * 
+       */
+      @XmlAccessorType(XmlAccessType.FIELD)
+      @XmlType(name = "")
+      public static class SecondaryStructure
+      {
+
+        @XmlAttribute(name = "title")
+        protected String title;
+
+        @XmlAttribute(name = "annotationId", required = true)
+        protected String annotationId;
+
+        @XmlAttribute(name = "gapped")
+        protected Boolean gapped;
+
+        @XmlAttribute(name = "viewerState")
+        protected String viewerState;
+
         /**
-         * Gets the value of the showConsensusHistogram property.
+         * Gets the value of the title property.
+         * 
+         * @return possible object is {@link String }
          * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
          */
-        public boolean isShowConsensusHistogram() {
-            if (showConsensusHistogram == null) {
-                return true;
-            } else {
-                return showConsensusHistogram;
-            }
+        public String getTitle()
+        {
+          return title;
         }
 
         /**
-         * Sets the value of the showConsensusHistogram property.
+         * Sets the value of the title property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
+         *          allowed object is {@link String }
+         * 
          */
-        public void setShowConsensusHistogram(Boolean value) {
-            this.showConsensusHistogram = value;
+        public void setTitle(String value)
+        {
+          this.title = value;
         }
 
         /**
-         * Gets the value of the showSequenceLogo property.
+         * Gets the value of the annotationId property.
+         * 
+         * @return possible object is {@link String }
          * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
          */
-        public boolean isShowSequenceLogo() {
-            if (showSequenceLogo == null) {
-                return false;
-            } else {
-                return showSequenceLogo;
-            }
+        public String getAnnotationId()
+        {
+          return annotationId;
         }
 
         /**
-         * Sets the value of the showSequenceLogo property.
+         * Sets the value of the annotationId property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
+         *          allowed object is {@link String }
+         * 
          */
-        public void setShowSequenceLogo(Boolean value) {
-            this.showSequenceLogo = value;
+        public void setAnnotationId(String value)
+        {
+          this.annotationId = value;
         }
 
         /**
-         * Gets the value of the normaliseSequenceLogo property.
+         * Gets the value of the gapped property.
+         * 
+         * @return possible object is {@link Boolean }
          * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
          */
-        public boolean isNormaliseSequenceLogo() {
-            if (normaliseSequenceLogo == null) {
-                return false;
-            } else {
-                return normaliseSequenceLogo;
-            }
+        public Boolean isGapped()
+        {
+          return gapped;
         }
 
         /**
-         * Sets the value of the normaliseSequenceLogo property.
+         * Sets the value of the gapped property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
+         *          allowed object is {@link Boolean }
+         * 
          */
-        public void setNormaliseSequenceLogo(Boolean value) {
-            this.normaliseSequenceLogo = value;
+        public void setGapped(Boolean value)
+        {
+          this.gapped = value;
         }
 
         /**
-         * Gets the value of the id property.
+         * Gets the value of the viewerState property.
+         * 
+         * @return possible object is {@link String }
          * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
          */
-        public String getId() {
-            return id;
+        public String getViewerState()
+        {
+          return viewerState;
         }
 
         /**
-         * Sets the value of the id property.
+         * Sets the value of the viewerState property.
          * 
          * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
+         *          allowed object is {@link String }
+         * 
          */
-        public void setId(String value) {
-            this.id = value;
+        public void setViewerState(String value)
+        {
+          this.viewerState = value;
         }
 
+      }
+
+    }
+
+  }
+
+  /**
+   * <p>
+   * Java class for anonymous complex type.
+   * 
+   * <p>
+   * The following schema fragment specifies the expected content contained
+   * within this class.
+   * 
+   * <pre>
+   * &lt;complexType>
+   *   &lt;complexContent>
+   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *       &lt;sequence>
+   *         &lt;element name="sequencePoint" maxOccurs="unbounded">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;attGroup ref="{www.jalview.org}position"/>
+   *                 &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *         &lt;element name="axis" maxOccurs="3" minOccurs="3">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;attGroup ref="{www.jalview.org}position"/>
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *         &lt;element name="seqPointMin">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;attGroup ref="{www.jalview.org}position"/>
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *         &lt;element name="seqPointMax">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;attGroup ref="{www.jalview.org}position"/>
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *         &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/>
+   *       &lt;/sequence>
+   *       &lt;attGroup ref="{www.jalview.org}SimilarityParams"/>
+   *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+   *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" />
+   *       &lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *     &lt;/restriction>
+   *   &lt;/complexContent>
+   * &lt;/complexType>
+   * </pre>
+   * 
+   * 
+   */
+  @XmlAccessorType(XmlAccessType.FIELD)
+  @XmlType(
+    name = "",
+    propOrder =
+    { "sequencePoint", "axis", "seqPointMin", "seqPointMax", "pcaData" })
+  public static class PcaViewer
+  {
+
+    @XmlElement(namespace = "www.jalview.org", required = true)
+    protected List<JalviewModel.PcaViewer.SequencePoint> sequencePoint;
+
+    @XmlElement(namespace = "www.jalview.org", required = true)
+    protected List<JalviewModel.PcaViewer.Axis> axis;
+
+    @XmlElement(namespace = "www.jalview.org", required = true)
+    protected JalviewModel.PcaViewer.SeqPointMin seqPointMin;
+
+    @XmlElement(namespace = "www.jalview.org", required = true)
+    protected JalviewModel.PcaViewer.SeqPointMax seqPointMax;
+
+    @XmlElement(namespace = "www.jalview.org", required = true)
+    protected PcaDataType pcaData;
+
+    @XmlAttribute(name = "title")
+    protected String title;
+
+    @XmlAttribute(name = "scoreModelName")
+    protected String scoreModelName;
+
+    @XmlAttribute(name = "xDim")
+    protected Integer xDim;
+
+    @XmlAttribute(name = "yDim")
+    protected Integer yDim;
+
+    @XmlAttribute(name = "zDim")
+    protected Integer zDim;
+
+    @XmlAttribute(name = "bgColour")
+    protected Integer bgColour;
+
+    @XmlAttribute(name = "scaleFactor")
+    protected Float scaleFactor;
+
+    @XmlAttribute(name = "showLabels")
+    protected Boolean showLabels;
+
+    @XmlAttribute(name = "linkToAllViews")
+    protected Boolean linkToAllViews;
+
+    @XmlAttribute(name = "includeGaps")
+    protected Boolean includeGaps;
+
+    @XmlAttribute(name = "matchGaps")
+    protected Boolean matchGaps;
+
+    @XmlAttribute(name = "includeGappedColumns")
+    protected Boolean includeGappedColumns;
+
+    @XmlAttribute(name = "denominateByShortestLength")
+    protected Boolean denominateByShortestLength;
+
+    @XmlAttribute(name = "width")
+    protected Integer width;
+
+    @XmlAttribute(name = "height")
+    protected Integer height;
+
+    @XmlAttribute(name = "xpos")
+    protected Integer xpos;
+
+    @XmlAttribute(name = "ypos")
+    protected Integer ypos;
+
+    /**
+     * Gets the value of the sequencePoint property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the sequencePoint property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * 
+     * <pre>
+     * getSequencePoint().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.PcaViewer.SequencePoint }
+     * 
+     * 
+     */
+    public List<JalviewModel.PcaViewer.SequencePoint> getSequencePoint()
+    {
+      if (sequencePoint == null)
+      {
+        sequencePoint = new ArrayList<JalviewModel.PcaViewer.SequencePoint>();
+      }
+      return this.sequencePoint;
+    }
+
+    /**
+     * Gets the value of the axis property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the axis property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * 
+     * <pre>
+     * getAxis().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.PcaViewer.Axis }
+     * 
+     * 
+     */
+    public List<JalviewModel.PcaViewer.Axis> getAxis()
+    {
+      if (axis == null)
+      {
+        axis = new ArrayList<JalviewModel.PcaViewer.Axis>();
+      }
+      return this.axis;
+    }
+
+    /**
+     * Gets the value of the seqPointMin property.
+     * 
+     * @return possible object is {@link JalviewModel.PcaViewer.SeqPointMin }
+     * 
+     */
+    public JalviewModel.PcaViewer.SeqPointMin getSeqPointMin()
+    {
+      return seqPointMin;
+    }
+
+    /**
+     * Sets the value of the seqPointMin property.
+     * 
+     * @param value
+     *          allowed object is {@link JalviewModel.PcaViewer.SeqPointMin }
+     * 
+     */
+    public void setSeqPointMin(JalviewModel.PcaViewer.SeqPointMin value)
+    {
+      this.seqPointMin = value;
+    }
+
+    /**
+     * Gets the value of the seqPointMax property.
+     * 
+     * @return possible object is {@link JalviewModel.PcaViewer.SeqPointMax }
+     * 
+     */
+    public JalviewModel.PcaViewer.SeqPointMax getSeqPointMax()
+    {
+      return seqPointMax;
+    }
+
+    /**
+     * Sets the value of the seqPointMax property.
+     * 
+     * @param value
+     *          allowed object is {@link JalviewModel.PcaViewer.SeqPointMax }
+     * 
+     */
+    public void setSeqPointMax(JalviewModel.PcaViewer.SeqPointMax value)
+    {
+      this.seqPointMax = value;
+    }
+
+    /**
+     * Gets the value of the pcaData property.
+     * 
+     * @return possible object is {@link PcaDataType }
+     * 
+     */
+    public PcaDataType getPcaData()
+    {
+      return pcaData;
+    }
+
+    /**
+     * Sets the value of the pcaData property.
+     * 
+     * @param value
+     *          allowed object is {@link PcaDataType }
+     * 
+     */
+    public void setPcaData(PcaDataType value)
+    {
+      this.pcaData = value;
+    }
+
+    /**
+     * Gets the value of the title property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getTitle()
+    {
+      return title;
+    }
+
+    /**
+     * Sets the value of the title property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setTitle(String value)
+    {
+      this.title = value;
+    }
+
+    /**
+     * Gets the value of the scoreModelName property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getScoreModelName()
+    {
+      return scoreModelName;
+    }
+
+    /**
+     * Sets the value of the scoreModelName property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setScoreModelName(String value)
+    {
+      this.scoreModelName = value;
+    }
+
+    /**
+     * Gets the value of the xDim property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getXDim()
+    {
+      return xDim;
+    }
+
+    /**
+     * Sets the value of the xDim property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setXDim(Integer value)
+    {
+      this.xDim = value;
     }
 
+    /**
+     * Gets the value of the yDim property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getYDim()
+    {
+      return yDim;
+    }
 
     /**
-     * <p>Java class for anonymous complex type.
+     * Sets the value of the yDim property.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * @param value
+     *          allowed object is {@link Integer }
      * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
-     *         &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;extension base="{www.jalview.org}pdbentry">
-     *                 &lt;sequence>
-     *                   &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
-     *                     &lt;complexType>
-     *                       &lt;simpleContent>
-     *                         &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-     *                           &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *                           &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *                           &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                           &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *                           &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *                           &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *                           &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                         &lt;/extension>
-     *                       &lt;/simpleContent>
-     *                     &lt;/complexType>
-     *                   &lt;/element>
-     *                 &lt;/sequence>
-     *               &lt;/extension>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *         &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
-     *         &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;sequence>
-     *                   &lt;element name="secondaryStructure" maxOccurs="unbounded">
-     *                     &lt;complexType>
-     *                       &lt;complexContent>
-     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                           &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                           &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                           &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *                           &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                         &lt;/restriction>
-     *                       &lt;/complexContent>
-     *                     &lt;/complexType>
-     *                   &lt;/element>
-     *                 &lt;/sequence>
-     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                 &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *                 &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *       &lt;/sequence>
-     *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
+     */
+    public void setYDim(Integer value)
+    {
+      this.yDim = value;
+    }
+
+    /**
+     * Gets the value of the zDim property.
      * 
+     * @return possible object is {@link Integer }
      * 
      */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "features",
-        "pdbids",
-        "hiddenSequences",
-        "rnaViewer"
-    })
-    public static class JSeq {
-
-        @XmlElement(namespace = "www.jalview.org")
-        protected List<Feature> features;
-        @XmlElement(namespace = "www.jalview.org")
-        protected List<JalviewModel.JSeq.Pdbids> pdbids;
-        @XmlElement(namespace = "www.jalview.org", type = Integer.class)
-        protected List<Integer> hiddenSequences;
-        @XmlElement(namespace = "www.jalview.org")
-        protected List<JalviewModel.JSeq.RnaViewer> rnaViewer;
-        @XmlAttribute(name = "colour")
-        protected Integer colour;
-        @XmlAttribute(name = "start", required = true)
-        protected int start;
-        @XmlAttribute(name = "end", required = true)
-        protected int end;
-        @XmlAttribute(name = "id", required = true)
-        protected String id;
-        @XmlAttribute(name = "hidden")
-        protected Boolean hidden;
-        @XmlAttribute(name = "viewreference")
-        protected Boolean viewreference;
+    public Integer getZDim()
+    {
+      return zDim;
+    }
 
-        /**
-         * Gets the value of the features property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the features property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getFeatures().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link Feature }
-         * 
-         * 
-         */
-        public List<Feature> getFeatures() {
-            if (features == null) {
-                features = new ArrayList<Feature>();
-            }
-            return this.features;
-        }
+    /**
+     * Sets the value of the zDim property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setZDim(Integer value)
+    {
+      this.zDim = value;
+    }
 
-        /**
-         * Gets the value of the pdbids property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the pdbids property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getPdbids().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link JalviewModel.JSeq.Pdbids }
-         * 
-         * 
-         */
-        public List<JalviewModel.JSeq.Pdbids> getPdbids() {
-            if (pdbids == null) {
-                pdbids = new ArrayList<JalviewModel.JSeq.Pdbids>();
-            }
-            return this.pdbids;
-        }
+    /**
+     * Gets the value of the bgColour property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getBgColour()
+    {
+      return bgColour;
+    }
 
-        /**
-         * Gets the value of the hiddenSequences property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the hiddenSequences property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getHiddenSequences().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link Integer }
-         * 
-         * 
-         */
-        public List<Integer> getHiddenSequences() {
-            if (hiddenSequences == null) {
-                hiddenSequences = new ArrayList<Integer>();
-            }
-            return this.hiddenSequences;
-        }
+    /**
+     * Sets the value of the bgColour property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setBgColour(Integer value)
+    {
+      this.bgColour = value;
+    }
 
-        /**
-         * Gets the value of the rnaViewer property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the rnaViewer property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getRnaViewer().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link JalviewModel.JSeq.RnaViewer }
-         * 
-         * 
-         */
-        public List<JalviewModel.JSeq.RnaViewer> getRnaViewer() {
-            if (rnaViewer == null) {
-                rnaViewer = new ArrayList<JalviewModel.JSeq.RnaViewer>();
-            }
-            return this.rnaViewer;
-        }
+    /**
+     * Gets the value of the scaleFactor property.
+     * 
+     * @return possible object is {@link Float }
+     * 
+     */
+    public Float getScaleFactor()
+    {
+      return scaleFactor;
+    }
 
-        /**
-         * Gets the value of the colour property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getColour() {
-            return colour;
-        }
+    /**
+     * Sets the value of the scaleFactor property.
+     * 
+     * @param value
+     *          allowed object is {@link Float }
+     * 
+     */
+    public void setScaleFactor(Float value)
+    {
+      this.scaleFactor = value;
+    }
 
-        /**
-         * Sets the value of the colour property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setColour(Integer value) {
-            this.colour = value;
-        }
+    /**
+     * Gets the value of the showLabels property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowLabels()
+    {
+      return showLabels;
+    }
 
-        /**
-         * Gets the value of the start property.
-         * 
-         */
-        public int getStart() {
-            return start;
-        }
+    /**
+     * Sets the value of the showLabels property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowLabels(Boolean value)
+    {
+      this.showLabels = value;
+    }
 
-        /**
-         * Sets the value of the start property.
-         * 
-         */
-        public void setStart(int value) {
-            this.start = value;
-        }
+    /**
+     * Gets the value of the linkToAllViews property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isLinkToAllViews()
+    {
+      return linkToAllViews;
+    }
 
-        /**
-         * Gets the value of the end property.
-         * 
-         */
-        public int getEnd() {
-            return end;
-        }
+    /**
+     * Sets the value of the linkToAllViews property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setLinkToAllViews(Boolean value)
+    {
+      this.linkToAllViews = value;
+    }
 
-        /**
-         * Sets the value of the end property.
-         * 
-         */
-        public void setEnd(int value) {
-            this.end = value;
-        }
+    /**
+     * Gets the value of the includeGaps property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isIncludeGaps()
+    {
+      return includeGaps;
+    }
 
-        /**
-         * Gets the value of the id property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getId() {
-            return id;
-        }
+    /**
+     * Sets the value of the includeGaps property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setIncludeGaps(Boolean value)
+    {
+      this.includeGaps = value;
+    }
 
-        /**
-         * Sets the value of the id property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setId(String value) {
-            this.id = value;
-        }
+    /**
+     * Gets the value of the matchGaps property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isMatchGaps()
+    {
+      return matchGaps;
+    }
 
-        /**
-         * Gets the value of the hidden property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isHidden() {
-            return hidden;
-        }
+    /**
+     * Sets the value of the matchGaps property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setMatchGaps(Boolean value)
+    {
+      this.matchGaps = value;
+    }
 
-        /**
-         * Sets the value of the hidden property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setHidden(Boolean value) {
-            this.hidden = value;
-        }
+    /**
+     * Gets the value of the includeGappedColumns property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isIncludeGappedColumns()
+    {
+      return includeGappedColumns;
+    }
 
-        /**
-         * Gets the value of the viewreference property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isViewreference() {
-            return viewreference;
-        }
+    /**
+     * Sets the value of the includeGappedColumns property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setIncludeGappedColumns(Boolean value)
+    {
+      this.includeGappedColumns = value;
+    }
 
-        /**
-         * Sets the value of the viewreference property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setViewreference(Boolean value) {
-            this.viewreference = value;
-        }
+    /**
+     * Gets the value of the denominateByShortestLength property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isDenominateByShortestLength()
+    {
+      return denominateByShortestLength;
+    }
 
+    /**
+     * Sets the value of the denominateByShortestLength property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setDenominateByShortestLength(Boolean value)
+    {
+      this.denominateByShortestLength = value;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;extension base="{www.jalview.org}pdbentry">
-         *       &lt;sequence>
-         *         &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
-         *           &lt;complexType>
-         *             &lt;simpleContent>
-         *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-         *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-         *                 &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-         *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *                 &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-         *                 &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-         *                 &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-         *                 &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *               &lt;/extension>
-         *             &lt;/simpleContent>
-         *           &lt;/complexType>
-         *         &lt;/element>
-         *       &lt;/sequence>
-         *     &lt;/extension>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "", propOrder = {
-            "structureState"
-        })
-        public static class Pdbids
-            extends Pdbentry
-        {
+    /**
+     * Gets the value of the width property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getWidth()
+    {
+      return width;
+    }
 
-            @XmlElement(namespace = "www.jalview.org")
-            protected List<JalviewModel.JSeq.Pdbids.StructureState> structureState;
-
-            /**
-             * Gets the value of the structureState property.
-             * 
-             * <p>
-             * This accessor method returns a reference to the live list,
-             * not a snapshot. Therefore any modification you make to the
-             * returned list will be present inside the JAXB object.
-             * This is why there is not a <CODE>set</CODE> method for the structureState property.
-             * 
-             * <p>
-             * For example, to add a new item, do as follows:
-             * <pre>
-             *    getStructureState().add(newItem);
-             * </pre>
-             * 
-             * 
-             * <p>
-             * Objects of the following type(s) are allowed in the list
-             * {@link JalviewModel.JSeq.Pdbids.StructureState }
-             * 
-             * 
-             */
-            public List<JalviewModel.JSeq.Pdbids.StructureState> getStructureState() {
-                if (structureState == null) {
-                    structureState = new ArrayList<JalviewModel.JSeq.Pdbids.StructureState>();
-                }
-                return this.structureState;
-            }
-
-
-            /**
-             * <p>Java class for anonymous complex type.
-             * 
-             * <p>The following schema fragment specifies the expected content contained within this class.
-             * 
-             * <pre>
-             * &lt;complexType>
-             *   &lt;simpleContent>
-             *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-             *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-             *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-             *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-             *       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-             *       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-             *       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-             *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-             *     &lt;/extension>
-             *   &lt;/simpleContent>
-             * &lt;/complexType>
-             * </pre>
-             * 
-             * 
-             */
-            @XmlAccessorType(XmlAccessType.FIELD)
-            @XmlType(name = "", propOrder = {
-                "value"
-            })
-            public static class StructureState {
-
-                @XmlValue
-                protected String value;
-                @XmlAttribute(name = "visible")
-                protected Boolean visible;
-                @XmlAttribute(name = "viewId")
-                protected String viewId;
-                @XmlAttribute(name = "alignwithAlignPanel")
-                protected Boolean alignwithAlignPanel;
-                @XmlAttribute(name = "colourwithAlignPanel")
-                protected Boolean colourwithAlignPanel;
-                @XmlAttribute(name = "colourByJmol")
-                protected Boolean colourByJmol;
-                @XmlAttribute(name = "type")
-                protected String type;
-                @XmlAttribute(name = "width")
-                protected Integer width;
-                @XmlAttribute(name = "height")
-                protected Integer height;
-                @XmlAttribute(name = "xpos")
-                protected Integer xpos;
-                @XmlAttribute(name = "ypos")
-                protected Integer ypos;
-
-                /**
-                 * Gets the value of the value property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link String }
-                 *     
-                 */
-                public String getValue() {
-                    return value;
-                }
-
-                /**
-                 * Sets the value of the value property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link String }
-                 *     
-                 */
-                public void setValue(String value) {
-                    this.value = value;
-                }
-
-                /**
-                 * Gets the value of the visible property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public Boolean isVisible() {
-                    return visible;
-                }
-
-                /**
-                 * Sets the value of the visible property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public void setVisible(Boolean value) {
-                    this.visible = value;
-                }
-
-                /**
-                 * Gets the value of the viewId property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link String }
-                 *     
-                 */
-                public String getViewId() {
-                    return viewId;
-                }
-
-                /**
-                 * Sets the value of the viewId property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link String }
-                 *     
-                 */
-                public void setViewId(String value) {
-                    this.viewId = value;
-                }
-
-                /**
-                 * Gets the value of the alignwithAlignPanel property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public boolean isAlignwithAlignPanel() {
-                    if (alignwithAlignPanel == null) {
-                        return true;
-                    } else {
-                        return alignwithAlignPanel;
-                    }
-                }
-
-                /**
-                 * Sets the value of the alignwithAlignPanel property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public void setAlignwithAlignPanel(Boolean value) {
-                    this.alignwithAlignPanel = value;
-                }
-
-                /**
-                 * Gets the value of the colourwithAlignPanel property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public boolean isColourwithAlignPanel() {
-                    if (colourwithAlignPanel == null) {
-                        return false;
-                    } else {
-                        return colourwithAlignPanel;
-                    }
-                }
-
-                /**
-                 * Sets the value of the colourwithAlignPanel property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public void setColourwithAlignPanel(Boolean value) {
-                    this.colourwithAlignPanel = value;
-                }
-
-                /**
-                 * Gets the value of the colourByJmol property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public boolean isColourByJmol() {
-                    if (colourByJmol == null) {
-                        return true;
-                    } else {
-                        return colourByJmol;
-                    }
-                }
-
-                /**
-                 * Sets the value of the colourByJmol property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public void setColourByJmol(Boolean value) {
-                    this.colourByJmol = value;
-                }
-
-                /**
-                 * Gets the value of the type property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link String }
-                 *     
-                 */
-                public String getType() {
-                    return type;
-                }
-
-                /**
-                 * Sets the value of the type property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link String }
-                 *     
-                 */
-                public void setType(String value) {
-                    this.type = value;
-                }
-
-                /**
-                 * Gets the value of the width property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Integer }
-                 *     
-                 */
-                public Integer getWidth() {
-                    return width;
-                }
-
-                /**
-                 * Sets the value of the width property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Integer }
-                 *     
-                 */
-                public void setWidth(Integer value) {
-                    this.width = value;
-                }
-
-                /**
-                 * Gets the value of the height property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Integer }
-                 *     
-                 */
-                public Integer getHeight() {
-                    return height;
-                }
-
-                /**
-                 * Sets the value of the height property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Integer }
-                 *     
-                 */
-                public void setHeight(Integer value) {
-                    this.height = value;
-                }
-
-                /**
-                 * Gets the value of the xpos property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Integer }
-                 *     
-                 */
-                public Integer getXpos() {
-                    return xpos;
-                }
-
-                /**
-                 * Sets the value of the xpos property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Integer }
-                 *     
-                 */
-                public void setXpos(Integer value) {
-                    this.xpos = value;
-                }
-
-                /**
-                 * Gets the value of the ypos property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Integer }
-                 *     
-                 */
-                public Integer getYpos() {
-                    return ypos;
-                }
-
-                /**
-                 * Sets the value of the ypos property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Integer }
-                 *     
-                 */
-                public void setYpos(Integer value) {
-                    this.ypos = value;
-                }
-
-            }
+    /**
+     * Sets the value of the width property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setWidth(Integer value)
+    {
+      this.width = value;
+    }
 
-        }
+    /**
+     * Gets the value of the height property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getHeight()
+    {
+      return height;
+    }
 
+    /**
+     * Sets the value of the height property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setHeight(Integer value)
+    {
+      this.height = value;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;sequence>
-         *         &lt;element name="secondaryStructure" maxOccurs="unbounded">
-         *           &lt;complexType>
-         *             &lt;complexContent>
-         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *                 &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *                 &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-         *                 &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *               &lt;/restriction>
-         *             &lt;/complexContent>
-         *           &lt;/complexType>
-         *         &lt;/element>
-         *       &lt;/sequence>
-         *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-         *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *       &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *       &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "", propOrder = {
-            "secondaryStructure"
-        })
-        public static class RnaViewer {
-
-            @XmlElement(namespace = "www.jalview.org", required = true)
-            protected List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> secondaryStructure;
-            @XmlAttribute(name = "title")
-            protected String title;
-            @XmlAttribute(name = "viewId")
-            protected String viewId;
-            @XmlAttribute(name = "dividerLocation")
-            protected Integer dividerLocation;
-            @XmlAttribute(name = "selectedRna")
-            protected Integer selectedRna;
-            @XmlAttribute(name = "width")
-            protected Integer width;
-            @XmlAttribute(name = "height")
-            protected Integer height;
-            @XmlAttribute(name = "xpos")
-            protected Integer xpos;
-            @XmlAttribute(name = "ypos")
-            protected Integer ypos;
-
-            /**
-             * Gets the value of the secondaryStructure property.
-             * 
-             * <p>
-             * This accessor method returns a reference to the live list,
-             * not a snapshot. Therefore any modification you make to the
-             * returned list will be present inside the JAXB object.
-             * This is why there is not a <CODE>set</CODE> method for the secondaryStructure property.
-             * 
-             * <p>
-             * For example, to add a new item, do as follows:
-             * <pre>
-             *    getSecondaryStructure().add(newItem);
-             * </pre>
-             * 
-             * 
-             * <p>
-             * Objects of the following type(s) are allowed in the list
-             * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
-             * 
-             * 
-             */
-            public List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> getSecondaryStructure() {
-                if (secondaryStructure == null) {
-                    secondaryStructure = new ArrayList<JalviewModel.JSeq.RnaViewer.SecondaryStructure>();
-                }
-                return this.secondaryStructure;
-            }
-
-            /**
-             * Gets the value of the title property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
-             */
-            public String getTitle() {
-                return title;
-            }
-
-            /**
-             * Sets the value of the title property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
-             */
-            public void setTitle(String value) {
-                this.title = value;
-            }
-
-            /**
-             * Gets the value of the viewId property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
-             */
-            public String getViewId() {
-                return viewId;
-            }
-
-            /**
-             * Sets the value of the viewId property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
-             */
-            public void setViewId(String value) {
-                this.viewId = value;
-            }
-
-            /**
-             * Gets the value of the dividerLocation property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getDividerLocation() {
-                return dividerLocation;
-            }
-
-            /**
-             * Sets the value of the dividerLocation property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setDividerLocation(Integer value) {
-                this.dividerLocation = value;
-            }
-
-            /**
-             * Gets the value of the selectedRna property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getSelectedRna() {
-                return selectedRna;
-            }
-
-            /**
-             * Sets the value of the selectedRna property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setSelectedRna(Integer value) {
-                this.selectedRna = value;
-            }
-
-            /**
-             * Gets the value of the width property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getWidth() {
-                return width;
-            }
-
-            /**
-             * Sets the value of the width property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setWidth(Integer value) {
-                this.width = value;
-            }
-
-            /**
-             * Gets the value of the height property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getHeight() {
-                return height;
-            }
-
-            /**
-             * Sets the value of the height property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setHeight(Integer value) {
-                this.height = value;
-            }
-
-            /**
-             * Gets the value of the xpos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getXpos() {
-                return xpos;
-            }
-
-            /**
-             * Sets the value of the xpos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setXpos(Integer value) {
-                this.xpos = value;
-            }
-
-            /**
-             * Gets the value of the ypos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getYpos() {
-                return ypos;
-            }
-
-            /**
-             * Sets the value of the ypos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setYpos(Integer value) {
-                this.ypos = value;
-            }
-
-
-            /**
-             * <p>Java class for anonymous complex type.
-             * 
-             * <p>The following schema fragment specifies the expected content contained within this class.
-             * 
-             * <pre>
-             * &lt;complexType>
-             *   &lt;complexContent>
-             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-             *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-             *       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-             *       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-             *       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-             *     &lt;/restriction>
-             *   &lt;/complexContent>
-             * &lt;/complexType>
-             * </pre>
-             * 
-             * 
-             */
-            @XmlAccessorType(XmlAccessType.FIELD)
-            @XmlType(name = "")
-            public static class SecondaryStructure {
-
-                @XmlAttribute(name = "title")
-                protected String title;
-                @XmlAttribute(name = "annotationId", required = true)
-                protected String annotationId;
-                @XmlAttribute(name = "gapped")
-                protected Boolean gapped;
-                @XmlAttribute(name = "viewerState")
-                protected String viewerState;
-
-                /**
-                 * Gets the value of the title property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link String }
-                 *     
-                 */
-                public String getTitle() {
-                    return title;
-                }
-
-                /**
-                 * Sets the value of the title property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link String }
-                 *     
-                 */
-                public void setTitle(String value) {
-                    this.title = value;
-                }
-
-                /**
-                 * Gets the value of the annotationId property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link String }
-                 *     
-                 */
-                public String getAnnotationId() {
-                    return annotationId;
-                }
-
-                /**
-                 * Sets the value of the annotationId property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link String }
-                 *     
-                 */
-                public void setAnnotationId(String value) {
-                    this.annotationId = value;
-                }
-
-                /**
-                 * Gets the value of the gapped property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public Boolean isGapped() {
-                    return gapped;
-                }
-
-                /**
-                 * Sets the value of the gapped property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link Boolean }
-                 *     
-                 */
-                public void setGapped(Boolean value) {
-                    this.gapped = value;
-                }
-
-                /**
-                 * Gets the value of the viewerState property.
-                 * 
-                 * @return
-                 *     possible object is
-                 *     {@link String }
-                 *     
-                 */
-                public String getViewerState() {
-                    return viewerState;
-                }
-
-                /**
-                 * Sets the value of the viewerState property.
-                 * 
-                 * @param value
-                 *     allowed object is
-                 *     {@link String }
-                 *     
-                 */
-                public void setViewerState(String value) {
-                    this.viewerState = value;
-                }
-
-            }
+    /**
+     * Gets the value of the xpos property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getXpos()
+    {
+      return xpos;
+    }
 
-        }
+    /**
+     * Sets the value of the xpos property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setXpos(Integer value)
+    {
+      this.xpos = value;
+    }
 
+    /**
+     * Gets the value of the ypos property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getYpos()
+    {
+      return ypos;
     }
 
+    /**
+     * Sets the value of the ypos property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setYpos(Integer value)
+    {
+      this.ypos = value;
+    }
 
     /**
-     * <p>Java class for anonymous complex type.
+     * <p>
+     * Java class for anonymous complex type.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
      * 
      * <pre>
      * &lt;complexType>
      *   &lt;complexContent>
      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="sequencePoint" maxOccurs="unbounded">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;attGroup ref="{www.jalview.org}position"/>
-     *                 &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *         &lt;element name="axis" maxOccurs="3" minOccurs="3">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;attGroup ref="{www.jalview.org}position"/>
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *         &lt;element name="seqPointMin">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;attGroup ref="{www.jalview.org}position"/>
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *         &lt;element name="seqPointMax">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;attGroup ref="{www.jalview.org}position"/>
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *         &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/>
-     *       &lt;/sequence>
-     *       &lt;attGroup ref="{www.jalview.org}SimilarityParams"/>
-     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *       &lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *       &lt;attGroup ref="{www.jalview.org}position"/>
      *     &lt;/restriction>
      *   &lt;/complexContent>
      * &lt;/complexType>
@@ -3145,3670 +3859,3130 @@ public class JalviewModel {
      * 
      */
     @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "sequencePoint",
-        "axis",
-        "seqPointMin",
-        "seqPointMax",
-        "pcaData"
-    })
-    public static class PcaViewer {
-
-        @XmlElement(namespace = "www.jalview.org", required = true)
-        protected List<JalviewModel.PcaViewer.SequencePoint> sequencePoint;
-        @XmlElement(namespace = "www.jalview.org", required = true)
-        protected List<JalviewModel.PcaViewer.Axis> axis;
-        @XmlElement(namespace = "www.jalview.org", required = true)
-        protected JalviewModel.PcaViewer.SeqPointMin seqPointMin;
-        @XmlElement(namespace = "www.jalview.org", required = true)
-        protected JalviewModel.PcaViewer.SeqPointMax seqPointMax;
-        @XmlElement(namespace = "www.jalview.org", required = true)
-        protected PcaDataType pcaData;
-        @XmlAttribute(name = "title")
-        protected String title;
-        @XmlAttribute(name = "scoreModelName")
-        protected String scoreModelName;
-        @XmlAttribute(name = "xDim")
-        protected Integer xDim;
-        @XmlAttribute(name = "yDim")
-        protected Integer yDim;
-        @XmlAttribute(name = "zDim")
-        protected Integer zDim;
-        @XmlAttribute(name = "bgColour")
-        protected Integer bgColour;
-        @XmlAttribute(name = "scaleFactor")
-        protected Float scaleFactor;
-        @XmlAttribute(name = "showLabels")
-        protected Boolean showLabels;
-        @XmlAttribute(name = "linkToAllViews")
-        protected Boolean linkToAllViews;
-        @XmlAttribute(name = "includeGaps")
-        protected Boolean includeGaps;
-        @XmlAttribute(name = "matchGaps")
-        protected Boolean matchGaps;
-        @XmlAttribute(name = "includeGappedColumns")
-        protected Boolean includeGappedColumns;
-        @XmlAttribute(name = "denominateByShortestLength")
-        protected Boolean denominateByShortestLength;
-        @XmlAttribute(name = "width")
-        protected Integer width;
-        @XmlAttribute(name = "height")
-        protected Integer height;
-        @XmlAttribute(name = "xpos")
-        protected Integer xpos;
-        @XmlAttribute(name = "ypos")
-        protected Integer ypos;
-
-        /**
-         * Gets the value of the sequencePoint property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the sequencePoint property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getSequencePoint().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link JalviewModel.PcaViewer.SequencePoint }
-         * 
-         * 
-         */
-        public List<JalviewModel.PcaViewer.SequencePoint> getSequencePoint() {
-            if (sequencePoint == null) {
-                sequencePoint = new ArrayList<JalviewModel.PcaViewer.SequencePoint>();
-            }
-            return this.sequencePoint;
-        }
-
-        /**
-         * Gets the value of the axis property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the axis property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getAxis().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link JalviewModel.PcaViewer.Axis }
-         * 
-         * 
-         */
-        public List<JalviewModel.PcaViewer.Axis> getAxis() {
-            if (axis == null) {
-                axis = new ArrayList<JalviewModel.PcaViewer.Axis>();
-            }
-            return this.axis;
-        }
-
-        /**
-         * Gets the value of the seqPointMin property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link JalviewModel.PcaViewer.SeqPointMin }
-         *     
-         */
-        public JalviewModel.PcaViewer.SeqPointMin getSeqPointMin() {
-            return seqPointMin;
-        }
-
-        /**
-         * Sets the value of the seqPointMin property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link JalviewModel.PcaViewer.SeqPointMin }
-         *     
-         */
-        public void setSeqPointMin(JalviewModel.PcaViewer.SeqPointMin value) {
-            this.seqPointMin = value;
-        }
-
-        /**
-         * Gets the value of the seqPointMax property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link JalviewModel.PcaViewer.SeqPointMax }
-         *     
-         */
-        public JalviewModel.PcaViewer.SeqPointMax getSeqPointMax() {
-            return seqPointMax;
-        }
-
-        /**
-         * Sets the value of the seqPointMax property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link JalviewModel.PcaViewer.SeqPointMax }
-         *     
-         */
-        public void setSeqPointMax(JalviewModel.PcaViewer.SeqPointMax value) {
-            this.seqPointMax = value;
-        }
-
-        /**
-         * Gets the value of the pcaData property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link PcaDataType }
-         *     
-         */
-        public PcaDataType getPcaData() {
-            return pcaData;
-        }
-
-        /**
-         * Sets the value of the pcaData property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link PcaDataType }
-         *     
-         */
-        public void setPcaData(PcaDataType value) {
-            this.pcaData = value;
-        }
-
-        /**
-         * Gets the value of the title property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getTitle() {
-            return title;
-        }
-
-        /**
-         * Sets the value of the title property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setTitle(String value) {
-            this.title = value;
-        }
-
-        /**
-         * Gets the value of the scoreModelName property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getScoreModelName() {
-            return scoreModelName;
-        }
-
-        /**
-         * Sets the value of the scoreModelName property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setScoreModelName(String value) {
-            this.scoreModelName = value;
-        }
-
-        /**
-         * Gets the value of the xDim property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getXDim() {
-            return xDim;
-        }
-
-        /**
-         * Sets the value of the xDim property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setXDim(Integer value) {
-            this.xDim = value;
-        }
-
-        /**
-         * Gets the value of the yDim property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getYDim() {
-            return yDim;
-        }
+    @XmlType(name = "")
+    public static class Axis
+    {
+
+      @XmlAttribute(name = "xPos")
+      protected Float xPos;
+
+      @XmlAttribute(name = "yPos")
+      protected Float yPos;
+
+      @XmlAttribute(name = "zPos")
+      protected Float zPos;
+
+      /**
+       * Gets the value of the xPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getXPos()
+      {
+        return xPos;
+      }
+
+      /**
+       * Sets the value of the xPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setXPos(Float value)
+      {
+        this.xPos = value;
+      }
+
+      /**
+       * Gets the value of the yPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getYPos()
+      {
+        return yPos;
+      }
+
+      /**
+       * Sets the value of the yPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setYPos(Float value)
+      {
+        this.yPos = value;
+      }
+
+      /**
+       * Gets the value of the zPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getZPos()
+      {
+        return zPos;
+      }
+
+      /**
+       * Sets the value of the zPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setZPos(Float value)
+      {
+        this.zPos = value;
+      }
 
-        /**
-         * Sets the value of the yDim property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setYDim(Integer value) {
-            this.yDim = value;
-        }
+    }
 
-        /**
-         * Gets the value of the zDim property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getZDim() {
-            return zDim;
-        }
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;attGroup ref="{www.jalview.org}position"/>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class SeqPointMax
+    {
+
+      @XmlAttribute(name = "xPos")
+      protected Float xPos;
+
+      @XmlAttribute(name = "yPos")
+      protected Float yPos;
+
+      @XmlAttribute(name = "zPos")
+      protected Float zPos;
+
+      /**
+       * Gets the value of the xPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getXPos()
+      {
+        return xPos;
+      }
+
+      /**
+       * Sets the value of the xPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setXPos(Float value)
+      {
+        this.xPos = value;
+      }
+
+      /**
+       * Gets the value of the yPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getYPos()
+      {
+        return yPos;
+      }
+
+      /**
+       * Sets the value of the yPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setYPos(Float value)
+      {
+        this.yPos = value;
+      }
+
+      /**
+       * Gets the value of the zPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getZPos()
+      {
+        return zPos;
+      }
+
+      /**
+       * Sets the value of the zPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setZPos(Float value)
+      {
+        this.zPos = value;
+      }
 
-        /**
-         * Sets the value of the zDim property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setZDim(Integer value) {
-            this.zDim = value;
-        }
+    }
 
-        /**
-         * Gets the value of the bgColour property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getBgColour() {
-            return bgColour;
-        }
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;attGroup ref="{www.jalview.org}position"/>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class SeqPointMin
+    {
+
+      @XmlAttribute(name = "xPos")
+      protected Float xPos;
+
+      @XmlAttribute(name = "yPos")
+      protected Float yPos;
+
+      @XmlAttribute(name = "zPos")
+      protected Float zPos;
+
+      /**
+       * Gets the value of the xPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getXPos()
+      {
+        return xPos;
+      }
+
+      /**
+       * Sets the value of the xPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setXPos(Float value)
+      {
+        this.xPos = value;
+      }
+
+      /**
+       * Gets the value of the yPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getYPos()
+      {
+        return yPos;
+      }
+
+      /**
+       * Sets the value of the yPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setYPos(Float value)
+      {
+        this.yPos = value;
+      }
+
+      /**
+       * Gets the value of the zPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getZPos()
+      {
+        return zPos;
+      }
+
+      /**
+       * Sets the value of the zPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setZPos(Float value)
+      {
+        this.zPos = value;
+      }
 
-        /**
-         * Sets the value of the bgColour property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setBgColour(Integer value) {
-            this.bgColour = value;
-        }
+    }
 
-        /**
-         * Gets the value of the scaleFactor property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Float }
-         *     
-         */
-        public Float getScaleFactor() {
-            return scaleFactor;
-        }
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;attGroup ref="{www.jalview.org}position"/>
+     *       &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class SequencePoint
+    {
+
+      @XmlAttribute(name = "sequenceRef")
+      protected String sequenceRef;
+
+      @XmlAttribute(name = "xPos")
+      protected Float xPos;
+
+      @XmlAttribute(name = "yPos")
+      protected Float yPos;
+
+      @XmlAttribute(name = "zPos")
+      protected Float zPos;
+
+      /**
+       * Gets the value of the sequenceRef property.
+       * 
+       * @return possible object is {@link String }
+       * 
+       */
+      public String getSequenceRef()
+      {
+        return sequenceRef;
+      }
+
+      /**
+       * Sets the value of the sequenceRef property.
+       * 
+       * @param value
+       *          allowed object is {@link String }
+       * 
+       */
+      public void setSequenceRef(String value)
+      {
+        this.sequenceRef = value;
+      }
+
+      /**
+       * Gets the value of the xPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getXPos()
+      {
+        return xPos;
+      }
+
+      /**
+       * Sets the value of the xPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setXPos(Float value)
+      {
+        this.xPos = value;
+      }
+
+      /**
+       * Gets the value of the yPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getYPos()
+      {
+        return yPos;
+      }
+
+      /**
+       * Sets the value of the yPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setYPos(Float value)
+      {
+        this.yPos = value;
+      }
+
+      /**
+       * Gets the value of the zPos property.
+       * 
+       * @return possible object is {@link Float }
+       * 
+       */
+      public Float getZPos()
+      {
+        return zPos;
+      }
+
+      /**
+       * Sets the value of the zPos property.
+       * 
+       * @param value
+       *          allowed object is {@link Float }
+       * 
+       */
+      public void setZPos(Float value)
+      {
+        this.zPos = value;
+      }
 
-        /**
-         * Sets the value of the scaleFactor property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Float }
-         *     
-         */
-        public void setScaleFactor(Float value) {
-            this.scaleFactor = value;
-        }
+    }
 
-        /**
-         * Gets the value of the showLabels property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowLabels() {
-            return showLabels;
-        }
+  }
+
+  /**
+   * <p>
+   * Java class for anonymous complex type.
+   * 
+   * <p>
+   * The following schema fragment specifies the expected content contained
+   * within this class.
+   * 
+   * <pre>
+   * &lt;complexType>
+   *   &lt;complexContent>
+   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *       &lt;sequence minOccurs="0">
+   *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
+   *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
+   *       &lt;/sequence>
+   *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+   *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+   *       &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+   *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *     &lt;/restriction>
+   *   &lt;/complexContent>
+   * &lt;/complexType>
+   * </pre>
+   * 
+   * 
+   */
+  @XmlAccessorType(XmlAccessType.FIELD)
+  @XmlType(name = "", propOrder = { "title", "newick" })
+  public static class Tree
+  {
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected String title;
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected String newick;
+
+    @XmlAttribute(name = "fontName")
+    protected String fontName;
+
+    @XmlAttribute(name = "fontSize")
+    protected Integer fontSize;
+
+    @XmlAttribute(name = "fontStyle")
+    protected Integer fontStyle;
+
+    @XmlAttribute(name = "threshold")
+    protected Float threshold;
+
+    @XmlAttribute(name = "showBootstrap")
+    protected Boolean showBootstrap;
+
+    @XmlAttribute(name = "showDistances")
+    protected Boolean showDistances;
+
+    @XmlAttribute(name = "markUnlinked")
+    protected Boolean markUnlinked;
+
+    @XmlAttribute(name = "fitToWindow")
+    protected Boolean fitToWindow;
+
+    @XmlAttribute(name = "currentTree")
+    protected Boolean currentTree;
+
+    @XmlAttribute(name = "columnWise")
+    protected Boolean columnWise;
+
+    @XmlAttribute(name = "columnReference")
+    protected String columnReference;
+
+    @XmlAttribute(name = "id")
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    @XmlSchemaType(name = "ID")
+    protected String id;
+
+    @XmlAttribute(name = "linkToAllViews")
+    protected Boolean linkToAllViews;
+
+    @XmlAttribute(name = "width")
+    protected Integer width;
+
+    @XmlAttribute(name = "height")
+    protected Integer height;
+
+    @XmlAttribute(name = "xpos")
+    protected Integer xpos;
+
+    @XmlAttribute(name = "ypos")
+    protected Integer ypos;
 
-        /**
-         * Sets the value of the showLabels property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowLabels(Boolean value) {
-            this.showLabels = value;
-        }
+    /**
+     * Gets the value of the title property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getTitle()
+    {
+      return title;
+    }
 
-        /**
-         * Gets the value of the linkToAllViews property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isLinkToAllViews() {
-            return linkToAllViews;
-        }
+    /**
+     * Sets the value of the title property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setTitle(String value)
+    {
+      this.title = value;
+    }
 
-        /**
-         * Sets the value of the linkToAllViews property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setLinkToAllViews(Boolean value) {
-            this.linkToAllViews = value;
-        }
+    /**
+     * Gets the value of the newick property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getNewick()
+    {
+      return newick;
+    }
 
-        /**
-         * Gets the value of the includeGaps property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isIncludeGaps() {
-            return includeGaps;
-        }
+    /**
+     * Sets the value of the newick property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setNewick(String value)
+    {
+      this.newick = value;
+    }
 
-        /**
-         * Sets the value of the includeGaps property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setIncludeGaps(Boolean value) {
-            this.includeGaps = value;
-        }
+    /**
+     * Gets the value of the fontName property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getFontName()
+    {
+      return fontName;
+    }
 
-        /**
-         * Gets the value of the matchGaps property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isMatchGaps() {
-            return matchGaps;
-        }
+    /**
+     * Sets the value of the fontName property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setFontName(String value)
+    {
+      this.fontName = value;
+    }
 
-        /**
-         * Sets the value of the matchGaps property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setMatchGaps(Boolean value) {
-            this.matchGaps = value;
-        }
+    /**
+     * Gets the value of the fontSize property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getFontSize()
+    {
+      return fontSize;
+    }
 
-        /**
-         * Gets the value of the includeGappedColumns property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isIncludeGappedColumns() {
-            return includeGappedColumns;
-        }
+    /**
+     * Sets the value of the fontSize property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setFontSize(Integer value)
+    {
+      this.fontSize = value;
+    }
 
-        /**
-         * Sets the value of the includeGappedColumns property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setIncludeGappedColumns(Boolean value) {
-            this.includeGappedColumns = value;
-        }
+    /**
+     * Gets the value of the fontStyle property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getFontStyle()
+    {
+      return fontStyle;
+    }
 
-        /**
-         * Gets the value of the denominateByShortestLength property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isDenominateByShortestLength() {
-            return denominateByShortestLength;
-        }
+    /**
+     * Sets the value of the fontStyle property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setFontStyle(Integer value)
+    {
+      this.fontStyle = value;
+    }
 
-        /**
-         * Sets the value of the denominateByShortestLength property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setDenominateByShortestLength(Boolean value) {
-            this.denominateByShortestLength = value;
-        }
+    /**
+     * Gets the value of the threshold property.
+     * 
+     * @return possible object is {@link Float }
+     * 
+     */
+    public Float getThreshold()
+    {
+      return threshold;
+    }
 
-        /**
-         * Gets the value of the width property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getWidth() {
-            return width;
-        }
+    /**
+     * Sets the value of the threshold property.
+     * 
+     * @param value
+     *          allowed object is {@link Float }
+     * 
+     */
+    public void setThreshold(Float value)
+    {
+      this.threshold = value;
+    }
 
-        /**
-         * Sets the value of the width property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setWidth(Integer value) {
-            this.width = value;
-        }
+    /**
+     * Gets the value of the showBootstrap property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowBootstrap()
+    {
+      return showBootstrap;
+    }
 
-        /**
-         * Gets the value of the height property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getHeight() {
-            return height;
-        }
+    /**
+     * Sets the value of the showBootstrap property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowBootstrap(Boolean value)
+    {
+      this.showBootstrap = value;
+    }
 
-        /**
-         * Sets the value of the height property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setHeight(Integer value) {
-            this.height = value;
-        }
+    /**
+     * Gets the value of the showDistances property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowDistances()
+    {
+      return showDistances;
+    }
 
-        /**
-         * Gets the value of the xpos property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getXpos() {
-            return xpos;
-        }
+    /**
+     * Sets the value of the showDistances property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowDistances(Boolean value)
+    {
+      this.showDistances = value;
+    }
 
-        /**
-         * Sets the value of the xpos property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setXpos(Integer value) {
-            this.xpos = value;
-        }
+    /**
+     * Gets the value of the markUnlinked property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isMarkUnlinked()
+    {
+      return markUnlinked;
+    }
 
-        /**
-         * Gets the value of the ypos property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getYpos() {
-            return ypos;
-        }
+    /**
+     * Sets the value of the markUnlinked property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setMarkUnlinked(Boolean value)
+    {
+      this.markUnlinked = value;
+    }
 
-        /**
-         * Sets the value of the ypos property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setYpos(Integer value) {
-            this.ypos = value;
-        }
+    /**
+     * Gets the value of the fitToWindow property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isFitToWindow()
+    {
+      return fitToWindow;
+    }
 
+    /**
+     * Sets the value of the fitToWindow property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setFitToWindow(Boolean value)
+    {
+      this.fitToWindow = value;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;attGroup ref="{www.jalview.org}position"/>
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "")
-        public static class Axis {
-
-            @XmlAttribute(name = "xPos")
-            protected Float xPos;
-            @XmlAttribute(name = "yPos")
-            protected Float yPos;
-            @XmlAttribute(name = "zPos")
-            protected Float zPos;
-
-            /**
-             * Gets the value of the xPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getXPos() {
-                return xPos;
-            }
-
-            /**
-             * Sets the value of the xPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setXPos(Float value) {
-                this.xPos = value;
-            }
-
-            /**
-             * Gets the value of the yPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getYPos() {
-                return yPos;
-            }
-
-            /**
-             * Sets the value of the yPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setYPos(Float value) {
-                this.yPos = value;
-            }
-
-            /**
-             * Gets the value of the zPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getZPos() {
-                return zPos;
-            }
-
-            /**
-             * Sets the value of the zPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setZPos(Float value) {
-                this.zPos = value;
-            }
+    /**
+     * Gets the value of the currentTree property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isCurrentTree()
+    {
+      return currentTree;
+    }
 
-        }
+    /**
+     * Sets the value of the currentTree property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setCurrentTree(Boolean value)
+    {
+      this.currentTree = value;
+    }
 
+    /**
+     * Gets the value of the columnWise property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isColumnWise()
+    {
+      if (columnWise == null)
+      {
+        return false;
+      }
+      else
+      {
+        return columnWise;
+      }
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;attGroup ref="{www.jalview.org}position"/>
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "")
-        public static class SeqPointMax {
-
-            @XmlAttribute(name = "xPos")
-            protected Float xPos;
-            @XmlAttribute(name = "yPos")
-            protected Float yPos;
-            @XmlAttribute(name = "zPos")
-            protected Float zPos;
-
-            /**
-             * Gets the value of the xPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getXPos() {
-                return xPos;
-            }
-
-            /**
-             * Sets the value of the xPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setXPos(Float value) {
-                this.xPos = value;
-            }
-
-            /**
-             * Gets the value of the yPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getYPos() {
-                return yPos;
-            }
-
-            /**
-             * Sets the value of the yPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setYPos(Float value) {
-                this.yPos = value;
-            }
-
-            /**
-             * Gets the value of the zPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getZPos() {
-                return zPos;
-            }
-
-            /**
-             * Sets the value of the zPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setZPos(Float value) {
-                this.zPos = value;
-            }
+    /**
+     * Sets the value of the columnWise property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setColumnWise(Boolean value)
+    {
+      this.columnWise = value;
+    }
+
+    /**
+     * Gets the value of the columnReference property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getColumnReference()
+    {
+      return columnReference;
+    }
+
+    /**
+     * Sets the value of the columnReference property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setColumnReference(String value)
+    {
+      this.columnReference = value;
+    }
 
-        }
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getId()
+    {
+      return id;
+    }
 
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setId(String value)
+    {
+      this.id = value;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;attGroup ref="{www.jalview.org}position"/>
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "")
-        public static class SeqPointMin {
-
-            @XmlAttribute(name = "xPos")
-            protected Float xPos;
-            @XmlAttribute(name = "yPos")
-            protected Float yPos;
-            @XmlAttribute(name = "zPos")
-            protected Float zPos;
-
-            /**
-             * Gets the value of the xPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getXPos() {
-                return xPos;
-            }
-
-            /**
-             * Sets the value of the xPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setXPos(Float value) {
-                this.xPos = value;
-            }
-
-            /**
-             * Gets the value of the yPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getYPos() {
-                return yPos;
-            }
-
-            /**
-             * Sets the value of the yPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setYPos(Float value) {
-                this.yPos = value;
-            }
-
-            /**
-             * Gets the value of the zPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getZPos() {
-                return zPos;
-            }
-
-            /**
-             * Sets the value of the zPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setZPos(Float value) {
-                this.zPos = value;
-            }
+    /**
+     * Gets the value of the linkToAllViews property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isLinkToAllViews()
+    {
+      if (linkToAllViews == null)
+      {
+        return false;
+      }
+      else
+      {
+        return linkToAllViews;
+      }
+    }
 
-        }
+    /**
+     * Sets the value of the linkToAllViews property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setLinkToAllViews(Boolean value)
+    {
+      this.linkToAllViews = value;
+    }
 
+    /**
+     * Gets the value of the width property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getWidth()
+    {
+      return width;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;attGroup ref="{www.jalview.org}position"/>
-         *       &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "")
-        public static class SequencePoint {
-
-            @XmlAttribute(name = "sequenceRef")
-            protected String sequenceRef;
-            @XmlAttribute(name = "xPos")
-            protected Float xPos;
-            @XmlAttribute(name = "yPos")
-            protected Float yPos;
-            @XmlAttribute(name = "zPos")
-            protected Float zPos;
-
-            /**
-             * Gets the value of the sequenceRef property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
-             */
-            public String getSequenceRef() {
-                return sequenceRef;
-            }
-
-            /**
-             * Sets the value of the sequenceRef property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
-             */
-            public void setSequenceRef(String value) {
-                this.sequenceRef = value;
-            }
-
-            /**
-             * Gets the value of the xPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getXPos() {
-                return xPos;
-            }
-
-            /**
-             * Sets the value of the xPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setXPos(Float value) {
-                this.xPos = value;
-            }
-
-            /**
-             * Gets the value of the yPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getYPos() {
-                return yPos;
-            }
-
-            /**
-             * Sets the value of the yPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setYPos(Float value) {
-                this.yPos = value;
-            }
-
-            /**
-             * Gets the value of the zPos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Float }
-             *     
-             */
-            public Float getZPos() {
-                return zPos;
-            }
-
-            /**
-             * Sets the value of the zPos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Float }
-             *     
-             */
-            public void setZPos(Float value) {
-                this.zPos = value;
-            }
+    /**
+     * Sets the value of the width property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setWidth(Integer value)
+    {
+      this.width = value;
+    }
 
-        }
+    /**
+     * Gets the value of the height property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getHeight()
+    {
+      return height;
+    }
 
+    /**
+     * Sets the value of the height property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setHeight(Integer value)
+    {
+      this.height = value;
     }
 
+    /**
+     * Gets the value of the xpos property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getXpos()
+    {
+      return xpos;
+    }
 
     /**
-     * <p>Java class for anonymous complex type.
+     * Sets the value of the xpos property.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * @param value
+     *          allowed object is {@link Integer }
      * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence minOccurs="0">
-     *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
-     *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
-     *       &lt;/sequence>
-     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *       &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
-     *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
+     */
+    public void setXpos(Integer value)
+    {
+      this.xpos = value;
+    }
+
+    /**
+     * Gets the value of the ypos property.
      * 
+     * @return possible object is {@link Integer }
      * 
      */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "title",
-        "newick"
-    })
-    public static class Tree {
+    public Integer getYpos()
+    {
+      return ypos;
+    }
 
-        @XmlElement(namespace = "www.jalview.org")
-        protected String title;
-        @XmlElement(namespace = "www.jalview.org")
-        protected String newick;
-        @XmlAttribute(name = "fontName")
-        protected String fontName;
-        @XmlAttribute(name = "fontSize")
-        protected Integer fontSize;
-        @XmlAttribute(name = "fontStyle")
-        protected Integer fontStyle;
-        @XmlAttribute(name = "threshold")
-        protected Float threshold;
-        @XmlAttribute(name = "showBootstrap")
-        protected Boolean showBootstrap;
-        @XmlAttribute(name = "showDistances")
-        protected Boolean showDistances;
-        @XmlAttribute(name = "markUnlinked")
-        protected Boolean markUnlinked;
-        @XmlAttribute(name = "fitToWindow")
-        protected Boolean fitToWindow;
-        @XmlAttribute(name = "currentTree")
-        protected Boolean currentTree;
-        @XmlAttribute(name = "columnWise")
-        protected Boolean columnWise;
-        @XmlAttribute(name = "columnReference")
-        protected String columnReference;
-        @XmlAttribute(name = "id")
-        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-        @XmlID
-        @XmlSchemaType(name = "ID")
-        protected String id;
-        @XmlAttribute(name = "linkToAllViews")
-        protected Boolean linkToAllViews;
-        @XmlAttribute(name = "width")
-        protected Integer width;
-        @XmlAttribute(name = "height")
-        protected Integer height;
-        @XmlAttribute(name = "xpos")
-        protected Integer xpos;
-        @XmlAttribute(name = "ypos")
-        protected Integer ypos;
+    /**
+     * Sets the value of the ypos property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setYpos(Integer value)
+    {
+      this.ypos = value;
+    }
 
-        /**
-         * Gets the value of the title property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getTitle() {
-            return title;
-        }
+  }
+
+  /**
+   * <p>
+   * Java class for anonymous complex type.
+   * 
+   * <p>
+   * The following schema fragment specifies the expected content contained
+   * within this class.
+   * 
+   * <pre>
+   * &lt;complexType>
+   *   &lt;complexContent>
+   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *       &lt;sequence>
+   *         &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
+   *       &lt;/sequence>
+   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *     &lt;/restriction>
+   *   &lt;/complexContent>
+   * &lt;/complexType>
+   * </pre>
+   * 
+   * 
+   */
+  @XmlAccessorType(XmlAccessType.FIELD)
+  @XmlType(name = "", propOrder = { "userColourScheme" })
+  public static class UserColours
+  {
+
+    @XmlElement(
+      name = "UserColourScheme",
+      namespace = "www.jalview.org",
+      required = true)
+    protected JalviewUserColours userColourScheme;
+
+    @XmlAttribute(name = "id")
+    protected String id;
 
-        /**
-         * Sets the value of the title property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setTitle(String value) {
-            this.title = value;
-        }
+    /**
+     * Gets the value of the userColourScheme property.
+     * 
+     * @return possible object is {@link JalviewUserColours }
+     * 
+     */
+    public JalviewUserColours getUserColourScheme()
+    {
+      return userColourScheme;
+    }
 
-        /**
-         * Gets the value of the newick property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getNewick() {
-            return newick;
-        }
+    /**
+     * Sets the value of the userColourScheme property.
+     * 
+     * @param value
+     *          allowed object is {@link JalviewUserColours }
+     * 
+     */
+    public void setUserColourScheme(JalviewUserColours value)
+    {
+      this.userColourScheme = value;
+    }
 
-        /**
-         * Sets the value of the newick property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setNewick(String value) {
-            this.newick = value;
-        }
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getId()
+    {
+      return id;
+    }
 
-        /**
-         * Gets the value of the fontName property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getFontName() {
-            return fontName;
-        }
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setId(String value)
+    {
+      this.id = value;
+    }
 
-        /**
-         * Sets the value of the fontName property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setFontName(String value) {
-            this.fontName = value;
-        }
+  }
+
+  /**
+   * <p>
+   * Java class for anonymous complex type.
+   * 
+   * <p>
+   * The following schema fragment specifies the expected content contained
+   * within this class.
+   * 
+   * <pre>
+   * &lt;complexType>
+   *   &lt;complexContent>
+   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *       &lt;sequence>
+   *         &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+   *         &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *                 &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *         &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
+   *                 &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *                 &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *                 &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *               &lt;/extension>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *         &lt;element name="overview" minOccurs="0">
+   *           &lt;complexType>
+   *             &lt;complexContent>
+   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+   *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+   *                 &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *                 &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *                 &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *                 &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *               &lt;/restriction>
+   *             &lt;/complexContent>
+   *           &lt;/complexType>
+   *         &lt;/element>
+   *       &lt;/sequence>
+   *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+   *       &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *       &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *       &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *       &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="charWidth" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+   *       &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+   *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+   *       &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
+   *       &lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *       &lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+   *     &lt;/restriction>
+   *   &lt;/complexContent>
+   * &lt;/complexType>
+   * </pre>
+   * 
+   * 
+   */
+  @XmlAccessorType(XmlAccessType.FIELD)
+  @XmlType(
+    name = "",
+    propOrder =
+    { "annotationColours", "hiddenColumns", "calcIdParam", "overview" })
+  public static class Viewport
+  {
+
+    @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
+    protected AnnotationColourScheme annotationColours;
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected List<JalviewModel.Viewport.HiddenColumns> hiddenColumns;
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected List<JalviewModel.Viewport.CalcIdParam> calcIdParam;
+
+    @XmlElement(namespace = "www.jalview.org")
+    protected JalviewModel.Viewport.Overview overview;
+
+    @XmlAttribute(name = "conservationSelected")
+    protected Boolean conservationSelected;
+
+    @XmlAttribute(name = "pidSelected")
+    protected Boolean pidSelected;
+
+    @XmlAttribute(name = "bgColour")
+    protected String bgColour;
+
+    @XmlAttribute(name = "consThreshold")
+    protected Integer consThreshold;
+
+    @XmlAttribute(name = "pidThreshold")
+    protected Integer pidThreshold;
+
+    @XmlAttribute(name = "title")
+    protected String title;
+
+    @XmlAttribute(name = "showFullId")
+    protected Boolean showFullId;
+
+    @XmlAttribute(name = "rightAlignIds")
+    protected Boolean rightAlignIds;
+
+    @XmlAttribute(name = "showText")
+    protected Boolean showText;
+
+    @XmlAttribute(name = "showColourText")
+    protected Boolean showColourText;
+
+    @XmlAttribute(name = "showUnconserved")
+    protected Boolean showUnconserved;
+
+    @XmlAttribute(name = "showBoxes")
+    protected Boolean showBoxes;
+
+    @XmlAttribute(name = "wrapAlignment")
+    protected Boolean wrapAlignment;
 
-        /**
-         * Gets the value of the fontSize property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getFontSize() {
-            return fontSize;
-        }
+    @XmlAttribute(name = "renderGaps")
+    protected Boolean renderGaps;
 
-        /**
-         * Sets the value of the fontSize property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setFontSize(Integer value) {
-            this.fontSize = value;
-        }
+    @XmlAttribute(name = "showSequenceFeatures")
+    protected Boolean showSequenceFeatures;
 
-        /**
-         * Gets the value of the fontStyle property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getFontStyle() {
-            return fontStyle;
-        }
+    @XmlAttribute(name = "showNPfeatureTooltip")
+    protected Boolean showNPfeatureTooltip;
 
-        /**
-         * Sets the value of the fontStyle property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setFontStyle(Integer value) {
-            this.fontStyle = value;
-        }
+    @XmlAttribute(name = "showDbRefTooltip")
+    protected Boolean showDbRefTooltip;
 
-        /**
-         * Gets the value of the threshold property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Float }
-         *     
-         */
-        public Float getThreshold() {
-            return threshold;
-        }
+    @XmlAttribute(name = "followHighlight")
+    protected Boolean followHighlight;
 
-        /**
-         * Sets the value of the threshold property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Float }
-         *     
-         */
-        public void setThreshold(Float value) {
-            this.threshold = value;
-        }
+    @XmlAttribute(name = "followSelection")
+    protected Boolean followSelection;
 
-        /**
-         * Gets the value of the showBootstrap property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowBootstrap() {
-            return showBootstrap;
-        }
+    @XmlAttribute(name = "showAnnotation")
+    protected Boolean showAnnotation;
 
-        /**
-         * Sets the value of the showBootstrap property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowBootstrap(Boolean value) {
-            this.showBootstrap = value;
-        }
+    @XmlAttribute(name = "centreColumnLabels")
+    protected Boolean centreColumnLabels;
 
-        /**
-         * Gets the value of the showDistances property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowDistances() {
-            return showDistances;
-        }
+    @XmlAttribute(name = "showGroupConservation")
+    protected Boolean showGroupConservation;
 
-        /**
-         * Sets the value of the showDistances property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowDistances(Boolean value) {
-            this.showDistances = value;
-        }
+    @XmlAttribute(name = "showGroupConsensus")
+    protected Boolean showGroupConsensus;
 
-        /**
-         * Gets the value of the markUnlinked property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isMarkUnlinked() {
-            return markUnlinked;
-        }
+    @XmlAttribute(name = "showConsensusHistogram")
+    protected Boolean showConsensusHistogram;
 
-        /**
-         * Sets the value of the markUnlinked property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setMarkUnlinked(Boolean value) {
-            this.markUnlinked = value;
-        }
+    @XmlAttribute(name = "showSequenceLogo")
+    protected Boolean showSequenceLogo;
 
-        /**
-         * Gets the value of the fitToWindow property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isFitToWindow() {
-            return fitToWindow;
-        }
+    @XmlAttribute(name = "normaliseSequenceLogo")
+    protected Boolean normaliseSequenceLogo;
 
-        /**
-         * Sets the value of the fitToWindow property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setFitToWindow(Boolean value) {
-            this.fitToWindow = value;
-        }
+    @XmlAttribute(name = "ignoreGapsinConsensus")
+    protected Boolean ignoreGapsinConsensus;
 
-        /**
-         * Gets the value of the currentTree property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isCurrentTree() {
-            return currentTree;
-        }
+    @XmlAttribute(name = "startRes")
+    protected Integer startRes;
 
-        /**
-         * Sets the value of the currentTree property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setCurrentTree(Boolean value) {
-            this.currentTree = value;
-        }
+    @XmlAttribute(name = "startSeq")
+    protected Integer startSeq;
 
-        /**
-         * Gets the value of the columnWise property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isColumnWise() {
-            if (columnWise == null) {
-                return false;
-            } else {
-                return columnWise;
-            }
-        }
+    @XmlAttribute(name = "charWidth")
+    protected Integer charWidth;
 
-        /**
-         * Sets the value of the columnWise property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setColumnWise(Boolean value) {
-            this.columnWise = value;
-        }
+    @XmlAttribute(name = "charHeight")
+    protected Integer charHeight;
 
-        /**
-         * Gets the value of the columnReference property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getColumnReference() {
-            return columnReference;
-        }
+    @XmlAttribute(name = "fontName")
+    protected String fontName;
 
-        /**
-         * Sets the value of the columnReference property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setColumnReference(String value) {
-            this.columnReference = value;
-        }
+    @XmlAttribute(name = "fontSize")
+    protected Integer fontSize;
 
-        /**
-         * Gets the value of the id property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getId() {
-            return id;
-        }
+    @XmlAttribute(name = "fontStyle")
+    protected Integer fontStyle;
 
-        /**
-         * Sets the value of the id property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setId(String value) {
-            this.id = value;
-        }
+    @XmlAttribute(name = "scaleProteinAsCdna")
+    protected Boolean scaleProteinAsCdna;
 
-        /**
-         * Gets the value of the linkToAllViews property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isLinkToAllViews() {
-            if (linkToAllViews == null) {
-                return false;
-            } else {
-                return linkToAllViews;
-            }
-        }
+    @XmlAttribute(name = "viewName")
+    protected String viewName;
 
-        /**
-         * Sets the value of the linkToAllViews property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setLinkToAllViews(Boolean value) {
-            this.linkToAllViews = value;
-        }
+    @XmlAttribute(name = "sequenceSetId")
+    protected String sequenceSetId;
+
+    @XmlAttribute(name = "gatheredViews")
+    protected Boolean gatheredViews;
 
-        /**
-         * Gets the value of the width property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getWidth() {
-            return width;
-        }
+    @XmlAttribute(name = "textCol1")
+    protected Integer textCol1;
 
-        /**
-         * Sets the value of the width property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setWidth(Integer value) {
-            this.width = value;
-        }
+    @XmlAttribute(name = "textCol2")
+    protected Integer textCol2;
 
-        /**
-         * Gets the value of the height property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getHeight() {
-            return height;
-        }
+    @XmlAttribute(name = "textColThreshold")
+    protected Integer textColThreshold;
 
-        /**
-         * Sets the value of the height property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setHeight(Integer value) {
-            this.height = value;
-        }
+    @XmlAttribute(name = "id")
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    @XmlSchemaType(name = "ID")
+    protected String id;
 
-        /**
-         * Gets the value of the xpos property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getXpos() {
-            return xpos;
-        }
+    @XmlAttribute(name = "complementId")
+    protected String complementId;
 
-        /**
-         * Sets the value of the xpos property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setXpos(Integer value) {
-            this.xpos = value;
-        }
+    @XmlAttribute(name = "showComplementFeatures")
+    protected Boolean showComplementFeatures;
 
-        /**
-         * Gets the value of the ypos property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getYpos() {
-            return ypos;
-        }
+    @XmlAttribute(name = "showComplementFeaturesOnTop")
+    protected Boolean showComplementFeaturesOnTop;
 
-        /**
-         * Sets the value of the ypos property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setYpos(Integer value) {
-            this.ypos = value;
-        }
+    @XmlAttribute(name = "width")
+    protected Integer width;
 
+    @XmlAttribute(name = "height")
+    protected Integer height;
+
+    @XmlAttribute(name = "xpos")
+    protected Integer xpos;
+
+    @XmlAttribute(name = "ypos")
+    protected Integer ypos;
+
+    /**
+     * Gets the value of the annotationColours property.
+     * 
+     * @return possible object is {@link AnnotationColourScheme }
+     * 
+     */
+    public AnnotationColourScheme getAnnotationColours()
+    {
+      return annotationColours;
     }
 
+    /**
+     * Sets the value of the annotationColours property.
+     * 
+     * @param value
+     *          allowed object is {@link AnnotationColourScheme }
+     * 
+     */
+    public void setAnnotationColours(AnnotationColourScheme value)
+    {
+      this.annotationColours = value;
+    }
 
     /**
-     * <p>Java class for anonymous complex type.
+     * Gets the value of the hiddenColumns property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the hiddenColumns property.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * <p>
+     * For example, to add a new item, do as follows:
      * 
      * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
-     *       &lt;/sequence>
-     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
+     * getHiddenColumns().add(newItem);
      * </pre>
      * 
      * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.Viewport.HiddenColumns }
+     * 
+     * 
      */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "userColourScheme"
-    })
-    public static class UserColours {
-
-        @XmlElement(name = "UserColourScheme", namespace = "www.jalview.org", required = true)
-        protected JalviewUserColours userColourScheme;
-        @XmlAttribute(name = "id")
-        protected String id;
-
-        /**
-         * Gets the value of the userColourScheme property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link JalviewUserColours }
-         *     
-         */
-        public JalviewUserColours getUserColourScheme() {
-            return userColourScheme;
-        }
-
-        /**
-         * Sets the value of the userColourScheme property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link JalviewUserColours }
-         *     
-         */
-        public void setUserColourScheme(JalviewUserColours value) {
-            this.userColourScheme = value;
-        }
-
-        /**
-         * Gets the value of the id property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getId() {
-            return id;
-        }
-
-        /**
-         * Sets the value of the id property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setId(String value) {
-            this.id = value;
-        }
-
+    public List<JalviewModel.Viewport.HiddenColumns> getHiddenColumns()
+    {
+      if (hiddenColumns == null)
+      {
+        hiddenColumns = new ArrayList<JalviewModel.Viewport.HiddenColumns>();
+      }
+      return this.hiddenColumns;
     }
 
-
     /**
-     * <p>Java class for anonymous complex type.
+     * Gets the value of the calcIdParam property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list, not a
+     * snapshot. Therefore any modification you make to the returned list will
+     * be present inside the JAXB object. This is why there is not a
+     * <CODE>set</CODE> method for the calcIdParam property.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * <p>
+     * For example, to add a new item, do as follows:
      * 
      * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
-     *         &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *                 &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *         &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
-     *                 &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                 &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *                 &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *               &lt;/extension>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *         &lt;element name="overview" minOccurs="0">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *                 &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *                 &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *                 &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *                 &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *       &lt;/sequence>
-     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *       &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *       &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *       &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *       &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="charWidth" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *       &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
-     *       &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
+     * getCalcIdParam().add(newItem);
      * </pre>
      * 
      * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.Viewport.CalcIdParam }
+     * 
+     * 
      */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "annotationColours",
-        "hiddenColumns",
-        "calcIdParam",
-        "overview"
-    })
-    public static class Viewport {
-
-        @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
-        protected AnnotationColourScheme annotationColours;
-        @XmlElement(namespace = "www.jalview.org")
-        protected List<JalviewModel.Viewport.HiddenColumns> hiddenColumns;
-        @XmlElement(namespace = "www.jalview.org")
-        protected List<JalviewModel.Viewport.CalcIdParam> calcIdParam;
-        @XmlElement(namespace = "www.jalview.org")
-        protected JalviewModel.Viewport.Overview overview;
-        @XmlAttribute(name = "conservationSelected")
-        protected Boolean conservationSelected;
-        @XmlAttribute(name = "pidSelected")
-        protected Boolean pidSelected;
-        @XmlAttribute(name = "bgColour")
-        protected String bgColour;
-        @XmlAttribute(name = "consThreshold")
-        protected Integer consThreshold;
-        @XmlAttribute(name = "pidThreshold")
-        protected Integer pidThreshold;
-        @XmlAttribute(name = "title")
-        protected String title;
-        @XmlAttribute(name = "showFullId")
-        protected Boolean showFullId;
-        @XmlAttribute(name = "rightAlignIds")
-        protected Boolean rightAlignIds;
-        @XmlAttribute(name = "showText")
-        protected Boolean showText;
-        @XmlAttribute(name = "showColourText")
-        protected Boolean showColourText;
-        @XmlAttribute(name = "showUnconserved")
-        protected Boolean showUnconserved;
-        @XmlAttribute(name = "showBoxes")
-        protected Boolean showBoxes;
-        @XmlAttribute(name = "wrapAlignment")
-        protected Boolean wrapAlignment;
-        @XmlAttribute(name = "renderGaps")
-        protected Boolean renderGaps;
-        @XmlAttribute(name = "showSequenceFeatures")
-        protected Boolean showSequenceFeatures;
-        @XmlAttribute(name = "showNPfeatureTooltip")
-        protected Boolean showNPfeatureTooltip;
-        @XmlAttribute(name = "showDbRefTooltip")
-        protected Boolean showDbRefTooltip;
-        @XmlAttribute(name = "followHighlight")
-        protected Boolean followHighlight;
-        @XmlAttribute(name = "followSelection")
-        protected Boolean followSelection;
-        @XmlAttribute(name = "showAnnotation")
-        protected Boolean showAnnotation;
-        @XmlAttribute(name = "centreColumnLabels")
-        protected Boolean centreColumnLabels;
-        @XmlAttribute(name = "showGroupConservation")
-        protected Boolean showGroupConservation;
-        @XmlAttribute(name = "showGroupConsensus")
-        protected Boolean showGroupConsensus;
-        @XmlAttribute(name = "showConsensusHistogram")
-        protected Boolean showConsensusHistogram;
-        @XmlAttribute(name = "showSequenceLogo")
-        protected Boolean showSequenceLogo;
-        @XmlAttribute(name = "normaliseSequenceLogo")
-        protected Boolean normaliseSequenceLogo;
-        @XmlAttribute(name = "ignoreGapsinConsensus")
-        protected Boolean ignoreGapsinConsensus;
-        @XmlAttribute(name = "startRes")
-        protected Integer startRes;
-        @XmlAttribute(name = "startSeq")
-        protected Integer startSeq;
-        @XmlAttribute(name = "charWidth")
-        protected Integer charWidth;
-        @XmlAttribute(name = "charHeight")
-        protected Integer charHeight;
-        @XmlAttribute(name = "fontName")
-        protected String fontName;
-        @XmlAttribute(name = "fontSize")
-        protected Integer fontSize;
-        @XmlAttribute(name = "fontStyle")
-        protected Integer fontStyle;
-        @XmlAttribute(name = "scaleProteinAsCdna")
-        protected Boolean scaleProteinAsCdna;
-        @XmlAttribute(name = "viewName")
-        protected String viewName;
-        @XmlAttribute(name = "sequenceSetId")
-        protected String sequenceSetId;
-        @XmlAttribute(name = "gatheredViews")
-        protected Boolean gatheredViews;
-        @XmlAttribute(name = "textCol1")
-        protected Integer textCol1;
-        @XmlAttribute(name = "textCol2")
-        protected Integer textCol2;
-        @XmlAttribute(name = "textColThreshold")
-        protected Integer textColThreshold;
-        @XmlAttribute(name = "id")
-        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-        @XmlID
-        @XmlSchemaType(name = "ID")
-        protected String id;
-        @XmlAttribute(name = "complementId")
-        protected String complementId;
-        @XmlAttribute(name = "showComplementFeatures")
-        protected Boolean showComplementFeatures;
-        @XmlAttribute(name = "showComplementFeaturesOnTop")
-        protected Boolean showComplementFeaturesOnTop;
-        @XmlAttribute(name = "width")
-        protected Integer width;
-        @XmlAttribute(name = "height")
-        protected Integer height;
-        @XmlAttribute(name = "xpos")
-        protected Integer xpos;
-        @XmlAttribute(name = "ypos")
-        protected Integer ypos;
-
-        /**
-         * Gets the value of the annotationColours property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link AnnotationColourScheme }
-         *     
-         */
-        public AnnotationColourScheme getAnnotationColours() {
-            return annotationColours;
-        }
-
-        /**
-         * Sets the value of the annotationColours property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link AnnotationColourScheme }
-         *     
-         */
-        public void setAnnotationColours(AnnotationColourScheme value) {
-            this.annotationColours = value;
-        }
-
-        /**
-         * Gets the value of the hiddenColumns property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the hiddenColumns property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getHiddenColumns().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link JalviewModel.Viewport.HiddenColumns }
-         * 
-         * 
-         */
-        public List<JalviewModel.Viewport.HiddenColumns> getHiddenColumns() {
-            if (hiddenColumns == null) {
-                hiddenColumns = new ArrayList<JalviewModel.Viewport.HiddenColumns>();
-            }
-            return this.hiddenColumns;
-        }
-
-        /**
-         * Gets the value of the calcIdParam property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the calcIdParam property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getCalcIdParam().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link JalviewModel.Viewport.CalcIdParam }
-         * 
-         * 
-         */
-        public List<JalviewModel.Viewport.CalcIdParam> getCalcIdParam() {
-            if (calcIdParam == null) {
-                calcIdParam = new ArrayList<JalviewModel.Viewport.CalcIdParam>();
-            }
-            return this.calcIdParam;
-        }
-
-        /**
-         * Gets the value of the overview property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link JalviewModel.Viewport.Overview }
-         *     
-         */
-        public JalviewModel.Viewport.Overview getOverview() {
-            return overview;
-        }
-
-        /**
-         * Sets the value of the overview property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link JalviewModel.Viewport.Overview }
-         *     
-         */
-        public void setOverview(JalviewModel.Viewport.Overview value) {
-            this.overview = value;
-        }
-
-        /**
-         * Gets the value of the conservationSelected property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isConservationSelected() {
-            return conservationSelected;
-        }
-
-        /**
-         * Sets the value of the conservationSelected property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setConservationSelected(Boolean value) {
-            this.conservationSelected = value;
-        }
-
-        /**
-         * Gets the value of the pidSelected property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isPidSelected() {
-            return pidSelected;
-        }
-
-        /**
-         * Sets the value of the pidSelected property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setPidSelected(Boolean value) {
-            this.pidSelected = value;
-        }
-
-        /**
-         * Gets the value of the bgColour property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getBgColour() {
-            return bgColour;
-        }
+    public List<JalviewModel.Viewport.CalcIdParam> getCalcIdParam()
+    {
+      if (calcIdParam == null)
+      {
+        calcIdParam = new ArrayList<JalviewModel.Viewport.CalcIdParam>();
+      }
+      return this.calcIdParam;
+    }
 
-        /**
-         * Sets the value of the bgColour property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setBgColour(String value) {
-            this.bgColour = value;
-        }
+    /**
+     * Gets the value of the overview property.
+     * 
+     * @return possible object is {@link JalviewModel.Viewport.Overview }
+     * 
+     */
+    public JalviewModel.Viewport.Overview getOverview()
+    {
+      return overview;
+    }
 
-        /**
-         * Gets the value of the consThreshold property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getConsThreshold() {
-            return consThreshold;
-        }
+    /**
+     * Sets the value of the overview property.
+     * 
+     * @param value
+     *          allowed object is {@link JalviewModel.Viewport.Overview }
+     * 
+     */
+    public void setOverview(JalviewModel.Viewport.Overview value)
+    {
+      this.overview = value;
+    }
 
-        /**
-         * Sets the value of the consThreshold property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setConsThreshold(Integer value) {
-            this.consThreshold = value;
-        }
+    /**
+     * Gets the value of the conservationSelected property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isConservationSelected()
+    {
+      return conservationSelected;
+    }
 
-        /**
-         * Gets the value of the pidThreshold property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getPidThreshold() {
-            return pidThreshold;
-        }
+    /**
+     * Sets the value of the conservationSelected property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setConservationSelected(Boolean value)
+    {
+      this.conservationSelected = value;
+    }
 
-        /**
-         * Sets the value of the pidThreshold property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setPidThreshold(Integer value) {
-            this.pidThreshold = value;
-        }
+    /**
+     * Gets the value of the pidSelected property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isPidSelected()
+    {
+      return pidSelected;
+    }
 
-        /**
-         * Gets the value of the title property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getTitle() {
-            return title;
-        }
+    /**
+     * Sets the value of the pidSelected property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setPidSelected(Boolean value)
+    {
+      this.pidSelected = value;
+    }
 
-        /**
-         * Sets the value of the title property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setTitle(String value) {
-            this.title = value;
-        }
+    /**
+     * Gets the value of the bgColour property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getBgColour()
+    {
+      return bgColour;
+    }
 
-        /**
-         * Gets the value of the showFullId property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowFullId() {
-            return showFullId;
-        }
+    /**
+     * Sets the value of the bgColour property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setBgColour(String value)
+    {
+      this.bgColour = value;
+    }
 
-        /**
-         * Sets the value of the showFullId property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowFullId(Boolean value) {
-            this.showFullId = value;
-        }
+    /**
+     * Gets the value of the consThreshold property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getConsThreshold()
+    {
+      return consThreshold;
+    }
 
-        /**
-         * Gets the value of the rightAlignIds property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isRightAlignIds() {
-            return rightAlignIds;
-        }
+    /**
+     * Sets the value of the consThreshold property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setConsThreshold(Integer value)
+    {
+      this.consThreshold = value;
+    }
 
-        /**
-         * Sets the value of the rightAlignIds property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setRightAlignIds(Boolean value) {
-            this.rightAlignIds = value;
-        }
+    /**
+     * Gets the value of the pidThreshold property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getPidThreshold()
+    {
+      return pidThreshold;
+    }
 
-        /**
-         * Gets the value of the showText property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowText() {
-            return showText;
-        }
+    /**
+     * Sets the value of the pidThreshold property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setPidThreshold(Integer value)
+    {
+      this.pidThreshold = value;
+    }
 
-        /**
-         * Sets the value of the showText property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowText(Boolean value) {
-            this.showText = value;
-        }
+    /**
+     * Gets the value of the title property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getTitle()
+    {
+      return title;
+    }
 
-        /**
-         * Gets the value of the showColourText property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowColourText() {
-            return showColourText;
-        }
+    /**
+     * Sets the value of the title property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setTitle(String value)
+    {
+      this.title = value;
+    }
 
-        /**
-         * Sets the value of the showColourText property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowColourText(Boolean value) {
-            this.showColourText = value;
-        }
+    /**
+     * Gets the value of the showFullId property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowFullId()
+    {
+      return showFullId;
+    }
 
-        /**
-         * Gets the value of the showUnconserved property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isShowUnconserved() {
-            if (showUnconserved == null) {
-                return false;
-            } else {
-                return showUnconserved;
-            }
-        }
+    /**
+     * Sets the value of the showFullId property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowFullId(Boolean value)
+    {
+      this.showFullId = value;
+    }
 
-        /**
-         * Sets the value of the showUnconserved property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowUnconserved(Boolean value) {
-            this.showUnconserved = value;
-        }
+    /**
+     * Gets the value of the rightAlignIds property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isRightAlignIds()
+    {
+      return rightAlignIds;
+    }
 
-        /**
-         * Gets the value of the showBoxes property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowBoxes() {
-            return showBoxes;
-        }
+    /**
+     * Sets the value of the rightAlignIds property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setRightAlignIds(Boolean value)
+    {
+      this.rightAlignIds = value;
+    }
 
-        /**
-         * Sets the value of the showBoxes property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowBoxes(Boolean value) {
-            this.showBoxes = value;
-        }
+    /**
+     * Gets the value of the showText property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowText()
+    {
+      return showText;
+    }
 
-        /**
-         * Gets the value of the wrapAlignment property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isWrapAlignment() {
-            return wrapAlignment;
-        }
+    /**
+     * Sets the value of the showText property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowText(Boolean value)
+    {
+      this.showText = value;
+    }
 
-        /**
-         * Sets the value of the wrapAlignment property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setWrapAlignment(Boolean value) {
-            this.wrapAlignment = value;
-        }
+    /**
+     * Gets the value of the showColourText property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowColourText()
+    {
+      return showColourText;
+    }
 
-        /**
-         * Gets the value of the renderGaps property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isRenderGaps() {
-            return renderGaps;
-        }
+    /**
+     * Sets the value of the showColourText property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowColourText(Boolean value)
+    {
+      this.showColourText = value;
+    }
 
-        /**
-         * Sets the value of the renderGaps property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setRenderGaps(Boolean value) {
-            this.renderGaps = value;
-        }
+    /**
+     * Gets the value of the showUnconserved property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowUnconserved()
+    {
+      if (showUnconserved == null)
+      {
+        return false;
+      }
+      else
+      {
+        return showUnconserved;
+      }
+    }
 
-        /**
-         * Gets the value of the showSequenceFeatures property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowSequenceFeatures() {
-            return showSequenceFeatures;
-        }
+    /**
+     * Sets the value of the showUnconserved property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowUnconserved(Boolean value)
+    {
+      this.showUnconserved = value;
+    }
 
-        /**
-         * Sets the value of the showSequenceFeatures property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowSequenceFeatures(Boolean value) {
-            this.showSequenceFeatures = value;
-        }
+    /**
+     * Gets the value of the showBoxes property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowBoxes()
+    {
+      return showBoxes;
+    }
 
-        /**
-         * Gets the value of the showNPfeatureTooltip property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowNPfeatureTooltip() {
-            return showNPfeatureTooltip;
-        }
+    /**
+     * Sets the value of the showBoxes property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowBoxes(Boolean value)
+    {
+      this.showBoxes = value;
+    }
 
-        /**
-         * Sets the value of the showNPfeatureTooltip property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowNPfeatureTooltip(Boolean value) {
-            this.showNPfeatureTooltip = value;
-        }
+    /**
+     * Gets the value of the wrapAlignment property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isWrapAlignment()
+    {
+      return wrapAlignment;
+    }
 
-        /**
-         * Gets the value of the showDbRefTooltip property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowDbRefTooltip() {
-            return showDbRefTooltip;
-        }
+    /**
+     * Sets the value of the wrapAlignment property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setWrapAlignment(Boolean value)
+    {
+      this.wrapAlignment = value;
+    }
 
-        /**
-         * Sets the value of the showDbRefTooltip property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowDbRefTooltip(Boolean value) {
-            this.showDbRefTooltip = value;
-        }
+    /**
+     * Gets the value of the renderGaps property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isRenderGaps()
+    {
+      return renderGaps;
+    }
 
-        /**
-         * Gets the value of the followHighlight property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isFollowHighlight() {
-            if (followHighlight == null) {
-                return true;
-            } else {
-                return followHighlight;
-            }
-        }
+    /**
+     * Sets the value of the renderGaps property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setRenderGaps(Boolean value)
+    {
+      this.renderGaps = value;
+    }
 
-        /**
-         * Sets the value of the followHighlight property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setFollowHighlight(Boolean value) {
-            this.followHighlight = value;
-        }
+    /**
+     * Gets the value of the showSequenceFeatures property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowSequenceFeatures()
+    {
+      return showSequenceFeatures;
+    }
 
-        /**
-         * Gets the value of the followSelection property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isFollowSelection() {
-            if (followSelection == null) {
-                return true;
-            } else {
-                return followSelection;
-            }
-        }
+    /**
+     * Sets the value of the showSequenceFeatures property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowSequenceFeatures(Boolean value)
+    {
+      this.showSequenceFeatures = value;
+    }
 
-        /**
-         * Sets the value of the followSelection property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setFollowSelection(Boolean value) {
-            this.followSelection = value;
-        }
+    /**
+     * Gets the value of the showNPfeatureTooltip property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowNPfeatureTooltip()
+    {
+      return showNPfeatureTooltip;
+    }
 
-        /**
-         * Gets the value of the showAnnotation property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isShowAnnotation() {
-            return showAnnotation;
-        }
+    /**
+     * Sets the value of the showNPfeatureTooltip property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowNPfeatureTooltip(Boolean value)
+    {
+      this.showNPfeatureTooltip = value;
+    }
 
-        /**
-         * Sets the value of the showAnnotation property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowAnnotation(Boolean value) {
-            this.showAnnotation = value;
-        }
+    /**
+     * Gets the value of the showDbRefTooltip property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowDbRefTooltip()
+    {
+      return showDbRefTooltip;
+    }
 
-        /**
-         * Gets the value of the centreColumnLabels property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isCentreColumnLabels() {
-            if (centreColumnLabels == null) {
-                return false;
-            } else {
-                return centreColumnLabels;
-            }
-        }
+    /**
+     * Sets the value of the showDbRefTooltip property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowDbRefTooltip(Boolean value)
+    {
+      this.showDbRefTooltip = value;
+    }
 
-        /**
-         * Sets the value of the centreColumnLabels property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setCentreColumnLabels(Boolean value) {
-            this.centreColumnLabels = value;
-        }
+    /**
+     * Gets the value of the followHighlight property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isFollowHighlight()
+    {
+      if (followHighlight == null)
+      {
+        return true;
+      }
+      else
+      {
+        return followHighlight;
+      }
+    }
 
-        /**
-         * Gets the value of the showGroupConservation property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isShowGroupConservation() {
-            if (showGroupConservation == null) {
-                return false;
-            } else {
-                return showGroupConservation;
-            }
-        }
+    /**
+     * Sets the value of the followHighlight property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setFollowHighlight(Boolean value)
+    {
+      this.followHighlight = value;
+    }
 
-        /**
-         * Sets the value of the showGroupConservation property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowGroupConservation(Boolean value) {
-            this.showGroupConservation = value;
-        }
+    /**
+     * Gets the value of the followSelection property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isFollowSelection()
+    {
+      if (followSelection == null)
+      {
+        return true;
+      }
+      else
+      {
+        return followSelection;
+      }
+    }
 
-        /**
-         * Gets the value of the showGroupConsensus property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isShowGroupConsensus() {
-            if (showGroupConsensus == null) {
-                return false;
-            } else {
-                return showGroupConsensus;
-            }
-        }
+    /**
+     * Sets the value of the followSelection property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setFollowSelection(Boolean value)
+    {
+      this.followSelection = value;
+    }
 
-        /**
-         * Sets the value of the showGroupConsensus property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowGroupConsensus(Boolean value) {
-            this.showGroupConsensus = value;
-        }
+    /**
+     * Gets the value of the showAnnotation property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isShowAnnotation()
+    {
+      return showAnnotation;
+    }
 
-        /**
-         * Gets the value of the showConsensusHistogram property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isShowConsensusHistogram() {
-            if (showConsensusHistogram == null) {
-                return true;
-            } else {
-                return showConsensusHistogram;
-            }
-        }
+    /**
+     * Sets the value of the showAnnotation property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowAnnotation(Boolean value)
+    {
+      this.showAnnotation = value;
+    }
 
-        /**
-         * Sets the value of the showConsensusHistogram property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowConsensusHistogram(Boolean value) {
-            this.showConsensusHistogram = value;
-        }
+    /**
+     * Gets the value of the centreColumnLabels property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isCentreColumnLabels()
+    {
+      if (centreColumnLabels == null)
+      {
+        return false;
+      }
+      else
+      {
+        return centreColumnLabels;
+      }
+    }
 
-        /**
-         * Gets the value of the showSequenceLogo property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isShowSequenceLogo() {
-            if (showSequenceLogo == null) {
-                return false;
-            } else {
-                return showSequenceLogo;
-            }
-        }
+    /**
+     * Sets the value of the centreColumnLabels property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setCentreColumnLabels(Boolean value)
+    {
+      this.centreColumnLabels = value;
+    }
 
-        /**
-         * Sets the value of the showSequenceLogo property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowSequenceLogo(Boolean value) {
-            this.showSequenceLogo = value;
-        }
+    /**
+     * Gets the value of the showGroupConservation property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowGroupConservation()
+    {
+      if (showGroupConservation == null)
+      {
+        return false;
+      }
+      else
+      {
+        return showGroupConservation;
+      }
+    }
 
-        /**
-         * Gets the value of the normaliseSequenceLogo property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isNormaliseSequenceLogo() {
-            if (normaliseSequenceLogo == null) {
-                return false;
-            } else {
-                return normaliseSequenceLogo;
-            }
-        }
+    /**
+     * Sets the value of the showGroupConservation property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowGroupConservation(Boolean value)
+    {
+      this.showGroupConservation = value;
+    }
 
-        /**
-         * Sets the value of the normaliseSequenceLogo property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setNormaliseSequenceLogo(Boolean value) {
-            this.normaliseSequenceLogo = value;
-        }
+    /**
+     * Gets the value of the showGroupConsensus property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowGroupConsensus()
+    {
+      if (showGroupConsensus == null)
+      {
+        return false;
+      }
+      else
+      {
+        return showGroupConsensus;
+      }
+    }
 
-        /**
-         * Gets the value of the ignoreGapsinConsensus property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isIgnoreGapsinConsensus() {
-            if (ignoreGapsinConsensus == null) {
-                return true;
-            } else {
-                return ignoreGapsinConsensus;
-            }
-        }
+    /**
+     * Sets the value of the showGroupConsensus property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowGroupConsensus(Boolean value)
+    {
+      this.showGroupConsensus = value;
+    }
 
-        /**
-         * Sets the value of the ignoreGapsinConsensus property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setIgnoreGapsinConsensus(Boolean value) {
-            this.ignoreGapsinConsensus = value;
-        }
+    /**
+     * Gets the value of the showConsensusHistogram property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowConsensusHistogram()
+    {
+      if (showConsensusHistogram == null)
+      {
+        return true;
+      }
+      else
+      {
+        return showConsensusHistogram;
+      }
+    }
 
-        /**
-         * Gets the value of the startRes property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getStartRes() {
-            return startRes;
-        }
+    /**
+     * Sets the value of the showConsensusHistogram property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowConsensusHistogram(Boolean value)
+    {
+      this.showConsensusHistogram = value;
+    }
 
-        /**
-         * Sets the value of the startRes property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setStartRes(Integer value) {
-            this.startRes = value;
-        }
+    /**
+     * Gets the value of the showSequenceLogo property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowSequenceLogo()
+    {
+      if (showSequenceLogo == null)
+      {
+        return false;
+      }
+      else
+      {
+        return showSequenceLogo;
+      }
+    }
 
-        /**
-         * Gets the value of the startSeq property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getStartSeq() {
-            return startSeq;
-        }
+    /**
+     * Sets the value of the showSequenceLogo property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowSequenceLogo(Boolean value)
+    {
+      this.showSequenceLogo = value;
+    }
 
-        /**
-         * Sets the value of the startSeq property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setStartSeq(Integer value) {
-            this.startSeq = value;
-        }
+    /**
+     * Gets the value of the normaliseSequenceLogo property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isNormaliseSequenceLogo()
+    {
+      if (normaliseSequenceLogo == null)
+      {
+        return false;
+      }
+      else
+      {
+        return normaliseSequenceLogo;
+      }
+    }
 
-        /**
-         * Gets the value of the charWidth property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getCharWidth() {
-            return charWidth;
-        }
+    /**
+     * Sets the value of the normaliseSequenceLogo property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setNormaliseSequenceLogo(Boolean value)
+    {
+      this.normaliseSequenceLogo = value;
+    }
+
+    /**
+     * Gets the value of the ignoreGapsinConsensus property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isIgnoreGapsinConsensus()
+    {
+      if (ignoreGapsinConsensus == null)
+      {
+        return true;
+      }
+      else
+      {
+        return ignoreGapsinConsensus;
+      }
+    }
 
-        /**
-         * Sets the value of the charWidth property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setCharWidth(Integer value) {
-            this.charWidth = value;
-        }
+    /**
+     * Sets the value of the ignoreGapsinConsensus property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setIgnoreGapsinConsensus(Boolean value)
+    {
+      this.ignoreGapsinConsensus = value;
+    }
 
-        /**
-         * Gets the value of the charHeight property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getCharHeight() {
-            return charHeight;
-        }
+    /**
+     * Gets the value of the startRes property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getStartRes()
+    {
+      return startRes;
+    }
 
-        /**
-         * Sets the value of the charHeight property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setCharHeight(Integer value) {
-            this.charHeight = value;
-        }
+    /**
+     * Sets the value of the startRes property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setStartRes(Integer value)
+    {
+      this.startRes = value;
+    }
 
-        /**
-         * Gets the value of the fontName property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getFontName() {
-            return fontName;
-        }
+    /**
+     * Gets the value of the startSeq property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getStartSeq()
+    {
+      return startSeq;
+    }
 
-        /**
-         * Sets the value of the fontName property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setFontName(String value) {
-            this.fontName = value;
-        }
+    /**
+     * Sets the value of the startSeq property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setStartSeq(Integer value)
+    {
+      this.startSeq = value;
+    }
 
-        /**
-         * Gets the value of the fontSize property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getFontSize() {
-            return fontSize;
-        }
+    /**
+     * Gets the value of the charWidth property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getCharWidth()
+    {
+      return charWidth;
+    }
 
-        /**
-         * Sets the value of the fontSize property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setFontSize(Integer value) {
-            this.fontSize = value;
-        }
+    /**
+     * Sets the value of the charWidth property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setCharWidth(Integer value)
+    {
+      this.charWidth = value;
+    }
 
-        /**
-         * Gets the value of the fontStyle property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getFontStyle() {
-            return fontStyle;
-        }
+    /**
+     * Gets the value of the charHeight property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getCharHeight()
+    {
+      return charHeight;
+    }
 
-        /**
-         * Sets the value of the fontStyle property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setFontStyle(Integer value) {
-            this.fontStyle = value;
-        }
+    /**
+     * Sets the value of the charHeight property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setCharHeight(Integer value)
+    {
+      this.charHeight = value;
+    }
 
-        /**
-         * Gets the value of the scaleProteinAsCdna property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isScaleProteinAsCdna() {
-            if (scaleProteinAsCdna == null) {
-                return true;
-            } else {
-                return scaleProteinAsCdna;
-            }
-        }
+    /**
+     * Gets the value of the fontName property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getFontName()
+    {
+      return fontName;
+    }
 
-        /**
-         * Sets the value of the scaleProteinAsCdna property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setScaleProteinAsCdna(Boolean value) {
-            this.scaleProteinAsCdna = value;
-        }
+    /**
+     * Sets the value of the fontName property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setFontName(String value)
+    {
+      this.fontName = value;
+    }
 
-        /**
-         * Gets the value of the viewName property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getViewName() {
-            return viewName;
-        }
+    /**
+     * Gets the value of the fontSize property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getFontSize()
+    {
+      return fontSize;
+    }
 
-        /**
-         * Sets the value of the viewName property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setViewName(String value) {
-            this.viewName = value;
-        }
+    /**
+     * Sets the value of the fontSize property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setFontSize(Integer value)
+    {
+      this.fontSize = value;
+    }
 
-        /**
-         * Gets the value of the sequenceSetId property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getSequenceSetId() {
-            return sequenceSetId;
-        }
+    /**
+     * Gets the value of the fontStyle property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getFontStyle()
+    {
+      return fontStyle;
+    }
 
-        /**
-         * Sets the value of the sequenceSetId property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setSequenceSetId(String value) {
-            this.sequenceSetId = value;
-        }
+    /**
+     * Sets the value of the fontStyle property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setFontStyle(Integer value)
+    {
+      this.fontStyle = value;
+    }
 
-        /**
-         * Gets the value of the gatheredViews property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public Boolean isGatheredViews() {
-            return gatheredViews;
-        }
+    /**
+     * Gets the value of the scaleProteinAsCdna property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isScaleProteinAsCdna()
+    {
+      if (scaleProteinAsCdna == null)
+      {
+        return true;
+      }
+      else
+      {
+        return scaleProteinAsCdna;
+      }
+    }
 
-        /**
-         * Sets the value of the gatheredViews property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setGatheredViews(Boolean value) {
-            this.gatheredViews = value;
-        }
+    /**
+     * Sets the value of the scaleProteinAsCdna property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setScaleProteinAsCdna(Boolean value)
+    {
+      this.scaleProteinAsCdna = value;
+    }
 
-        /**
-         * Gets the value of the textCol1 property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getTextCol1() {
-            return textCol1;
-        }
+    /**
+     * Gets the value of the viewName property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getViewName()
+    {
+      return viewName;
+    }
 
-        /**
-         * Sets the value of the textCol1 property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setTextCol1(Integer value) {
-            this.textCol1 = value;
-        }
+    /**
+     * Sets the value of the viewName property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setViewName(String value)
+    {
+      this.viewName = value;
+    }
 
-        /**
-         * Gets the value of the textCol2 property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getTextCol2() {
-            return textCol2;
-        }
+    /**
+     * Gets the value of the sequenceSetId property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getSequenceSetId()
+    {
+      return sequenceSetId;
+    }
 
-        /**
-         * Sets the value of the textCol2 property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setTextCol2(Integer value) {
-            this.textCol2 = value;
-        }
+    /**
+     * Sets the value of the sequenceSetId property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setSequenceSetId(String value)
+    {
+      this.sequenceSetId = value;
+    }
 
-        /**
-         * Gets the value of the textColThreshold property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getTextColThreshold() {
-            return textColThreshold;
-        }
+    /**
+     * Gets the value of the gatheredViews property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public Boolean isGatheredViews()
+    {
+      return gatheredViews;
+    }
 
-        /**
-         * Sets the value of the textColThreshold property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setTextColThreshold(Integer value) {
-            this.textColThreshold = value;
-        }
+    /**
+     * Sets the value of the gatheredViews property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setGatheredViews(Boolean value)
+    {
+      this.gatheredViews = value;
+    }
 
-        /**
-         * Gets the value of the id property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getId() {
-            return id;
-        }
+    /**
+     * Gets the value of the textCol1 property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getTextCol1()
+    {
+      return textCol1;
+    }
 
-        /**
-         * Sets the value of the id property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setId(String value) {
-            this.id = value;
-        }
+    /**
+     * Sets the value of the textCol1 property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setTextCol1(Integer value)
+    {
+      this.textCol1 = value;
+    }
 
-        /**
-         * Gets the value of the complementId property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link String }
-         *     
-         */
-        public String getComplementId() {
-            return complementId;
-        }
+    /**
+     * Gets the value of the textCol2 property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getTextCol2()
+    {
+      return textCol2;
+    }
 
-        /**
-         * Sets the value of the complementId property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link String }
-         *     
-         */
-        public void setComplementId(String value) {
-            this.complementId = value;
-        }
+    /**
+     * Sets the value of the textCol2 property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setTextCol2(Integer value)
+    {
+      this.textCol2 = value;
+    }
 
-        /**
-         * Gets the value of the showComplementFeatures property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isShowComplementFeatures() {
-            if (showComplementFeatures == null) {
-                return false;
-            } else {
-                return showComplementFeatures;
-            }
-        }
+    /**
+     * Gets the value of the textColThreshold property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getTextColThreshold()
+    {
+      return textColThreshold;
+    }
 
-        /**
-         * Sets the value of the showComplementFeatures property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowComplementFeatures(Boolean value) {
-            this.showComplementFeatures = value;
-        }
+    /**
+     * Sets the value of the textColThreshold property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setTextColThreshold(Integer value)
+    {
+      this.textColThreshold = value;
+    }
 
-        /**
-         * Gets the value of the showComplementFeaturesOnTop property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Boolean }
-         *     
-         */
-        public boolean isShowComplementFeaturesOnTop() {
-            if (showComplementFeaturesOnTop == null) {
-                return false;
-            } else {
-                return showComplementFeaturesOnTop;
-            }
-        }
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getId()
+    {
+      return id;
+    }
 
-        /**
-         * Sets the value of the showComplementFeaturesOnTop property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Boolean }
-         *     
-         */
-        public void setShowComplementFeaturesOnTop(Boolean value) {
-            this.showComplementFeaturesOnTop = value;
-        }
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setId(String value)
+    {
+      this.id = value;
+    }
 
-        /**
-         * Gets the value of the width property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getWidth() {
-            return width;
-        }
+    /**
+     * Gets the value of the complementId property.
+     * 
+     * @return possible object is {@link String }
+     * 
+     */
+    public String getComplementId()
+    {
+      return complementId;
+    }
 
-        /**
-         * Sets the value of the width property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setWidth(Integer value) {
-            this.width = value;
-        }
+    /**
+     * Sets the value of the complementId property.
+     * 
+     * @param value
+     *          allowed object is {@link String }
+     * 
+     */
+    public void setComplementId(String value)
+    {
+      this.complementId = value;
+    }
 
-        /**
-         * Gets the value of the height property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getHeight() {
-            return height;
-        }
+    /**
+     * Gets the value of the showComplementFeatures property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowComplementFeatures()
+    {
+      if (showComplementFeatures == null)
+      {
+        return false;
+      }
+      else
+      {
+        return showComplementFeatures;
+      }
+    }
 
-        /**
-         * Sets the value of the height property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setHeight(Integer value) {
-            this.height = value;
-        }
+    /**
+     * Sets the value of the showComplementFeatures property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowComplementFeatures(Boolean value)
+    {
+      this.showComplementFeatures = value;
+    }
 
-        /**
-         * Gets the value of the xpos property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getXpos() {
-            return xpos;
-        }
+    /**
+     * Gets the value of the showComplementFeaturesOnTop property.
+     * 
+     * @return possible object is {@link Boolean }
+     * 
+     */
+    public boolean isShowComplementFeaturesOnTop()
+    {
+      if (showComplementFeaturesOnTop == null)
+      {
+        return false;
+      }
+      else
+      {
+        return showComplementFeaturesOnTop;
+      }
+    }
 
-        /**
-         * Sets the value of the xpos property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setXpos(Integer value) {
-            this.xpos = value;
-        }
+    /**
+     * Sets the value of the showComplementFeaturesOnTop property.
+     * 
+     * @param value
+     *          allowed object is {@link Boolean }
+     * 
+     */
+    public void setShowComplementFeaturesOnTop(Boolean value)
+    {
+      this.showComplementFeaturesOnTop = value;
+    }
 
-        /**
-         * Gets the value of the ypos property.
-         * 
-         * @return
-         *     possible object is
-         *     {@link Integer }
-         *     
-         */
-        public Integer getYpos() {
-            return ypos;
-        }
+    /**
+     * Gets the value of the width property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getWidth()
+    {
+      return width;
+    }
 
-        /**
-         * Sets the value of the ypos property.
-         * 
-         * @param value
-         *     allowed object is
-         *     {@link Integer }
-         *     
-         */
-        public void setYpos(Integer value) {
-            this.ypos = value;
-        }
+    /**
+     * Sets the value of the width property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setWidth(Integer value)
+    {
+      this.width = value;
+    }
 
+    /**
+     * Gets the value of the height property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getHeight()
+    {
+      return height;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
-         *       &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *       &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-         *       &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-         *     &lt;/extension>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "")
-        public static class CalcIdParam
-            extends WebServiceParameterSet
-        {
+    /**
+     * Sets the value of the height property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setHeight(Integer value)
+    {
+      this.height = value;
+    }
 
-            @XmlAttribute(name = "calcId", required = true)
-            protected String calcId;
-            @XmlAttribute(name = "needsUpdate")
-            protected Boolean needsUpdate;
-            @XmlAttribute(name = "autoUpdate", required = true)
-            protected boolean autoUpdate;
-
-            /**
-             * Gets the value of the calcId property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
-             */
-            public String getCalcId() {
-                return calcId;
-            }
-
-            /**
-             * Sets the value of the calcId property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
-             */
-            public void setCalcId(String value) {
-                this.calcId = value;
-            }
-
-            /**
-             * Gets the value of the needsUpdate property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Boolean }
-             *     
-             */
-            public boolean isNeedsUpdate() {
-                if (needsUpdate == null) {
-                    return false;
-                } else {
-                    return needsUpdate;
-                }
-            }
-
-            /**
-             * Sets the value of the needsUpdate property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Boolean }
-             *     
-             */
-            public void setNeedsUpdate(Boolean value) {
-                this.needsUpdate = value;
-            }
-
-            /**
-             * Gets the value of the autoUpdate property.
-             * 
-             */
-            public boolean isAutoUpdate() {
-                return autoUpdate;
-            }
-
-            /**
-             * Sets the value of the autoUpdate property.
-             * 
-             */
-            public void setAutoUpdate(boolean value) {
-                this.autoUpdate = value;
-            }
+    /**
+     * Gets the value of the xpos property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getXpos()
+    {
+      return xpos;
+    }
 
-        }
+    /**
+     * Sets the value of the xpos property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setXpos(Integer value)
+    {
+      this.xpos = value;
+    }
 
+    /**
+     * Gets the value of the ypos property.
+     * 
+     * @return possible object is {@link Integer }
+     * 
+     */
+    public Integer getYpos()
+    {
+      return ypos;
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "")
-        public static class HiddenColumns {
-
-            @XmlAttribute(name = "start")
-            protected Integer start;
-            @XmlAttribute(name = "end")
-            protected Integer end;
-
-            /**
-             * Gets the value of the start property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getStart() {
-                return start;
-            }
-
-            /**
-             * Sets the value of the start property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setStart(Integer value) {
-                this.start = value;
-            }
-
-            /**
-             * Gets the value of the end property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getEnd() {
-                return end;
-            }
-
-            /**
-             * Sets the value of the end property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setEnd(Integer value) {
-                this.end = value;
-            }
+    /**
+     * Sets the value of the ypos property.
+     * 
+     * @param value
+     *          allowed object is {@link Integer }
+     * 
+     */
+    public void setYpos(Integer value)
+    {
+      this.ypos = value;
+    }
 
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
+     *       &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+     *       &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *     &lt;/extension>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class CalcIdParam extends WebServiceParameterSet
+    {
+
+      @XmlAttribute(name = "calcId", required = true)
+      protected String calcId;
+
+      @XmlAttribute(name = "needsUpdate")
+      protected Boolean needsUpdate;
+
+      @XmlAttribute(name = "autoUpdate", required = true)
+      protected boolean autoUpdate;
+
+      /**
+       * Gets the value of the calcId property.
+       * 
+       * @return possible object is {@link String }
+       * 
+       */
+      public String getCalcId()
+      {
+        return calcId;
+      }
+
+      /**
+       * Sets the value of the calcId property.
+       * 
+       * @param value
+       *          allowed object is {@link String }
+       * 
+       */
+      public void setCalcId(String value)
+      {
+        this.calcId = value;
+      }
+
+      /**
+       * Gets the value of the needsUpdate property.
+       * 
+       * @return possible object is {@link Boolean }
+       * 
+       */
+      public boolean isNeedsUpdate()
+      {
+        if (needsUpdate == null)
+        {
+          return false;
         }
+        else
+        {
+          return needsUpdate;
+        }
+      }
+
+      /**
+       * Sets the value of the needsUpdate property.
+       * 
+       * @param value
+       *          allowed object is {@link Boolean }
+       * 
+       */
+      public void setNeedsUpdate(Boolean value)
+      {
+        this.needsUpdate = value;
+      }
+
+      /**
+       * Gets the value of the autoUpdate property.
+       * 
+       */
+      public boolean isAutoUpdate()
+      {
+        return autoUpdate;
+      }
+
+      /**
+       * Sets the value of the autoUpdate property.
+       * 
+       */
+      public void setAutoUpdate(boolean value)
+      {
+        this.autoUpdate = value;
+      }
 
+    }
 
-        /**
-         * <p>Java class for anonymous complex type.
-         * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
-         * 
-         * <pre>
-         * &lt;complexType>
-         *   &lt;complexContent>
-         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-         *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-         *       &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-         *       &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *       &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *       &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-         *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-         *     &lt;/restriction>
-         *   &lt;/complexContent>
-         * &lt;/complexType>
-         * </pre>
-         * 
-         * 
-         */
-        @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "")
-        public static class Overview {
-
-            @XmlAttribute(name = "showHidden")
-            protected Boolean showHidden;
-            @XmlAttribute(name = "residueColour")
-            protected Integer residueColour;
-            @XmlAttribute(name = "gapColour")
-            protected Integer gapColour;
-            @XmlAttribute(name = "hiddenColour")
-            protected Integer hiddenColour;
-            @XmlAttribute(name = "title")
-            protected String title;
-            @XmlAttribute(name = "width")
-            protected Integer width;
-            @XmlAttribute(name = "height")
-            protected Integer height;
-            @XmlAttribute(name = "xpos")
-            protected Integer xpos;
-            @XmlAttribute(name = "ypos")
-            protected Integer ypos;
-
-            /**
-             * Gets the value of the showHidden property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Boolean }
-             *     
-             */
-            public Boolean isShowHidden() {
-                return showHidden;
-            }
-
-            /**
-             * Sets the value of the showHidden property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Boolean }
-             *     
-             */
-            public void setShowHidden(Boolean value) {
-                this.showHidden = value;
-            }
-
-            /**
-             * Gets the value of the residueColour property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getResidueColour() {
-                return residueColour;
-            }
-
-            /**
-             * Sets the value of the residueColour property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setResidueColour(Integer value) {
-                this.residueColour = value;
-            }
-
-            /**
-             * Gets the value of the gapColour property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getGapColour() {
-                return gapColour;
-            }
-
-            /**
-             * Sets the value of the gapColour property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setGapColour(Integer value) {
-                this.gapColour = value;
-            }
-
-            /**
-             * Gets the value of the hiddenColour property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getHiddenColour() {
-                return hiddenColour;
-            }
-
-            /**
-             * Sets the value of the hiddenColour property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setHiddenColour(Integer value) {
-                this.hiddenColour = value;
-            }
-
-            /**
-             * Gets the value of the title property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
-             */
-            public String getTitle() {
-                return title;
-            }
-
-            /**
-             * Sets the value of the title property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
-             */
-            public void setTitle(String value) {
-                this.title = value;
-            }
-
-            /**
-             * Gets the value of the width property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getWidth() {
-                return width;
-            }
-
-            /**
-             * Sets the value of the width property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setWidth(Integer value) {
-                this.width = value;
-            }
-
-            /**
-             * Gets the value of the height property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getHeight() {
-                return height;
-            }
-
-            /**
-             * Sets the value of the height property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setHeight(Integer value) {
-                this.height = value;
-            }
-
-            /**
-             * Gets the value of the xpos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getXpos() {
-                return xpos;
-            }
-
-            /**
-             * Sets the value of the xpos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setXpos(Integer value) {
-                this.xpos = value;
-            }
-
-            /**
-             * Gets the value of the ypos property.
-             * 
-             * @return
-             *     possible object is
-             *     {@link Integer }
-             *     
-             */
-            public Integer getYpos() {
-                return ypos;
-            }
-
-            /**
-             * Sets the value of the ypos property.
-             * 
-             * @param value
-             *     allowed object is
-             *     {@link Integer }
-             *     
-             */
-            public void setYpos(Integer value) {
-                this.ypos = value;
-            }
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class HiddenColumns
+    {
+
+      @XmlAttribute(name = "start")
+      protected Integer start;
+
+      @XmlAttribute(name = "end")
+      protected Integer end;
+
+      /**
+       * Gets the value of the start property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getStart()
+      {
+        return start;
+      }
+
+      /**
+       * Sets the value of the start property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setStart(Integer value)
+      {
+        this.start = value;
+      }
+
+      /**
+       * Gets the value of the end property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getEnd()
+      {
+        return end;
+      }
+
+      /**
+       * Sets the value of the end property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setEnd(Integer value)
+      {
+        this.end = value;
+      }
 
-        }
+    }
+
+    /**
+     * <p>
+     * Java class for anonymous complex type.
+     * 
+     * <p>
+     * The following schema fragment specifies the expected content contained
+     * within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
+     *       &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *       &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *       &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *       &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class Overview
+    {
+
+      @XmlAttribute(name = "showHidden")
+      protected Boolean showHidden;
+
+      @XmlAttribute(name = "residueColour")
+      protected Integer residueColour;
+
+      @XmlAttribute(name = "gapColour")
+      protected Integer gapColour;
+
+      @XmlAttribute(name = "hiddenColour")
+      protected Integer hiddenColour;
+
+      @XmlAttribute(name = "title")
+      protected String title;
+
+      @XmlAttribute(name = "width")
+      protected Integer width;
+
+      @XmlAttribute(name = "height")
+      protected Integer height;
+
+      @XmlAttribute(name = "xpos")
+      protected Integer xpos;
+
+      @XmlAttribute(name = "ypos")
+      protected Integer ypos;
+
+      /**
+       * Gets the value of the showHidden property.
+       * 
+       * @return possible object is {@link Boolean }
+       * 
+       */
+      public Boolean isShowHidden()
+      {
+        return showHidden;
+      }
+
+      /**
+       * Sets the value of the showHidden property.
+       * 
+       * @param value
+       *          allowed object is {@link Boolean }
+       * 
+       */
+      public void setShowHidden(Boolean value)
+      {
+        this.showHidden = value;
+      }
+
+      /**
+       * Gets the value of the residueColour property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getResidueColour()
+      {
+        return residueColour;
+      }
+
+      /**
+       * Sets the value of the residueColour property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setResidueColour(Integer value)
+      {
+        this.residueColour = value;
+      }
+
+      /**
+       * Gets the value of the gapColour property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getGapColour()
+      {
+        return gapColour;
+      }
+
+      /**
+       * Sets the value of the gapColour property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setGapColour(Integer value)
+      {
+        this.gapColour = value;
+      }
+
+      /**
+       * Gets the value of the hiddenColour property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getHiddenColour()
+      {
+        return hiddenColour;
+      }
+
+      /**
+       * Sets the value of the hiddenColour property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setHiddenColour(Integer value)
+      {
+        this.hiddenColour = value;
+      }
+
+      /**
+       * Gets the value of the title property.
+       * 
+       * @return possible object is {@link String }
+       * 
+       */
+      public String getTitle()
+      {
+        return title;
+      }
+
+      /**
+       * Sets the value of the title property.
+       * 
+       * @param value
+       *          allowed object is {@link String }
+       * 
+       */
+      public void setTitle(String value)
+      {
+        this.title = value;
+      }
+
+      /**
+       * Gets the value of the width property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getWidth()
+      {
+        return width;
+      }
+
+      /**
+       * Sets the value of the width property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setWidth(Integer value)
+      {
+        this.width = value;
+      }
+
+      /**
+       * Gets the value of the height property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getHeight()
+      {
+        return height;
+      }
+
+      /**
+       * Sets the value of the height property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setHeight(Integer value)
+      {
+        this.height = value;
+      }
+
+      /**
+       * Gets the value of the xpos property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getXpos()
+      {
+        return xpos;
+      }
+
+      /**
+       * Sets the value of the xpos property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setXpos(Integer value)
+      {
+        this.xpos = value;
+      }
+
+      /**
+       * Gets the value of the ypos property.
+       * 
+       * @return possible object is {@link Integer }
+       * 
+       */
+      public Integer getYpos()
+      {
+        return ypos;
+      }
+
+      /**
+       * Sets the value of the ypos property.
+       * 
+       * @param value
+       *          allowed object is {@link Integer }
+       * 
+       */
+      public void setYpos(Integer value)
+      {
+        this.ypos = value;
+      }
 
     }
 
+  }
+
 }