JAL-4392 JAL-3987 store and restore consensus secondary structure row visualisation...
authorJim Procter <jprocter@dundee.ac.uk>
Thu, 25 Jul 2024 13:48:25 +0000 (14:48 +0100)
committerJim Procter <jprocter@dundee.ac.uk>
Thu, 25 Jul 2024 13:48:25 +0000 (14:48 +0100)
30 files changed:
schemas/jalview.xsd
src/jalview/project/Jalview2XML.java
src/jalview/xml/binding/jalview/AlcodonFrame.java
src/jalview/xml/binding/jalview/Annotation.java
src/jalview/xml/binding/jalview/AnnotationColourScheme.java
src/jalview/xml/binding/jalview/AnnotationElement.java
src/jalview/xml/binding/jalview/DoubleMatrix.java
src/jalview/xml/binding/jalview/DoubleVector.java
src/jalview/xml/binding/jalview/Feature.java
src/jalview/xml/binding/jalview/FeatureMatcher.java
src/jalview/xml/binding/jalview/FeatureMatcherSet.java
src/jalview/xml/binding/jalview/FilterBy.java
src/jalview/xml/binding/jalview/JalviewModel.java
src/jalview/xml/binding/jalview/JalviewUserColours.java
src/jalview/xml/binding/jalview/MapListType.java
src/jalview/xml/binding/jalview/MapOnAMatrixType.java
src/jalview/xml/binding/jalview/Mapping.java
src/jalview/xml/binding/jalview/MatrixType.java
src/jalview/xml/binding/jalview/NoValueColour.java
src/jalview/xml/binding/jalview/ObjectFactory.java
src/jalview/xml/binding/jalview/PcaDataType.java
src/jalview/xml/binding/jalview/Pdbentry.java
src/jalview/xml/binding/jalview/Property.java
src/jalview/xml/binding/jalview/Sequence.java
src/jalview/xml/binding/jalview/SequenceSet.java
src/jalview/xml/binding/jalview/SequenceType.java
src/jalview/xml/binding/jalview/ThresholdType.java
src/jalview/xml/binding/jalview/VAMSAS.java
src/jalview/xml/binding/jalview/WebServiceParameterSet.java
src/jalview/xml/binding/jalview/package-info.java

index c5d35fb..c80eab6 100755 (executable)
                                                        <xs:element name="seq" type="xs:string" maxOccurs="unbounded" />
                                                        <xs:element name="annotationColours" type="jv:AnnotationColourScheme"
                                                                minOccurs="0" maxOccurs="1" />
+                                                       <xs:element name="SecStrProvider" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                                                </xs:sequence>
+                                               <xs:attributeGroup ref="jv:conservationShading"/>
                                                <xs:attribute name="start" type="xs:int" />
                                                <xs:attribute name="end" type="xs:int" />
                                                <xs:attribute name="name" type="xs:string" />
                                                <xs:attribute name="colour" type="xs:string" />
-                                               <xs:attribute name="consThreshold" type="xs:int" />
-                                               <xs:attribute name="pidThreshold" type="xs:int" />
                                                <xs:attribute name="outlineColour" type="xs:int" />
                                                <xs:attribute name="displayBoxes" type="xs:boolean" />
                                                <xs:attribute name="displayText" type="xs:boolean" />
                                                <xs:attribute name="textColThreshold" type="xs:int" />
                                                <xs:attribute name="showUnconserved" type="xs:boolean"
                                                        use="optional" />
-                                               <xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
-                                                       use="optional" default="true" />
-                                               <xs:attribute name="showConsensusHistogram" type="xs:boolean"
-                                                       use="optional" default="true" />
-                                               <xs:attribute name="showSequenceLogo" type="xs:boolean"
-                                                       use="optional" default="false" />
-                                               <xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
-                                                       use="optional" default="false" />
+                                               
                                                <xs:attribute name="id" type="xs:string" use="optional">
                                                        <xs:annotation>
                                                                <xs:documentation>
                                                                <xs:attribute name="title" type="xs:string" />
                                                          </xs:complexType>
                                                        </xs:element>
+                                                       <xs:element name="SecStrProvider" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                                                </xs:sequence>
                                                <xs:attributeGroup ref="jv:swingwindow" />
-                                               <xs:attribute name="conservationSelected" type="xs:boolean" />
-                                               <xs:attribute name="pidSelected" type="xs:boolean" />
                                                <xs:attribute name="bgColour" type="xs:string" />
-                                               <xs:attribute name="consThreshold" type="xs:int" />
-                                               <xs:attribute name="pidThreshold" type="xs:int" />
+                                               <xs:attributeGroup ref="jv:conservationShading"/>
                                                <xs:attribute name="title" type="xs:string" />
                                                <xs:attribute name="showFullId" type="xs:boolean" />
                                                <xs:attribute name="rightAlignIds" type="xs:boolean" />
                                                <xs:attribute name="centreColumnLabels" type="xs:boolean"
                                                        use="optional" default="false" />
                                                <xs:attribute name="showGroupConservation" type="xs:boolean"
-                                                       use="optional" default="false" />
+                                                       use="optional" default="false"><xs:annotation><xs:documentation>
+                                                       whether a new group has conservation displayed by default</xs:documentation></xs:annotation> </xs:attribute>
                                                <xs:attribute name="showGroupConsensus" type="xs:boolean"
-                                                       use="optional" default="false" />
-                                               <xs:attribute name="showConsensusHistogram" type="xs:boolean"
-                                                       use="optional" default="true" />
-                                               <xs:attribute name="showSequenceLogo" type="xs:boolean"
-                                                       use="optional" default="false" />
-                                               <xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
-                                                       use="optional" default="false" />
-                                               <xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
-                                                       use="optional" default="true" />
+                                                       use="optional" default="false" ><xs:annotation><xs:documentation>
+                                                       whether a new group has consensus displayed by default</xs:documentation></xs:annotation> </xs:attribute>
+                                               <xs:attribute name="showGroupSecStrConsensus" type="xs:boolean"
+                                                       use="optional" default="false" ><xs:annotation><xs:documentation>
+                                                       whether a new group has secondary structure consensus displayed by default</xs:documentation></xs:annotation> </xs:attribute>
                                                <xs:attribute name="startRes" type="xs:int" />
                                                <xs:attribute name="startSeq" type="xs:int" />
                                                <xs:attribute name="charWidth" type="xs:int" />
                <xs:attribute name="id" type="xs:string" use="required"/> <xs:attribute name="type" 
                type="xs:string" use="optional"/> <xs:attribute name="file" type="xs:string" 
                use="optional"/> </xs:complexType> -->
+       <xs:attributeGroup name="conservationShading">
+       <xs:annotation>
+                       <xs:documentation>
+                               base attributes for alignment or group shading
+                       </xs:documentation>
+               </xs:annotation>
+               <xs:attribute name="conservationSelected" type="xs:boolean" />
+               <xs:attribute name="consThreshold" type="xs:int" >
+               <xs:annotation><xs:documentation>Conservation shading increment</xs:documentation> </xs:annotation>
+               </xs:attribute>
+               <xs:attribute name="pidSelected" type="xs:boolean" />
+               <xs:attribute name="pidThreshold" type="xs:int" >
+               <xs:annotation><xs:documentation>Percent Identity Threshold</xs:documentation> </xs:annotation>
+               </xs:attribute>
+               <xs:attribute name="secstrSelected" type="xs:boolean" use="optional" default="false">
+               <xs:annotation><xs:documentation>Secondary structure consensus shading - since 2.11.4</xs:documentation> </xs:annotation>
+               </xs:attribute>
+               <xs:attribute name="secstrThreshold" type="xs:int" use="optional">
+               <xs:annotation><xs:documentation>Secondary structure consensus increment</xs:documentation> </xs:annotation>
+               </xs:attribute>
+               <xs:attribute name="showConsensusHistogram" type="xs:boolean"
+                                                       use="optional" default="true" />
+                                               <xs:attribute name="showSequenceLogo" type="xs:boolean"
+                                                       use="optional" default="false" />
+                                               <xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
+                                                       use="optional" default="false" />
+                                               <xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
+                                                       use="optional" default="true" />                
+       </xs:attributeGroup>
        <xs:attributeGroup name="swingwindow">
                <xs:annotation>
                        <xs:documentation>
index ed57fe7..3af8e76 100644 (file)
@@ -1484,7 +1484,7 @@ public class Jalview2XML
         
         List<String> groupSecondaryStructureSources = sg.getSecondaryStructureSources();
         if(groupSecondaryStructureSources != null && groupSecondaryStructureSources.size()>0) {
-          jGroup.setSecondaryStructureSources(groupSecondaryStructureSources);
+          jGroup.getSecStrProvider().addAll(groupSecondaryStructureSources);
         }
         
         ColourSchemeI colourScheme = sg.getColourScheme();
@@ -1526,10 +1526,10 @@ public class Jalview2XML
           
           if(groupColourScheme.isConsensusSecondaryStructureColouring()) 
           {
-            jGroup.setConsensusSecondaryStructureColouring(
+            jGroup.setSecstrSelected(
                     groupColourScheme.isConsensusSecondaryStructureColouring());
-            jGroup.setConsensusSecondaryStructureThreshold(
-                    groupColourScheme.getConsensusSecondaryStructureThreshold());
+            jGroup.setSecstrThreshold(groupColourScheme
+                    .getConsensusSecondaryStructureThreshold());
           }
         }
        
@@ -1654,15 +1654,13 @@ public class Jalview2XML
         
         if(vcs.isConsensusSecondaryStructureColouring()) 
         {
-          view.setConsensusSecondaryStructureThreshold(
-                  vcs.getConsensusSecondaryStructureThreshold());
+          view.setSecstrThreshold(vcs.getConsensusSecondaryStructureThreshold());
         }
       }
 
       view.setConservationSelected(av.getConservationSelected());
       view.setPidSelected(av.getAbovePIDThreshold());
-      view.setByConsensusSecondaryStructureSelected(
-              av.getByConsensusSecondaryStructureSelected());
+      view.setSecstrSelected(av.getByConsensusSecondaryStructureSelected());
       view.setCharHeight(av.getCharHeight());
       view.setCharWidth(av.getCharWidth());
       final Font font = av.getFont();
@@ -1691,7 +1689,7 @@ public class Jalview2XML
       view.setShowSequenceLogo(av.isShowSequenceLogo());
       view.setNormaliseSequenceLogo(av.isNormaliseSequenceLogo());
       view.setShowGroupConsensus(av.isShowGroupConsensus());
-      view.setShowGroupSSConsensus(av.isShowGroupSSConsensus());
+      view.setShowGroupSecStrConsensus(av.isShowGroupSSConsensus());
       view.setShowGroupConservation(av.isShowGroupConservation());
       view.setShowNPfeatureTooltip(av.isShowNPFeats());
       view.setShowDbRefTooltip(av.isShowDBRefs());
@@ -4271,11 +4269,11 @@ public class Jalview2XML
                 safeInt(jGroup.getStart()), safeInt(jGroup.getEnd()));
         sg.getGroupColourScheme().setThreshold(pidThreshold, true);
         sg.getGroupColourScheme().setConsensusSecondaryStructureColouring(
-                safeBoolean(jGroup.isConsensusSecondaryStructureColouring()));
+                safeBoolean(jGroup.isSecstrSelected()));
         sg.getGroupColourScheme()
                 .setConservationInc(safeInt(jGroup.getConsThreshold()));
         sg.getGroupColourScheme().setConsensusSecondaryStructureThreshold(
-                safeInt(jGroup.getConsensusSecondaryStructureThreshold()));
+                safeInt(jGroup.getSecstrThreshold()));
         
         sg.setOutlineColour(new Color(safeInt(jGroup.getOutlineColour())));
 
@@ -4288,7 +4286,7 @@ public class Jalview2XML
         sg.setshowSequenceLogo(jGroup.isShowSequenceLogo());
         sg.setNormaliseSequenceLogo(jGroup.isNormaliseSequenceLogo());
         sg.setIgnoreGapsConsensus(jGroup.isIgnoreGapsinConsensus());
-        sg.setSecondaryStructureSources(jGroup.getSecondaryStructureSources());
+        sg.setSecondaryStructureSources(jGroup.getSecStrProvider());
         if (jGroup.getConsThreshold() != null
                 && jGroup.getConsThreshold().intValue() != 0)
         {
@@ -5251,9 +5249,9 @@ public class Jalview2XML
             safeBoolean(view.isConservationSelected()));
     viewport.setIncrement(safeInt(view.getConsThreshold()));
     viewport.setByConsensusSecondaryStructureSelected(
-            safeBoolean(view.isByConsensusSecondaryStructureSelected()));
+            safeBoolean(view.isSecstrSelected()));
     viewport.setConsensusSecondaryStructureThreshold(
-            safeInt(view.getConsensusSecondaryStructureThreshold()));
+            safeInt(view.getSecstrThreshold()));
     viewport.setShowJVSuffix(safeBoolean(view.isShowFullId()));
     viewport.setRightAlignIds(safeBoolean(view.isRightAlignIds()));
     viewport.setFont(
@@ -5353,11 +5351,11 @@ public class Jalview2XML
       viewport.getResidueShading()
               .setConservationInc(safeInt(view.getConsThreshold()));
     }
-    if (safeBoolean(view.isByConsensusSecondaryStructureSelected()) && cs != null)
+    if (safeBoolean(view.isSecstrSelected()) && cs != null)
     {
       viewport.getResidueShading()
               .setConsensusSecondaryStructureThreshold(
-                      safeInt(view.getConsensusSecondaryStructureThreshold()));
+                      safeInt(view.getSecstrThreshold()));
     }
     af.changeColour(cs);
     viewport.setColourAppliesToAllGroups(true);
@@ -5375,7 +5373,7 @@ public class Jalview2XML
     viewport.setShowDBRefs(safeBoolean(view.isShowDbRefTooltip()));
     viewport.setShowNPFeats(safeBoolean(view.isShowNPfeatureTooltip()));
     viewport.setShowGroupConsensus(view.isShowGroupConsensus());
-    viewport.setShowGroupSSConsensus(view.isShowGroupSSConsensus());
+    viewport.setShowGroupSSConsensus(view.isShowGroupSecStrConsensus());
     viewport.setShowGroupConservation(view.isShowGroupConservation());
     viewport.setShowComplementFeatures(view.isShowComplementFeatures());
     viewport.setShowComplementFeaturesOnTop(
index bb26303..06fab20 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.math.BigInteger;
@@ -17,288 +18,329 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="alcodon" maxOccurs="unbounded"
- * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
- * &amp;lt;attribute name="pos2"
- * type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt; &amp;lt;attribute
- * name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="alcodMap" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element
- * ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="dnasq" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="alcodon" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
+ *                 &lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
+ *                 &lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *         &lt;element name="alcodMap" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&gt;
+ *                 &lt;/sequence&gt;
+ *                 &lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "alcodon", "alcodMap" })
+@XmlType(name = "", propOrder = {
+    "alcodon",
+    "alcodMap"
+})
 @XmlRootElement(name = "AlcodonFrame")
-public class AlcodonFrame
-{
-
-  protected List<AlcodonFrame.Alcodon> alcodon;
-
-  protected List<AlcodonFrame.AlcodMap> alcodMap;
-
-  /**
-   * Gets the value of the alcodon property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodon property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getAlcodon().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link AlcodonFrame.Alcodon }
-   * 
-   * 
-   */
-  public List<AlcodonFrame.Alcodon> getAlcodon()
-  {
-    if (alcodon == null)
-    {
-      alcodon = new ArrayList<AlcodonFrame.Alcodon>();
-    }
-    return this.alcodon;
-  }
-
-  /**
-   * Gets the value of the alcodMap property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodMap property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getAlcodMap().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link AlcodonFrame.AlcodMap }
-   * 
-   * 
-   */
-  public List<AlcodonFrame.AlcodMap> getAlcodMap()
-  {
-    if (alcodMap == null)
-    {
-      alcodMap = new ArrayList<AlcodonFrame.AlcodMap>();
-    }
-    return this.alcodMap;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element
-   * ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="dnasq" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "mapping" })
-  public static class AlcodMap
-  {
+public class AlcodonFrame {
 
-    @XmlElement(name = "Mapping", required = true)
-    protected Mapping mapping;
-
-    @XmlAttribute(name = "dnasq", required = true)
-    protected String dnasq;
+    protected List<AlcodonFrame.Alcodon> alcodon;
+    protected List<AlcodonFrame.AlcodMap> alcodMap;
 
     /**
+     * Gets the value of the alcodon property.
      * 
-     * a Mapping entry and an associated protein sequence
+     * <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 alcodon property.</p>
      * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getAlcodon().add(newItem);
+     * </pre>
      * 
-     * @return possible object is {@link Mapping }
      * 
-     */
-    public Mapping getMapping()
-    {
-      return mapping;
-    }
-
-    /**
-     * Sets the value of the mapping property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link AlcodonFrame.Alcodon }
+     * </p>
      * 
-     * @param value
-     *          allowed object is {@link Mapping }
      * 
+     * @return
+     *     The value of the alcodon property.
      */
-    public void setMapping(Mapping value)
-    {
-      this.mapping = value;
+    public List<AlcodonFrame.Alcodon> getAlcodon() {
+        if (alcodon == null) {
+            alcodon = new ArrayList<AlcodonFrame.Alcodon>();
+        }
+        return this.alcodon;
     }
 
     /**
-     * Gets the value of the dnasq property.
+     * Gets the value of the alcodMap property.
      * 
-     * @return possible object is {@link String }
+     * <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 alcodMap property.</p>
      * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getAlcodMap().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link AlcodonFrame.AlcodMap }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the alcodMap property.
      */
-    public String getDnasq()
-    {
-      return dnasq;
+    public List<AlcodonFrame.AlcodMap> getAlcodMap() {
+        if (alcodMap == null) {
+            alcodMap = new ArrayList<AlcodonFrame.AlcodMap>();
+        }
+        return this.alcodMap;
     }
 
+
     /**
-     * Sets the value of the dnasq property.
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link String }
      * 
      */
-    public void setDnasq(String value)
-    {
-      this.dnasq = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "mapping"
+    })
+    public static class AlcodMap {
 
-  }
+        /**
+         * a Mapping entry and an associated protein
+         *                                                                             sequence
+         * 
+         */
+        @XmlElement(name = "Mapping", required = true)
+        protected Mapping mapping;
+        /**
+         * internal jalview id for the dnasq for this
+         *                                                                     mapping.
+         * 
+         */
+        @XmlAttribute(name = "dnasq", required = true)
+        protected String dnasq;
 
-  /**
-   * 
-   * specifies a series of aligned codons from an associated DNA sequence
-   * alignment that when translated correspond to columns of a peptide
-   * alignment. Element may have either all pos1,2,3 attributes specified, or
-   * none at all (indicating a gapped column with no translated peptide).
-   * 
-   * 
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-   * &amp;lt;attribute name="pos2"
-   * type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-   * &amp;lt;attribute name="pos3"
-   * type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class Alcodon
-  {
+        /**
+         * a Mapping entry and an associated protein
+         *                                                                             sequence
+         * 
+         * @return
+         *     possible object is
+         *     {@link Mapping }
+         *     
+         */
+        public Mapping getMapping() {
+            return mapping;
+        }
 
-    @XmlAttribute(name = "pos1")
-    protected BigInteger pos1;
+        /**
+         * Sets the value of the mapping property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Mapping }
+         *     
+         * @see #getMapping()
+         */
+        public void setMapping(Mapping value) {
+            this.mapping = value;
+        }
 
-    @XmlAttribute(name = "pos2")
-    protected BigInteger pos2;
+        /**
+         * internal jalview id for the dnasq for this
+         *                                                                     mapping.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getDnasq() {
+            return dnasq;
+        }
 
-    @XmlAttribute(name = "pos3")
-    protected BigInteger pos3;
+        /**
+         * Sets the value of the dnasq property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         * @see #getDnasq()
+         */
+        public void setDnasq(String value) {
+            this.dnasq = value;
+        }
 
-    /**
-     * Gets the value of the pos1 property.
-     * 
-     * @return possible object is {@link BigInteger }
-     * 
-     */
-    public BigInteger getPos1()
-    {
-      return pos1;
     }
 
-    /**
-     * Sets the value of the pos1 property.
-     * 
-     * @param value
-     *          allowed object is {@link BigInteger }
-     * 
-     */
-    public void setPos1(BigInteger value)
-    {
-      this.pos1 = value;
-    }
 
     /**
-     * Gets the value of the pos2 property.
+     * specifies a series of aligned codons from an
+     *                                                                 associated DNA sequence alignment that when translated
+     *                                                                 correspond to columns of a peptide alignment.
+     *                                                                 Element may have
+     *                                                                 either all pos1,2,3 attributes specified, or none at all
+     *                                                                 (indicating a gapped column with no translated peptide).
      * 
-     * @return possible object is {@link BigInteger }
+     * <p>Java class for anonymous complex type</p>.
      * 
-     */
-    public BigInteger getPos2()
-    {
-      return pos2;
-    }
-
-    /**
-     * Sets the value of the pos2 property.
-     * 
-     * @param value
-     *          allowed object is {@link BigInteger }
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
      * 
-     */
-    public void setPos2(BigInteger value)
-    {
-      this.pos2 = value;
-    }
-
-    /**
-     * Gets the value of the pos3 property.
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
+     *       &lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
+     *       &lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @return possible object is {@link BigInteger }
      * 
      */
-    public BigInteger getPos3()
-    {
-      return pos3;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class Alcodon {
 
-    /**
-     * Sets the value of the pos3 property.
-     * 
-     * @param value
-     *          allowed object is {@link BigInteger }
-     * 
-     */
-    public void setPos3(BigInteger value)
-    {
-      this.pos3 = value;
-    }
+        @XmlAttribute(name = "pos1")
+        protected BigInteger pos1;
+        @XmlAttribute(name = "pos2")
+        protected BigInteger pos2;
+        @XmlAttribute(name = "pos3")
+        protected BigInteger pos3;
+
+        /**
+         * Gets the value of the pos1 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link BigInteger }
+         *     
+         */
+        public BigInteger getPos1() {
+            return pos1;
+        }
 
-  }
+        /**
+         * Sets the value of the pos1 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link BigInteger }
+         *     
+         */
+        public void setPos1(BigInteger value) {
+            this.pos1 = value;
+        }
+
+        /**
+         * Gets the value of the pos2 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link BigInteger }
+         *     
+         */
+        public BigInteger getPos2() {
+            return pos2;
+        }
+
+        /**
+         * Sets the value of the pos2 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link BigInteger }
+         *     
+         */
+        public void setPos2(BigInteger value) {
+            this.pos2 = value;
+        }
+
+        /**
+         * Gets the value of the pos3 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link BigInteger }
+         *     
+         */
+        public BigInteger getPos3() {
+            return pos3;
+        }
+
+        /**
+         * Sets the value of the pos3 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link BigInteger }
+         *     
+         */
+        public void setPos3(BigInteger value) {
+            this.pos3 = value;
+        }
+
+    }
 
 }
index 26e9124..a906543 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -16,794 +17,825 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element
- * ref="{www.vamsas.ac.uk/jalview/version2}annotationElement"
- * maxOccurs="unbounded" minOccurs="0"/&amp;gt; &amp;lt;element name="label"
- * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
- * name="description" type="{http://www.w3.org/2001/XMLSchema}string"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="thresholdLine"
- * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float"
- * /&amp;gt; &amp;lt;attribute name="colour"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="contactmatrix"
- * type="{www.vamsas.ac.uk/jalview/version2}MapOnAMatrixType"
- * maxOccurs="unbounded" minOccurs="0"/&amp;gt; &amp;lt;element name="property"
- * type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
- * name="graph" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="graphType"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="groupRef"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="graphColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="graphGroup"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="graphHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="scoreOnly"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="score"
- * type="{http://www.w3.org/2001/XMLSchema}double" /&amp;gt; &amp;lt;attribute
- * name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;attribute name="centreColLabels"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="scaleColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="showAllColLabels"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="autoCalculated" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * default="false" /&amp;gt; &amp;lt;attribute name="belowAlignment"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
- * &amp;lt;attribute name="calcId"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}annotationElement" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="thresholdLine" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                 &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *         &lt;element name="contactmatrix" type="{www.vamsas.ac.uk/jalview/version2}MapOnAMatrixType" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="graph" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *       &lt;attribute name="graphType" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="groupRef" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="graphColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="graphGroup" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="graphHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="scoreOnly" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *       &lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}double" /&gt;
+ *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *       &lt;attribute name="centreColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *       &lt;attribute name="scaleColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *       &lt;attribute name="showAllColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *       &lt;attribute name="autoCalculated" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *       &lt;attribute name="belowAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+ *       &lt;attribute name="calcId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "",
-  propOrder =
-  { "annotationElement", "label", "description", "thresholdLine",
-      "contactmatrix", "property" })
+@XmlType(name = "", propOrder = {
+    "annotationElement",
+    "label",
+    "description",
+    "thresholdLine",
+    "contactmatrix",
+    "property"
+})
 @XmlRootElement(name = "Annotation")
-public class Annotation
-{
+public class Annotation {
 
-  protected List<AnnotationElement> annotationElement;
+    protected List<AnnotationElement> annotationElement;
+    @XmlElement(required = true)
+    protected String label;
+    protected String description;
+    protected Annotation.ThresholdLine thresholdLine;
+    protected List<MapOnAMatrixType> contactmatrix;
+    protected List<Property> property;
+    @XmlAttribute(name = "graph", required = true)
+    protected boolean graph;
+    @XmlAttribute(name = "graphType")
+    protected Integer graphType;
+    @XmlAttribute(name = "sequenceRef")
+    protected String sequenceRef;
+    @XmlAttribute(name = "groupRef")
+    protected String groupRef;
+    @XmlAttribute(name = "graphColour")
+    protected Integer graphColour;
+    @XmlAttribute(name = "graphGroup")
+    protected Integer graphGroup;
+    /**
+     * height in pixels for the graph if this is a
+     *                                                 graph-type annotation.
+     * 
+     */
+    @XmlAttribute(name = "graphHeight")
+    protected Integer graphHeight;
+    @XmlAttribute(name = "id")
+    protected String id;
+    @XmlAttribute(name = "scoreOnly")
+    protected Boolean scoreOnly;
+    @XmlAttribute(name = "score")
+    protected Double score;
+    @XmlAttribute(name = "visible")
+    protected Boolean visible;
+    @XmlAttribute(name = "centreColLabels")
+    protected Boolean centreColLabels;
+    @XmlAttribute(name = "scaleColLabels")
+    protected Boolean scaleColLabels;
+    @XmlAttribute(name = "showAllColLabels")
+    protected Boolean showAllColLabels;
+    /**
+     * is an autocalculated annotation row
+     * 
+     */
+    @XmlAttribute(name = "autoCalculated")
+    protected Boolean autoCalculated;
+    /**
+     * is to be shown below the alignment - introduced
+     *                                                 in Jalview 2.8 for visualizing T-COFFEE alignment scores
+     * 
+     */
+    @XmlAttribute(name = "belowAlignment")
+    protected Boolean belowAlignment;
+    /**
+     * Optional string identifier used to group sets of
+     *                                                 annotation produced by a particular calculation. Values are opaque
+     *                                                 strings but have semantic meaning to Jalview's renderer, data
+     *                                                 importer and calculation system.
+     * 
+     */
+    @XmlAttribute(name = "calcId")
+    protected String calcId;
 
-  @XmlElement(required = true)
-  protected String label;
+    /**
+     * Gets the value of the annotationElement 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 annotationElement property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getAnnotationElement().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link AnnotationElement }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the annotationElement property.
+     */
+    public List<AnnotationElement> getAnnotationElement() {
+        if (annotationElement == null) {
+            annotationElement = new ArrayList<AnnotationElement>();
+        }
+        return this.annotationElement;
+    }
 
-  protected String description;
+    /**
+     * Gets the value of the label property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLabel() {
+        return label;
+    }
 
-  protected Annotation.ThresholdLine thresholdLine;
-
-  protected List<MapOnAMatrixType> contactmatrix;
-
-  protected List<Property> property;
-
-  @XmlAttribute(name = "graph", required = true)
-  protected boolean graph;
-
-  @XmlAttribute(name = "graphType")
-  protected Integer graphType;
-
-  @XmlAttribute(name = "sequenceRef")
-  protected String sequenceRef;
-
-  @XmlAttribute(name = "groupRef")
-  protected String groupRef;
-
-  @XmlAttribute(name = "graphColour")
-  protected Integer graphColour;
-
-  @XmlAttribute(name = "graphGroup")
-  protected Integer graphGroup;
-
-  @XmlAttribute(name = "graphHeight")
-  protected Integer graphHeight;
-
-  @XmlAttribute(name = "id")
-  protected String id;
-
-  @XmlAttribute(name = "scoreOnly")
-  protected Boolean scoreOnly;
-
-  @XmlAttribute(name = "score")
-  protected Double score;
-
-  @XmlAttribute(name = "visible")
-  protected Boolean visible;
-
-  @XmlAttribute(name = "centreColLabels")
-  protected Boolean centreColLabels;
-
-  @XmlAttribute(name = "scaleColLabels")
-  protected Boolean scaleColLabels;
-
-  @XmlAttribute(name = "showAllColLabels")
-  protected Boolean showAllColLabels;
-
-  @XmlAttribute(name = "autoCalculated")
-  protected Boolean autoCalculated;
-
-  @XmlAttribute(name = "belowAlignment")
-  protected Boolean belowAlignment;
-
-  @XmlAttribute(name = "calcId")
-  protected String calcId;
-
-  /**
-   * Gets the value of the annotationElement property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the annotationElement property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getAnnotationElement().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link AnnotationElement }
-   * 
-   * 
-   */
-  public List<AnnotationElement> getAnnotationElement()
-  {
-    if (annotationElement == null)
-    {
-      annotationElement = new ArrayList<AnnotationElement>();
-    }
-    return this.annotationElement;
-  }
-
-  /**
-   * Gets the value of the label property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getLabel()
-  {
-    return label;
-  }
-
-  /**
-   * Sets the value of the label property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setLabel(String value)
-  {
-    this.label = value;
-  }
-
-  /**
-   * Gets the value of the description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
-
-  /**
-   * Gets the value of the thresholdLine property.
-   * 
-   * @return possible object is {@link Annotation.ThresholdLine }
-   * 
-   */
-  public Annotation.ThresholdLine getThresholdLine()
-  {
-    return thresholdLine;
-  }
-
-  /**
-   * Sets the value of the thresholdLine property.
-   * 
-   * @param value
-   *          allowed object is {@link Annotation.ThresholdLine }
-   * 
-   */
-  public void setThresholdLine(Annotation.ThresholdLine value)
-  {
-    this.thresholdLine = value;
-  }
-
-  /**
-   * Gets the value of the contactmatrix property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the contactmatrix property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getContactmatrix().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link MapOnAMatrixType }
-   * 
-   * 
-   */
-  public List<MapOnAMatrixType> getContactmatrix()
-  {
-    if (contactmatrix == null)
-    {
-      contactmatrix = new ArrayList<MapOnAMatrixType>();
-    }
-    return this.contactmatrix;
-  }
-
-  /**
-   * Gets the value of the property property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getProperty().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Property }
-   * 
-   * 
-   */
-  public List<Property> getProperty()
-  {
-    if (property == null)
-    {
-      property = new ArrayList<Property>();
-    }
-    return this.property;
-  }
-
-  /**
-   * Gets the value of the graph property.
-   * 
-   */
-  public boolean isGraph()
-  {
-    return graph;
-  }
-
-  /**
-   * Sets the value of the graph property.
-   * 
-   */
-  public void setGraph(boolean value)
-  {
-    this.graph = value;
-  }
-
-  /**
-   * Gets the value of the graphType property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getGraphType()
-  {
-    return graphType;
-  }
-
-  /**
-   * Sets the value of the graphType property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setGraphType(Integer value)
-  {
-    this.graphType = value;
-  }
-
-  /**
-   * 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 groupRef property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getGroupRef()
-  {
-    return groupRef;
-  }
-
-  /**
-   * Sets the value of the groupRef property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setGroupRef(String value)
-  {
-    this.groupRef = value;
-  }
-
-  /**
-   * Gets the value of the graphColour property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getGraphColour()
-  {
-    return graphColour;
-  }
-
-  /**
-   * Sets the value of the graphColour property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setGraphColour(Integer value)
-  {
-    this.graphColour = value;
-  }
-
-  /**
-   * Gets the value of the graphGroup property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getGraphGroup()
-  {
-    return graphGroup;
-  }
-
-  /**
-   * Sets the value of the graphGroup property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setGraphGroup(Integer value)
-  {
-    this.graphGroup = value;
-  }
-
-  /**
-   * Gets the value of the graphHeight property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getGraphHeight()
-  {
-    return graphHeight;
-  }
-
-  /**
-   * Sets the value of the graphHeight property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setGraphHeight(Integer value)
-  {
-    this.graphHeight = 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 scoreOnly property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public boolean isScoreOnly()
-  {
-    if (scoreOnly == null)
-    {
-      return false;
-    }
-    else
-    {
-      return scoreOnly;
-    }
-  }
-
-  /**
-   * Sets the value of the scoreOnly property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setScoreOnly(Boolean value)
-  {
-    this.scoreOnly = value;
-  }
-
-  /**
-   * Gets the value of the score property.
-   * 
-   * @return possible object is {@link Double }
-   * 
-   */
-  public Double getScore()
-  {
-    return score;
-  }
-
-  /**
-   * Sets the value of the score property.
-   * 
-   * @param value
-   *          allowed object is {@link Double }
-   * 
-   */
-  public void setScore(Double value)
-  {
-    this.score = 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 centreColLabels property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isCentreColLabels()
-  {
-    return centreColLabels;
-  }
-
-  /**
-   * Sets the value of the centreColLabels property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setCentreColLabels(Boolean value)
-  {
-    this.centreColLabels = value;
-  }
-
-  /**
-   * Gets the value of the scaleColLabels property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isScaleColLabels()
-  {
-    return scaleColLabels;
-  }
-
-  /**
-   * Sets the value of the scaleColLabels property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setScaleColLabels(Boolean value)
-  {
-    this.scaleColLabels = value;
-  }
-
-  /**
-   * Gets the value of the showAllColLabels property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isShowAllColLabels()
-  {
-    return showAllColLabels;
-  }
-
-  /**
-   * Sets the value of the showAllColLabels property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setShowAllColLabels(Boolean value)
-  {
-    this.showAllColLabels = value;
-  }
-
-  /**
-   * Gets the value of the autoCalculated property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public boolean isAutoCalculated()
-  {
-    if (autoCalculated == null)
-    {
-      return false;
-    }
-    else
-    {
-      return autoCalculated;
-    }
-  }
-
-  /**
-   * Sets the value of the autoCalculated property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setAutoCalculated(Boolean value)
-  {
-    this.autoCalculated = value;
-  }
-
-  /**
-   * Gets the value of the belowAlignment property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public boolean isBelowAlignment()
-  {
-    if (belowAlignment == null)
-    {
-      return true;
-    }
-    else
-    {
-      return belowAlignment;
-    }
-  }
-
-  /**
-   * Sets the value of the belowAlignment property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setBelowAlignment(Boolean value)
-  {
-    this.belowAlignment = value;
-  }
-
-  /**
-   * 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;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="value"
-   * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
-   * name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class ThresholdLine
-  {
-
-    @XmlAttribute(name = "label")
-    protected String label;
+    /**
+     * Sets the value of the label property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLabel(String value) {
+        this.label = value;
+    }
 
-    @XmlAttribute(name = "value")
-    protected Float value;
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
 
-    @XmlAttribute(name = "colour")
-    protected Integer colour;
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
 
     /**
-     * Gets the value of the label property.
+     * Gets the value of the thresholdLine property.
      * 
-     * @return possible object is {@link String }
+     * @return
+     *     possible object is
+     *     {@link Annotation.ThresholdLine }
+     *     
+     */
+    public Annotation.ThresholdLine getThresholdLine() {
+        return thresholdLine;
+    }
+
+    /**
+     * Sets the value of the thresholdLine property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link Annotation.ThresholdLine }
+     *     
      */
-    public String getLabel()
-    {
-      return label;
+    public void setThresholdLine(Annotation.ThresholdLine value) {
+        this.thresholdLine = value;
     }
 
     /**
-     * Sets the value of the label property.
+     * Gets the value of the contactmatrix 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 contactmatrix property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getContactmatrix().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link MapOnAMatrixType }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the contactmatrix property.
+     */
+    public List<MapOnAMatrixType> getContactmatrix() {
+        if (contactmatrix == null) {
+            contactmatrix = new ArrayList<MapOnAMatrixType>();
+        }
+        return this.contactmatrix;
+    }
+
+    /**
+     * Gets the value of the property 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 property property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getProperty().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Property }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the property property.
+     */
+    public List<Property> getProperty() {
+        if (property == null) {
+            property = new ArrayList<Property>();
+        }
+        return this.property;
+    }
+
+    /**
+     * Gets the value of the graph property.
+     * 
+     */
+    public boolean isGraph() {
+        return graph;
+    }
+
+    /**
+     * Sets the value of the graph property.
+     * 
+     */
+    public void setGraph(boolean value) {
+        this.graph = value;
+    }
+
+    /**
+     * Gets the value of the graphType property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getGraphType() {
+        return graphType;
+    }
+
+    /**
+     * Sets the value of the graphType property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setGraphType(Integer value) {
+        this.graphType = value;
+    }
+
+    /**
+     * 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 groupRef property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getGroupRef() {
+        return groupRef;
+    }
+
+    /**
+     * Sets the value of the groupRef property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setGroupRef(String value) {
+        this.groupRef = value;
+    }
+
+    /**
+     * Gets the value of the graphColour property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getGraphColour() {
+        return graphColour;
+    }
+
+    /**
+     * Sets the value of the graphColour property.
      * 
      * @param value
-     *          allowed object is {@link String }
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setGraphColour(Integer value) {
+        this.graphColour = value;
+    }
+
+    /**
+     * Gets the value of the graphGroup property.
      * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
      */
-    public void setLabel(String value)
-    {
-      this.label = value;
+    public Integer getGraphGroup() {
+        return graphGroup;
     }
 
     /**
-     * Gets the value of the value property.
+     * Sets the value of the graphGroup property.
      * 
-     * @return possible object is {@link Float }
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setGraphGroup(Integer value) {
+        this.graphGroup = value;
+    }
+
+    /**
+     * height in pixels for the graph if this is a
+     *                                                 graph-type annotation.
      * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
      */
-    public Float getValue()
-    {
-      return value;
+    public Integer getGraphHeight() {
+        return graphHeight;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the graphHeight property.
      * 
      * @param value
-     *          allowed object is {@link Float }
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     * @see #getGraphHeight()
+     */
+    public void setGraphHeight(Integer value) {
+        this.graphHeight = value;
+    }
+
+    /**
+     * Gets the value of the id property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setValue(Float value)
-    {
-      this.value = value;
+    public String getId() {
+        return id;
     }
 
     /**
-     * Gets the value of the colour property.
+     * Sets the value of the id property.
      * 
-     * @return possible object is {@link Integer }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the scoreOnly property.
      * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
      */
-    public Integer getColour()
-    {
-      return colour;
+    public boolean isScoreOnly() {
+        if (scoreOnly == null) {
+            return false;
+        } else {
+            return scoreOnly;
+        }
     }
 
     /**
-     * Sets the value of the colour property.
+     * Sets the value of the scoreOnly property.
      * 
      * @param value
-     *          allowed object is {@link Integer }
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setScoreOnly(Boolean value) {
+        this.scoreOnly = value;
+    }
+
+    /**
+     * Gets the value of the score property.
      * 
+     * @return
+     *     possible object is
+     *     {@link Double }
+     *     
      */
-    public void setColour(Integer value)
-    {
-      this.colour = value;
+    public Double getScore() {
+        return score;
     }
 
-  }
+    /**
+     * Sets the value of the score property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Double }
+     *     
+     */
+    public void setScore(Double value) {
+        this.score = 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 centreColLabels property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isCentreColLabels() {
+        return centreColLabels;
+    }
+
+    /**
+     * Sets the value of the centreColLabels property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setCentreColLabels(Boolean value) {
+        this.centreColLabels = value;
+    }
+
+    /**
+     * Gets the value of the scaleColLabels property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isScaleColLabels() {
+        return scaleColLabels;
+    }
+
+    /**
+     * Sets the value of the scaleColLabels property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setScaleColLabels(Boolean value) {
+        this.scaleColLabels = value;
+    }
+
+    /**
+     * Gets the value of the showAllColLabels property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isShowAllColLabels() {
+        return showAllColLabels;
+    }
+
+    /**
+     * Sets the value of the showAllColLabels property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setShowAllColLabels(Boolean value) {
+        this.showAllColLabels = value;
+    }
+
+    /**
+     * is an autocalculated annotation row
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public boolean isAutoCalculated() {
+        if (autoCalculated == null) {
+            return false;
+        } else {
+            return autoCalculated;
+        }
+    }
+
+    /**
+     * Sets the value of the autoCalculated property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     * @see #isAutoCalculated()
+     */
+    public void setAutoCalculated(Boolean value) {
+        this.autoCalculated = value;
+    }
+
+    /**
+     * is to be shown below the alignment - introduced
+     *                                                 in Jalview 2.8 for visualizing T-COFFEE alignment scores
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public boolean isBelowAlignment() {
+        if (belowAlignment == null) {
+            return true;
+        } else {
+            return belowAlignment;
+        }
+    }
+
+    /**
+     * Sets the value of the belowAlignment property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     * @see #isBelowAlignment()
+     */
+    public void setBelowAlignment(Boolean value) {
+        this.belowAlignment = value;
+    }
+
+    /**
+     * Optional string identifier used to group sets of
+     *                                                 annotation produced by a particular calculation. Values are opaque
+     *                                                 strings but have semantic meaning to Jalview's renderer, data
+     *                                                 importer and calculation system.
+     * 
+     * @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 }
+     *     
+     * @see #getCalcId()
+     */
+    public void setCalcId(String value) {
+        this.calcId = value;
+    }
+
+
+    /**
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class ThresholdLine {
+
+        @XmlAttribute(name = "label")
+        protected String label;
+        @XmlAttribute(name = "value")
+        protected Float value;
+        @XmlAttribute(name = "colour")
+        protected Integer colour;
+
+        /**
+         * Gets the value of the label property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getLabel() {
+            return label;
+        }
+
+        /**
+         * Sets the value of the label property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setLabel(String value) {
+            this.label = value;
+        }
+
+        /**
+         * Gets the value of the value property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getValue() {
+            return value;
+        }
+
+        /**
+         * Sets the value of the value property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Float }
+         *     
+         */
+        public void setValue(Float value) {
+            this.value = value;
+        }
+
+        /**
+         * 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;
+        }
+
+    }
 
 }
index 427c84d..de46d74 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -12,243 +13,242 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for AnnotationColourScheme complex type.
+ * <p>Java class for AnnotationColourScheme complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="AnnotationColourScheme"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="aboveThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="annotation"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="minColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="maxColour"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="colourScheme" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="threshold"
- * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
- * name="perSequence" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;attribute name="predefinedColours"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="AnnotationColourScheme"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;attribute name="aboveThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="annotation" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="minColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="maxColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="colourScheme" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *       &lt;attribute name="perSequence" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *       &lt;attribute name="predefinedColours" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "AnnotationColourScheme", namespace = "www.jalview.org")
-public class AnnotationColourScheme
-{
-
-  @XmlAttribute(name = "aboveThreshold")
-  protected Integer aboveThreshold;
-
-  @XmlAttribute(name = "annotation")
-  protected String annotation;
-
-  @XmlAttribute(name = "minColour")
-  protected Integer minColour;
-
-  @XmlAttribute(name = "maxColour")
-  protected Integer maxColour;
-
-  @XmlAttribute(name = "colourScheme")
-  protected String colourScheme;
-
-  @XmlAttribute(name = "threshold")
-  protected Float threshold;
-
-  @XmlAttribute(name = "perSequence")
-  protected Boolean perSequence;
-
-  @XmlAttribute(name = "predefinedColours")
-  protected Boolean predefinedColours;
-
-  /**
-   * Gets the value of the aboveThreshold property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getAboveThreshold()
-  {
-    return aboveThreshold;
-  }
-
-  /**
-   * Sets the value of the aboveThreshold property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setAboveThreshold(Integer value)
-  {
-    this.aboveThreshold = value;
-  }
-
-  /**
-   * Gets the value of the annotation property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getAnnotation()
-  {
-    return annotation;
-  }
-
-  /**
-   * Sets the value of the annotation property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setAnnotation(String value)
-  {
-    this.annotation = 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 maxColour property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getMaxColour()
-  {
-    return maxColour;
-  }
-
-  /**
-   * Sets the value of the maxColour property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setMaxColour(Integer value)
-  {
-    this.maxColour = value;
-  }
-
-  /**
-   * Gets the value of the colourScheme property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getColourScheme()
-  {
-    return colourScheme;
-  }
-
-  /**
-   * Sets the value of the colourScheme property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setColourScheme(String value)
-  {
-    this.colourScheme = 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 perSequence property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isPerSequence()
-  {
-    return perSequence;
-  }
-
-  /**
-   * Sets the value of the perSequence property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setPerSequence(Boolean value)
-  {
-    this.perSequence = value;
-  }
-
-  /**
-   * Gets the value of the predefinedColours property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isPredefinedColours()
-  {
-    return predefinedColours;
-  }
-
-  /**
-   * Sets the value of the predefinedColours property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setPredefinedColours(Boolean value)
-  {
-    this.predefinedColours = value;
-  }
+public class AnnotationColourScheme {
+
+    @XmlAttribute(name = "aboveThreshold")
+    protected Integer aboveThreshold;
+    @XmlAttribute(name = "annotation")
+    protected String annotation;
+    @XmlAttribute(name = "minColour")
+    protected Integer minColour;
+    @XmlAttribute(name = "maxColour")
+    protected Integer maxColour;
+    @XmlAttribute(name = "colourScheme")
+    protected String colourScheme;
+    @XmlAttribute(name = "threshold")
+    protected Float threshold;
+    @XmlAttribute(name = "perSequence")
+    protected Boolean perSequence;
+    @XmlAttribute(name = "predefinedColours")
+    protected Boolean predefinedColours;
+
+    /**
+     * Gets the value of the aboveThreshold property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getAboveThreshold() {
+        return aboveThreshold;
+    }
+
+    /**
+     * Sets the value of the aboveThreshold property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setAboveThreshold(Integer value) {
+        this.aboveThreshold = value;
+    }
+
+    /**
+     * Gets the value of the annotation property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAnnotation() {
+        return annotation;
+    }
+
+    /**
+     * Sets the value of the annotation property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAnnotation(String value) {
+        this.annotation = 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 maxColour property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getMaxColour() {
+        return maxColour;
+    }
+
+    /**
+     * Sets the value of the maxColour property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setMaxColour(Integer value) {
+        this.maxColour = value;
+    }
+
+    /**
+     * Gets the value of the colourScheme property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getColourScheme() {
+        return colourScheme;
+    }
+
+    /**
+     * Sets the value of the colourScheme property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setColourScheme(String value) {
+        this.colourScheme = 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 perSequence property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isPerSequence() {
+        return perSequence;
+    }
+
+    /**
+     * Sets the value of the perSequence property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setPerSequence(Boolean value) {
+        this.perSequence = value;
+    }
+
+    /**
+     * Gets the value of the predefinedColours property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isPredefinedColours() {
+        return predefinedColours;
+    }
+
+    /**
+     * Sets the value of the predefinedColours property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setPredefinedColours(Boolean value) {
+        this.predefinedColours = value;
+    }
 
 }
index cd0dce9..d074219 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -13,186 +14,190 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="displayCharacter"
- * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
- * &amp;lt;element name="description"
- * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
- * &amp;lt;element name="secondaryStructure" minOccurs="0"&amp;gt;
- * &amp;lt;simpleType&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt; &amp;lt;length
- * value="1"/&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/simpleType&amp;gt;
- * &amp;lt;/element&amp;gt; &amp;lt;element name="value"
- * type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="position" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="displayCharacter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="secondaryStructure" minOccurs="0"&gt;
+ *           &lt;simpleType&gt;
+ *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
+ *               &lt;length value="1"/&gt;
+ *             &lt;/restriction&gt;
+ *           &lt;/simpleType&gt;
+ *         &lt;/element&gt;
+ *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="position" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "",
-  propOrder =
-  { "displayCharacter", "description", "secondaryStructure", "value" })
+@XmlType(name = "", propOrder = {
+    "displayCharacter",
+    "description",
+    "secondaryStructure",
+    "value"
+})
 @XmlRootElement(name = "annotationElement")
-public class AnnotationElement
-{
-
-  protected String displayCharacter;
-
-  protected String description;
-
-  protected String secondaryStructure;
-
-  protected Float value;
-
-  @XmlAttribute(name = "position", required = true)
-  protected int position;
-
-  @XmlAttribute(name = "colour")
-  protected Integer colour;
-
-  /**
-   * Gets the value of the displayCharacter property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDisplayCharacter()
-  {
-    return displayCharacter;
-  }
-
-  /**
-   * Sets the value of the displayCharacter property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDisplayCharacter(String value)
-  {
-    this.displayCharacter = value;
-  }
-
-  /**
-   * Gets the value of the description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
-
-  /**
-   * Gets the value of the secondaryStructure property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getSecondaryStructure()
-  {
-    return secondaryStructure;
-  }
-
-  /**
-   * Sets the value of the secondaryStructure property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setSecondaryStructure(String value)
-  {
-    this.secondaryStructure = value;
-  }
-
-  /**
-   * Gets the value of the value property.
-   * 
-   * @return possible object is {@link Float }
-   * 
-   */
-  public Float getValue()
-  {
-    return value;
-  }
-
-  /**
-   * Sets the value of the value property.
-   * 
-   * @param value
-   *          allowed object is {@link Float }
-   * 
-   */
-  public void setValue(Float value)
-  {
-    this.value = value;
-  }
-
-  /**
-   * Gets the value of the position property.
-   * 
-   */
-  public int getPosition()
-  {
-    return position;
-  }
-
-  /**
-   * Sets the value of the position property.
-   * 
-   */
-  public void setPosition(int value)
-  {
-    this.position = value;
-  }
-
-  /**
-   * 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;
-  }
+public class AnnotationElement {
+
+    protected String displayCharacter;
+    protected String description;
+    protected String secondaryStructure;
+    protected Float value;
+    @XmlAttribute(name = "position", required = true)
+    protected int position;
+    @XmlAttribute(name = "colour")
+    protected Integer colour;
+
+    /**
+     * Gets the value of the displayCharacter property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDisplayCharacter() {
+        return displayCharacter;
+    }
+
+    /**
+     * Sets the value of the displayCharacter property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDisplayCharacter(String value) {
+        this.displayCharacter = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the secondaryStructure property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSecondaryStructure() {
+        return secondaryStructure;
+    }
+
+    /**
+     * Sets the value of the secondaryStructure property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSecondaryStructure(String value) {
+        this.secondaryStructure = value;
+    }
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Float }
+     *     
+     */
+    public Float getValue() {
+        return value;
+    }
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Float }
+     *     
+     */
+    public void setValue(Float value) {
+        this.value = value;
+    }
+
+    /**
+     * Gets the value of the position property.
+     * 
+     */
+    public int getPosition() {
+        return position;
+    }
+
+    /**
+     * Sets the value of the position property.
+     * 
+     */
+    public void setPosition(int value) {
+        this.position = value;
+    }
+
+    /**
+     * 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;
+    }
 
 }
index b46439a..aad7c25 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,167 +16,174 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for DoubleMatrix complex type.
+ * <p>Java class for DoubleMatrix complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="DoubleMatrix"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="row"
- * type="{www.jalview.org}DoubleVector" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="D"
- * type="{www.jalview.org}DoubleVector" minOccurs="0"/&amp;gt; &amp;lt;element
- * name="E" type="{www.jalview.org}DoubleVector" minOccurs="0"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="rows"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="columns" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="DoubleMatrix"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="row" type="{www.jalview.org}DoubleVector" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element name="D" type="{www.jalview.org}DoubleVector" minOccurs="0"/&gt;
+ *         &lt;element name="E" type="{www.jalview.org}DoubleVector" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="rows" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="columns" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "DoubleMatrix",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "row", "d", "e" })
-public class DoubleMatrix
-{
-
-  protected List<DoubleVector> row;
-
-  @XmlElement(name = "D")
-  protected DoubleVector d;
-
-  @XmlElement(name = "E")
-  protected DoubleVector e;
-
-  @XmlAttribute(name = "rows")
-  protected Integer rows;
-
-  @XmlAttribute(name = "columns")
-  protected Integer columns;
-
-  /**
-   * Gets the value of the row property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the row property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getRow().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link DoubleVector }
-   * 
-   * 
-   */
-  public List<DoubleVector> getRow()
-  {
-    if (row == null)
-    {
-      row = new ArrayList<DoubleVector>();
+@XmlType(name = "DoubleMatrix", namespace = "www.jalview.org", propOrder = {
+    "row",
+    "d",
+    "e"
+})
+public class DoubleMatrix {
+
+    protected List<DoubleVector> row;
+    @XmlElement(name = "D")
+    protected DoubleVector d;
+    @XmlElement(name = "E")
+    protected DoubleVector e;
+    @XmlAttribute(name = "rows")
+    protected Integer rows;
+    @XmlAttribute(name = "columns")
+    protected Integer columns;
+
+    /**
+     * Gets the value of the row 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 row property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getRow().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link DoubleVector }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the row property.
+     */
+    public List<DoubleVector> getRow() {
+        if (row == null) {
+            row = new ArrayList<DoubleVector>();
+        }
+        return this.row;
+    }
+
+    /**
+     * Gets the value of the d property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleVector }
+     *     
+     */
+    public DoubleVector getD() {
+        return d;
+    }
+
+    /**
+     * Sets the value of the d property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleVector }
+     *     
+     */
+    public void setD(DoubleVector value) {
+        this.d = value;
+    }
+
+    /**
+     * Gets the value of the e property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleVector }
+     *     
+     */
+    public DoubleVector getE() {
+        return e;
+    }
+
+    /**
+     * Sets the value of the e property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleVector }
+     *     
+     */
+    public void setE(DoubleVector value) {
+        this.e = value;
+    }
+
+    /**
+     * Gets the value of the rows property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getRows() {
+        return rows;
+    }
+
+    /**
+     * Sets the value of the rows property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setRows(Integer value) {
+        this.rows = value;
+    }
+
+    /**
+     * Gets the value of the columns property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getColumns() {
+        return columns;
+    }
+
+    /**
+     * Sets the value of the columns property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setColumns(Integer value) {
+        this.columns = value;
     }
-    return this.row;
-  }
-
-  /**
-   * Gets the value of the d property.
-   * 
-   * @return possible object is {@link DoubleVector }
-   * 
-   */
-  public DoubleVector getD()
-  {
-    return d;
-  }
-
-  /**
-   * Sets the value of the d property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleVector }
-   * 
-   */
-  public void setD(DoubleVector value)
-  {
-    this.d = value;
-  }
-
-  /**
-   * Gets the value of the e property.
-   * 
-   * @return possible object is {@link DoubleVector }
-   * 
-   */
-  public DoubleVector getE()
-  {
-    return e;
-  }
-
-  /**
-   * Sets the value of the e property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleVector }
-   * 
-   */
-  public void setE(DoubleVector value)
-  {
-    this.e = value;
-  }
-
-  /**
-   * Gets the value of the rows property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getRows()
-  {
-    return rows;
-  }
-
-  /**
-   * Sets the value of the rows property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setRows(Integer value)
-  {
-    this.rows = value;
-  }
-
-  /**
-   * Gets the value of the columns property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getColumns()
-  {
-    return columns;
-  }
-
-  /**
-   * Sets the value of the columns property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setColumns(Integer value)
-  {
-    this.columns = value;
-  }
 
 }
index ad1b19c..f1ba7ee 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -14,58 +15,65 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for DoubleVector complex type.
+ * <p>Java class for DoubleVector complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="DoubleVector"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="v"
- * type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="DoubleVector"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="v" type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "DoubleVector",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "v" })
-public class DoubleVector
-{
+@XmlType(name = "DoubleVector", namespace = "www.jalview.org", propOrder = {
+    "v"
+})
+public class DoubleVector {
 
-  @XmlElement(type = Double.class)
-  protected List<Double> v;
+    @XmlElement(type = Double.class)
+    protected List<Double> v;
 
-  /**
-   * Gets the value of the v property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the v property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getV().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Double }
-   * 
-   * 
-   */
-  public List<Double> getV()
-  {
-    if (v == null)
-    {
-      v = new ArrayList<Double>();
+    /**
+     * Gets the value of the v 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 v property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getV().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Double }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the v property.
+     */
+    public List<Double> getV() {
+        if (v == null) {
+            v = new ArrayList<Double>();
+        }
+        return this.v;
     }
-    return this.v;
-  }
 
 }
index a8f2006..17b5c9f 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -14,350 +15,357 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for feature complex type.
+ * <p>Java class for feature complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="feature"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="otherData"
- * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="key2"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="begin" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;attribute name="type" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="status"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="featureGroup" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}float"
- * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="feature"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="otherData" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="status" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="featureGroup" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "feature",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "otherData" })
-public class Feature
-{
-
-  protected List<Feature.OtherData> otherData;
-
-  @XmlAttribute(name = "begin", required = true)
-  protected int begin;
-
-  @XmlAttribute(name = "end", required = true)
-  protected int end;
-
-  @XmlAttribute(name = "type", required = true)
-  protected String type;
-
-  @XmlAttribute(name = "description")
-  protected String description;
-
-  @XmlAttribute(name = "status")
-  protected String status;
-
-  @XmlAttribute(name = "featureGroup")
-  protected String featureGroup;
-
-  @XmlAttribute(name = "score")
-  protected Float score;
-
-  /**
-   * Gets the value of the otherData property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the otherData property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getOtherData().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Feature.OtherData }
-   * 
-   * 
-   */
-  public List<Feature.OtherData> getOtherData()
-  {
-    if (otherData == null)
-    {
-      otherData = new ArrayList<Feature.OtherData>();
+@XmlType(name = "feature", namespace = "www.jalview.org", propOrder = {
+    "otherData"
+})
+public class Feature {
+
+    protected List<Feature.OtherData> otherData;
+    @XmlAttribute(name = "begin", required = true)
+    protected int begin;
+    @XmlAttribute(name = "end", required = true)
+    protected int end;
+    @XmlAttribute(name = "type", required = true)
+    protected String type;
+    @XmlAttribute(name = "description")
+    protected String description;
+    @XmlAttribute(name = "status")
+    protected String status;
+    @XmlAttribute(name = "featureGroup")
+    protected String featureGroup;
+    @XmlAttribute(name = "score")
+    protected Float score;
+
+    /**
+     * Gets the value of the otherData 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 otherData property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getOtherData().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Feature.OtherData }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the otherData property.
+     */
+    public List<Feature.OtherData> getOtherData() {
+        if (otherData == null) {
+            otherData = new ArrayList<Feature.OtherData>();
+        }
+        return this.otherData;
     }
-    return this.otherData;
-  }
-
-  /**
-   * Gets the value of the begin property.
-   * 
-   */
-  public int getBegin()
-  {
-    return begin;
-  }
-
-  /**
-   * Sets the value of the begin property.
-   * 
-   */
-  public void setBegin(int value)
-  {
-    this.begin = 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 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 description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
-
-  /**
-   * Gets the value of the status property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getStatus()
-  {
-    return status;
-  }
-
-  /**
-   * Sets the value of the status property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setStatus(String value)
-  {
-    this.status = value;
-  }
-
-  /**
-   * Gets the value of the featureGroup property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getFeatureGroup()
-  {
-    return featureGroup;
-  }
-
-  /**
-   * Sets the value of the featureGroup property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setFeatureGroup(String value)
-  {
-    this.featureGroup = value;
-  }
-
-  /**
-   * Gets the value of the score property.
-   * 
-   * @return possible object is {@link Float }
-   * 
-   */
-  public Float getScore()
-  {
-    return score;
-  }
-
-  /**
-   * Sets the value of the score property.
-   * 
-   * @param value
-   *          allowed object is {@link Float }
-   * 
-   */
-  public void setScore(Float value)
-  {
-    this.score = value;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;attribute name="key2"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class OtherData
-  {
-
-    @XmlAttribute(name = "key", required = true)
-    protected String key;
-
-    @XmlAttribute(name = "key2")
-    protected String key2;
-
-    @XmlAttribute(name = "value", required = true)
-    protected String value;
 
     /**
-     * Gets the value of the key property.
+     * Gets the value of the begin property.
      * 
-     * @return possible object is {@link String }
+     */
+    public int getBegin() {
+        return begin;
+    }
+
+    /**
+     * Sets the value of the begin property.
      * 
      */
-    public String getKey()
-    {
-      return key;
+    public void setBegin(int value) {
+        this.begin = value;
     }
 
     /**
-     * Sets the value of the key property.
+     * Gets the value of the end property.
      * 
-     * @param value
-     *          allowed object is {@link String }
+     */
+    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 type property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setKey(String value)
-    {
-      this.key = value;
+    public String getType() {
+        return type;
     }
 
     /**
-     * Gets the value of the key2 property.
+     * Sets the value of the type property.
      * 
-     * @return possible object is {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setType(String value) {
+        this.type = value;
+    }
+
+    /**
+     * Gets the value of the description property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getKey2()
-    {
-      return key2;
+    public String getDescription() {
+        return description;
     }
 
     /**
-     * Sets the value of the key2 property.
+     * Sets the value of the description property.
      * 
      * @param value
-     *          allowed object is {@link String }
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the status property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setKey2(String value)
-    {
-      this.key2 = value;
+    public String getStatus() {
+        return status;
     }
 
     /**
-     * Gets the value of the value property.
+     * Sets the value of the status property.
      * 
-     * @return possible object is {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setStatus(String value) {
+        this.status = value;
+    }
+
+    /**
+     * Gets the value of the featureGroup property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getValue()
-    {
-      return value;
+    public String getFeatureGroup() {
+        return featureGroup;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the featureGroup property.
      * 
      * @param value
-     *          allowed object is {@link String }
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setFeatureGroup(String value) {
+        this.featureGroup = value;
+    }
+
+    /**
+     * Gets the value of the score property.
      * 
+     * @return
+     *     possible object is
+     *     {@link Float }
+     *     
      */
-    public void setValue(String value)
-    {
-      this.value = value;
+    public Float getScore() {
+        return score;
     }
 
-  }
+    /**
+     * Sets the value of the score property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Float }
+     *     
+     */
+    public void setScore(Float value) {
+        this.score = value;
+    }
+
+
+    /**
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class OtherData {
+
+        @XmlAttribute(name = "key", required = true)
+        protected String key;
+        /**
+         * key2 may be used for a sub-attribute of key
+         * 
+         */
+        @XmlAttribute(name = "key2")
+        protected String key2;
+        @XmlAttribute(name = "value", required = true)
+        protected String value;
+
+        /**
+         * Gets the value of the key property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getKey() {
+            return key;
+        }
+
+        /**
+         * Sets the value of the key property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setKey(String value) {
+            this.key = value;
+        }
+
+        /**
+         * key2 may be used for a sub-attribute of key
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getKey2() {
+            return key2;
+        }
+
+        /**
+         * Sets the value of the key2 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         * @see #getKey2()
+         */
+        public void setKey2(String value) {
+            this.key2 = value;
+        }
+
+        /**
+         * 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;
+        }
+
+    }
 
 }
index d9ff117..5c1cdeb 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,141 +16,154 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for FeatureMatcher complex type.
+ * <p>Java class for FeatureMatcher complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="FeatureMatcher"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
- * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="condition"
- * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
- * name="value" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="by"
- * type="{www.jalview.org/colours}FilterBy" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="FeatureMatcher"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&gt;
+ *         &lt;element name="condition" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="by" type="{www.jalview.org/colours}FilterBy" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "FeatureMatcher",
-  namespace = "www.jalview.org/colours",
-  propOrder =
-  { "attributeName", "condition", "value" })
-public class FeatureMatcher
-{
-
-  @XmlElement(namespace = "")
-  protected List<String> attributeName;
+@XmlType(name = "FeatureMatcher", namespace = "www.jalview.org/colours", propOrder = {
+    "attributeName",
+    "condition",
+    "value"
+})
+public class FeatureMatcher {
 
-  @XmlElement(namespace = "", required = true)
-  protected String condition;
+    /**
+     * name of feature attribute to filter on, or attribute and sub-attribute
+     * 
+     */
+    @XmlElement(namespace = "")
+    protected List<String> attributeName;
+    @XmlElement(namespace = "", required = true)
+    protected String condition;
+    @XmlElement(namespace = "", required = true)
+    protected String value;
+    @XmlAttribute(name = "by")
+    protected FilterBy by;
 
-  @XmlElement(namespace = "", required = true)
-  protected String value;
-
-  @XmlAttribute(name = "by")
-  protected FilterBy by;
-
-  /**
-   * Gets the value of the attributeName property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the attributeName property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getAttributeName().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link String }
-   * 
-   * 
-   */
-  public List<String> getAttributeName()
-  {
-    if (attributeName == null)
-    {
-      attributeName = new ArrayList<String>();
+    /**
+     * name of feature attribute to filter on, or attribute and sub-attribute
+     * 
+     * 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>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getAttributeName().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the attributeName property.
+     */
+    public List<String> getAttributeName() {
+        if (attributeName == null) {
+            attributeName = new ArrayList<String>();
+        }
+        return this.attributeName;
     }
-    return this.attributeName;
-  }
 
-  /**
-   * Gets the value of the condition property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getCondition()
-  {
-    return condition;
-  }
+    /**
+     * Gets the value of the condition property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getCondition() {
+        return condition;
+    }
 
-  /**
-   * Sets the value of the condition property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setCondition(String value)
-  {
-    this.condition = value;
-  }
+    /**
+     * Sets the value of the condition property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setCondition(String value) {
+        this.condition = value;
+    }
 
-  /**
-   * Gets the value of the value property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getValue()
-  {
-    return value;
-  }
+    /**
+     * 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;
-  }
+    /**
+     * 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 by property.
-   * 
-   * @return possible object is {@link FilterBy }
-   * 
-   */
-  public FilterBy getBy()
-  {
-    return by;
-  }
+    /**
+     * Gets the value of the by property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link FilterBy }
+     *     
+     */
+    public FilterBy getBy() {
+        return by;
+    }
 
-  /**
-   * Sets the value of the by property.
-   * 
-   * @param value
-   *          allowed object is {@link FilterBy }
-   * 
-   */
-  public void setBy(FilterBy value)
-  {
-    this.by = value;
-  }
+    /**
+     * Sets the value of the by property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link FilterBy }
+     *     
+     */
+    public void setBy(FilterBy value) {
+        this.by = value;
+    }
 
 }
index cf81588..22f938d 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,167 +16,184 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
  * A feature match condition, which may be simple or compound
  * 
- * &lt;p&gt;Java class for FeatureMatcherSet complex type.
+ * <p>Java class for FeatureMatcherSet complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="FeatureMatcherSet"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;choice&amp;gt; &amp;lt;element name="matchCondition"
- * type="{www.jalview.org/colours}FeatureMatcher"/&amp;gt; &amp;lt;element
- * name="compoundMatcher"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="matcherSet"
- * type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2"
- * minOccurs="2"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="and"
- * use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;/choice&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="FeatureMatcherSet"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;choice&gt;
+ *         &lt;element name="matchCondition" type="{www.jalview.org/colours}FeatureMatcher"/&gt;
+ *         &lt;element name="compoundMatcher"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/&gt;
+ *                 &lt;/sequence&gt;
+ *                 &lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/choice&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "FeatureMatcherSet",
-  namespace = "www.jalview.org/colours",
-  propOrder =
-  { "matchCondition", "compoundMatcher" })
-public class FeatureMatcherSet
-{
-
-  @XmlElement(namespace = "")
-  protected FeatureMatcher matchCondition;
-
-  @XmlElement(namespace = "")
-  protected FeatureMatcherSet.CompoundMatcher compoundMatcher;
-
-  /**
-   * Gets the value of the matchCondition property.
-   * 
-   * @return possible object is {@link FeatureMatcher }
-   * 
-   */
-  public FeatureMatcher getMatchCondition()
-  {
-    return matchCondition;
-  }
-
-  /**
-   * Sets the value of the matchCondition property.
-   * 
-   * @param value
-   *          allowed object is {@link FeatureMatcher }
-   * 
-   */
-  public void setMatchCondition(FeatureMatcher value)
-  {
-    this.matchCondition = value;
-  }
-
-  /**
-   * Gets the value of the compoundMatcher property.
-   * 
-   * @return possible object is {@link FeatureMatcherSet.CompoundMatcher }
-   * 
-   */
-  public FeatureMatcherSet.CompoundMatcher getCompoundMatcher()
-  {
-    return compoundMatcher;
-  }
-
-  /**
-   * Sets the value of the compoundMatcher property.
-   * 
-   * @param value
-   *          allowed object is {@link FeatureMatcherSet.CompoundMatcher }
-   * 
-   */
-  public void setCompoundMatcher(FeatureMatcherSet.CompoundMatcher value)
-  {
-    this.compoundMatcher = value;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="matcherSet"
-   * type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2"
-   * minOccurs="2"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
-   * name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "matcherSet" })
-  public static class CompoundMatcher
-  {
-
-    @XmlElement(namespace = "", required = true)
-    protected List<FeatureMatcherSet> matcherSet;
-
-    @XmlAttribute(name = "and", required = true)
-    protected boolean and;
+@XmlType(name = "FeatureMatcherSet", namespace = "www.jalview.org/colours", propOrder = {
+    "matchCondition",
+    "compoundMatcher"
+})
+public class FeatureMatcherSet {
+
+    @XmlElement(namespace = "")
+    protected FeatureMatcher matchCondition;
+    @XmlElement(namespace = "")
+    protected FeatureMatcherSet.CompoundMatcher compoundMatcher;
 
     /**
-     * Gets the value of the matcherSet property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the matcherSet property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getMatcherSet().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; Objects of the following type(s) are allowed in the list
-     * {@link FeatureMatcherSet }
+     * Gets the value of the matchCondition property.
      * 
+     * @return
+     *     possible object is
+     *     {@link FeatureMatcher }
+     *     
+     */
+    public FeatureMatcher getMatchCondition() {
+        return matchCondition;
+    }
+
+    /**
+     * Sets the value of the matchCondition property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link FeatureMatcher }
+     *     
      */
-    public List<FeatureMatcherSet> getMatcherSet()
-    {
-      if (matcherSet == null)
-      {
-        matcherSet = new ArrayList<FeatureMatcherSet>();
-      }
-      return this.matcherSet;
+    public void setMatchCondition(FeatureMatcher value) {
+        this.matchCondition = value;
     }
 
     /**
-     * Gets the value of the and property.
+     * Gets the value of the compoundMatcher property.
      * 
+     * @return
+     *     possible object is
+     *     {@link FeatureMatcherSet.CompoundMatcher }
+     *     
      */
-    public boolean isAnd()
-    {
-      return and;
+    public FeatureMatcherSet.CompoundMatcher getCompoundMatcher() {
+        return compoundMatcher;
     }
 
     /**
-     * Sets the value of the and property.
+     * Sets the value of the compoundMatcher property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link FeatureMatcherSet.CompoundMatcher }
+     *     
      */
-    public void setAnd(boolean value)
-    {
-      this.and = value;
+    public void setCompoundMatcher(FeatureMatcherSet.CompoundMatcher value) {
+        this.compoundMatcher = value;
     }
 
-  }
+
+    /**
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "matcherSet"
+    })
+    public static class CompoundMatcher {
+
+        @XmlElement(namespace = "", required = true)
+        protected List<FeatureMatcherSet> matcherSet;
+        /**
+         * If true, matchers are AND-ed, if false they are OR-ed
+         * 
+         */
+        @XmlAttribute(name = "and", required = true)
+        protected boolean and;
+
+        /**
+         * Gets the value of the matcherSet 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 matcherSet property.</p>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getMatcherSet().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link FeatureMatcherSet }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the matcherSet property.
+         */
+        public List<FeatureMatcherSet> getMatcherSet() {
+            if (matcherSet == null) {
+                matcherSet = new ArrayList<FeatureMatcherSet>();
+            }
+            return this.matcherSet;
+        }
+
+        /**
+         * If true, matchers are AND-ed, if false they are OR-ed
+         * 
+         */
+        public boolean isAnd() {
+            return and;
+        }
+
+        /**
+         * Sets the value of the and property.
+         * 
+         */
+        public void setAnd(boolean value) {
+            this.and = value;
+        }
+
+    }
 
 }
index cfb0293..fa80470 100644 (file)
@@ -1,60 +1,78 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlEnum;
 import javax.xml.bind.annotation.XmlEnumValue;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for FilterBy.
+ * Filter may apply to label, score or some feature attribute
+ * 
+ * <p>Java class for FilterBy</p>.
  * 
- * &lt;p&gt;The following schema fragment specifies the expected content
- * contained within this class. &lt;pre&gt; &amp;lt;simpleType
- * name="FilterBy"&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt; &amp;lt;enumeration
- * value="byLabel"/&amp;gt; &amp;lt;enumeration value="byScore"/&amp;gt;
- * &amp;lt;enumeration value="byAttribute"/&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/simpleType&amp;gt; &lt;/pre&gt;
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
+ * <pre>
+ * &lt;simpleType name="FilterBy"&gt;
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
+ *     &lt;enumeration value="byLabel"/&gt;
+ *     &lt;enumeration value="byScore"/&gt;
+ *     &lt;enumeration value="byAttribute"/&gt;
+ *   &lt;/restriction&gt;
+ * &lt;/simpleType&gt;
+ * </pre>
  * 
  */
 @XmlType(name = "FilterBy", namespace = "www.jalview.org/colours")
 @XmlEnum
-public enum FilterBy
-{
-
-  @XmlEnumValue("byLabel")
-  BY_LABEL("byLabel"), @XmlEnumValue("byScore")
-  BY_SCORE("byScore"), @XmlEnumValue("byAttribute")
-  BY_ATTRIBUTE("byAttribute");
-
-  private final String value;
-
-  FilterBy(String v)
-  {
-    value = v;
-  }
-
-  public String value()
-  {
-    return value;
-  }
-
-  public static FilterBy fromValue(String v)
-  {
-    for (FilterBy c : FilterBy.values())
-    {
-      if (c.value.equals(v))
-      {
-        return c;
-      }
+public enum FilterBy {
+
+    @XmlEnumValue("byLabel")
+    BY_LABEL("byLabel"),
+    @XmlEnumValue("byScore")
+    BY_SCORE("byScore"),
+    @XmlEnumValue("byAttribute")
+    BY_ATTRIBUTE("byAttribute");
+    private final String value;
+
+    FilterBy(String v) {
+        value = v;
+    }
+
+    /**
+     * Gets the value associated to the enum constant.
+     * 
+     * @return
+     *     The value linked to the enum.
+     */
+    public String value() {
+        return value;
+    }
+
+    /**
+     * Gets the enum associated to the value passed as parameter.
+     * 
+     * @param v
+     *     The value to get the enum from.
+     * @return
+     *     The enum which corresponds to the value, if it exists.
+     * @throws IllegalArgumentException
+     *     If no value matches in the enum declaration.
+     */
+    public static FilterBy fromValue(String v) {
+        for (FilterBy c: FilterBy.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
     }
-    throw new IllegalArgumentException(v);
-  }
 
 }
index dda2352..0300df2 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -21,7047 +22,7707 @@ import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.datatype.XMLGregorianCalendar;
 
+
 /**
- * &lt;p&gt;Java class for JalviewModel complex type.
+ * <p>Java class for JalviewModel complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="JalviewModel"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="creationDate"
- * type="{http://www.w3.org/2001/XMLSchema}dateTime"/&amp;gt; &amp;lt;element
- * name="version" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
- * &amp;lt;element name="vamsasModel"
- * type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="JSeq" maxOccurs="unbounded"
- * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="features"
- * type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
- * &amp;lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt; &amp;lt;extension
- * base="{www.jalview.org}pdbentry"&amp;gt; &amp;lt;sequence&amp;gt;
- * &amp;lt;element name="structureState" maxOccurs="unbounded"
- * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;simpleContent&amp;gt; &amp;lt;extension
- * base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
- * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
- * &amp;lt;attribute name="visible"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="alignwithAlignPanel"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
- * &amp;lt;attribute name="colourwithAlignPanel"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="colourByJmol"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
- * &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;/extension&amp;gt; &amp;lt;/simpleContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;/extension&amp;gt;
- * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
- * &amp;lt;/element&amp;gt; &amp;lt;element name="hiddenSequences"
- * type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="rnaViewer" maxOccurs="unbounded"
- * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="secondaryStructure"
- * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="annotationId" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;attribute name="viewerState"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
- * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute name="title"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="dividerLocation"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="colour"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;attribute name="end" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="hidden"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="JGroup" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="seq"
- * type="{http://www.w3.org/2001/XMLSchema}string"
- * maxOccurs="unbounded"/&amp;gt; &amp;lt;element name="annotationColours"
- * type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="start"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="colour"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="pidThreshold"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="displayBoxes"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;attribute name="colourText"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="textCol2"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;attribute name="showUnconserved"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * default="true" /&amp;gt; &amp;lt;attribute name="showConsensusHistogram"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
- * &amp;lt;attribute name="showSequenceLogo"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="normaliseSequenceLogo"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="Viewport" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="AnnotationColours"
- * type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
- * &amp;lt;element name="hiddenColumns" maxOccurs="unbounded"
- * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt; &amp;lt;extension
- * base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
- * &amp;lt;attribute name="calcId" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * default="false" /&amp;gt; &amp;lt;attribute name="autoUpdate" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="overview" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
- * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
- * name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;attribute name="residueColour"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="hiddenColour"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
- * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
- * name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="pidSelected"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="consThreshold"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="title"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;attribute name="rightAlignIds"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;attribute name="showColourText"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * default="false" /&amp;gt; &amp;lt;attribute name="showBoxes"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="renderGaps"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="showNPfeatureTooltip"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="followHighlight"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
- * &amp;lt;attribute name="followSelection"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
- * &amp;lt;attribute name="showAnnotation"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * default="false" /&amp;gt; &amp;lt;attribute name="showGroupConservation"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="showGroupConsensus"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="showConsensusHistogram"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
- * &amp;lt;attribute name="showSequenceLogo"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="normaliseSequenceLogo"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="ignoreGapsinConsensus"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
- * &amp;lt;attribute name="startRes"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="charWidth"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="fontName"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="fontStyle"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="idWidth" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="idWidthManuallyAdjusted"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * default="true" /&amp;gt; &amp;lt;attribute name="viewName"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="gatheredViews"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="textCol2"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;attribute name="id"
- * type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt; &amp;lt;attribute
- * name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="showComplementFeatures"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;attribute name="showComplementFeaturesOnTop"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="UserColours" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="UserColourScheme"
- * type="{www.jalview.org/colours}JalviewUserColours"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="id"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="tree" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence minOccurs="0"&amp;gt; &amp;lt;element name="title"
- * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
- * name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
- * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute name="fontName"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="fontStyle"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
- * &amp;lt;attribute name="showBootstrap"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="markUnlinked"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;attribute name="currentTree"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * default="false" /&amp;gt; &amp;lt;attribute name="columnReference"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
- * &amp;lt;attribute name="linkToAllViews"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="PcaViewer" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="sequencePoint"
- * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
- * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;attribute name="sequenceRef"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="axis" maxOccurs="3" minOccurs="3"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
- * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
- * &amp;lt;/element&amp;gt; &amp;lt;element name="seqPointMin"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="seqPointMax"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
- * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
- * &amp;lt;/element&amp;gt; &amp;lt;element name="pcaData"
- * type="{www.jalview.org}PcaDataType"/&amp;gt; &amp;lt;/sequence&amp;gt;
- * &amp;lt;attGroup ref="{www.jalview.org}SimilarityParams"/&amp;gt;
- * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
- * &amp;lt;attribute name="title"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="xDim"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;attribute name="bgColour"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
- * &amp;lt;attribute name="showLabels"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="FeatureSettings" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="setting" maxOccurs="unbounded"
- * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
- * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="matcherSet"
- * type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="type" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;attribute name="display" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
- * name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
- * &amp;lt;attribute name="mincolour"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="noValueColour" type="{www.jalview.org/colours}NoValueColour"
- * default="Min" /&amp;gt; &amp;lt;attribute name="threshold"
- * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
- * name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float"
- * /&amp;gt; &amp;lt;attribute name="min"
- * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
- * name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="autoScale"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="group" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;attribute name="name" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="display" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
- * &amp;lt;/element&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;/sequence&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="JalviewModel"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/&gt;
+ *         &lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/&gt;
+ *         &lt;sequence&gt;
+ *           &lt;element name="JSeq" maxOccurs="unbounded" minOccurs="0"&gt;
+ *             &lt;complexType&gt;
+ *               &lt;complexContent&gt;
+ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                   &lt;sequence&gt;
+ *                     &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *                     &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;extension base="{www.jalview.org}pdbentry"&gt;
+ *                             &lt;sequence&gt;
+ *                               &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0"&gt;
+ *                                 &lt;complexType&gt;
+ *                                   &lt;simpleContent&gt;
+ *                                     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema&gt;string"&gt;
+ *                                       &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+ *                                       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                                       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                                       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+ *                                       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                                       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+ *                                       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                                     &lt;/extension&gt;
+ *                                   &lt;/simpleContent&gt;
+ *                                 &lt;/complexType&gt;
+ *                               &lt;/element&gt;
+ *                             &lt;/sequence&gt;
+ *                           &lt;/extension&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *                     &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;sequence&gt;
+ *                               &lt;element name="secondaryStructure" maxOccurs="unbounded"&gt;
+ *                                 &lt;complexType&gt;
+ *                                   &lt;complexContent&gt;
+ *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                                       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                                       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                                       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                                       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                                     &lt;/restriction&gt;
+ *                                   &lt;/complexContent&gt;
+ *                                 &lt;/complexType&gt;
+ *                               &lt;/element&gt;
+ *                             &lt;/sequence&gt;
+ *                             &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+ *                             &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                             &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                             &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                             &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                   &lt;/sequence&gt;
+ *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                 &lt;/restriction&gt;
+ *               &lt;/complexContent&gt;
+ *             &lt;/complexType&gt;
+ *           &lt;/element&gt;
+ *           &lt;element name="JGroup" maxOccurs="unbounded" minOccurs="0"&gt;
+ *             &lt;complexType&gt;
+ *               &lt;complexContent&gt;
+ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                   &lt;sequence&gt;
+ *                     &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&gt;
+ *                     &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&gt;
+ *                     &lt;element name="SecStrProvider" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *                   &lt;/sequence&gt;
+ *                   &lt;attGroup ref="{www.jalview.org}conservationShading"/&gt;
+ *                   &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;/restriction&gt;
+ *               &lt;/complexContent&gt;
+ *             &lt;/complexType&gt;
+ *           &lt;/element&gt;
+ *           &lt;element name="Viewport" maxOccurs="unbounded" minOccurs="0"&gt;
+ *             &lt;complexType&gt;
+ *               &lt;complexContent&gt;
+ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                   &lt;sequence&gt;
+ *                     &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&gt;
+ *                     &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                             &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&gt;
+ *                             &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                             &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                             &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                           &lt;/extension&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="overview" minOccurs="0"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+ *                             &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                             &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                             &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                             &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                             &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="SecStrProvider" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *                   &lt;/sequence&gt;
+ *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+ *                   &lt;attGroup ref="{www.jalview.org}conservationShading"/&gt;
+ *                   &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                   &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+ *                   &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+ *                   &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                   &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                   &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                   &lt;attribute name="showGroupSecStrConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                   &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="charWidth" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="idWidth" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="idWidthManuallyAdjusted" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+ *                   &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
+ *                   &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                   &lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                 &lt;/restriction&gt;
+ *               &lt;/complexContent&gt;
+ *             &lt;/complexType&gt;
+ *           &lt;/element&gt;
+ *           &lt;element name="UserColours" maxOccurs="unbounded" minOccurs="0"&gt;
+ *             &lt;complexType&gt;
+ *               &lt;complexContent&gt;
+ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                   &lt;sequence&gt;
+ *                     &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/&gt;
+ *                   &lt;/sequence&gt;
+ *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;/restriction&gt;
+ *               &lt;/complexContent&gt;
+ *             &lt;/complexType&gt;
+ *           &lt;/element&gt;
+ *           &lt;element name="tree" maxOccurs="unbounded" minOccurs="0"&gt;
+ *             &lt;complexType&gt;
+ *               &lt;complexContent&gt;
+ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                   &lt;sequence minOccurs="0"&gt;
+ *                     &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *                     &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *                   &lt;/sequence&gt;
+ *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+ *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                   &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                   &lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
+ *                   &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                 &lt;/restriction&gt;
+ *               &lt;/complexContent&gt;
+ *             &lt;/complexType&gt;
+ *           &lt;/element&gt;
+ *           &lt;element name="PcaViewer" maxOccurs="unbounded" minOccurs="0"&gt;
+ *             &lt;complexType&gt;
+ *               &lt;complexContent&gt;
+ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                   &lt;sequence&gt;
+ *                     &lt;element name="sequencePoint" maxOccurs="unbounded"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;attGroup ref="{www.jalview.org}position"/&gt;
+ *                             &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="axis" maxOccurs="3" minOccurs="3"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;attGroup ref="{www.jalview.org}position"/&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="seqPointMin"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;attGroup ref="{www.jalview.org}position"/&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="seqPointMax"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;attGroup ref="{www.jalview.org}position"/&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/&gt;
+ *                   &lt;/sequence&gt;
+ *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+ *                   &lt;attGroup ref="{www.jalview.org}SimilarityParams"/&gt;
+ *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                   &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                   &lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                   &lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                   &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                 &lt;/restriction&gt;
+ *               &lt;/complexContent&gt;
+ *             &lt;/complexType&gt;
+ *           &lt;/element&gt;
+ *           &lt;element name="FeatureSettings" minOccurs="0"&gt;
+ *             &lt;complexType&gt;
+ *               &lt;complexContent&gt;
+ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                   &lt;sequence&gt;
+ *                     &lt;element name="setting" maxOccurs="unbounded" minOccurs="0"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;sequence&gt;
+ *                               &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&gt;
+ *                               &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&gt;
+ *                             &lt;/sequence&gt;
+ *                             &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                             &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                             &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                             &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                             &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&gt;
+ *                             &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                             &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                             &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                             &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                             &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                             &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                     &lt;element name="group" maxOccurs="unbounded" minOccurs="0"&gt;
+ *                       &lt;complexType&gt;
+ *                         &lt;complexContent&gt;
+ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                             &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                           &lt;/restriction&gt;
+ *                         &lt;/complexContent&gt;
+ *                       &lt;/complexType&gt;
+ *                     &lt;/element&gt;
+ *                   &lt;/sequence&gt;
+ *                 &lt;/restriction&gt;
+ *               &lt;/complexContent&gt;
+ *             &lt;/complexType&gt;
+ *           &lt;/element&gt;
+ *         &lt;/sequence&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @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;
-  }
-
-  /**
-   * 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.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the jSeq property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getJSeq().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; 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>();
-    }
-    return this.jSeq;
-  }
-
-  /**
-   * Gets the value of the jGroup property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the jGroup property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getJGroup().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; 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>();
-    }
-    return this.jGroup;
-  }
-
-  /**
-   * Gets the value of the viewport property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the viewport property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getViewport().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; 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>();
-    }
-    return this.viewport;
-  }
-
-  /**
-   * Gets the value of the userColours property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the userColours property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getUserColours().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; 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>();
-    }
-    return this.userColours;
-  }
-
-  /**
-   * Gets the value of the tree property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the tree property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getTree().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; 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.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the pcaViewer property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getPcaViewer().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; 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;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="setting"
-   * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
-   * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
-   * minOccurs="0"/&amp;gt; &amp;lt;element name="matcherSet"
-   * type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="type" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
-   * /&amp;gt; &amp;lt;attribute name="display" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="order"
-   * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
-   * name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="noValueColour"
-   * type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
-   * &amp;lt;attribute name="threshold"
-   * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
-   * name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float"
-   * /&amp;gt; &amp;lt;attribute name="min"
-   * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
-   * name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * /&amp;gt; &amp;lt;attribute name="autoScale"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
-   * name="group" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-   * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;attribute name="display" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
-   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @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 setting property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the setting property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getSetting().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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 group property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the group property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getGroup().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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;
-    }
-
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-     * &amp;lt;attribute name="name" use="required"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;attribute name="display" use="required"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-     * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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;
-      }
-
-    }
-
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-     * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
-     * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
-     * minOccurs="0"/&amp;gt; &amp;lt;element name="matcherSet"
-     * type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&amp;gt;
-     * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="type" use="required"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;attribute name="colour" use="required"
-     * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-     * name="display" use="required"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-     * &amp;lt;attribute name="order"
-     * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-     * &amp;lt;attribute name="mincolour"
-     * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-     * name="noValueColour" type="{www.jalview.org/colours}NoValueColour"
-     * default="Min" /&amp;gt; &amp;lt;attribute name="threshold"
-     * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-     * &amp;lt;attribute name="threshstate"
-     * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-     * name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-     * &amp;lt;attribute name="min"
-     * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-     * &amp;lt;attribute name="colourByLabel"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-     * &amp;lt;attribute name="autoScale"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-     * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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.
-       * 
-       * &lt;p&gt; 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
-       * &lt;CODE&gt;set&lt;/CODE&gt; method for the attributeName property.
-       * 
-       * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-       * getAttributeName().add(newItem); &lt;/pre&gt;
-       * 
-       * 
-       * &lt;p&gt; 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;
-      }
-
-    }
-
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="seq"
-   * type="{http://www.w3.org/2001/XMLSchema}string"
-   * maxOccurs="unbounded"/&amp;gt; &amp;lt;element name="annotationColours"
-   * type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="start"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="name"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="colour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="consThreshold"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="outlineColour"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * /&amp;gt; &amp;lt;attribute name="displayText"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="colourText"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="textCol1"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="textColThreshold"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * /&amp;gt; &amp;lt;attribute name="ignoreGapsinConsensus"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-   * &amp;lt;attribute name="showConsensusHistogram"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-   * &amp;lt;attribute name="showSequenceLogo"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="normaliseSequenceLogo"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @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 = "consensusSecondaryStructureThreshold")
-    protected Integer consensusSecondaryStructureThreshold;
-
-    @XmlAttribute(name = "consensusSecondaryStructureColouring")
-    private boolean consensusSecondaryStructureColouring;
-
-    @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;    
-
-    @XmlAttribute(name = "secondaryStructureSources")
-    protected List<String> secondaryStructureSources;
-
-
-    /**
-     * Gets the value of the seq property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the seq property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getSeq().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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 annotationColours property.
-     * 
-     * @return possible object is {@link AnnotationColourScheme }
-     * 
-     */
-    public AnnotationColourScheme getAnnotationColours()
-    {
-      return annotationColours;
-    }
-
-    /**
-     * Sets the value of the annotationColours property.
+@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 AnnotationColourScheme }
-     * 
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
      */
-    public void setAnnotationColours(AnnotationColourScheme value)
-    {
-      this.annotationColours = value;
+    public void setCreationDate(XMLGregorianCalendar value) {
+        this.creationDate = value;
     }
 
     /**
-     * Gets the value of the start property.
-     * 
-     * @return possible object is {@link Integer }
+     * Gets the value of the version property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public Integer getStart()
-    {
-      return start;
+    public String getVersion() {
+        return version;
     }
 
     /**
-     * Sets the value of the start property.
+     * Sets the value of the version property.
      * 
      * @param value
-     *          allowed object is {@link Integer }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setStart(Integer value)
-    {
-      this.start = value;
+    public void setVersion(String value) {
+        this.version = value;
     }
 
     /**
-     * Gets the value of the end property.
-     * 
-     * @return possible object is {@link Integer }
+     * Gets the value of the vamsasModel property.
      * 
+     * @return
+     *     possible object is
+     *     {@link VAMSAS }
+     *     
      */
-    public Integer getEnd()
-    {
-      return end;
+    public VAMSAS getVamsasModel() {
+        return vamsasModel;
     }
 
     /**
-     * Sets the value of the end property.
+     * Sets the value of the vamsasModel property.
      * 
      * @param value
-     *          allowed object is {@link Integer }
-     * 
+     *     allowed object is
+     *     {@link VAMSAS }
+     *     
      */
-    public void setEnd(Integer value)
-    {
-      this.end = value;
+    public void setVamsasModel(VAMSAS value) {
+        this.vamsasModel = value;
     }
 
     /**
-     * Gets the value of the name property.
+     * Gets the value of the jSeq property.
      * 
-     * @return possible object is {@link String }
+     * <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>
      * 
-     */
-    public String getName()
-    {
-      return name;
-    }
-
-    /**
-     * Sets the value of the name property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getJSeq().add(newItem);
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link String }
      * 
-     */
-    public void setName(String value)
-    {
-      this.name = value;
-    }
-
-    /**
-     * Gets the value of the colour property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.JSeq }
+     * </p>
      * 
-     * @return possible object is {@link String }
      * 
+     * @return
+     *     The value of the jSeq property.
      */
-    public String getColour()
-    {
-      return colour;
+    public List<JalviewModel.JSeq> getJSeq() {
+        if (jSeq == null) {
+            jSeq = new ArrayList<JalviewModel.JSeq>();
+        }
+        return this.jSeq;
     }
 
     /**
-     * Sets the value of the colour property.
+     * Gets the value of the jGroup property.
      * 
-     * @param value
-     *          allowed object is {@link String }
+     * <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>
      * 
-     */
-    public void setColour(String value)
-    {
-      this.colour = value;
-    }
-
-    /**
-     * Gets the value of the consThreshold property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getJGroup().add(newItem);
+     * </pre>
      * 
-     * @return possible object is {@link Integer }
      * 
-     */
-    public Integer getConsThreshold()
-    {
-      return consThreshold;
-    }
-
-    /**
-     * Sets the value of the consThreshold property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.JGroup }
+     * </p>
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
+     * @return
+     *     The value of the jGroup property.
      */
-    public void setConsThreshold(Integer value)
-    {
-      this.consThreshold = value;
+    public List<JalviewModel.JGroup> getJGroup() {
+        if (jGroup == null) {
+            jGroup = new ArrayList<JalviewModel.JGroup>();
+        }
+        return this.jGroup;
     }
 
     /**
-     * Gets the value of the pidThreshold property.
+     * Gets the value of the viewport property.
      * 
-     * @return possible object is {@link Integer }
+     * <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>
      * 
-     */
-    public Integer getPidThreshold()
-    {
-      return pidThreshold;
-    }
-
-    /**
-     * Sets the value of the pidThreshold property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getViewport().add(newItem);
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
-     */
-    public void setPidThreshold(Integer value)
-    {
-      this.pidThreshold = value;
-    }
-    
-    /**
-     * Gets the value of the consensusSecondaryStructureThreshold property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.Viewport }
+     * </p>
      * 
-     * @return possible object is {@link Integer }
      * 
+     * @return
+     *     The value of the viewport property.
      */
-    public Integer getConsensusSecondaryStructureThreshold()
-    {
-      return consensusSecondaryStructureThreshold;
+    public List<JalviewModel.Viewport> getViewport() {
+        if (viewport == null) {
+            viewport = new ArrayList<JalviewModel.Viewport>();
+        }
+        return this.viewport;
     }
 
     /**
-     * Sets the value of the consensusSecondaryStructureThreshold property.
+     * Gets the value of the userColours property.
      * 
-     * @param value
-     *          allowed object is {@link Integer }
+     * <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>
      * 
-     */
-    public void setConsensusSecondaryStructureThreshold(Integer value)
-    {
-      this.consensusSecondaryStructureThreshold = value;
-    }
-    
-    /**
-     * Sets the value of the consensusSecondaryStructureColouring property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getUserColours().add(newItem);
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link boolean }
      * 
-     */
-    public void setConsensusSecondaryStructureColouring(boolean value)
-    {
-      this.consensusSecondaryStructureColouring = value;
-    }
-    
-    
-    /**
-     * Sets the value of the consensusSecondaryStructureColouring property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.UserColours }
+     * </p>
      * 
-     * @param value
-     *          allowed object is {@link boolean }
      * 
+     * @return
+     *     The value of the userColours property.
      */
-    public boolean isConsensusSecondaryStructureColouring()
-    {
-      return consensusSecondaryStructureColouring;
+    public List<JalviewModel.UserColours> getUserColours() {
+        if (userColours == null) {
+            userColours = new ArrayList<JalviewModel.UserColours>();
+        }
+        return this.userColours;
     }
 
     /**
-     * Gets the value of the outlineColour property.
+     * Gets the value of the tree property.
      * 
-     * @return possible object is {@link Integer }
+     * <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>
      * 
-     */
-    public Integer getOutlineColour()
-    {
-      return outlineColour;
-    }
-
-    /**
-     * Sets the value of the outlineColour property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getTree().add(newItem);
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
-     */
-    public void setOutlineColour(Integer value)
-    {
-      this.outlineColour = value;
-    }
-
-    /**
-     * Gets the value of the displayBoxes property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.Tree }
+     * </p>
      * 
-     * @return possible object is {@link Boolean }
      * 
+     * @return
+     *     The value of the tree property.
      */
-    public Boolean isDisplayBoxes()
-    {
-      return displayBoxes;
+    public List<JalviewModel.Tree> getTree() {
+        if (tree == null) {
+            tree = new ArrayList<JalviewModel.Tree>();
+        }
+        return this.tree;
     }
 
     /**
-     * Sets the value of the displayBoxes property.
+     * Gets the value of the pcaViewer property.
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
+     * <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>
      * 
-     */
-    public void setDisplayBoxes(Boolean value)
-    {
-      this.displayBoxes = value;
-    }
-
-    /**
-     * Gets the value of the displayText property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getPcaViewer().add(newItem);
+     * </pre>
      * 
-     * @return possible object is {@link Boolean }
      * 
-     */
-    public Boolean isDisplayText()
-    {
-      return displayText;
-    }
-
-    /**
-     * Sets the value of the displayText property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.PcaViewer }
+     * </p>
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
      * 
+     * @return
+     *     The value of the pcaViewer property.
      */
-    public void setDisplayText(Boolean value)
-    {
-      this.displayText = value;
+    public List<JalviewModel.PcaViewer> getPcaViewer() {
+        if (pcaViewer == null) {
+            pcaViewer = new ArrayList<JalviewModel.PcaViewer>();
+        }
+        return this.pcaViewer;
     }
 
     /**
-     * Gets the value of the colourText property.
-     * 
-     * @return possible object is {@link Boolean }
+     * Gets the value of the featureSettings property.
      * 
+     * @return
+     *     possible object is
+     *     {@link JalviewModel.FeatureSettings }
+     *     
      */
-    public Boolean isColourText()
-    {
-      return colourText;
+    public JalviewModel.FeatureSettings getFeatureSettings() {
+        return featureSettings;
     }
 
     /**
-     * Sets the value of the colourText property.
+     * Sets the value of the featureSettings property.
      * 
      * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setColourText(Boolean value)
-    {
-      this.colourText = value;
-    }
-
-    /**
-     * Gets the value of the textCol1 property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getTextCol1()
-    {
-      return textCol1;
-    }
-
-    /**
-     * Sets the value of the textCol1 property.
+     *     allowed object is
+     *     {@link JalviewModel.FeatureSettings }
+     *     
+     */
+    public void setFeatureSettings(JalviewModel.FeatureSettings value) {
+        this.featureSettings = value;
+    }
+
+
+    /**
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="setting" maxOccurs="unbounded" minOccurs="0"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;sequence&gt;
+     *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&gt;
+     *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&gt;
+     *                 &lt;/sequence&gt;
+     *                 &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                 &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *                 &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *                 &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&gt;
+     *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *                 &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="group" maxOccurs="unbounded" minOccurs="0"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
      */
-    public void setTextCol1(Integer value)
-    {
-      this.textCol1 = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "setting",
+        "group"
+    })
+    public static class FeatureSettings {
 
-    /**
-     * Gets the value of the textCol2 property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getTextCol2()
-    {
-      return textCol2;
-    }
+        @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 textCol2 property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setTextCol2(Integer value)
-    {
-      this.textCol2 = 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getSetting().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link JalviewModel.FeatureSettings.Setting }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the setting property.
+         */
+        public List<JalviewModel.FeatureSettings.Setting> getSetting() {
+            if (setting == null) {
+                setting = new ArrayList<JalviewModel.FeatureSettings.Setting>();
+            }
+            return this.setting;
+        }
 
-    /**
-     * Gets the value of the textColThreshold property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getTextColThreshold()
-    {
-      return textColThreshold;
-    }
+        /**
+         * 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getGroup().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link JalviewModel.FeatureSettings.Group }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the group property.
+         */
+        public List<JalviewModel.FeatureSettings.Group> getGroup() {
+            if (group == null) {
+                group = new ArrayList<JalviewModel.FeatureSettings.Group>();
+            }
+            return this.group;
+        }
 
-    /**
-     * 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;
-    }
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </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 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;
-    }
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;sequence&gt;
+         *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&gt;
+         *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&gt;
+         *       &lt;/sequence&gt;
+         *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *       &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+         *       &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+         *       &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&gt;
+         *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+         *       &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+         *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+         *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+         *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "", propOrder = {
+            "attributeName",
+            "matcherSet"
+        })
+        public static class Setting {
+
+            /**
+             * name of feature attribute to colour by, or attribute and sub-attribute
+             * 
+             */
+            @XmlElement(namespace = "www.jalview.org")
+            protected List<String> attributeName;
+            /**
+             * optional filter(s) applied to the feature type
+             * 
+             */
+            @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;
+            /**
+             * Optional minimum colour
+             *                                                                                                 for graduated
+             *                                                                                                 feature
+             *                                                                                                 colour
+             * 
+             */
+            @XmlAttribute(name = "mincolour")
+            protected Integer mincolour;
+            @XmlAttribute(name = "noValueColour")
+            protected NoValueColour noValueColour;
+            /**
+             * threshold value for
+             *                                                                                                 graduated feature colour
+             * 
+             */
+            @XmlAttribute(name = "threshold")
+            protected Float threshold;
+            /**
+             * threshold type for
+             *                                                                                                 graduated feature colour
+             * 
+             */
+            @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;
+
+            /**
+             * name of feature attribute to colour by, or attribute and sub-attribute
+             * 
+             * 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>
+             * 
+             * <p>
+             * For example, to add a new item, do as follows:
+             * </p>
+             * <pre>
+             * getAttributeName().add(newItem);
+             * </pre>
+             * 
+             * 
+             * <p>
+             * Objects of the following type(s) are allowed in the list
+             * {@link String }
+             * </p>
+             * 
+             * 
+             * @return
+             *     The value of the attributeName property.
+             */
+            public List<String> getAttributeName() {
+                if (attributeName == null) {
+                    attributeName = new ArrayList<String>();
+                }
+                return this.attributeName;
+            }
+
+            /**
+             * optional filter(s) applied to the feature type
+             * 
+             * @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 }
+             *     
+             * @see #getMatcherSet()
+             */
+            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;
+            }
+
+            /**
+             * Optional minimum colour
+             *                                                                                                 for graduated
+             *                                                                                                 feature
+             *                                                                                                 colour
+             * 
+             * @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 }
+             *     
+             * @see #getMincolour()
+             */
+            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;
+            }
+
+            /**
+             * threshold value for
+             *                                                                                                 graduated feature colour
+             * 
+             * @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 }
+             *     
+             * @see #getThreshold()
+             */
+            public void setThreshold(Float value) {
+                this.threshold = value;
+            }
+
+            /**
+             * threshold type for
+             *                                                                                                 graduated feature colour
+             * 
+             * @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 }
+             *     
+             * @see #getThreshstate()
+             */
+            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 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.
+     * <p>Java class for anonymous complex type</p>.
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
      * 
-     */
-    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;
-    }
-    
-    
-    public List<String> getSecondaryStructureSources()
-    {
-      return secondaryStructureSources;
-    }
-
-    public void setSecondaryStructureSources(
-            List<String> secondaryStructureSources)
-    {
-      this.secondaryStructureSources = secondaryStructureSources;
-    }
-
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="features"
-   * type="{www.jalview.org}feature" maxOccurs="unbounded"
-   * minOccurs="0"/&amp;gt; &amp;lt;element name="pdbids" maxOccurs="unbounded"
-   * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;complexContent&amp;gt; &amp;lt;extension
-   * base="{www.jalview.org}pdbentry"&amp;gt; &amp;lt;sequence&amp;gt;
-   * &amp;lt;element name="structureState" maxOccurs="unbounded"
-   * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;simpleContent&amp;gt; &amp;lt;extension
-   * base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-   * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-   * &amp;lt;attribute name="visible"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="viewId"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * default="true" /&amp;gt; &amp;lt;attribute name="colourwithAlignPanel"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="colourByJmol"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-   * &amp;lt;attribute name="type"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;/extension&amp;gt; &amp;lt;/simpleContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;/extension&amp;gt;
-   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
-   * &amp;lt;/element&amp;gt; &amp;lt;element name="hiddenSequences"
-   * type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded"
-   * minOccurs="0"/&amp;gt; &amp;lt;element name="rnaViewer"
-   * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="secondaryStructure"
-   * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="annotationId" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="viewerState"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
-   * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute name="title"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="dividerLocation"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="colour"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
-   * /&amp;gt; &amp;lt;attribute name="end" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;attribute name="hidden"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="viewreference"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @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.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the features property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getFeatures().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the pdbids property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getPdbids().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the hiddenSequences property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getHiddenSequences().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the rnaViewer property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getRnaViewer().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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;
-    }
-
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;extension base="{www.jalview.org}pdbentry"&amp;gt;
-     * &amp;lt;sequence&amp;gt; &amp;lt;element name="structureState"
-     * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
-     * &amp;lt;simpleContent&amp;gt; &amp;lt;extension
-     * base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-     * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-     * &amp;lt;attribute name="visible"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-     * &amp;lt;attribute name="viewId"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;attribute name="alignwithAlignPanel"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-     * &amp;lt;attribute name="colourwithAlignPanel"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
-     * /&amp;gt; &amp;lt;attribute name="colourByJmol"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-     * &amp;lt;attribute name="type"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;/extension&amp;gt; &amp;lt;/simpleContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
-     * &amp;lt;/sequence&amp;gt; &amp;lt;/extension&amp;gt;
-     * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&gt;
+     *         &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&gt;
+     *         &lt;element name="SecStrProvider" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attGroup ref="{www.jalview.org}conservationShading"/&gt;
+     *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </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.
-       * 
-       * &lt;p&gt; 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
-       * &lt;CODE&gt;set&lt;/CODE&gt; method for the structureState property.
-       * 
-       * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-       * getStructureState().add(newItem); &lt;/pre&gt;
-       * 
-       * 
-       * &lt;p&gt; 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;
-      }
-
-      /**
-       * &lt;p&gt;Java class for anonymous complex type.
-       * 
-       * &lt;p&gt;The following schema fragment specifies the expected content
-       * contained within this class.
-       * 
-       * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;simpleContent&amp;gt;
-       * &amp;lt;extension
-       * base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-       * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-       * &amp;lt;attribute name="visible"
-       * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-       * &amp;lt;attribute name="viewId"
-       * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-       * &amp;lt;attribute name="alignwithAlignPanel"
-       * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true"
-       * /&amp;gt; &amp;lt;attribute name="colourwithAlignPanel"
-       * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
-       * /&amp;gt; &amp;lt;attribute name="colourByJmol"
-       * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true"
-       * /&amp;gt; &amp;lt;attribute name="type"
-       * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-       * &amp;lt;/extension&amp;gt; &amp;lt;/simpleContent&amp;gt;
-       * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-       * 
-       * 
-       */
-      @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;
-
+    @XmlType(name = "", propOrder = {
+        "seq",
+        "annotationColours",
+        "secStrProvider"
+    })
+    public static class JGroup {
+
+        @XmlElement(namespace = "www.jalview.org", required = true)
+        protected List<String> seq;
+        @XmlElement(namespace = "www.jalview.org")
+        protected AnnotationColourScheme annotationColours;
+        @XmlElement(name = "SecStrProvider", namespace = "www.jalview.org")
+        protected List<String> secStrProvider;
+        @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 = "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;
         /**
-         * Gets the value of the value property.
+         * Optional sequence group ID (only
+         *                                                                     needs to be
+         *                                                                     unique for this
+         *                                                                     alignment)
          * 
-         * @return possible object is {@link String }
+         */
+        @XmlAttribute(name = "id")
+        protected String id;
+        @XmlAttribute(name = "conservationSelected")
+        protected Boolean conservationSelected;
+        /**
+         * Conservation shading increment
          * 
          */
-        public String getValue()
-        {
-          return value;
-        }
-
+        @XmlAttribute(name = "consThreshold")
+        protected Integer consThreshold;
+        @XmlAttribute(name = "pidSelected")
+        protected Boolean pidSelected;
         /**
-         * Sets the value of the value property.
+         * Percent Identity Threshold
          * 
-         * @param value
-         *          allowed object is {@link String }
+         */
+        @XmlAttribute(name = "pidThreshold")
+        protected Integer pidThreshold;
+        /**
+         * Secondary structure consensus shading - since 2.11.4
          * 
          */
-        public void setValue(String value)
-        {
-          this.value = value;
-        }
+        @XmlAttribute(name = "secstrSelected")
+        protected Boolean secstrSelected;
+        /**
+         * Secondary structure consensus increment
+         * 
+         */
+        @XmlAttribute(name = "secstrThreshold")
+        protected Integer secstrThreshold;
+        @XmlAttribute(name = "showConsensusHistogram")
+        protected Boolean showConsensusHistogram;
+        @XmlAttribute(name = "showSequenceLogo")
+        protected Boolean showSequenceLogo;
+        @XmlAttribute(name = "normaliseSequenceLogo")
+        protected Boolean normaliseSequenceLogo;
+        @XmlAttribute(name = "ignoreGapsinConsensus")
+        protected Boolean ignoreGapsinConsensus;
 
         /**
-         * Gets the value of the visible 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 seq property.</p>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getSeq().add(newItem);
+         * </pre>
+         * 
          * 
-         * @return possible object is {@link Boolean }
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link String }
+         * </p>
          * 
+         * 
+         * @return
+         *     The value of the seq property.
          */
-        public Boolean isVisible()
-        {
-          return visible;
+        public List<String> getSeq() {
+            if (seq == null) {
+                seq = new ArrayList<String>();
+            }
+            return this.seq;
         }
 
         /**
-         * Sets the value of the visible property.
-         * 
-         * @param value
-         *          allowed object is {@link Boolean }
+         * Gets the value of the annotationColours property.
          * 
+         * @return
+         *     possible object is
+         *     {@link AnnotationColourScheme }
+         *     
          */
-        public void setVisible(Boolean value)
-        {
-          this.visible = value;
+        public AnnotationColourScheme getAnnotationColours() {
+            return annotationColours;
         }
 
         /**
-         * Gets the value of the viewId property.
-         * 
-         * @return possible object is {@link String }
+         * Sets the value of the annotationColours property.
          * 
+         * @param value
+         *     allowed object is
+         *     {@link AnnotationColourScheme }
+         *     
          */
-        public String getViewId()
-        {
-          return viewId;
+        public void setAnnotationColours(AnnotationColourScheme value) {
+            this.annotationColours = value;
         }
 
         /**
-         * Sets the value of the viewId property.
+         * Gets the value of the secStrProvider property.
          * 
-         * @param value
-         *          allowed object is {@link String }
+         * <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 secStrProvider property.</p>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getSecStrProvider().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link String }
+         * </p>
          * 
+         * 
+         * @return
+         *     The value of the secStrProvider property.
          */
-        public void setViewId(String value)
-        {
-          this.viewId = value;
+        public List<String> getSecStrProvider() {
+            if (secStrProvider == null) {
+                secStrProvider = new ArrayList<String>();
+            }
+            return this.secStrProvider;
         }
 
         /**
-         * Gets the value of the alignwithAlignPanel property.
-         * 
-         * @return possible object is {@link Boolean }
+         * Gets the value of the start property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public boolean isAlignwithAlignPanel()
-        {
-          if (alignwithAlignPanel == null)
-          {
-            return true;
-          }
-          else
-          {
-            return alignwithAlignPanel;
-          }
+        public Integer getStart() {
+            return start;
         }
 
         /**
-         * Sets the value of the alignwithAlignPanel property.
+         * Sets the value of the start property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setAlignwithAlignPanel(Boolean value)
-        {
-          this.alignwithAlignPanel = value;
+        public void setStart(Integer value) {
+            this.start = value;
         }
 
         /**
-         * Gets the value of the colourwithAlignPanel property.
-         * 
-         * @return possible object is {@link Boolean }
+         * Gets the value of the end property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public boolean isColourwithAlignPanel()
-        {
-          if (colourwithAlignPanel == null)
-          {
-            return false;
-          }
-          else
-          {
-            return colourwithAlignPanel;
-          }
+        public Integer getEnd() {
+            return end;
         }
 
         /**
-         * Sets the value of the colourwithAlignPanel property.
+         * Sets the value of the end property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setColourwithAlignPanel(Boolean value)
-        {
-          this.colourwithAlignPanel = value;
+        public void setEnd(Integer value) {
+            this.end = value;
         }
 
         /**
-         * Gets the value of the colourByJmol property.
-         * 
-         * @return possible object is {@link Boolean }
+         * Gets the value of the name property.
          * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
          */
-        public boolean isColourByJmol()
-        {
-          if (colourByJmol == null)
-          {
-            return true;
-          }
-          else
-          {
-            return colourByJmol;
-          }
+        public String getName() {
+            return name;
         }
 
         /**
-         * Sets the value of the colourByJmol property.
+         * Sets the value of the name property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link String }
+         *     
          */
-        public void setColourByJmol(Boolean value)
-        {
-          this.colourByJmol = value;
+        public void setName(String value) {
+            this.name = value;
         }
 
         /**
-         * Gets the value of the type property.
-         * 
-         * @return possible object is {@link String }
+         * Gets the value of the colour property.
          * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
          */
-        public String getType()
-        {
-          return type;
+        public String getColour() {
+            return colour;
         }
 
         /**
-         * Sets the value of the type property.
+         * Sets the value of the colour property.
          * 
          * @param value
-         *          allowed object is {@link String }
-         * 
+         *     allowed object is
+         *     {@link String }
+         *     
          */
-        public void setType(String value)
-        {
-          this.type = value;
+        public void setColour(String value) {
+            this.colour = value;
         }
 
         /**
-         * Gets the value of the width property.
-         * 
-         * @return possible object is {@link Integer }
+         * Gets the value of the outlineColour property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public Integer getWidth()
-        {
-          return width;
+        public Integer getOutlineColour() {
+            return outlineColour;
         }
 
         /**
-         * Sets the value of the width property.
+         * Sets the value of the outlineColour property.
          * 
          * @param value
-         *          allowed object is {@link Integer }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setWidth(Integer value)
-        {
-          this.width = value;
+        public void setOutlineColour(Integer value) {
+            this.outlineColour = value;
         }
 
         /**
-         * Gets the value of the height property.
-         * 
-         * @return possible object is {@link Integer }
+         * Gets the value of the displayBoxes property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
          */
-        public Integer getHeight()
-        {
-          return height;
+        public Boolean isDisplayBoxes() {
+            return displayBoxes;
         }
 
         /**
-         * Sets the value of the height property.
+         * Sets the value of the displayBoxes property.
          * 
          * @param value
-         *          allowed object is {@link Integer }
-         * 
+         *     allowed object is
+         *     {@link Boolean }
+         *     
          */
-        public void setHeight(Integer value)
-        {
-          this.height = value;
+        public void setDisplayBoxes(Boolean value) {
+            this.displayBoxes = value;
         }
 
         /**
-         * Gets the value of the xpos property.
-         * 
-         * @return possible object is {@link Integer }
+         * Gets the value of the displayText property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
          */
-        public Integer getXpos()
-        {
-          return xpos;
+        public Boolean isDisplayText() {
+            return displayText;
         }
 
         /**
-         * Sets the value of the xpos property.
+         * Sets the value of the displayText property.
          * 
          * @param value
-         *          allowed object is {@link Integer }
-         * 
+         *     allowed object is
+         *     {@link Boolean }
+         *     
          */
-        public void setXpos(Integer value)
-        {
-          this.xpos = value;
+        public void setDisplayText(Boolean value) {
+            this.displayText = value;
         }
 
         /**
-         * Gets the value of the ypos property.
-         * 
-         * @return possible object is {@link Integer }
+         * Gets the value of the colourText property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
          */
-        public Integer getYpos()
-        {
-          return ypos;
+        public Boolean isColourText() {
+            return colourText;
         }
 
         /**
-         * Sets the value of the ypos property.
+         * Sets the value of the colourText property.
          * 
          * @param value
-         *          allowed object is {@link Integer }
-         * 
+         *     allowed object is
+         *     {@link Boolean }
+         *     
          */
-        public void setYpos(Integer value)
-        {
-          this.ypos = value;
+        public void setColourText(Boolean value) {
+            this.colourText = value;
         }
 
-      }
-
-    }
-
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-     * &amp;lt;sequence&amp;gt; &amp;lt;element name="secondaryStructure"
-     * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
-     * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-     * &amp;lt;attribute name="title"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;attribute name="annotationId" use="required"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;attribute name="gapped"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-     * &amp;lt;attribute name="viewerState"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
-     * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
-     * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
-     * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;attribute name="viewId"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;attribute name="dividerLocation"
-     * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-     * name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-     * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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.
-       * 
-       * &lt;p&gt; 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
-       * &lt;CODE&gt;set&lt;/CODE&gt; method for the secondaryStructure
-       * property.
-       * 
-       * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-       * getSecondaryStructure().add(newItem); &lt;/pre&gt;
-       * 
-       * 
-       * &lt;p&gt; 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;
-      }
-
-      /**
-       * &lt;p&gt;Java class for anonymous complex type.
-       * 
-       * &lt;p&gt;The following schema fragment specifies the expected content
-       * contained within this class.
-       * 
-       * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-       * &amp;lt;restriction
-       * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-       * &amp;lt;attribute name="title"
-       * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-       * &amp;lt;attribute name="annotationId" use="required"
-       * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-       * &amp;lt;attribute name="gapped"
-       * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-       * &amp;lt;attribute name="viewerState"
-       * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-       * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-       * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-       * 
-       * 
-       */
-      @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 }
+         * Gets the value of the textCol1 property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public String getTitle()
-        {
-          return title;
+        public Integer getTextCol1() {
+            return textCol1;
         }
 
         /**
-         * Sets the value of the title property.
+         * Sets the value of the textCol1 property.
          * 
          * @param value
-         *          allowed object is {@link String }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setTitle(String value)
-        {
-          this.title = value;
+        public void setTextCol1(Integer value) {
+            this.textCol1 = value;
         }
 
         /**
-         * Gets the value of the annotationId property.
-         * 
-         * @return possible object is {@link String }
+         * Gets the value of the textCol2 property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public String getAnnotationId()
-        {
-          return annotationId;
+        public Integer getTextCol2() {
+            return textCol2;
         }
 
         /**
-         * Sets the value of the annotationId property.
+         * Sets the value of the textCol2 property.
          * 
          * @param value
-         *          allowed object is {@link String }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setAnnotationId(String value)
-        {
-          this.annotationId = value;
+        public void setTextCol2(Integer value) {
+            this.textCol2 = value;
         }
 
         /**
-         * Gets the value of the gapped property.
-         * 
-         * @return possible object is {@link Boolean }
+         * Gets the value of the textColThreshold property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public Boolean isGapped()
-        {
-          return gapped;
+        public Integer getTextColThreshold() {
+            return textColThreshold;
         }
 
         /**
-         * Sets the value of the gapped property.
+         * Sets the value of the textColThreshold property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setGapped(Boolean value)
-        {
-          this.gapped = value;
+        public void setTextColThreshold(Integer value) {
+            this.textColThreshold = value;
         }
 
         /**
-         * Gets the value of the viewerState property.
-         * 
-         * @return possible object is {@link String }
+         * Gets the value of the showUnconserved property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
          */
-        public String getViewerState()
-        {
-          return viewerState;
+        public Boolean isShowUnconserved() {
+            return showUnconserved;
         }
 
         /**
-         * Sets the value of the viewerState property.
+         * Sets the value of the showUnconserved property.
          * 
          * @param value
-         *          allowed object is {@link String }
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowUnconserved(Boolean value) {
+            this.showUnconserved = value;
+        }
+
+        /**
+         * Optional sequence group ID (only
+         *                                                                     needs to be
+         *                                                                     unique for this
+         *                                                                     alignment)
          * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
          */
-        public void setViewerState(String value)
-        {
-          this.viewerState = value;
+        public String getId() {
+            return id;
         }
 
-      }
+        /**
+         * Sets the value of the id property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         * @see #getId()
+         */
+        public void setId(String value) {
+            this.id = value;
+        }
 
-    }
+        /**
+         * Gets the value of the conservationSelected property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isConservationSelected() {
+            return conservationSelected;
+        }
 
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="sequencePoint"
-   * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-   * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;attribute
-   * name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
-   * name="axis" maxOccurs="3" minOccurs="3"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-   * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
-   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
-   * &amp;lt;/element&amp;gt; &amp;lt;element name="seqPointMin"&amp;gt;
-   * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-   * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
-   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
-   * &amp;lt;/element&amp;gt; &amp;lt;element name="seqPointMax"&amp;gt;
-   * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-   * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
-   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
-   * &amp;lt;/element&amp;gt; &amp;lt;element name="pcaData"
-   * type="{www.jalview.org}PcaDataType"/&amp;gt; &amp;lt;/sequence&amp;gt;
-   * &amp;lt;attGroup ref="{www.jalview.org}SimilarityParams"/&amp;gt;
-   * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-   * &amp;lt;attribute name="title"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;attribute name="xDim"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int"
-   * /&amp;gt; &amp;lt;attribute name="bgColour"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-   * &amp;lt;attribute name="showLabels"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="linkToAllViews"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @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;
+        /**
+         * 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 sequencePoint property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the sequencePoint property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getSequencePoint().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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;
-    }
+        /**
+         * Conservation shading increment
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getConsThreshold() {
+            return consThreshold;
+        }
 
-    /**
-     * Gets the value of the axis property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the axis property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getAxis().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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;
-    }
+        /**
+         * Sets the value of the consThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         * @see #getConsThreshold()
+         */
+        public void setConsThreshold(Integer value) {
+            this.consThreshold = value;
+        }
 
-    /**
-     * Gets the value of the seqPointMin property.
-     * 
-     * @return possible object is {@link JalviewModel.PcaViewer.SeqPointMin }
-     * 
-     */
-    public JalviewModel.PcaViewer.SeqPointMin getSeqPointMin()
-    {
-      return seqPointMin;
-    }
+        /**
+         * Gets the value of the pidSelected property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isPidSelected() {
+            return pidSelected;
+        }
 
-    /**
-     * 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;
-    }
+        /**
+         * 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 seqPointMax property.
-     * 
-     * @return possible object is {@link JalviewModel.PcaViewer.SeqPointMax }
-     * 
-     */
-    public JalviewModel.PcaViewer.SeqPointMax getSeqPointMax()
-    {
-      return seqPointMax;
-    }
+        /**
+         * Percent Identity Threshold
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getPidThreshold() {
+            return pidThreshold;
+        }
 
-    /**
-     * 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;
-    }
+        /**
+         * Sets the value of the pidThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         * @see #getPidThreshold()
+         */
+        public void setPidThreshold(Integer value) {
+            this.pidThreshold = value;
+        }
 
-    /**
-     * Gets the value of the pcaData property.
-     * 
-     * @return possible object is {@link PcaDataType }
-     * 
-     */
-    public PcaDataType getPcaData()
-    {
-      return pcaData;
-    }
+        /**
+         * Secondary structure consensus shading - since 2.11.4
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isSecstrSelected() {
+            if (secstrSelected == null) {
+                return false;
+            } else {
+                return secstrSelected;
+            }
+        }
 
-    /**
-     * Sets the value of the pcaData property.
-     * 
-     * @param value
-     *          allowed object is {@link PcaDataType }
-     * 
-     */
-    public void setPcaData(PcaDataType value)
-    {
-      this.pcaData = value;
-    }
+        /**
+         * Sets the value of the secstrSelected property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         * @see #isSecstrSelected()
+         */
+        public void setSecstrSelected(Boolean value) {
+            this.secstrSelected = value;
+        }
 
-    /**
-     * Gets the value of the title property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getTitle()
-    {
-      return title;
-    }
+        /**
+         * Secondary structure consensus increment
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getSecstrThreshold() {
+            return secstrThreshold;
+        }
 
-    /**
-     * 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 secstrThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         * @see #getSecstrThreshold()
+         */
+        public void setSecstrThreshold(Integer value) {
+            this.secstrThreshold = value;
+        }
 
-    /**
-     * Gets the value of the scoreModelName property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getScoreModelName()
-    {
-      return scoreModelName;
-    }
+        /**
+         * 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 scoreModelName property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setScoreModelName(String value)
-    {
-      this.scoreModelName = 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 xDim property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getXDim()
-    {
-      return xDim;
-    }
+        /**
+         * 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 xDim property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setXDim(Integer value)
-    {
-      this.xDim = 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 yDim property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getYDim()
-    {
-      return yDim;
-    }
+        /**
+         * 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 yDim property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setYDim(Integer value)
-    {
-      this.yDim = 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 zDim property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getZDim()
-    {
-      return zDim;
-    }
+        /**
+         * 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 zDim property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setZDim(Integer value)
-    {
-      this.zDim = 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 bgColour property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getBgColour()
-    {
-      return bgColour;
     }
 
-    /**
-     * 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.
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/&gt;
+     *         &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;extension base="{www.jalview.org}pdbentry"&gt;
+     *                 &lt;sequence&gt;
+     *                   &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0"&gt;
+     *                     &lt;complexType&gt;
+     *                       &lt;simpleContent&gt;
+     *                         &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema&gt;string"&gt;
+     *                           &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+     *                           &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *                           &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                           &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+     *                           &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *                           &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+     *                           &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                         &lt;/extension&gt;
+     *                       &lt;/simpleContent&gt;
+     *                     &lt;/complexType&gt;
+     *                   &lt;/element&gt;
+     *                 &lt;/sequence&gt;
+     *               &lt;/extension&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/&gt;
+     *         &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;sequence&gt;
+     *                   &lt;element name="secondaryStructure" maxOccurs="unbounded"&gt;
+     *                     &lt;complexType&gt;
+     *                       &lt;complexContent&gt;
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                           &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                           &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                           &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *                           &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                         &lt;/restriction&gt;
+     *                       &lt;/complexContent&gt;
+     *                     &lt;/complexType&gt;
+     *                   &lt;/element&gt;
+     *                 &lt;/sequence&gt;
+     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                 &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *                 &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @return possible object is {@link Float }
      * 
      */
-    public Float getScaleFactor()
-    {
-      return scaleFactor;
-    }
+    @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;
+        /**
+         * Reference to a viewer showing
+         *                                                                             RNA structure for this sequence.
+         *                                                                             Schema supports one viewer
+         *                                                                             showing multiple annotations for
+         *                                                                             multiple sequences, though
+         *                                                                             currently only one annotation
+         *                                                                             for one sequence (gapped or
+         *                                                                             trimmed) is used
+         * 
+         */
+        @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;
 
-    /**
-     * 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 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getFeatures().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link Feature }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the features property.
+         */
+        public List<Feature> getFeatures() {
+            if (features == null) {
+                features = new ArrayList<Feature>();
+            }
+            return this.features;
+        }
 
-    /**
-     * Gets the value of the showLabels property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowLabels()
-    {
-      return showLabels;
-    }
+        /**
+         * 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getPdbids().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link JalviewModel.JSeq.Pdbids }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the pdbids property.
+         */
+        public List<JalviewModel.JSeq.Pdbids> getPdbids() {
+            if (pdbids == null) {
+                pdbids = new ArrayList<JalviewModel.JSeq.Pdbids>();
+            }
+            return this.pdbids;
+        }
 
-    /**
-     * 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 linkToAllViews property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isLinkToAllViews()
-    {
-      return linkToAllViews;
-    }
+        /**
+         * 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getHiddenSequences().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link Integer }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the hiddenSequences property.
+         */
+        public List<Integer> getHiddenSequences() {
+            if (hiddenSequences == null) {
+                hiddenSequences = new ArrayList<Integer>();
+            }
+            return this.hiddenSequences;
+        }
 
-    /**
-     * Sets the value of the linkToAllViews property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setLinkToAllViews(Boolean value)
-    {
-      this.linkToAllViews = value;
-    }
+        /**
+         * Reference to a viewer showing
+         *                                                                             RNA structure for this sequence.
+         *                                                                             Schema supports one viewer
+         *                                                                             showing multiple annotations for
+         *                                                                             multiple sequences, though
+         *                                                                             currently only one annotation
+         *                                                                             for one sequence (gapped or
+         *                                                                             trimmed) is used
+         * 
+         * 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getRnaViewer().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link JalviewModel.JSeq.RnaViewer }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the rnaViewer property.
+         */
+        public List<JalviewModel.JSeq.RnaViewer> getRnaViewer() {
+            if (rnaViewer == null) {
+                rnaViewer = new ArrayList<JalviewModel.JSeq.RnaViewer>();
+            }
+            return this.rnaViewer;
+        }
 
-    /**
-     * Gets the value of the includeGaps property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isIncludeGaps()
-    {
-      return includeGaps;
-    }
+        /**
+         * Gets the value of the colour property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getColour() {
+            return colour;
+        }
 
-    /**
-     * 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 colour property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setColour(Integer value) {
+            this.colour = value;
+        }
 
-    /**
-     * Gets the value of the matchGaps property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isMatchGaps()
-    {
-      return matchGaps;
-    }
+        /**
+         * Gets the value of the start property.
+         * 
+         */
+        public int getStart() {
+            return start;
+        }
 
-    /**
-     * 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 start property.
+         * 
+         */
+        public void setStart(int value) {
+            this.start = value;
+        }
 
-    /**
-     * Gets the value of the includeGappedColumns property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isIncludeGappedColumns()
-    {
-      return includeGappedColumns;
-    }
+        /**
+         * Gets the value of the end property.
+         * 
+         */
+        public int getEnd() {
+            return end;
+        }
 
-    /**
-     * 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 end property.
+         * 
+         */
+        public void setEnd(int value) {
+            this.end = value;
+        }
 
-    /**
-     * Gets the value of the denominateByShortestLength property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isDenominateByShortestLength()
-    {
-      return denominateByShortestLength;
-    }
+        /**
+         * Gets the value of the id property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getId() {
+            return id;
+        }
 
-    /**
-     * Sets the value of the denominateByShortestLength property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setDenominateByShortestLength(Boolean value)
-    {
-      this.denominateByShortestLength = 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 hidden property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isHidden() {
+            return hidden;
+        }
 
-    /**
-     * 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 hidden property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setHidden(Boolean value) {
+            this.hidden = value;
+        }
 
-    /**
-     * Gets the value of the height property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getHeight()
-    {
-      return height;
-    }
+        /**
+         * Gets the value of the viewreference property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isViewreference() {
+            return viewreference;
+        }
 
-    /**
-     * 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 viewreference property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setViewreference(Boolean value) {
+            this.viewreference = 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;
-    }
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;extension base="{www.jalview.org}pdbentry"&gt;
+         *       &lt;sequence&gt;
+         *         &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0"&gt;
+         *           &lt;complexType&gt;
+         *             &lt;simpleContent&gt;
+         *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema&gt;string"&gt;
+         *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+         *                 &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+         *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *                 &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+         *                 &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+         *                 &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+         *                 &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *               &lt;/extension&gt;
+         *             &lt;/simpleContent&gt;
+         *           &lt;/complexType&gt;
+         *         &lt;/element&gt;
+         *       &lt;/sequence&gt;
+         *     &lt;/extension&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "", propOrder = {
+            "structureState"
+        })
+        public static class Pdbids
+            extends Pdbentry
+        {
 
-    /**
-     * Gets the value of the ypos property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getYpos()
-    {
-      return ypos;
-    }
+            @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>
+             * 
+             * <p>
+             * For example, to add a new item, do as follows:
+             * </p>
+             * <pre>
+             * getStructureState().add(newItem);
+             * </pre>
+             * 
+             * 
+             * <p>
+             * Objects of the following type(s) are allowed in the list
+             * {@link JalviewModel.JSeq.Pdbids.StructureState }
+             * </p>
+             * 
+             * 
+             * @return
+             *     The value of the structureState property.
+             */
+            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>.
+             * 
+             * <p>The following schema fragment specifies the expected content contained within this class.</p>
+             * 
+             * <pre>
+             * &lt;complexType&gt;
+             *   &lt;simpleContent&gt;
+             *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema&gt;string"&gt;
+             *       &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+             *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+             *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+             *       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+             *       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+             *       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+             *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+             *     &lt;/extension&gt;
+             *   &lt;/simpleContent&gt;
+             * &lt;/complexType&gt;
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "", propOrder = {
+                "value"
+            })
+            public static class StructureState {
+
+                @XmlValue
+                protected String value;
+                @XmlAttribute(name = "visible")
+                protected Boolean visible;
+                /**
+                 * additional
+                 *                                                                                                                                                     identifier
+                 *                                                                                                                                                     which
+                 *                                                                                                                                                     properly
+                 *                                                                                                                                                     disambiguates
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     structure
+                 *                                                                                                                                                     view
+                 *                                                                                                                                                     from
+                 *                                                                                                                                                     any
+                 *                                                                                                                                                     other
+                 *                                                                                                                                                     view
+                 *                                                                                                                                                     with
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     same
+                 *                                                                                                                                                     attributes.
+                 *                                                                                                                                                     This
+                 *                                                                                                                                                     is
+                 *                                                                                                                                                     not
+                 *                                                                                                                                                     an
+                 *                                                                                                                                                     ID,
+                 *                                                                                                                                                     because
+                 *                                                                                                                                                     it
+                 *                                                                                                                                                     is
+                 *                                                                                                                                                     possible
+                 *                                                                                                                                                     to
+                 *                                                                                                                                                     have
+                 *                                                                                                                                                     many
+                 *                                                                                                                                                     references
+                 *                                                                                                                                                     to
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     same
+                 *                                                                                                                                                     physical
+                 *                                                                                                                                                     structure
+                 *                                                                                                                                                     view
+                 *                                                                                                                                                     from
+                 *                                                                                                                                                     different
+                 *                                                                                                                                                     sequences
+                 *                                                                                                                                                     in
+                 *                                                                                                                                                     an
+                 *                                                                                                                                                     alignment.
+                 *                                                                                                                                                     A
+                 *                                                                                                                                                     structureState
+                 *                                                                                                                                                     element
+                 *                                                                                                                                                     citing
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     same
+                 *                                                                                                                                                     viewId
+                 *                                                                                                                                                     will
+                 *                                                                                                                                                     appear
+                 *                                                                                                                                                     for
+                 *                                                                                                                                                     each
+                 *                                                                                                                                                     instance.
+                 * 
+                 */
+                @XmlAttribute(name = "viewId")
+                protected String viewId;
+                /**
+                 * Flag
+                 *                                                                                                                                                     set
+                 *                                                                                                                                                     if
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     alignment
+                 *                                                                                                                                                     panel
+                 *                                                                                                                                                     containing
+                 *                                                                                                                                                     this
+                 *                                                                                                                                                     JSeq
+                 *                                                                                                                                                     should
+                 *                                                                                                                                                     be
+                 *                                                                                                                                                     included
+                 *                                                                                                                                                     in
+                 *                                                                                                                                                     those
+                 *                                                                                                                                                     used
+                 *                                                                                                                                                     to
+                 *                                                                                                                                                     perform
+                 *                                                                                                                                                     a
+                 *                                                                                                                                                     structure
+                 *                                                                                                                                                     superposition
+                 *                                                                                                                                                     (since
+                 *                                                                                                                                                     Jalview
+                 *                                                                                                                                                     2.7).
+                 * 
+                 */
+                @XmlAttribute(name = "alignwithAlignPanel")
+                protected Boolean alignwithAlignPanel;
+                /**
+                 * Flag
+                 *                                                                                                                                                     set
+                 *                                                                                                                                                     if
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     alignment
+                 *                                                                                                                                                     panel
+                 *                                                                                                                                                     containing
+                 *                                                                                                                                                     this
+                 *                                                                                                                                                     JSeq
+                 *                                                                                                                                                     should
+                 *                                                                                                                                                     be
+                 *                                                                                                                                                     included
+                 *                                                                                                                                                     in
+                 *                                                                                                                                                     those
+                 *                                                                                                                                                     used
+                 *                                                                                                                                                     to
+                 *                                                                                                                                                     colour
+                 *                                                                                                                                                     its
+                 *                                                                                                                                                     associated
+                 *                                                                                                                                                     sequences
+                 *                                                                                                                                                     in
+                 *                                                                                                                                                     this
+                 *                                                                                                                                                     structureState(since
+                 *                                                                                                                                                     Jalview
+                 *                                                                                                                                                     2.7).
+                 * 
+                 */
+                @XmlAttribute(name = "colourwithAlignPanel")
+                protected Boolean colourwithAlignPanel;
+                /**
+                 * Flag
+                 *                                                                                                                                                     set
+                 *                                                                                                                                                     if
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     structure
+                 *                                                                                                                                                     display
+                 *                                                                                                                                                     is
+                 *                                                                                                                                                     coloured
+                 *                                                                                                                                                     by
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     Jmol
+                 *                                                                                                                                                     state,
+                 *                                                                                                                                                     rather
+                 *                                                                                                                                                     than
+                 *                                                                                                                                                     by
+                 *                                                                                                                                                     one
+                 *                                                                                                                                                     or
+                 *                                                                                                                                                     more
+                 *                                                                                                                                                     linked
+                 *                                                                                                                                                     alignment
+                 *                                                                                                                                                     views.
+                 * 
+                 */
+                @XmlAttribute(name = "colourByJmol")
+                protected Boolean colourByJmol;
+                /**
+                 * An
+                 *                                                                                                                                                     identifier
+                 *                                                                                                                                                     for
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     viewer
+                 *                                                                                                                                                     type,
+                 *                                                                                                                                                     currently
+                 *                                                                                                                                                     either
+                 *                                                                                                                                                     JMOL
+                 *                                                                                                                                                     or
+                 *                                                                                                                                                     CHIMERA
+                 * 
+                 */
+                @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;
+                }
+
+                /**
+                 * additional
+                 *                                                                                                                                                     identifier
+                 *                                                                                                                                                     which
+                 *                                                                                                                                                     properly
+                 *                                                                                                                                                     disambiguates
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     structure
+                 *                                                                                                                                                     view
+                 *                                                                                                                                                     from
+                 *                                                                                                                                                     any
+                 *                                                                                                                                                     other
+                 *                                                                                                                                                     view
+                 *                                                                                                                                                     with
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     same
+                 *                                                                                                                                                     attributes.
+                 *                                                                                                                                                     This
+                 *                                                                                                                                                     is
+                 *                                                                                                                                                     not
+                 *                                                                                                                                                     an
+                 *                                                                                                                                                     ID,
+                 *                                                                                                                                                     because
+                 *                                                                                                                                                     it
+                 *                                                                                                                                                     is
+                 *                                                                                                                                                     possible
+                 *                                                                                                                                                     to
+                 *                                                                                                                                                     have
+                 *                                                                                                                                                     many
+                 *                                                                                                                                                     references
+                 *                                                                                                                                                     to
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     same
+                 *                                                                                                                                                     physical
+                 *                                                                                                                                                     structure
+                 *                                                                                                                                                     view
+                 *                                                                                                                                                     from
+                 *                                                                                                                                                     different
+                 *                                                                                                                                                     sequences
+                 *                                                                                                                                                     in
+                 *                                                                                                                                                     an
+                 *                                                                                                                                                     alignment.
+                 *                                                                                                                                                     A
+                 *                                                                                                                                                     structureState
+                 *                                                                                                                                                     element
+                 *                                                                                                                                                     citing
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     same
+                 *                                                                                                                                                     viewId
+                 *                                                                                                                                                     will
+                 *                                                                                                                                                     appear
+                 *                                                                                                                                                     for
+                 *                                                                                                                                                     each
+                 *                                                                                                                                                     instance.
+                 * 
+                 * @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 }
+                 *     
+                 * @see #getViewId()
+                 */
+                public void setViewId(String value) {
+                    this.viewId = value;
+                }
+
+                /**
+                 * Flag
+                 *                                                                                                                                                     set
+                 *                                                                                                                                                     if
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     alignment
+                 *                                                                                                                                                     panel
+                 *                                                                                                                                                     containing
+                 *                                                                                                                                                     this
+                 *                                                                                                                                                     JSeq
+                 *                                                                                                                                                     should
+                 *                                                                                                                                                     be
+                 *                                                                                                                                                     included
+                 *                                                                                                                                                     in
+                 *                                                                                                                                                     those
+                 *                                                                                                                                                     used
+                 *                                                                                                                                                     to
+                 *                                                                                                                                                     perform
+                 *                                                                                                                                                     a
+                 *                                                                                                                                                     structure
+                 *                                                                                                                                                     superposition
+                 *                                                                                                                                                     (since
+                 *                                                                                                                                                     Jalview
+                 *                                                                                                                                                     2.7).
+                 * 
+                 * @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 }
+                 *     
+                 * @see #isAlignwithAlignPanel()
+                 */
+                public void setAlignwithAlignPanel(Boolean value) {
+                    this.alignwithAlignPanel = value;
+                }
+
+                /**
+                 * Flag
+                 *                                                                                                                                                     set
+                 *                                                                                                                                                     if
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     alignment
+                 *                                                                                                                                                     panel
+                 *                                                                                                                                                     containing
+                 *                                                                                                                                                     this
+                 *                                                                                                                                                     JSeq
+                 *                                                                                                                                                     should
+                 *                                                                                                                                                     be
+                 *                                                                                                                                                     included
+                 *                                                                                                                                                     in
+                 *                                                                                                                                                     those
+                 *                                                                                                                                                     used
+                 *                                                                                                                                                     to
+                 *                                                                                                                                                     colour
+                 *                                                                                                                                                     its
+                 *                                                                                                                                                     associated
+                 *                                                                                                                                                     sequences
+                 *                                                                                                                                                     in
+                 *                                                                                                                                                     this
+                 *                                                                                                                                                     structureState(since
+                 *                                                                                                                                                     Jalview
+                 *                                                                                                                                                     2.7).
+                 * 
+                 * @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 }
+                 *     
+                 * @see #isColourwithAlignPanel()
+                 */
+                public void setColourwithAlignPanel(Boolean value) {
+                    this.colourwithAlignPanel = value;
+                }
+
+                /**
+                 * Flag
+                 *                                                                                                                                                     set
+                 *                                                                                                                                                     if
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     structure
+                 *                                                                                                                                                     display
+                 *                                                                                                                                                     is
+                 *                                                                                                                                                     coloured
+                 *                                                                                                                                                     by
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     Jmol
+                 *                                                                                                                                                     state,
+                 *                                                                                                                                                     rather
+                 *                                                                                                                                                     than
+                 *                                                                                                                                                     by
+                 *                                                                                                                                                     one
+                 *                                                                                                                                                     or
+                 *                                                                                                                                                     more
+                 *                                                                                                                                                     linked
+                 *                                                                                                                                                     alignment
+                 *                                                                                                                                                     views.
+                 * 
+                 * @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 }
+                 *     
+                 * @see #isColourByJmol()
+                 */
+                public void setColourByJmol(Boolean value) {
+                    this.colourByJmol = value;
+                }
+
+                /**
+                 * An
+                 *                                                                                                                                                     identifier
+                 *                                                                                                                                                     for
+                 *                                                                                                                                                     the
+                 *                                                                                                                                                     viewer
+                 *                                                                                                                                                     type,
+                 *                                                                                                                                                     currently
+                 *                                                                                                                                                     either
+                 *                                                                                                                                                     JMOL
+                 *                                                                                                                                                     or
+                 *                                                                                                                                                     CHIMERA
+                 * 
+                 * @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 }
+                 *     
+                 * @see #getType()
+                 */
+                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 ypos property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setYpos(Integer value)
-    {
-      this.ypos = value;
-    }
+        }
 
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-     * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
-     * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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;
-      }
 
-    }
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;sequence&gt;
+         *         &lt;element name="secondaryStructure" maxOccurs="unbounded"&gt;
+         *           &lt;complexType&gt;
+         *             &lt;complexContent&gt;
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *                 &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *                 &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+         *                 &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *               &lt;/restriction&gt;
+         *             &lt;/complexContent&gt;
+         *           &lt;/complexType&gt;
+         *         &lt;/element&gt;
+         *       &lt;/sequence&gt;
+         *       &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+         *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *       &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *       &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </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;
+            /**
+             * An id unique to the RNA
+             *                                                                                                 viewer panel
+             * 
+             */
+            @XmlAttribute(name = "viewId")
+            protected String viewId;
+            /**
+             * horizontal position of
+             *                                                                                                 split pane divider
+             * 
+             */
+            @XmlAttribute(name = "dividerLocation")
+            protected Integer dividerLocation;
+            /**
+             * Index of the selected
+             *                                                                                                 structure in the viewer
+             *                                                                                                 panel
+             * 
+             */
+            @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>
+             * 
+             * <p>
+             * For example, to add a new item, do as follows:
+             * </p>
+             * <pre>
+             * getSecondaryStructure().add(newItem);
+             * </pre>
+             * 
+             * 
+             * <p>
+             * Objects of the following type(s) are allowed in the list
+             * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
+             * </p>
+             * 
+             * 
+             * @return
+             *     The value of the secondaryStructure property.
+             */
+            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;
+            }
+
+            /**
+             * An id unique to the RNA
+             *                                                                                                 viewer panel
+             * 
+             * @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 }
+             *     
+             * @see #getViewId()
+             */
+            public void setViewId(String value) {
+                this.viewId = value;
+            }
+
+            /**
+             * horizontal position of
+             *                                                                                                 split pane divider
+             * 
+             * @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 }
+             *     
+             * @see #getDividerLocation()
+             */
+            public void setDividerLocation(Integer value) {
+                this.dividerLocation = value;
+            }
+
+            /**
+             * Index of the selected
+             *                                                                                                 structure in the viewer
+             *                                                                                                 panel
+             * 
+             * @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 }
+             *     
+             * @see #getSelectedRna()
+             */
+            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>.
+             * 
+             * <p>The following schema fragment specifies the expected content contained within this class.</p>
+             * 
+             * <pre>
+             * &lt;complexType&gt;
+             *   &lt;complexContent&gt;
+             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+             *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+             *       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+             *       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+             *       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+             *     &lt;/restriction&gt;
+             *   &lt;/complexContent&gt;
+             * &lt;/complexType&gt;
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class SecondaryStructure {
+
+                @XmlAttribute(name = "title")
+                protected String title;
+                /**
+                 * id attribute
+                 *                                                                                                                     of
+                 *                                                                                                                     Annotation
+                 *                                                                                                                     in
+                 *                                                                                                                     vamsasModel
+                 *                                                                                                                     for the
+                 *                                                                                                                     secondary
+                 *                                                                                                                     structure
+                 *                                                                                                                     annotation
+                 *                                                                                                                     shown in the
+                 *                                                                                                                     viewer
+                 * 
+                 */
+                @XmlAttribute(name = "annotationId", required = true)
+                protected String annotationId;
+                /**
+                 * if true the
+                 *                                                                                                                     RNA
+                 *                                                                                                                     structure is
+                 *                                                                                                                     shown with
+                 *                                                                                                                     gaps, if
+                 *                                                                                                                     false
+                 *                                                                                                                     without
+                 * 
+                 */
+                @XmlAttribute(name = "gapped")
+                protected Boolean gapped;
+                /**
+                 * name of the
+                 *                                                                                                                     project jar
+                 *                                                                                                                     entry that
+                 *                                                                                                                     holds the
+                 *                                                                                                                     VARNA viewer
+                 *                                                                                                                     state for
+                 *                                                                                                                     the
+                 *                                                                                                                     structure
+                 * 
+                 */
+                @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;
+                }
+
+                /**
+                 * id attribute
+                 *                                                                                                                     of
+                 *                                                                                                                     Annotation
+                 *                                                                                                                     in
+                 *                                                                                                                     vamsasModel
+                 *                                                                                                                     for the
+                 *                                                                                                                     secondary
+                 *                                                                                                                     structure
+                 *                                                                                                                     annotation
+                 *                                                                                                                     shown in the
+                 *                                                                                                                     viewer
+                 * 
+                 * @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 }
+                 *     
+                 * @see #getAnnotationId()
+                 */
+                public void setAnnotationId(String value) {
+                    this.annotationId = value;
+                }
+
+                /**
+                 * if true the
+                 *                                                                                                                     RNA
+                 *                                                                                                                     structure is
+                 *                                                                                                                     shown with
+                 *                                                                                                                     gaps, if
+                 *                                                                                                                     false
+                 *                                                                                                                     without
+                 * 
+                 * @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 }
+                 *     
+                 * @see #isGapped()
+                 */
+                public void setGapped(Boolean value) {
+                    this.gapped = value;
+                }
+
+                /**
+                 * name of the
+                 *                                                                                                                     project jar
+                 *                                                                                                                     entry that
+                 *                                                                                                                     holds the
+                 *                                                                                                                     VARNA viewer
+                 *                                                                                                                     state for
+                 *                                                                                                                     the
+                 *                                                                                                                     structure
+                 * 
+                 * @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 }
+                 *     
+                 * @see #getViewerState()
+                 */
+                public void setViewerState(String value) {
+                    this.viewerState = value;
+                }
+
+            }
 
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-     * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
-     * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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;
-      }
+        }
 
     }
 
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-     * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
-     * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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;
-      }
-
-    }
 
     /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-     * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;attribute
-     * name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string"
-     * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="sequencePoint" maxOccurs="unbounded"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;attGroup ref="{www.jalview.org}position"/&gt;
+     *                 &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="axis" maxOccurs="3" minOccurs="3"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;attGroup ref="{www.jalview.org}position"/&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="seqPointMin"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;attGroup ref="{www.jalview.org}position"/&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="seqPointMax"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;attGroup ref="{www.jalview.org}position"/&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+     *       &lt;attGroup ref="{www.jalview.org}SimilarityParams"/&gt;
+     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *       &lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </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;
-      }
+    @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;
+        /**
+         * endpoints of X, Y and Z axes in that order
+         * 
+         */
+        @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 = "width")
+        protected Integer width;
+        @XmlAttribute(name = "height")
+        protected Integer height;
+        @XmlAttribute(name = "xpos")
+        protected Integer xpos;
+        @XmlAttribute(name = "ypos")
+        protected Integer ypos;
+        @XmlAttribute(name = "includeGaps")
+        protected Boolean includeGaps;
+        @XmlAttribute(name = "matchGaps")
+        protected Boolean matchGaps;
+        @XmlAttribute(name = "includeGappedColumns")
+        protected Boolean includeGappedColumns;
+        @XmlAttribute(name = "denominateByShortestLength")
+        protected Boolean denominateByShortestLength;
 
-    }
+        /**
+         * 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getSequencePoint().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link JalviewModel.PcaViewer.SequencePoint }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the sequencePoint property.
+         */
+        public List<JalviewModel.PcaViewer.SequencePoint> getSequencePoint() {
+            if (sequencePoint == null) {
+                sequencePoint = new ArrayList<JalviewModel.PcaViewer.SequencePoint>();
+            }
+            return this.sequencePoint;
+        }
 
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;sequence
-   * minOccurs="0"&amp;gt; &amp;lt;element name="title"
-   * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
-   * name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
-   * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
-   * name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="fontSize"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="threshold"
-   * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
-   * name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * /&amp;gt; &amp;lt;attribute name="showDistances"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="markUnlinked"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="fitToWindow"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="currentTree"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="columnWise"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="columnReference"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
-   * &amp;lt;attribute name="linkToAllViews"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @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;
+        /**
+         * endpoints of X, Y and Z axes in that order
+         * 
+         * 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getAxis().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link JalviewModel.PcaViewer.Axis }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the axis property.
+         */
+        public List<JalviewModel.PcaViewer.Axis> getAxis() {
+            if (axis == null) {
+                axis = new ArrayList<JalviewModel.PcaViewer.Axis>();
+            }
+            return this.axis;
+        }
 
-    /**
-     * Gets the value of the title property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getTitle()
-    {
-      return title;
-    }
+        /**
+         * 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 title property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setTitle(String value)
-    {
-      this.title = value;
-    }
+        /**
+         * 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 newick property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getNewick()
-    {
-      return newick;
-    }
+        /**
+         * 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 newick property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setNewick(String value)
-    {
-      this.newick = value;
-    }
+        /**
+         * 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 fontName property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getFontName()
-    {
-      return fontName;
-    }
+        /**
+         * Gets the value of the pcaData property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link PcaDataType }
+         *     
+         */
+        public PcaDataType getPcaData() {
+            return pcaData;
+        }
 
-    /**
-     * 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 pcaData property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link PcaDataType }
+         *     
+         */
+        public void setPcaData(PcaDataType value) {
+            this.pcaData = value;
+        }
 
-    /**
-     * Gets the value of the fontSize property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getFontSize()
-    {
-      return fontSize;
-    }
+        /**
+         * Gets the value of the title property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTitle() {
+            return title;
+        }
 
-    /**
-     * 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 title property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTitle(String value) {
+            this.title = value;
+        }
 
-    /**
-     * Gets the value of the fontStyle property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getFontStyle()
-    {
-      return fontStyle;
-    }
+        /**
+         * Gets the value of the scoreModelName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getScoreModelName() {
+            return scoreModelName;
+        }
 
-    /**
-     * 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 scoreModelName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setScoreModelName(String value) {
+            this.scoreModelName = value;
+        }
 
-    /**
-     * Gets the value of the threshold property.
-     * 
-     * @return possible object is {@link Float }
-     * 
-     */
-    public Float getThreshold()
-    {
-      return threshold;
-    }
+        /**
+         * Gets the value of the xDim property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getXDim() {
+            return xDim;
+        }
 
-    /**
-     * 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 xDim property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setXDim(Integer value) {
+            this.xDim = value;
+        }
 
-    /**
-     * Gets the value of the showBootstrap property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowBootstrap()
-    {
-      return showBootstrap;
-    }
+        /**
+         * Gets the value of the yDim property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getYDim() {
+            return yDim;
+        }
 
-    /**
-     * 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 yDim property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setYDim(Integer value) {
+            this.yDim = value;
+        }
 
-    /**
-     * Gets the value of the showDistances property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowDistances()
-    {
-      return showDistances;
-    }
+        /**
+         * Gets the value of the zDim property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getZDim() {
+            return zDim;
+        }
 
-    /**
-     * 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 zDim property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setZDim(Integer value) {
+            this.zDim = value;
+        }
 
-    /**
-     * Gets the value of the markUnlinked property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isMarkUnlinked()
-    {
-      return markUnlinked;
-    }
+        /**
+         * Gets the value of the bgColour property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getBgColour() {
+            return bgColour;
+        }
 
-    /**
-     * 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 bgColour property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setBgColour(Integer value) {
+            this.bgColour = value;
+        }
 
-    /**
-     * Gets the value of the fitToWindow property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isFitToWindow()
-    {
-      return fitToWindow;
-    }
+        /**
+         * Gets the value of the scaleFactor property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getScaleFactor() {
+            return scaleFactor;
+        }
 
-    /**
-     * Sets the value of the fitToWindow property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setFitToWindow(Boolean value)
-    {
-      this.fitToWindow = 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 currentTree property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isCurrentTree()
-    {
-      return currentTree;
-    }
+        /**
+         * Gets the value of the showLabels property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowLabels() {
+            return showLabels;
+        }
 
-    /**
-     * Sets the value of the currentTree property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setCurrentTree(Boolean value)
-    {
-      this.currentTree = value;
-    }
+        /**
+         * 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 columnWise property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public boolean isColumnWise()
-    {
-      if (columnWise == null)
-      {
-        return false;
-      }
-      else
-      {
-        return columnWise;
-      }
-    }
+        /**
+         * Gets the value of the linkToAllViews property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isLinkToAllViews() {
+            return linkToAllViews;
+        }
 
-    /**
-     * Sets the value of the columnWise property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setColumnWise(Boolean value)
-    {
-      this.columnWise = 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 columnReference property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getColumnReference()
-    {
-      return columnReference;
-    }
+        /**
+         * Gets the value of the width property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getWidth() {
+            return width;
+        }
 
-    /**
-     * Sets the value of the columnReference property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setColumnReference(String value)
-    {
-      this.columnReference = 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 id property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getId()
-    {
-      return id;
-    }
+        /**
+         * Gets the value of the height property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getHeight() {
+            return height;
+        }
 
-    /**
-     * 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 height property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setHeight(Integer value) {
+            this.height = 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;
-      }
-    }
+        /**
+         * Gets the value of the xpos property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getXpos() {
+            return xpos;
+        }
 
-    /**
-     * 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 xpos property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setXpos(Integer value) {
+            this.xpos = value;
+        }
 
-    /**
-     * Gets the value of the width property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getWidth()
-    {
-      return width;
-    }
+        /**
+         * Gets the value of the ypos property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getYpos() {
+            return ypos;
+        }
 
-    /**
-     * 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 ypos property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setYpos(Integer value) {
+            this.ypos = value;
+        }
 
-    /**
-     * Gets the value of the height property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getHeight()
-    {
-      return height;
-    }
+        /**
+         * Gets the value of the includeGaps property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isIncludeGaps() {
+            return includeGaps;
+        }
 
-    /**
-     * 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 includeGaps property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setIncludeGaps(Boolean value) {
+            this.includeGaps = value;
+        }
 
-    /**
-     * Gets the value of the xpos property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getXpos()
-    {
-      return xpos;
-    }
+        /**
+         * Gets the value of the matchGaps property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isMatchGaps() {
+            return matchGaps;
+        }
 
-    /**
-     * 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 matchGaps property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setMatchGaps(Boolean value) {
+            this.matchGaps = value;
+        }
 
-    /**
-     * Gets the value of the ypos property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getYpos()
-    {
-      return ypos;
-    }
+        /**
+         * Gets the value of the includeGappedColumns property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isIncludeGappedColumns() {
+            return includeGappedColumns;
+        }
 
-    /**
-     * 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 includeGappedColumns property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setIncludeGappedColumns(Boolean value) {
+            this.includeGappedColumns = value;
+        }
 
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="UserColourScheme"
-   * type="{www.jalview.org/colours}JalviewUserColours"/&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="id"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @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 denominateByShortestLength property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isDenominateByShortestLength() {
+            return denominateByShortestLength;
+        }
 
-    /**
-     * Gets the value of the userColourScheme property.
-     * 
-     * @return possible object is {@link JalviewUserColours }
-     * 
-     */
-    public JalviewUserColours getUserColourScheme()
-    {
-      return userColourScheme;
-    }
+        /**
+         * Sets the value of the denominateByShortestLength property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setDenominateByShortestLength(Boolean value) {
+            this.denominateByShortestLength = value;
+        }
 
-    /**
-     * 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;
-    }
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;attGroup ref="{www.jalview.org}position"/&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </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;
+            }
 
-    /**
-     * Sets the value of the id property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setId(String value)
-    {
-      this.id = value;
-    }
+        }
 
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="AnnotationColours"
-   * type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
-   * &amp;lt;element name="hiddenColumns" maxOccurs="unbounded"
-   * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int"
-   * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
-   * name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-   * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;extension
-   * base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
-   * &amp;lt;attribute name="calcId" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * default="false" /&amp;gt; &amp;lt;attribute name="autoUpdate"
-   * use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
-   * name="overview" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
-   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-   * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
-   * name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * /&amp;gt; &amp;lt;attribute name="residueColour"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="hiddenColour"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
-   * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
-   * name="conservationSelected"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="pidSelected"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="bgColour"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="pidThreshold"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="showFullId"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="rightAlignIds"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="showText"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="showColourText"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="showUnconserved"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="showBoxes"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="wrapAlignment"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="renderGaps"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="showSequenceFeatures"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="showNPfeatureTooltip"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="showDbRefTooltip"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="followHighlight"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-   * &amp;lt;attribute name="followSelection"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-   * &amp;lt;attribute name="showAnnotation"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="centreColumnLabels"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="showGroupConservation"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="showGroupConsensus"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="showConsensusHistogram"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-   * &amp;lt;attribute name="showSequenceLogo"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="normaliseSequenceLogo"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="ignoreGapsinConsensus"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-   * &amp;lt;attribute name="startRes"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="charWidth"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="fontName"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="fontStyle"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="idWidth" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="idWidthManuallyAdjusted"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="scaleProteinAsCdna"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-   * &amp;lt;attribute name="viewName"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;attribute name="gatheredViews"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;attribute name="textCol1"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;attribute name="textColThreshold"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-   * name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
-   * &amp;lt;attribute name="complementId"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="showComplementFeatures"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;attribute name="showComplementFeaturesOnTop"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @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 = "byConsensusSecondaryStructureSelected")
-    protected Boolean byConsensusSecondaryStructureSelected;    
-
-    @XmlAttribute(name = "bgColour")
-    protected String bgColour;
-
-    @XmlAttribute(name = "consThreshold")
-    protected Integer consThreshold;
-
-    @XmlAttribute(name = "pidThreshold")
-    protected Integer pidThreshold;
-
-    @XmlAttribute(name = "consensusSecondaryStructureThreshold")
-    protected Integer consensusSecondaryStructureThreshold;    
-
-    @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;
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;attGroup ref="{www.jalview.org}position"/&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </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;
+            }
 
-    @XmlAttribute(name = "showSequenceFeatures")
-    protected Boolean showSequenceFeatures;
+        }
 
-    @XmlAttribute(name = "showNPfeatureTooltip")
-    protected Boolean showNPfeatureTooltip;
 
-    @XmlAttribute(name = "showDbRefTooltip")
-    protected Boolean showDbRefTooltip;
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;attGroup ref="{www.jalview.org}position"/&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </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;
+            }
 
-    @XmlAttribute(name = "followHighlight")
-    protected Boolean followHighlight;
+        }
 
-    @XmlAttribute(name = "followSelection")
-    protected Boolean followSelection;
 
-    @XmlAttribute(name = "showAnnotation")
-    protected Boolean showAnnotation;
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;attGroup ref="{www.jalview.org}position"/&gt;
+         *       &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </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;
+            }
 
-    @XmlAttribute(name = "centreColumnLabels")
-    protected Boolean centreColumnLabels;
+        }
 
-    @XmlAttribute(name = "showGroupConservation")
-    protected Boolean showGroupConservation;
+    }
 
-    @XmlAttribute(name = "showGroupConsensus")
-    protected Boolean showGroupConsensus;
-    
-    @XmlAttribute(name = "showGroupSSConsensus")
-    protected Boolean showGroupSSConsensus;
 
-    @XmlAttribute(name = "showConsensusHistogram")
-    protected Boolean showConsensusHistogram;
+    /**
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence minOccurs="0"&gt;
+     *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+     *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+     *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *       &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *       &lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
+     *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "title",
+        "newick"
+    })
+    public static class Tree {
 
-    @XmlAttribute(name = "showSequenceLogo")
-    protected Boolean showSequenceLogo;
+        @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;
+        /**
+         * Set for trees associated with columns of an alignment, sequence or annotation row
+         * 
+         */
+        @XmlAttribute(name = "columnWise")
+        protected Boolean columnWise;
+        /**
+         * Refers to annotation row the tree is provided by
+         * 
+         */
+        @XmlAttribute(name = "columnReference")
+        protected String columnReference;
+        /**
+         * Tree ID added for binding tree
+         *                                                                     visualization
+         *                                                                     settings to vamsas
+         *                                                                     document trees in jalview 2.4.1
+         * 
+         */
+        @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;
 
-    @XmlAttribute(name = "normaliseSequenceLogo")
-    protected Boolean normaliseSequenceLogo;
+        /**
+         * Gets the value of the title property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTitle() {
+            return title;
+        }
 
-    @XmlAttribute(name = "ignoreGapsinConsensus")
-    protected Boolean ignoreGapsinConsensus;
+        /**
+         * Sets the value of the title property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTitle(String value) {
+            this.title = value;
+        }
 
-    @XmlAttribute(name = "startRes")
-    protected Integer startRes;
+        /**
+         * Gets the value of the newick property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getNewick() {
+            return newick;
+        }
 
-    @XmlAttribute(name = "startSeq")
-    protected Integer startSeq;
+        /**
+         * Sets the value of the newick property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setNewick(String value) {
+            this.newick = value;
+        }
 
-    @XmlAttribute(name = "charWidth")
-    protected Integer charWidth;
+        /**
+         * Gets the value of the fontName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getFontName() {
+            return fontName;
+        }
 
-    @XmlAttribute(name = "charHeight")
-    protected Integer charHeight;
+        /**
+         * Sets the value of the fontName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setFontName(String value) {
+            this.fontName = value;
+        }
 
-    @XmlAttribute(name = "fontName")
-    protected String fontName;
+        /**
+         * Gets the value of the fontSize property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getFontSize() {
+            return fontSize;
+        }
 
-    @XmlAttribute(name = "fontSize")
-    protected Integer fontSize;
+        /**
+         * Sets the value of the fontSize property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setFontSize(Integer value) {
+            this.fontSize = value;
+        }
 
-    @XmlAttribute(name = "fontStyle")
-    protected Integer fontStyle;
+        /**
+         * Gets the value of the fontStyle property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getFontStyle() {
+            return fontStyle;
+        }
 
-    @XmlAttribute(name = "idWidth")
-    protected Integer idWidth;
+        /**
+         * Sets the value of the fontStyle property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setFontStyle(Integer value) {
+            this.fontStyle = value;
+        }
 
-    @XmlAttribute(name = "idWidthManuallyAdjusted")
-    protected Boolean idWidthManuallyAdjusted;
+        /**
+         * Gets the value of the threshold property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getThreshold() {
+            return threshold;
+        }
 
-    @XmlAttribute(name = "scaleProteinAsCdna")
-    protected Boolean scaleProteinAsCdna;
+        /**
+         * Sets the value of the threshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Float }
+         *     
+         */
+        public void setThreshold(Float value) {
+            this.threshold = value;
+        }
 
-    @XmlAttribute(name = "viewName")
-    protected String viewName;
+        /**
+         * Gets the value of the showBootstrap property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowBootstrap() {
+            return showBootstrap;
+        }
 
-    @XmlAttribute(name = "sequenceSetId")
-    protected String sequenceSetId;
+        /**
+         * Sets the value of the showBootstrap property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowBootstrap(Boolean value) {
+            this.showBootstrap = value;
+        }
 
-    @XmlAttribute(name = "gatheredViews")
-    protected Boolean gatheredViews;
+        /**
+         * Gets the value of the showDistances property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowDistances() {
+            return showDistances;
+        }
 
-    @XmlAttribute(name = "textCol1")
-    protected Integer textCol1;
+        /**
+         * Sets the value of the showDistances property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowDistances(Boolean value) {
+            this.showDistances = value;
+        }
 
-    @XmlAttribute(name = "textCol2")
-    protected Integer textCol2;
+        /**
+         * Gets the value of the markUnlinked property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isMarkUnlinked() {
+            return markUnlinked;
+        }
 
-    @XmlAttribute(name = "textColThreshold")
-    protected Integer textColThreshold;
+        /**
+         * Sets the value of the markUnlinked property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setMarkUnlinked(Boolean value) {
+            this.markUnlinked = value;
+        }
 
-    @XmlAttribute(name = "id")
-    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-    @XmlID
-    @XmlSchemaType(name = "ID")
-    protected String id;
+        /**
+         * Gets the value of the fitToWindow property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isFitToWindow() {
+            return fitToWindow;
+        }
 
-    @XmlAttribute(name = "complementId")
-    protected String complementId;
+        /**
+         * Sets the value of the fitToWindow property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setFitToWindow(Boolean value) {
+            this.fitToWindow = value;
+        }
 
-    @XmlAttribute(name = "showComplementFeatures")
-    protected Boolean showComplementFeatures;
+        /**
+         * Gets the value of the currentTree property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isCurrentTree() {
+            return currentTree;
+        }
 
-    @XmlAttribute(name = "showComplementFeaturesOnTop")
-    protected Boolean showComplementFeaturesOnTop;
+        /**
+         * Sets the value of the currentTree property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setCurrentTree(Boolean value) {
+            this.currentTree = value;
+        }
 
-    @XmlAttribute(name = "width")
-    protected Integer width;
+        /**
+         * Set for trees associated with columns of an alignment, sequence or annotation row
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isColumnWise() {
+            if (columnWise == null) {
+                return false;
+            } else {
+                return columnWise;
+            }
+        }
 
-    @XmlAttribute(name = "height")
-    protected Integer height;
+        /**
+         * Sets the value of the columnWise property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         * @see #isColumnWise()
+         */
+        public void setColumnWise(Boolean value) {
+            this.columnWise = value;
+        }
 
-    @XmlAttribute(name = "xpos")
-    protected Integer xpos;
+        /**
+         * Refers to annotation row the tree is provided by
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getColumnReference() {
+            return columnReference;
+        }
 
-    @XmlAttribute(name = "ypos")
-    protected Integer ypos;
+        /**
+         * Sets the value of the columnReference property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         * @see #getColumnReference()
+         */
+        public void setColumnReference(String value) {
+            this.columnReference = value;
+        }
 
-    /**
-     * Gets the value of the annotationColours property.
-     * 
-     * @return possible object is {@link AnnotationColourScheme }
-     * 
-     */
-    public AnnotationColourScheme getAnnotationColours()
-    {
-      return annotationColours;
-    }
+        /**
+         * Tree ID added for binding tree
+         *                                                                     visualization
+         *                                                                     settings to vamsas
+         *                                                                     document trees in jalview 2.4.1
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getId() {
+            return id;
+        }
 
-    /**
-     * Sets the value of the annotationColours property.
-     * 
-     * @param value
-     *          allowed object is {@link AnnotationColourScheme }
-     * 
-     */
-    public void setAnnotationColours(AnnotationColourScheme value)
-    {
-      this.annotationColours = value;
-    }
+        /**
+         * Sets the value of the id property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         * @see #getId()
+         */
+        public void setId(String value) {
+            this.id = value;
+        }
 
-    /**
-     * Gets the value of the hiddenColumns property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the hiddenColumns property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getHiddenColumns().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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 linkToAllViews property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isLinkToAllViews() {
+            if (linkToAllViews == null) {
+                return false;
+            } else {
+                return linkToAllViews;
+            }
+        }
 
-    /**
-     * Gets the value of the calcIdParam property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the calcIdParam property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getCalcIdParam().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; 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;
-    }
+        /**
+         * 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 overview property.
-     * 
-     * @return possible object is {@link JalviewModel.Viewport.Overview }
-     * 
-     */
-    public JalviewModel.Viewport.Overview getOverview()
-    {
-      return overview;
-    }
+        /**
+         * Gets the value of the width property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getWidth() {
+            return width;
+        }
 
-    /**
-     * 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 width property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setWidth(Integer value) {
+            this.width = value;
+        }
 
-    /**
-     * Gets the value of the conservationSelected property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isConservationSelected()
-    {
-      return conservationSelected;
-    }
+        /**
+         * Gets the value of the height property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getHeight() {
+            return height;
+        }
 
-    /**
-     * 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 height property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setHeight(Integer value) {
+            this.height = value;
+        }
 
-    /**
-     * Gets the value of the pidSelected property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isPidSelected()
-    {
-      return pidSelected;
-    }
+        /**
+         * 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 pidSelected property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setPidSelected(Boolean value)
-    {
-      this.pidSelected = value;
     }
-    
+
+
     /**
-     * Gets the value of the byConsensusSecondaryStructureSelected property.
+     * <p>Java class for anonymous complex type</p>.
      * 
-     * @return possible object is {@link Boolean }
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
      * 
-     */
-    public Boolean isByConsensusSecondaryStructureSelected()
-    {
-      return byConsensusSecondaryStructureSelected;
-    }
-    
-    /**
-     * Sets the value of the byConsensusSecondaryStructureSelected property.
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
      * 
      */
-    public void setByConsensusSecondaryStructureSelected(Boolean value)
-    {
-      this.byConsensusSecondaryStructureSelected = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "userColourScheme"
+    })
+    public static class UserColours {
 
-    /**
-     * Gets the value of the bgColour property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getBgColour()
-    {
-      return bgColour;
-    }
+        @XmlElement(name = "UserColourScheme", namespace = "www.jalview.org", required = true)
+        protected JalviewUserColours userColourScheme;
+        @XmlAttribute(name = "id")
+        protected String id;
 
-    /**
-     * 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 userColourScheme property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link JalviewUserColours }
+         *     
+         */
+        public JalviewUserColours getUserColourScheme() {
+            return userColourScheme;
+        }
 
-    /**
-     * Gets the value of the consThreshold property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getConsThreshold()
-    {
-      return consThreshold;
-    }
+        /**
+         * 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 consThreshold property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setConsThreshold(Integer value)
-    {
-      this.consThreshold = 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 pidThreshold property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getPidThreshold()
-    {
-      return pidThreshold;
     }
 
+
     /**
-     * Sets the value of the pidThreshold property.
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&gt;
+     *         &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *                 &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&gt;
+     *                 &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *                 &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *                 &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *               &lt;/extension&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="overview" minOccurs="0"&gt;
+     *           &lt;complexType&gt;
+     *             &lt;complexContent&gt;
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+     *                 &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *                 &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *                 &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *                 &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *               &lt;/restriction&gt;
+     *             &lt;/complexContent&gt;
+     *           &lt;/complexType&gt;
+     *         &lt;/element&gt;
+     *         &lt;element name="SecStrProvider" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+     *       &lt;attGroup ref="{www.jalview.org}conservationShading"/&gt;
+     *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *       &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+     *       &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+     *       &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *       &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *       &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *       &lt;attribute name="showGroupSecStrConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *       &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="charWidth" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="idWidth" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="idWidthManuallyAdjusted" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
+     *       &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
+     *       &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *       &lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
      */
-    public void setPidThreshold(Integer value)
-    {
-      this.pidThreshold = value;
-    }
-    
-    /**
-     * Gets the value of the consensusSecondaryStructureThreshold property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getConsensusSecondaryStructureThreshold()
-    {
-      return consensusSecondaryStructureThreshold;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "annotationColours",
+        "hiddenColumns",
+        "calcIdParam",
+        "overview",
+        "secStrProvider"
+    })
+    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;
+        @XmlElement(name = "SecStrProvider", namespace = "www.jalview.org")
+        protected List<String> secStrProvider;
+        @XmlAttribute(name = "bgColour")
+        protected String bgColour;
+        @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;
+        /**
+         * whether a new group has conservation displayed by default
+         * 
+         */
+        @XmlAttribute(name = "showGroupConservation")
+        protected Boolean showGroupConservation;
+        /**
+         * whether a new group has consensus displayed by default
+         * 
+         */
+        @XmlAttribute(name = "showGroupConsensus")
+        protected Boolean showGroupConsensus;
+        /**
+         * whether a new group has secondary structure consensus displayed by default
+         * 
+         */
+        @XmlAttribute(name = "showGroupSecStrConsensus")
+        protected Boolean showGroupSecStrConsensus;
+        @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 = "idWidth")
+        protected Integer idWidth;
+        @XmlAttribute(name = "idWidthManuallyAdjusted")
+        protected Boolean idWidthManuallyAdjusted;
+        @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;
+        /**
+         * unique id used by jalview to
+         *                                                                     synchronize
+         *                                                                     between stored and
+         *                                                                     instantiated views
+         * 
+         */
+        @XmlAttribute(name = "id")
+        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+        @XmlID
+        @XmlSchemaType(name = "ID")
+        protected String id;
+        /**
+         * The viewport id of this viewport's
+         *                                                                     (cdna/protein) coding complement, if any
+         * 
+         */
+        @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;
+        @XmlAttribute(name = "conservationSelected")
+        protected Boolean conservationSelected;
+        /**
+         * Conservation shading increment
+         * 
+         */
+        @XmlAttribute(name = "consThreshold")
+        protected Integer consThreshold;
+        @XmlAttribute(name = "pidSelected")
+        protected Boolean pidSelected;
+        /**
+         * Percent Identity Threshold
+         * 
+         */
+        @XmlAttribute(name = "pidThreshold")
+        protected Integer pidThreshold;
+        /**
+         * Secondary structure consensus shading - since 2.11.4
+         * 
+         */
+        @XmlAttribute(name = "secstrSelected")
+        protected Boolean secstrSelected;
+        /**
+         * Secondary structure consensus increment
+         * 
+         */
+        @XmlAttribute(name = "secstrThreshold")
+        protected Integer secstrThreshold;
+        @XmlAttribute(name = "showConsensusHistogram")
+        protected Boolean showConsensusHistogram;
+        @XmlAttribute(name = "showSequenceLogo")
+        protected Boolean showSequenceLogo;
+        @XmlAttribute(name = "normaliseSequenceLogo")
+        protected Boolean normaliseSequenceLogo;
+        @XmlAttribute(name = "ignoreGapsinConsensus")
+        protected Boolean ignoreGapsinConsensus;
 
-    /**
-     * Sets the value of the consensusSecondaryStructureThreshold property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setConsensusSecondaryStructureThreshold(Integer value)
-    {
-      this.consensusSecondaryStructureThreshold = value;
-    }
-    
-    
-    /**
-     * Gets the value of the title property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getTitle()
-    {
-      return title;
-    }
+        /**
+         * Gets the value of the annotationColours property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link AnnotationColourScheme }
+         *     
+         */
+        public AnnotationColourScheme getAnnotationColours() {
+            return annotationColours;
+        }
 
-    /**
-     * 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 annotationColours property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link AnnotationColourScheme }
+         *     
+         */
+        public void setAnnotationColours(AnnotationColourScheme value) {
+            this.annotationColours = value;
+        }
 
-    /**
-     * Gets the value of the showFullId property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowFullId()
-    {
-      return showFullId;
-    }
+        /**
+         * 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getHiddenColumns().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link JalviewModel.Viewport.HiddenColumns }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the hiddenColumns property.
+         */
+        public List<JalviewModel.Viewport.HiddenColumns> getHiddenColumns() {
+            if (hiddenColumns == null) {
+                hiddenColumns = new ArrayList<JalviewModel.Viewport.HiddenColumns>();
+            }
+            return this.hiddenColumns;
+        }
 
-    /**
-     * 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 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getCalcIdParam().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link JalviewModel.Viewport.CalcIdParam }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the calcIdParam property.
+         */
+        public List<JalviewModel.Viewport.CalcIdParam> getCalcIdParam() {
+            if (calcIdParam == null) {
+                calcIdParam = new ArrayList<JalviewModel.Viewport.CalcIdParam>();
+            }
+            return this.calcIdParam;
+        }
 
-    /**
-     * Gets the value of the rightAlignIds property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isRightAlignIds()
-    {
-      return rightAlignIds;
-    }
+        /**
+         * 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 rightAlignIds property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setRightAlignIds(Boolean value)
-    {
-      this.rightAlignIds = value;
-    }
+        /**
+         * 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 showText property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowText()
-    {
-      return showText;
-    }
+        /**
+         * Gets the value of the secStrProvider 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 secStrProvider property.</p>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getSecStrProvider().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link String }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the secStrProvider property.
+         */
+        public List<String> getSecStrProvider() {
+            if (secStrProvider == null) {
+                secStrProvider = new ArrayList<String>();
+            }
+            return this.secStrProvider;
+        }
 
-    /**
-     * 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 bgColour property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBgColour() {
+            return bgColour;
+        }
 
-    /**
-     * Gets the value of the showColourText property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowColourText()
-    {
-      return showColourText;
-    }
+        /**
+         * 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 showColourText property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowColourText(Boolean value)
-    {
-      this.showColourText = value;
-    }
+        /**
+         * Gets the value of the title property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTitle() {
+            return title;
+        }
 
-    /**
-     * 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 title property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTitle(String value) {
+            this.title = 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 showFullId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowFullId() {
+            return showFullId;
+        }
 
-    /**
-     * Gets the value of the showBoxes property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowBoxes()
-    {
-      return showBoxes;
-    }
+        /**
+         * 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 showBoxes property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowBoxes(Boolean value)
-    {
-      this.showBoxes = value;
-    }
+        /**
+         * Gets the value of the rightAlignIds property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isRightAlignIds() {
+            return rightAlignIds;
+        }
 
-    /**
-     * Gets the value of the wrapAlignment property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isWrapAlignment()
-    {
-      return wrapAlignment;
-    }
+        /**
+         * 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 wrapAlignment property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setWrapAlignment(Boolean value)
-    {
-      this.wrapAlignment = value;
-    }
+        /**
+         * Gets the value of the showText property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowText() {
+            return showText;
+        }
 
-    /**
-     * Gets the value of the renderGaps property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isRenderGaps()
-    {
-      return renderGaps;
-    }
+        /**
+         * 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 renderGaps property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setRenderGaps(Boolean value)
-    {
-      this.renderGaps = value;
-    }
+        /**
+         * Gets the value of the showColourText property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowColourText() {
+            return showColourText;
+        }
 
-    /**
-     * Gets the value of the showSequenceFeatures property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowSequenceFeatures()
-    {
-      return showSequenceFeatures;
-    }
+        /**
+         * 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 showSequenceFeatures property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowSequenceFeatures(Boolean value)
-    {
-      this.showSequenceFeatures = 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 showNPfeatureTooltip property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowNPfeatureTooltip()
-    {
-      return showNPfeatureTooltip;
-    }
+        /**
+         * 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 showNPfeatureTooltip property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowNPfeatureTooltip(Boolean value)
-    {
-      this.showNPfeatureTooltip = value;
-    }
+        /**
+         * Gets the value of the showBoxes property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowBoxes() {
+            return showBoxes;
+        }
 
-    /**
-     * Gets the value of the showDbRefTooltip property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowDbRefTooltip()
-    {
-      return showDbRefTooltip;
-    }
+        /**
+         * 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 wrapAlignment property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isWrapAlignment() {
+            return wrapAlignment;
+        }
+
+        /**
+         * 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 renderGaps property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isRenderGaps() {
+            return renderGaps;
+        }
+
+        /**
+         * 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 showSequenceFeatures property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowSequenceFeatures() {
+            return showSequenceFeatures;
+        }
+
+        /**
+         * 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 showNPfeatureTooltip property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowNPfeatureTooltip() {
+            return showNPfeatureTooltip;
+        }
+
+        /**
+         * 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 showDbRefTooltip property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowDbRefTooltip() {
+            return showDbRefTooltip;
+        }
+
+        /**
+         * 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 followHighlight property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isFollowHighlight() {
+            if (followHighlight == null) {
+                return true;
+            } else {
+                return followHighlight;
+            }
+        }
+
+        /**
+         * 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 followSelection property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isFollowSelection() {
+            if (followSelection == null) {
+                return true;
+            } else {
+                return followSelection;
+            }
+        }
+
+        /**
+         * 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 showAnnotation property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowAnnotation() {
+            return showAnnotation;
+        }
+
+        /**
+         * 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 centreColumnLabels property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isCentreColumnLabels() {
+            if (centreColumnLabels == null) {
+                return false;
+            } else {
+                return centreColumnLabels;
+            }
+        }
+
+        /**
+         * Sets the value of the centreColumnLabels property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setCentreColumnLabels(Boolean value) {
+            this.centreColumnLabels = value;
+        }
+
+        /**
+         * whether a new group has conservation displayed by default
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowGroupConservation() {
+            if (showGroupConservation == null) {
+                return false;
+            } else {
+                return showGroupConservation;
+            }
+        }
+
+        /**
+         * Sets the value of the showGroupConservation property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         * @see #isShowGroupConservation()
+         */
+        public void setShowGroupConservation(Boolean value) {
+            this.showGroupConservation = value;
+        }
+
+        /**
+         * whether a new group has consensus displayed by default
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowGroupConsensus() {
+            if (showGroupConsensus == null) {
+                return false;
+            } else {
+                return showGroupConsensus;
+            }
+        }
+
+        /**
+         * Sets the value of the showGroupConsensus property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         * @see #isShowGroupConsensus()
+         */
+        public void setShowGroupConsensus(Boolean value) {
+            this.showGroupConsensus = value;
+        }
 
-    /**
-     * Sets the value of the showDbRefTooltip property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowDbRefTooltip(Boolean value)
-    {
-      this.showDbRefTooltip = value;
-    }
+        /**
+         * whether a new group has secondary structure consensus displayed by default
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowGroupSecStrConsensus() {
+            if (showGroupSecStrConsensus == null) {
+                return false;
+            } else {
+                return showGroupSecStrConsensus;
+            }
+        }
 
-    /**
-     * 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 showGroupSecStrConsensus property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         * @see #isShowGroupSecStrConsensus()
+         */
+        public void setShowGroupSecStrConsensus(Boolean value) {
+            this.showGroupSecStrConsensus = 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 startRes property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getStartRes() {
+            return startRes;
+        }
 
-    /**
-     * 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 startRes property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setStartRes(Integer value) {
+            this.startRes = 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 startSeq property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getStartSeq() {
+            return startSeq;
+        }
 
-    /**
-     * Gets the value of the showAnnotation property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowAnnotation()
-    {
-      return showAnnotation;
-    }
+        /**
+         * Sets the value of the startSeq property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setStartSeq(Integer value) {
+            this.startSeq = 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 charWidth property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getCharWidth() {
+            return charWidth;
+        }
 
-    /**
-     * 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 charWidth property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setCharWidth(Integer value) {
+            this.charWidth = 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 charHeight property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getCharHeight() {
+            return charHeight;
+        }
 
-    /**
-     * 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 charHeight property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setCharHeight(Integer value) {
+            this.charHeight = 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 fontName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getFontName() {
+            return fontName;
+        }
 
-    /**
-     * 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 fontName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setFontName(String value) {
+            this.fontName = 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 showGroupSSConsensus property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public boolean isShowGroupSSConsensus()
-    {
-      if (showGroupSSConsensus == null)
-      {
-        return false;
-      }
-      else
-      {
-        return showGroupSSConsensus;
-      }
-    }
-    
-    /**
-     * Sets the value of the showGroupSSConsensus property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowGroupSSConsensus(Boolean value)
-    {
-      this.showGroupSSConsensus = value;
-    }
+        /**
+         * Gets the value of the fontSize property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getFontSize() {
+            return fontSize;
+        }
 
-    /**
-     * 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 fontSize property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setFontSize(Integer value) {
+            this.fontSize = 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 fontStyle property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getFontStyle() {
+            return fontStyle;
+        }
 
-    /**
-     * 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 fontStyle property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setFontStyle(Integer value) {
+            this.fontStyle = 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 idWidth property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getIdWidth() {
+            return idWidth;
+        }
 
-    /**
-     * 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 idWidth property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setIdWidth(Integer value) {
+            this.idWidth = 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 idWidthManuallyAdjusted property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isIdWidthManuallyAdjusted() {
+            return idWidthManuallyAdjusted;
+        }
 
-    /**
-     * 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 idWidthManuallyAdjusted property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setIdWidthManuallyAdjusted(Boolean value) {
+            this.idWidthManuallyAdjusted = 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 scaleProteinAsCdna property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isScaleProteinAsCdna() {
+            if (scaleProteinAsCdna == null) {
+                return true;
+            } else {
+                return scaleProteinAsCdna;
+            }
+        }
 
-    /**
-     * Gets the value of the startRes property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getStartRes()
-    {
-      return startRes;
-    }
+        /**
+         * 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 startRes property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setStartRes(Integer value)
-    {
-      this.startRes = value;
-    }
+        /**
+         * Gets the value of the viewName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getViewName() {
+            return viewName;
+        }
 
-    /**
-     * Gets the value of the startSeq property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getStartSeq()
-    {
-      return startSeq;
-    }
+        /**
+         * 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 sequenceSetId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getSequenceSetId() {
+            return sequenceSetId;
+        }
 
-    /**
-     * Sets the value of the startSeq property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setStartSeq(Integer value)
-    {
-      this.startSeq = 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 charWidth property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getCharWidth()
-    {
-      return charWidth;
-    }
+        /**
+         * Gets the value of the gatheredViews property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isGatheredViews() {
+            return gatheredViews;
+        }
 
-    /**
-     * 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 gatheredViews property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setGatheredViews(Boolean value) {
+            this.gatheredViews = value;
+        }
 
-    /**
-     * Gets the value of the charHeight property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getCharHeight()
-    {
-      return charHeight;
-    }
+        /**
+         * Gets the value of the textCol1 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getTextCol1() {
+            return textCol1;
+        }
 
-    /**
-     * 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 textCol1 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setTextCol1(Integer value) {
+            this.textCol1 = value;
+        }
 
-    /**
-     * Gets the value of the fontName property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getFontName()
-    {
-      return fontName;
-    }
+        /**
+         * Gets the value of the textCol2 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getTextCol2() {
+            return textCol2;
+        }
 
-    /**
-     * 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 textCol2 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setTextCol2(Integer value) {
+            this.textCol2 = value;
+        }
 
-    /**
-     * Gets the value of the fontSize property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getFontSize()
-    {
-      return fontSize;
-    }
+        /**
+         * Gets the value of the textColThreshold property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getTextColThreshold() {
+            return textColThreshold;
+        }
 
-    /**
-     * 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 textColThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setTextColThreshold(Integer value) {
+            this.textColThreshold = value;
+        }
 
-    /**
-     * Gets the value of the fontStyle property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getFontStyle()
-    {
-      return fontStyle;
-    }
+        /**
+         * unique id used by jalview to
+         *                                                                     synchronize
+         *                                                                     between stored and
+         *                                                                     instantiated views
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getId() {
+            return id;
+        }
 
-    /**
-     * 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 id property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         * @see #getId()
+         */
+        public void setId(String value) {
+            this.id = value;
+        }
 
-    /**
-     * Gets the value of the idWidth property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getIdWidth()
-    {
-      return idWidth;
-    }
+        /**
+         * The viewport id of this viewport's
+         *                                                                     (cdna/protein) coding complement, if any
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getComplementId() {
+            return complementId;
+        }
 
-    /**
-     * Sets the value of the idWidth property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setIdWidth(Integer value)
-    {
-      this.idWidth = value;
-    }
+        /**
+         * Sets the value of the complementId property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         * @see #getComplementId()
+         */
+        public void setComplementId(String value) {
+            this.complementId = value;
+        }
 
-    /**
-     * Gets the value of the idWidthManuallyAdjusted property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isIdWidthManuallyAdjusted()
-    {
-      return idWidthManuallyAdjusted;
-    }
+        /**
+         * 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 idWidthManuallyAdjusted property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setIdWidthManuallyAdjusted(Boolean value)
-    {
-      this.idWidthManuallyAdjusted = 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 scaleProteinAsCdna property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public boolean isScaleProteinAsCdna()
-    {
-      if (scaleProteinAsCdna == null)
-      {
-        return true;
-      }
-      else
-      {
-        return scaleProteinAsCdna;
-      }
-    }
+        /**
+         * 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 scaleProteinAsCdna property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setScaleProteinAsCdna(Boolean value)
-    {
-      this.scaleProteinAsCdna = 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 viewName property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getViewName()
-    {
-      return viewName;
-    }
+        /**
+         * Gets the value of the width property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getWidth() {
+            return width;
+        }
 
-    /**
-     * 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 width property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setWidth(Integer value) {
+            this.width = value;
+        }
 
-    /**
-     * Gets the value of the sequenceSetId property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getSequenceSetId()
-    {
-      return sequenceSetId;
-    }
+        /**
+         * Gets the value of the height property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getHeight() {
+            return height;
+        }
 
-    /**
-     * 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 height property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setHeight(Integer value) {
+            this.height = value;
+        }
 
-    /**
-     * Gets the value of the gatheredViews property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isGatheredViews()
-    {
-      return gatheredViews;
-    }
+        /**
+         * Gets the value of the xpos property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getXpos() {
+            return xpos;
+        }
 
-    /**
-     * 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 xpos property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setXpos(Integer value) {
+            this.xpos = value;
+        }
 
-    /**
-     * Gets the value of the textCol1 property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getTextCol1()
-    {
-      return textCol1;
-    }
+        /**
+         * 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 textCol1 property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setTextCol1(Integer value)
-    {
-      this.textCol1 = value;
-    }
+        /**
+         * Gets the value of the conservationSelected property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isConservationSelected() {
+            return conservationSelected;
+        }
 
-    /**
-     * Gets the value of the textCol2 property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getTextCol2()
-    {
-      return textCol2;
-    }
+        /**
+         * 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 textCol2 property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setTextCol2(Integer value)
-    {
-      this.textCol2 = value;
-    }
+        /**
+         * Conservation shading increment
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getConsThreshold() {
+            return consThreshold;
+        }
 
-    /**
-     * Gets the value of the textColThreshold property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getTextColThreshold()
-    {
-      return textColThreshold;
-    }
+        /**
+         * Sets the value of the consThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         * @see #getConsThreshold()
+         */
+        public void setConsThreshold(Integer value) {
+            this.consThreshold = 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 pidSelected property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isPidSelected() {
+            return pidSelected;
+        }
 
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getId()
-    {
-      return id;
-    }
+        /**
+         * 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 id property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setId(String value)
-    {
-      this.id = value;
-    }
+        /**
+         * Percent Identity Threshold
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getPidThreshold() {
+            return pidThreshold;
+        }
 
-    /**
-     * Gets the value of the complementId property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getComplementId()
-    {
-      return complementId;
-    }
+        /**
+         * Sets the value of the pidThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         * @see #getPidThreshold()
+         */
+        public void setPidThreshold(Integer value) {
+            this.pidThreshold = value;
+        }
 
-    /**
-     * Sets the value of the complementId property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setComplementId(String value)
-    {
-      this.complementId = value;
-    }
+        /**
+         * Secondary structure consensus shading - since 2.11.4
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isSecstrSelected() {
+            if (secstrSelected == null) {
+                return false;
+            } else {
+                return secstrSelected;
+            }
+        }
 
-    /**
-     * 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 secstrSelected property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         * @see #isSecstrSelected()
+         */
+        public void setSecstrSelected(Boolean value) {
+            this.secstrSelected = value;
+        }
 
-    /**
-     * Sets the value of the showComplementFeatures property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowComplementFeatures(Boolean value)
-    {
-      this.showComplementFeatures = value;
-    }
+        /**
+         * Secondary structure consensus increment
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getSecstrThreshold() {
+            return secstrThreshold;
+        }
 
-    /**
-     * 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 secstrThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         * @see #getSecstrThreshold()
+         */
+        public void setSecstrThreshold(Integer value) {
+            this.secstrThreshold = 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 showConsensusHistogram property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowConsensusHistogram() {
+            if (showConsensusHistogram == null) {
+                return true;
+            } else {
+                return showConsensusHistogram;
+            }
+        }
 
-    /**
-     * Gets the value of the width property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getWidth()
-    {
-      return width;
-    }
+        /**
+         * 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 width property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setWidth(Integer value)
-    {
-      this.width = 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 height property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getHeight()
-    {
-      return height;
-    }
+        /**
+         * 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 height property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setHeight(Integer value)
-    {
-      this.height = 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 xpos property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getXpos()
-    {
-      return xpos;
-    }
+        /**
+         * Sets the value of the normaliseSequenceLogo property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setNormaliseSequenceLogo(Boolean value) {
+            this.normaliseSequenceLogo = 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 ignoreGapsinConsensus property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isIgnoreGapsinConsensus() {
+            if (ignoreGapsinConsensus == null) {
+                return true;
+            } else {
+                return ignoreGapsinConsensus;
+            }
+        }
 
-    /**
-     * Gets the value of the ypos property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getYpos()
-    {
-      return ypos;
-    }
+        /**
+         * Sets the value of the ignoreGapsinConsensus property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setIgnoreGapsinConsensus(Boolean value) {
+            this.ignoreGapsinConsensus = value;
+        }
 
-    /**
-     * Sets the value of the ypos property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setYpos(Integer value)
-    {
-      this.ypos = value;
-    }
 
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;extension
-     * base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
-     * &amp;lt;attribute name="calcId" use="required"
-     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;attribute name="needsUpdate"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
-     * /&amp;gt; &amp;lt;attribute name="autoUpdate" use="required"
-     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-     * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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)
+        /**
+         * <p>Java class for anonymous complex type</p>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&gt;
+         *       &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *       &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+         *       &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+         *     &lt;/extension&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "")
+        public static class CalcIdParam
+            extends WebServiceParameterSet
         {
-          return false;
+
+            /**
+             * handle for the calculation which uses
+             *                                                                                                                 this parameter set
+             * 
+             */
+            @XmlAttribute(name = "calcId", required = true)
+            protected String calcId;
+            /**
+             * should the calculation be performed
+             *                                                                                                                 immediately after loading in order to refresh results
+             * 
+             */
+            @XmlAttribute(name = "needsUpdate")
+            protected Boolean needsUpdate;
+            /**
+             * should the calculation be automatically
+             *                                                                                                                 performed on edits
+             * 
+             */
+            @XmlAttribute(name = "autoUpdate", required = true)
+            protected boolean autoUpdate;
+
+            /**
+             * handle for the calculation which uses
+             *                                                                                                                 this parameter set
+             * 
+             * @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 }
+             *     
+             * @see #getCalcId()
+             */
+            public void setCalcId(String value) {
+                this.calcId = value;
+            }
+
+            /**
+             * should the calculation be performed
+             *                                                                                                                 immediately after loading in order to refresh results
+             * 
+             * @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 }
+             *     
+             * @see #isNeedsUpdate()
+             */
+            public void setNeedsUpdate(Boolean value) {
+                this.needsUpdate = value;
+            }
+
+            /**
+             * should the calculation be automatically
+             *                                                                                                                 performed on edits
+             * 
+             */
+            public boolean isAutoUpdate() {
+                return autoUpdate;
+            }
+
+            /**
+             * Sets the value of the autoUpdate property.
+             * 
+             */
+            public void setAutoUpdate(boolean value) {
+                this.autoUpdate = value;
+            }
+
         }
-        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;
-      }
 
-    }
 
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-     * &amp;lt;attribute name="start"
-     * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-     * name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-     * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </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;
+            }
 
-    }
+        }
 
-    /**
-     * &lt;p&gt;Java class for anonymous complex type.
-     * 
-     * &lt;p&gt;The following schema fragment specifies the expected content
-     * contained within this class.
-     * 
-     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-     * &amp;lt;restriction
-     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
-     * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
-     * name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean"
-     * /&amp;gt; &amp;lt;attribute name="residueColour"
-     * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-     * name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-     * &amp;lt;attribute name="hiddenColour"
-     * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
-     * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-     * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-     * 
-     * 
-     */
-    @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>.
+         * 
+         * <p>The following schema fragment specifies the expected content contained within this class.</p>
+         * 
+         * <pre>
+         * &lt;complexType&gt;
+         *   &lt;complexContent&gt;
+         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+         *       &lt;attGroup ref="{www.jalview.org}swingwindow"/&gt;
+         *       &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+         *       &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *       &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *       &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+         *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+         *     &lt;/restriction&gt;
+         *   &lt;/complexContent&gt;
+         * &lt;/complexType&gt;
+         * </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;
+            }
+
+        }
 
-  }
+    }
 
 }
index ea2c6ac..5a97ac8 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,585 +16,622 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for JalviewUserColours complex type.
+ * <p>Java class for JalviewUserColours complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="JalviewUserColours"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="Version"
- * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
- * &amp;lt;element name="colour" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
- * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
- * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
- * name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="RGB" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="noValueColour"
- * type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
- * &amp;lt;attribute name="threshType"
- * type="{www.jalview.org/colours}ThresholdType" /&amp;gt; &amp;lt;attribute
- * name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
- * &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float"
- * /&amp;gt; &amp;lt;attribute name="min"
- * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
- * name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean"
- * /&amp;gt; &amp;lt;attribute name="autoScale"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="filter" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="matcherSet"
- * type="{www.jalview.org/colours}FeatureMatcherSet"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="featureType" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="schemeName"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="JalviewUserColours"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="colour" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&gt;
+ *                 &lt;/sequence&gt;
+ *                 &lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&gt;
+ *                 &lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" /&gt;
+ *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+ *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *         &lt;element name="filter" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/&gt;
+ *                 &lt;/sequence&gt;
+ *                 &lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="schemeName" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "JalviewUserColours",
-  namespace = "www.jalview.org/colours",
-  propOrder =
-  { "version", "colour", "filter" })
-public class JalviewUserColours
-{
-
-  @XmlElement(name = "Version", namespace = "")
-  protected String version;
-
-  @XmlElement(namespace = "")
-  protected List<JalviewUserColours.Colour> colour;
-
-  @XmlElement(namespace = "")
-  protected List<JalviewUserColours.Filter> filter;
-
-  @XmlAttribute(name = "schemeName")
-  protected String schemeName;
-
-  /**
-   * 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 colour property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the colour property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getColour().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link JalviewUserColours.Colour }
-   * 
-   * 
-   */
-  public List<JalviewUserColours.Colour> getColour()
-  {
-    if (colour == null)
-    {
-      colour = new ArrayList<JalviewUserColours.Colour>();
-    }
-    return this.colour;
-  }
-
-  /**
-   * Gets the value of the filter property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the filter property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getFilter().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link JalviewUserColours.Filter }
-   * 
-   * 
-   */
-  public List<JalviewUserColours.Filter> getFilter()
-  {
-    if (filter == null)
-    {
-      filter = new ArrayList<JalviewUserColours.Filter>();
-    }
-    return this.filter;
-  }
-
-  /**
-   * Gets the value of the schemeName property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getSchemeName()
-  {
-    return schemeName;
-  }
-
-  /**
-   * Sets the value of the schemeName property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setSchemeName(String value)
-  {
-    this.schemeName = value;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
-   * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
-   * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
-   * name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="RGB" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="noValueColour"
-   * type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
-   * &amp;lt;attribute name="threshType"
-   * type="{www.jalview.org/colours}ThresholdType" /&amp;gt; &amp;lt;attribute
-   * name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-   * &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float"
-   * /&amp;gt; &amp;lt;attribute name="min"
-   * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
-   * name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * /&amp;gt; &amp;lt;attribute name="autoScale"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "attributeName" })
-  public static class Colour
-  {
-
-    @XmlElement(namespace = "")
-    protected List<String> attributeName;
-
-    @XmlAttribute(name = "Name")
-    protected String name;
-
-    @XmlAttribute(name = "RGB", required = true)
-    protected String rgb;
-
-    @XmlAttribute(name = "minRGB")
-    protected String minRGB;
-
-    @XmlAttribute(name = "noValueColour")
-    protected NoValueColour noValueColour;
-
-    @XmlAttribute(name = "threshType")
-    protected ThresholdType threshType;
-
-    @XmlAttribute(name = "threshold")
-    protected Float threshold;
-
-    @XmlAttribute(name = "max")
-    protected Float max;
-
-    @XmlAttribute(name = "min")
-    protected Float min;
-
-    @XmlAttribute(name = "colourByLabel")
-    protected Boolean colourByLabel;
-
-    @XmlAttribute(name = "autoScale")
-    protected Boolean autoScale;
+@XmlType(name = "JalviewUserColours", namespace = "www.jalview.org/colours", propOrder = {
+    "version",
+    "colour",
+    "filter"
+})
+public class JalviewUserColours {
 
     /**
-     * Gets the value of the attributeName property.
-     * 
-     * &lt;p&gt; 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
-     * &lt;CODE&gt;set&lt;/CODE&gt; method for the attributeName property.
-     * 
-     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-     * getAttributeName().add(newItem); &lt;/pre&gt;
-     * 
-     * 
-     * &lt;p&gt; Objects of the following type(s) are allowed in the list
-     * {@link String }
-     * 
+     * Jalview colour scheme document version.
      * 
      */
-    public List<String> getAttributeName()
-    {
-      if (attributeName == null)
-      {
-        attributeName = new ArrayList<String>();
-      }
-      return this.attributeName;
-    }
-
-    /**
-     * 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 rgb property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getRGB()
-    {
-      return rgb;
-    }
-
-    /**
-     * Sets the value of the rgb property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setRGB(String value)
-    {
-      this.rgb = value;
-    }
-
-    /**
-     * Gets the value of the minRGB property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getMinRGB()
-    {
-      return minRGB;
-    }
-
-    /**
-     * Sets the value of the minRGB property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setMinRGB(String value)
-    {
-      this.minRGB = value;
-    }
+    @XmlElement(name = "Version", namespace = "")
+    protected String version;
+    @XmlElement(namespace = "")
+    protected List<JalviewUserColours.Colour> colour;
+    @XmlElement(namespace = "")
+    protected List<JalviewUserColours.Filter> filter;
+    @XmlAttribute(name = "schemeName")
+    protected String schemeName;
 
     /**
-     * Gets the value of the noValueColour property.
-     * 
-     * @return possible object is {@link NoValueColour }
+     * Jalview colour scheme document version.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public NoValueColour getNoValueColour()
-    {
-      if (noValueColour == null)
-      {
-        return NoValueColour.MIN;
-      }
-      else
-      {
-        return noValueColour;
-      }
+    public String getVersion() {
+        return version;
     }
 
     /**
-     * Sets the value of the noValueColour property.
+     * Sets the value of the version property.
      * 
      * @param value
-     *          allowed object is {@link NoValueColour }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getVersion()
      */
-    public void setNoValueColour(NoValueColour value)
-    {
-      this.noValueColour = value;
+    public void setVersion(String value) {
+        this.version = value;
     }
 
     /**
-     * Gets the value of the threshType property.
+     * Gets the value of the colour property.
      * 
-     * @return possible object is {@link ThresholdType }
+     * <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 colour property.</p>
      * 
-     */
-    public ThresholdType getThreshType()
-    {
-      return threshType;
-    }
-
-    /**
-     * Sets the value of the threshType property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getColour().add(newItem);
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link ThresholdType }
      * 
-     */
-    public void setThreshType(ThresholdType value)
-    {
-      this.threshType = value;
-    }
-
-    /**
-     * Gets the value of the threshold property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewUserColours.Colour }
+     * </p>
      * 
-     * @return possible object is {@link Float }
      * 
+     * @return
+     *     The value of the colour property.
      */
-    public Float getThreshold()
-    {
-      return threshold;
+    public List<JalviewUserColours.Colour> getColour() {
+        if (colour == null) {
+            colour = new ArrayList<JalviewUserColours.Colour>();
+        }
+        return this.colour;
     }
 
     /**
-     * Sets the value of the threshold property.
+     * Gets the value of the filter property.
      * 
-     * @param value
-     *          allowed object is {@link Float }
+     * <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 filter property.</p>
      * 
-     */
-    public void setThreshold(Float value)
-    {
-      this.threshold = value;
-    }
-
-    /**
-     * Gets the value of the max property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getFilter().add(newItem);
+     * </pre>
      * 
-     * @return possible object is {@link Float }
      * 
-     */
-    public Float getMax()
-    {
-      return max;
-    }
-
-    /**
-     * Sets the value of the max property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewUserColours.Filter }
+     * </p>
      * 
-     * @param value
-     *          allowed object is {@link Float }
      * 
+     * @return
+     *     The value of the filter property.
      */
-    public void setMax(Float value)
-    {
-      this.max = value;
+    public List<JalviewUserColours.Filter> getFilter() {
+        if (filter == null) {
+            filter = new ArrayList<JalviewUserColours.Filter>();
+        }
+        return this.filter;
     }
 
     /**
-     * Gets the value of the min property.
-     * 
-     * @return possible object is {@link Float }
+     * Gets the value of the schemeName property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public Float getMin()
-    {
-      return min;
+    public String getSchemeName() {
+        return schemeName;
     }
 
     /**
-     * Sets the value of the min property.
+     * Sets the value of the schemeName property.
      * 
      * @param value
-     *          allowed object is {@link Float }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setMin(Float value)
-    {
-      this.min = value;
+    public void setSchemeName(String value) {
+        this.schemeName = 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.
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&gt;
+     *       &lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" /&gt;
+     *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
+     *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
      * 
      */
-    public void setColourByLabel(Boolean value)
-    {
-      this.colourByLabel = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "attributeName"
+    })
+    public static class Colour {
+
+        /**
+         * name of feature attribute to colour by, or attribute and sub-attribute
+         * 
+         */
+        @XmlElement(namespace = "")
+        protected List<String> attributeName;
+        /**
+         * Single letter residue code for an alignment colour scheme, or feature type for a feature colour scheme
+         * 
+         */
+        @XmlAttribute(name = "Name")
+        protected String name;
+        @XmlAttribute(name = "RGB", required = true)
+        protected String rgb;
+        @XmlAttribute(name = "minRGB")
+        protected String minRGB;
+        @XmlAttribute(name = "noValueColour")
+        protected NoValueColour noValueColour;
+        @XmlAttribute(name = "threshType")
+        protected ThresholdType threshType;
+        @XmlAttribute(name = "threshold")
+        protected Float threshold;
+        @XmlAttribute(name = "max")
+        protected Float max;
+        @XmlAttribute(name = "min")
+        protected Float min;
+        @XmlAttribute(name = "colourByLabel")
+        protected Boolean colourByLabel;
+        @XmlAttribute(name = "autoScale")
+        protected Boolean autoScale;
+
+        /**
+         * name of feature attribute to colour by, or attribute and sub-attribute
+         * 
+         * 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>
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * </p>
+         * <pre>
+         * getAttributeName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link String }
+         * </p>
+         * 
+         * 
+         * @return
+         *     The value of the attributeName property.
+         */
+        public List<String> getAttributeName() {
+            if (attributeName == null) {
+                attributeName = new ArrayList<String>();
+            }
+            return this.attributeName;
+        }
+
+        /**
+         * Single letter residue code for an alignment colour scheme, or feature type for a feature colour scheme
+         * 
+         * @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 }
+         *     
+         * @see #getName()
+         */
+        public void setName(String value) {
+            this.name = value;
+        }
+
+        /**
+         * Gets the value of the rgb property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRGB() {
+            return rgb;
+        }
+
+        /**
+         * Sets the value of the rgb property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRGB(String value) {
+            this.rgb = value;
+        }
+
+        /**
+         * Gets the value of the minRGB property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMinRGB() {
+            return minRGB;
+        }
+
+        /**
+         * Sets the value of the minRGB property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMinRGB(String value) {
+            this.minRGB = 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 threshType property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link ThresholdType }
+         *     
+         */
+        public ThresholdType getThreshType() {
+            return threshType;
+        }
+
+        /**
+         * Sets the value of the threshType property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link ThresholdType }
+         *     
+         */
+        public void setThreshType(ThresholdType value) {
+            this.threshType = 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 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 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;
-    }
-
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element name="matcherSet"
-   * type="{www.jalview.org/colours}FeatureMatcherSet"/&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="featureType"
-   * use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "matcherSet" })
-  public static class Filter
-  {
-
-    @XmlElement(namespace = "", required = true)
-    protected FeatureMatcherSet matcherSet;
-
-    @XmlAttribute(name = "featureType", required = true)
-    protected String featureType;
-
-    /**
-     * 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.
+     * <p>Java class for anonymous complex type</p>.
      * 
-     * @param value
-     *          allowed object is {@link FeatureMatcherSet }
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
      * 
-     */
-    public void setMatcherSet(FeatureMatcherSet value)
-    {
-      this.matcherSet = value;
-    }
-
-    /**
-     * Gets the value of the featureType property.
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @return possible object is {@link String }
      * 
      */
-    public String getFeatureType()
-    {
-      return featureType;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "matcherSet"
+    })
+    public static class Filter {
+
+        @XmlElement(namespace = "", required = true)
+        protected FeatureMatcherSet matcherSet;
+        @XmlAttribute(name = "featureType", required = true)
+        protected String featureType;
+
+        /**
+         * 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 featureType property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getFeatureType() {
+            return featureType;
+        }
+
+        /**
+         * Sets the value of the featureType property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setFeatureType(String value) {
+            this.featureType = value;
+        }
 
-    /**
-     * Sets the value of the featureType property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setFeatureType(String value)
-    {
-      this.featureType = value;
     }
 
-  }
-
 }
index 644e6fe..f25dcf5 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.math.BigInteger;
@@ -17,291 +18,357 @@ import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
+ * This effectively represents a java.util.MapList
+ *                             object
  * 
- * This effectively represents a java.util.MapList object
- * 
+ * <p>Java class for mapListType complex type</p>.
  * 
- * &lt;p&gt;Java class for mapListType complex type.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
  * 
- * &lt;p&gt;The following schema fragment specifies the expected content
- * contained within this class.
- * 
- * &lt;pre&gt; &amp;lt;complexType name="mapListType"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="mapListFrom"
- * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;attribute name="end" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * name="mapListTo" maxOccurs="unbounded" minOccurs="0"&amp;gt;
- * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;attribute name="start" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
- * name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
- * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="mapFromUnit" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&amp;gt;
- * &amp;lt;attribute name="mapToUnit" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="mapListType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="mapListFrom" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                 &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *         &lt;element name="mapListTo" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *                 &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="mapFromUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&gt;
+ *       &lt;attribute name="mapToUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "mapListType", propOrder = { "mapListFrom", "mapListTo" })
-@XmlSeeAlso({ Mapping.class })
-public class MapListType
-{
-
-  protected List<MapListType.MapListFrom> mapListFrom;
-
-  protected List<MapListType.MapListTo> mapListTo;
-
-  @XmlAttribute(name = "mapFromUnit", required = true)
-  @XmlSchemaType(name = "positiveInteger")
-  protected BigInteger mapFromUnit;
-
-  @XmlAttribute(name = "mapToUnit", required = true)
-  @XmlSchemaType(name = "positiveInteger")
-  protected BigInteger mapToUnit;
-
-  /**
-   * Gets the value of the mapListFrom property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the mapListFrom property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getMapListFrom().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link MapListType.MapListFrom }
-   * 
-   * 
-   */
-  public List<MapListType.MapListFrom> getMapListFrom()
-  {
-    if (mapListFrom == null)
-    {
-      mapListFrom = new ArrayList<MapListType.MapListFrom>();
-    }
-    return this.mapListFrom;
-  }
-
-  /**
-   * Gets the value of the mapListTo property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the mapListTo property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getMapListTo().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link MapListType.MapListTo }
-   * 
-   * 
-   */
-  public List<MapListType.MapListTo> getMapListTo()
-  {
-    if (mapListTo == null)
-    {
-      mapListTo = new ArrayList<MapListType.MapListTo>();
-    }
-    return this.mapListTo;
-  }
-
-  /**
-   * Gets the value of the mapFromUnit property.
-   * 
-   * @return possible object is {@link BigInteger }
-   * 
-   */
-  public BigInteger getMapFromUnit()
-  {
-    return mapFromUnit;
-  }
-
-  /**
-   * Sets the value of the mapFromUnit property.
-   * 
-   * @param value
-   *          allowed object is {@link BigInteger }
-   * 
-   */
-  public void setMapFromUnit(BigInteger value)
-  {
-    this.mapFromUnit = value;
-  }
-
-  /**
-   * Gets the value of the mapToUnit property.
-   * 
-   * @return possible object is {@link BigInteger }
-   * 
-   */
-  public BigInteger getMapToUnit()
-  {
-    return mapToUnit;
-  }
-
-  /**
-   * Sets the value of the mapToUnit property.
-   * 
-   * @param value
-   *          allowed object is {@link BigInteger }
-   * 
-   */
-  public void setMapToUnit(BigInteger value)
-  {
-    this.mapToUnit = value;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
-   * /&amp;gt; &amp;lt;attribute name="end" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class MapListFrom
-  {
+@XmlType(name = "mapListType", propOrder = {
+    "mapListFrom",
+    "mapListTo"
+})
+@XmlSeeAlso({
+    Mapping.class
+})
+public class MapListType {
 
-    @XmlAttribute(name = "start", required = true)
-    protected int start;
-
-    @XmlAttribute(name = "end", required = true)
-    protected int end;
+    /**
+     * a region from start to end inclusive
+     * 
+     */
+    protected List<MapListType.MapListFrom> mapListFrom;
+    /**
+     * a region from start to end inclusive
+     * 
+     */
+    protected List<MapListType.MapListTo> mapListTo;
+    /**
+     * number of dictionary symbol widths involved in
+     *                                         each
+     *                                         mapped position on this sequence (for example, 3 for a dna
+     *                                         sequence exon
+     *                                         region that is being mapped to a protein sequence).
+     *                                         This is optional,
+     *                                         since the unit can be usually be inferred from the
+     *                                         dictionary type of
+     *                                         each sequence involved in the mapping.
+     * 
+     */
+    @XmlAttribute(name = "mapFromUnit", required = true)
+    @XmlSchemaType(name = "positiveInteger")
+    protected BigInteger mapFromUnit;
+    /**
+     * number of dictionary symbol widths involved in
+     *                                         each
+     *                                         mapped position on this sequence (for example, 3 for a dna
+     *                                         sequence exon
+     *                                         region that is being mapped to a protein sequence).
+     *                                         This is optional,
+     *                                         since the unit can be usually be inferred from the
+     *                                         dictionary type of
+     *                                         each sequence involved in the mapping.
+     * 
+     */
+    @XmlAttribute(name = "mapToUnit", required = true)
+    @XmlSchemaType(name = "positiveInteger")
+    protected BigInteger mapToUnit;
 
     /**
-     * Gets the value of the start property.
+     * a region from start to end inclusive
+     * 
+     * Gets the value of the mapListFrom 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 mapListFrom property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getMapListFrom().add(newItem);
+     * </pre>
+     * 
      * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link MapListType.MapListFrom }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the mapListFrom property.
      */
-    public int getStart()
-    {
-      return start;
+    public List<MapListType.MapListFrom> getMapListFrom() {
+        if (mapListFrom == null) {
+            mapListFrom = new ArrayList<MapListType.MapListFrom>();
+        }
+        return this.mapListFrom;
     }
 
     /**
-     * Sets the value of the start property.
+     * a region from start to end inclusive
+     * 
+     * Gets the value of the mapListTo 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 mapListTo property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getMapListTo().add(newItem);
+     * </pre>
      * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link MapListType.MapListTo }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the mapListTo property.
      */
-    public void setStart(int value)
-    {
-      this.start = value;
+    public List<MapListType.MapListTo> getMapListTo() {
+        if (mapListTo == null) {
+            mapListTo = new ArrayList<MapListType.MapListTo>();
+        }
+        return this.mapListTo;
     }
 
     /**
-     * Gets the value of the end property.
+     * number of dictionary symbol widths involved in
+     *                                         each
+     *                                         mapped position on this sequence (for example, 3 for a dna
+     *                                         sequence exon
+     *                                         region that is being mapped to a protein sequence).
+     *                                         This is optional,
+     *                                         since the unit can be usually be inferred from the
+     *                                         dictionary type of
+     *                                         each sequence involved in the mapping.
      * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
      */
-    public int getEnd()
-    {
-      return end;
+    public BigInteger getMapFromUnit() {
+        return mapFromUnit;
     }
 
     /**
-     * Sets the value of the end property.
+     * Sets the value of the mapFromUnit property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     * @see #getMapFromUnit()
      */
-    public void setEnd(int value)
-    {
-      this.end = value;
+    public void setMapFromUnit(BigInteger value) {
+        this.mapFromUnit = value;
     }
 
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
-   * /&amp;gt; &amp;lt;attribute name="end" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class MapListTo
-  {
-
-    @XmlAttribute(name = "start", required = true)
-    protected int start;
-
-    @XmlAttribute(name = "end", required = true)
-    protected int end;
-
     /**
-     * Gets the value of the start property.
+     * number of dictionary symbol widths involved in
+     *                                         each
+     *                                         mapped position on this sequence (for example, 3 for a dna
+     *                                         sequence exon
+     *                                         region that is being mapped to a protein sequence).
+     *                                         This is optional,
+     *                                         since the unit can be usually be inferred from the
+     *                                         dictionary type of
+     *                                         each sequence involved in the mapping.
      * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
      */
-    public int getStart()
-    {
-      return start;
+    public BigInteger getMapToUnit() {
+        return mapToUnit;
     }
 
     /**
-     * Sets the value of the start property.
+     * Sets the value of the mapToUnit property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     * @see #getMapToUnit()
      */
-    public void setStart(int value)
-    {
-      this.start = value;
+    public void setMapToUnit(BigInteger value) {
+        this.mapToUnit = value;
     }
 
+
     /**
-     * Gets the value of the end property.
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
      * 
      */
-    public int getEnd()
-    {
-      return end;
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class MapListFrom {
+
+        @XmlAttribute(name = "start", required = true)
+        protected int start;
+        @XmlAttribute(name = "end", required = true)
+        protected int end;
+
+        /**
+         * 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;
+        }
+
     }
 
+
     /**
-     * Sets the value of the end property.
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
      * 
      */
-    public void setEnd(int value)
-    {
-      this.end = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class MapListTo {
+
+        @XmlAttribute(name = "start", required = true)
+        protected int start;
+        @XmlAttribute(name = "end", required = true)
+        protected int end;
+
+        /**
+         * 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;
+        }
+
+    }
 
 }
index de9132a..ece5d33 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -14,139 +15,162 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * Defines a mapping from the local frame to a matrix and its associated data
- * specified by MatrixType
- * 
+ * Defines a mapping from the local frame to a matrix
+ *                             and its associated data specified by MatrixType
  * 
- * &lt;p&gt;Java class for MapOnAMatrixType complex type.
+ * <p>Java class for MapOnAMatrixType complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="MapOnAMatrixType"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="property"
- * type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="mapping"
- * type="{www.vamsas.ac.uk/jalview/version2}mapListType" minOccurs="0"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="matrix" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="MapOnAMatrixType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element name="mapping" type="{www.vamsas.ac.uk/jalview/version2}mapListType" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="matrix" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MapOnAMatrixType", propOrder = { "property", "mapping" })
-public class MapOnAMatrixType
-{
-
-  protected List<Property> property;
-
-  protected MapListType mapping;
-
-  @XmlAttribute(name = "matrix", required = true)
-  protected String matrix;
+@XmlType(name = "MapOnAMatrixType", propOrder = {
+    "property",
+    "mapping"
+})
+public class MapOnAMatrixType {
 
-  @XmlAttribute(name = "id")
-  protected String id;
+    protected List<Property> property;
+    /**
+     * mapping from the matrix row and column positions
+     *                                                 to
+     *                                                 associated reference frame
+     * 
+     */
+    protected MapListType mapping;
+    /**
+     * reference to the matrix type this Map refers to
+     * 
+     */
+    @XmlAttribute(name = "matrix", required = true)
+    protected String matrix;
+    @XmlAttribute(name = "id")
+    protected String id;
 
-  /**
-   * Gets the value of the property property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getProperty().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Property }
-   * 
-   * 
-   */
-  public List<Property> getProperty()
-  {
-    if (property == null)
-    {
-      property = new ArrayList<Property>();
+    /**
+     * Gets the value of the property 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 property property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getProperty().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Property }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the property property.
+     */
+    public List<Property> getProperty() {
+        if (property == null) {
+            property = new ArrayList<Property>();
+        }
+        return this.property;
     }
-    return this.property;
-  }
 
-  /**
-   * Gets the value of the mapping property.
-   * 
-   * @return possible object is {@link MapListType }
-   * 
-   */
-  public MapListType getMapping()
-  {
-    return mapping;
-  }
+    /**
+     * mapping from the matrix row and column positions
+     *                                                 to
+     *                                                 associated reference frame
+     * 
+     * @return
+     *     possible object is
+     *     {@link MapListType }
+     *     
+     */
+    public MapListType getMapping() {
+        return mapping;
+    }
 
-  /**
-   * Sets the value of the mapping property.
-   * 
-   * @param value
-   *          allowed object is {@link MapListType }
-   * 
-   */
-  public void setMapping(MapListType value)
-  {
-    this.mapping = value;
-  }
+    /**
+     * Sets the value of the mapping property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link MapListType }
+     *     
+     * @see #getMapping()
+     */
+    public void setMapping(MapListType value) {
+        this.mapping = value;
+    }
 
-  /**
-   * Gets the value of the matrix property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getMatrix()
-  {
-    return matrix;
-  }
+    /**
+     * reference to the matrix type this Map refers to
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMatrix() {
+        return matrix;
+    }
 
-  /**
-   * Sets the value of the matrix property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setMatrix(String value)
-  {
-    this.matrix = value;
-  }
+    /**
+     * Sets the value of the matrix property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getMatrix()
+     */
+    public void setMatrix(String value) {
+        this.matrix = value;
+    }
 
-  /**
-   * Gets the value of the id property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getId()
-  {
-    return id;
-  }
+    /**
+     * 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;
-  }
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
 
 }
index e53c4f7..4f28ae3 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -14,115 +15,133 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
+ * Represent the jalview.datamodel.Mapping object -
+ *                                     it also provides
+ *                                     a way of storing sequences that are mapped 'to'
+ *                                     without adding them
+ *                                     to the sequence set (which will mean they are
+ *                                     then added to the alignment too).
  * 
- * Represent the jalview.datamodel.Mapping object - it also provides a way of
- * storing sequences that are mapped 'to' without adding them to the sequence
- * set (which will mean they are then added to the alignment too).
- * 
+ * <p>Java class for anonymous complex type</p>.
  * 
- * &lt;p&gt;Java class for anonymous complex type.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
  * 
- * &lt;p&gt;The following schema fragment specifies the expected content
- * contained within this class.
- * 
- * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;extension
- * base="{www.vamsas.ac.uk/jalview/version2}mapListType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;choice minOccurs="0"&amp;gt; &amp;lt;element
- * ref="{www.vamsas.ac.uk/jalview/version2}Sequence"/&amp;gt; &amp;lt;element
- * name="dseqFor"&amp;gt; &amp;lt;simpleType&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/simpleType&amp;gt;
- * &amp;lt;/element&amp;gt; &amp;lt;/choice&amp;gt; &amp;lt;/sequence&amp;gt;
- * &amp;lt;attribute name="mappingType"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;extension base="{www.vamsas.ac.uk/jalview/version2}mapListType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;choice minOccurs="0"&gt;
+ *           &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence"/&gt;
+ *           &lt;element name="dseqFor"&gt;
+ *             &lt;simpleType&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/simpleType&gt;
+ *           &lt;/element&gt;
+ *         &lt;/choice&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="mappingType" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/extension&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "sequence", "dseqFor" })
+@XmlType(name = "", propOrder = {
+    "sequence",
+    "dseqFor"
+})
 @XmlRootElement(name = "Mapping")
-public class Mapping extends MapListType
+public class Mapping
+    extends MapListType
 {
 
-  @XmlElement(name = "Sequence")
-  protected Sequence sequence;
-
-  protected String dseqFor;
-
-  @XmlAttribute(name = "mappingType")
-  protected String mappingType;
+    @XmlElement(name = "Sequence")
+    protected Sequence sequence;
+    protected String dseqFor;
+    /**
+     * Biotype of the mapping e.g. CdsToPeptide
+     * 
+     */
+    @XmlAttribute(name = "mappingType")
+    protected String mappingType;
 
-  /**
-   * Gets the value of the sequence property.
-   * 
-   * @return possible object is {@link Sequence }
-   * 
-   */
-  public Sequence getSequence()
-  {
-    return sequence;
-  }
+    /**
+     * Gets the value of the sequence property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Sequence }
+     *     
+     */
+    public Sequence getSequence() {
+        return sequence;
+    }
 
-  /**
-   * Sets the value of the sequence property.
-   * 
-   * @param value
-   *          allowed object is {@link Sequence }
-   * 
-   */
-  public void setSequence(Sequence value)
-  {
-    this.sequence = value;
-  }
+    /**
+     * Sets the value of the sequence property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Sequence }
+     *     
+     */
+    public void setSequence(Sequence value) {
+        this.sequence = value;
+    }
 
-  /**
-   * Gets the value of the dseqFor property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDseqFor()
-  {
-    return dseqFor;
-  }
+    /**
+     * Gets the value of the dseqFor property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDseqFor() {
+        return dseqFor;
+    }
 
-  /**
-   * Sets the value of the dseqFor property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDseqFor(String value)
-  {
-    this.dseqFor = value;
-  }
+    /**
+     * Sets the value of the dseqFor property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDseqFor(String value) {
+        this.dseqFor = value;
+    }
 
-  /**
-   * Gets the value of the mappingType property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getMappingType()
-  {
-    return mappingType;
-  }
+    /**
+     * Biotype of the mapping e.g. CdsToPeptide
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMappingType() {
+        return mappingType;
+    }
 
-  /**
-   * Sets the value of the mappingType property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setMappingType(String value)
-  {
-    this.mappingType = value;
-  }
+    /**
+     * Sets the value of the mappingType property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getMappingType()
+     */
+    public void setMappingType(String value) {
+        this.mappingType = value;
+    }
 
 }
index 65e65f6..714b3f3 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.math.BigInteger;
@@ -16,313 +17,350 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * Represents matrix data imported to Jalview, and the results of any derived
- * calculations (independent of a particular view on the matrix).
+ * Represents matrix data imported to Jalview, and the
+ *                             results of any derived calculations (independent of a particular
+ *                             view
+ *                             on the matrix).
  * 
+ * <p>Java class for MatrixType complex type</p>.
  * 
- * &lt;p&gt;Java class for MatrixType complex type.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
  * 
- * &lt;p&gt;The following schema fragment specifies the expected content
- * contained within this class.
- * 
- * &lt;pre&gt; &amp;lt;complexType name="MatrixType"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="elements"
- * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
- * name="groups" type="{http://www.w3.org/2001/XMLSchema}string"
- * maxOccurs="unbounded" minOccurs="0"/&amp;gt; &amp;lt;element name="newick"
- * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="property"
- * type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
- * name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="rows" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt; &amp;lt;attribute
- * name="cols" use="required" type="{http://www.w3.org/2001/XMLSchema}integer"
- * /&amp;gt; &amp;lt;attribute name="treeMethod"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="cutHeight" type="{http://www.w3.org/2001/XMLSchema}double" /&amp;gt;
- * &amp;lt;attribute name="id" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="MatrixType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="elements" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="groups" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="rows" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
+ *       &lt;attribute name="cols" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
+ *       &lt;attribute name="treeMethod" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="cutHeight" type="{http://www.w3.org/2001/XMLSchema}double" /&gt;
+ *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "MatrixType",
-  propOrder =
-  { "elements", "groups", "newick", "property" })
-public class MatrixType
-{
-
-  @XmlElement(required = true)
-  protected String elements;
-
-  protected List<String> groups;
-
-  protected List<String> newick;
-
-  protected List<Property> property;
+@XmlType(name = "MatrixType", propOrder = {
+    "elements",
+    "groups",
+    "newick",
+    "property"
+})
+public class MatrixType {
 
-  @XmlAttribute(name = "type", required = true)
-  protected String type;
+    /**
+     * serialised representation of matrix as one or
+     *                                                 more sets of comma separated values
+     * 
+     */
+    @XmlElement(required = true)
+    protected String elements;
+    /**
+     * Comma separated series of longs formed from
+     *                                                 bitsets defining partitions on the rows/columns of the matrix
+     * 
+     */
+    protected List<String> groups;
+    /**
+     * tree computed for this
+     * 
+     */
+    protected List<String> newick;
+    protected List<Property> property;
+    @XmlAttribute(name = "type", required = true)
+    protected String type;
+    @XmlAttribute(name = "rows", required = true)
+    protected BigInteger rows;
+    @XmlAttribute(name = "cols", required = true)
+    protected BigInteger cols;
+    @XmlAttribute(name = "treeMethod")
+    protected String treeMethod;
+    @XmlAttribute(name = "cutHeight")
+    protected Double cutHeight;
+    @XmlAttribute(name = "id", required = true)
+    protected String id;
 
-  @XmlAttribute(name = "rows", required = true)
-  protected BigInteger rows;
-
-  @XmlAttribute(name = "cols", required = true)
-  protected BigInteger cols;
-
-  @XmlAttribute(name = "treeMethod")
-  protected String treeMethod;
-
-  @XmlAttribute(name = "cutHeight")
-  protected Double cutHeight;
-
-  @XmlAttribute(name = "id", required = true)
-  protected String id;
-
-  /**
-   * Gets the value of the elements property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getElements()
-  {
-    return elements;
-  }
+    /**
+     * serialised representation of matrix as one or
+     *                                                 more sets of comma separated values
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getElements() {
+        return elements;
+    }
 
-  /**
-   * Sets the value of the elements property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setElements(String value)
-  {
-    this.elements = value;
-  }
+    /**
+     * Sets the value of the elements property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getElements()
+     */
+    public void setElements(String value) {
+        this.elements = value;
+    }
 
-  /**
-   * Gets the value of the groups property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the groups property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getGroups().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link String }
-   * 
-   * 
-   */
-  public List<String> getGroups()
-  {
-    if (groups == null)
-    {
-      groups = new ArrayList<String>();
+    /**
+     * Comma separated series of longs formed from
+     *                                                 bitsets defining partitions on the rows/columns of the matrix
+     * 
+     * Gets the value of the groups 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 groups property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getGroups().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the groups property.
+     */
+    public List<String> getGroups() {
+        if (groups == null) {
+            groups = new ArrayList<String>();
+        }
+        return this.groups;
     }
-    return this.groups;
-  }
 
-  /**
-   * Gets the value of the newick property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the newick property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getNewick().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link String }
-   * 
-   * 
-   */
-  public List<String> getNewick()
-  {
-    if (newick == null)
-    {
-      newick = new ArrayList<String>();
+    /**
+     * tree computed for this
+     * 
+     * Gets the value of the newick 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 newick property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getNewick().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the newick property.
+     */
+    public List<String> getNewick() {
+        if (newick == null) {
+            newick = new ArrayList<String>();
+        }
+        return this.newick;
     }
-    return this.newick;
-  }
 
-  /**
-   * Gets the value of the property property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getProperty().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Property }
-   * 
-   * 
-   */
-  public List<Property> getProperty()
-  {
-    if (property == null)
-    {
-      property = new ArrayList<Property>();
+    /**
+     * Gets the value of the property 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 property property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getProperty().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Property }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the property property.
+     */
+    public List<Property> getProperty() {
+        if (property == null) {
+            property = new ArrayList<Property>();
+        }
+        return this.property;
     }
-    return this.property;
-  }
 
-  /**
-   * Gets the value of the type property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getType()
-  {
-    return type;
-  }
+    /**
+     * 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;
-  }
+    /**
+     * 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 rows property.
-   * 
-   * @return possible object is {@link BigInteger }
-   * 
-   */
-  public BigInteger getRows()
-  {
-    return rows;
-  }
+    /**
+     * Gets the value of the rows property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getRows() {
+        return rows;
+    }
 
-  /**
-   * Sets the value of the rows property.
-   * 
-   * @param value
-   *          allowed object is {@link BigInteger }
-   * 
-   */
-  public void setRows(BigInteger value)
-  {
-    this.rows = value;
-  }
+    /**
+     * Sets the value of the rows property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setRows(BigInteger value) {
+        this.rows = value;
+    }
 
-  /**
-   * Gets the value of the cols property.
-   * 
-   * @return possible object is {@link BigInteger }
-   * 
-   */
-  public BigInteger getCols()
-  {
-    return cols;
-  }
+    /**
+     * Gets the value of the cols property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getCols() {
+        return cols;
+    }
 
-  /**
-   * Sets the value of the cols property.
-   * 
-   * @param value
-   *          allowed object is {@link BigInteger }
-   * 
-   */
-  public void setCols(BigInteger value)
-  {
-    this.cols = value;
-  }
+    /**
+     * Sets the value of the cols property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setCols(BigInteger value) {
+        this.cols = value;
+    }
 
-  /**
-   * Gets the value of the treeMethod property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getTreeMethod()
-  {
-    return treeMethod;
-  }
+    /**
+     * Gets the value of the treeMethod property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTreeMethod() {
+        return treeMethod;
+    }
 
-  /**
-   * Sets the value of the treeMethod property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setTreeMethod(String value)
-  {
-    this.treeMethod = value;
-  }
+    /**
+     * Sets the value of the treeMethod property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTreeMethod(String value) {
+        this.treeMethod = value;
+    }
 
-  /**
-   * Gets the value of the cutHeight property.
-   * 
-   * @return possible object is {@link Double }
-   * 
-   */
-  public Double getCutHeight()
-  {
-    return cutHeight;
-  }
+    /**
+     * Gets the value of the cutHeight property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Double }
+     *     
+     */
+    public Double getCutHeight() {
+        return cutHeight;
+    }
 
-  /**
-   * Sets the value of the cutHeight property.
-   * 
-   * @param value
-   *          allowed object is {@link Double }
-   * 
-   */
-  public void setCutHeight(Double value)
-  {
-    this.cutHeight = value;
-  }
+    /**
+     * Sets the value of the cutHeight property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Double }
+     *     
+     */
+    public void setCutHeight(Double value) {
+        this.cutHeight = value;
+    }
 
-  /**
-   * Gets the value of the id property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getId()
-  {
-    return id;
-  }
+    /**
+     * 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;
-  }
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
 
 }
index 98dfe8a..5fe4041 100644 (file)
@@ -1,60 +1,78 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlEnum;
 import javax.xml.bind.annotation.XmlEnumValue;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for NoValueColour.
+ * Graduated feature colour if no score (or attribute) value
+ * 
+ * <p>Java class for NoValueColour</p>.
  * 
- * &lt;p&gt;The following schema fragment specifies the expected content
- * contained within this class. &lt;pre&gt; &amp;lt;simpleType
- * name="NoValueColour"&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt; &amp;lt;enumeration
- * value="None"/&amp;gt; &amp;lt;enumeration value="Min"/&amp;gt;
- * &amp;lt;enumeration value="Max"/&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/simpleType&amp;gt; &lt;/pre&gt;
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
+ * <pre>
+ * &lt;simpleType name="NoValueColour"&gt;
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
+ *     &lt;enumeration value="None"/&gt;
+ *     &lt;enumeration value="Min"/&gt;
+ *     &lt;enumeration value="Max"/&gt;
+ *   &lt;/restriction&gt;
+ * &lt;/simpleType&gt;
+ * </pre>
  * 
  */
 @XmlType(name = "NoValueColour", namespace = "www.jalview.org/colours")
 @XmlEnum
-public enum NoValueColour
-{
-
-  @XmlEnumValue("None")
-  NONE("None"), @XmlEnumValue("Min")
-  MIN("Min"), @XmlEnumValue("Max")
-  MAX("Max");
-
-  private final String value;
-
-  NoValueColour(String v)
-  {
-    value = v;
-  }
-
-  public String value()
-  {
-    return value;
-  }
-
-  public static NoValueColour fromValue(String v)
-  {
-    for (NoValueColour c : NoValueColour.values())
-    {
-      if (c.value.equals(v))
-      {
-        return c;
-      }
+public enum NoValueColour {
+
+    @XmlEnumValue("None")
+    NONE("None"),
+    @XmlEnumValue("Min")
+    MIN("Min"),
+    @XmlEnumValue("Max")
+    MAX("Max");
+    private final String value;
+
+    NoValueColour(String v) {
+        value = v;
+    }
+
+    /**
+     * Gets the value associated to the enum constant.
+     * 
+     * @return
+     *     The value linked to the enum.
+     */
+    public String value() {
+        return value;
+    }
+
+    /**
+     * Gets the enum associated to the value passed as parameter.
+     * 
+     * @param v
+     *     The value to get the enum from.
+     * @return
+     *     The enum which corresponds to the value, if it exists.
+     * @throws IllegalArgumentException
+     *     If no value matches in the enum declaration.
+     */
+    public static NoValueColour fromValue(String v) {
+        for (NoValueColour c: NoValueColour.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
     }
-    throw new IllegalArgumentException(v);
-  }
 
 }
index 27d9e41..b86ebdb 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.JAXBElement;
@@ -12,587 +13,512 @@ import javax.xml.bind.annotation.XmlElementDecl;
 import javax.xml.bind.annotation.XmlRegistry;
 import javax.xml.namespace.QName;
 
+
 /**
- * This object contains factory methods for each Java content interface and Java
- * element interface generated in the jalview.xml.binding.jalview package.
- * &lt;p&gt;An ObjectFactory allows you to programatically construct new
- * instances of the Java representation for XML content. The Java representation
- * of XML content can consist of schema derived interfaces and classes
- * representing the binding of schema type definitions, element declarations and
- * model groups. Factory methods for each of these are provided in this class.
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the jalview.xml.binding.jalview package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
  * 
  */
 @XmlRegistry
-public class ObjectFactory
-{
-
-  private final static QName _JalviewModel_QNAME = new QName(
-          "www.jalview.org", "JalviewModel");
-
-  private final static QName _JalviewUserColours_QNAME = new QName(
-          "www.jalview.org/colours", "JalviewUserColours");
-
-  private final static QName _WebServiceParameterSet_QNAME = new QName(
-          "www.jalview.org/xml/wsparamset", "WebServiceParameterSet");
-
-  /**
-   * Create a new ObjectFactory that can be used to create new instances of
-   * schema derived classes for package: jalview.xml.binding.jalview
-   * 
-   */
-  public ObjectFactory()
-  {
-  }
-
-  /**
-   * Create an instance of {@link MapListType }
-   * 
-   */
-  public MapListType createMapListType()
-  {
-    return new MapListType();
-  }
-
-  /**
-   * Create an instance of {@link Sequence }
-   * 
-   */
-  public Sequence createSequence()
-  {
-    return new Sequence();
-  }
-
-  /**
-   * Create an instance of {@link AlcodonFrame }
-   * 
-   */
-  public AlcodonFrame createAlcodonFrame()
-  {
-    return new AlcodonFrame();
-  }
-
-  /**
-   * Create an instance of {@link Annotation }
-   * 
-   */
-  public Annotation createAnnotation()
-  {
-    return new Annotation();
-  }
-
-  /**
-   * Create an instance of {@link SequenceSet }
-   * 
-   */
-  public SequenceSet createSequenceSet()
-  {
-    return new SequenceSet();
-  }
-
-  /**
-   * Create an instance of {@link FeatureMatcherSet }
-   * 
-   */
-  public FeatureMatcherSet createFeatureMatcherSet()
-  {
-    return new FeatureMatcherSet();
-  }
-
-  /**
-   * Create an instance of {@link JalviewUserColours }
-   * 
-   */
-  public JalviewUserColours createJalviewUserColours()
-  {
-    return new JalviewUserColours();
-  }
-
-  /**
-   * Create an instance of {@link Pdbentry }
-   * 
-   */
-  public Pdbentry createPdbentry()
-  {
-    return new Pdbentry();
-  }
-
-  /**
-   * Create an instance of {@link Feature }
-   * 
-   */
-  public Feature createFeature()
-  {
-    return new Feature();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel }
-   * 
-   */
-  public JalviewModel createJalviewModel()
-  {
-    return new JalviewModel();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.FeatureSettings }
-   * 
-   */
-  public JalviewModel.FeatureSettings createJalviewModelFeatureSettings()
-  {
-    return new JalviewModel.FeatureSettings();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer }
-   * 
-   */
-  public JalviewModel.PcaViewer createJalviewModelPcaViewer()
-  {
-    return new JalviewModel.PcaViewer();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Viewport }
-   * 
-   */
-  public JalviewModel.Viewport createJalviewModelViewport()
-  {
-    return new JalviewModel.Viewport();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JSeq }
-   * 
-   */
-  public JalviewModel.JSeq createJalviewModelJSeq()
-  {
-    return new JalviewModel.JSeq();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JSeq.RnaViewer }
-   * 
-   */
-  public JalviewModel.JSeq.RnaViewer createJalviewModelJSeqRnaViewer()
-  {
-    return new JalviewModel.JSeq.RnaViewer();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JSeq.Pdbids }
-   * 
-   */
-  public JalviewModel.JSeq.Pdbids createJalviewModelJSeqPdbids()
-  {
-    return new JalviewModel.JSeq.Pdbids();
-  }
-
-  /**
-   * Create an instance of {@link AnnotationColourScheme }
-   * 
-   */
-  public AnnotationColourScheme createAnnotationColourScheme()
-  {
-    return new AnnotationColourScheme();
-  }
-
-  /**
-   * Create an instance of {@link PcaDataType }
-   * 
-   */
-  public PcaDataType createPcaDataType()
-  {
-    return new PcaDataType();
-  }
-
-  /**
-   * Create an instance of {@link DoubleVector }
-   * 
-   */
-  public DoubleVector createDoubleVector()
-  {
-    return new DoubleVector();
-  }
-
-  /**
-   * Create an instance of {@link DoubleMatrix }
-   * 
-   */
-  public DoubleMatrix createDoubleMatrix()
-  {
-    return new DoubleMatrix();
-  }
-
-  /**
-   * Create an instance of {@link Mapping }
-   * 
-   */
-  public Mapping createMapping()
-  {
-    return new Mapping();
-  }
-
-  /**
-   * Create an instance of {@link MapListType.MapListFrom }
-   * 
-   */
-  public MapListType.MapListFrom createMapListTypeMapListFrom()
-  {
-    return new MapListType.MapListFrom();
-  }
-
-  /**
-   * Create an instance of {@link MapListType.MapListTo }
-   * 
-   */
-  public MapListType.MapListTo createMapListTypeMapListTo()
-  {
-    return new MapListType.MapListTo();
-  }
-
-  /**
-   * Create an instance of {@link SequenceType }
-   * 
-   */
-  public SequenceType createSequenceType()
-  {
-    return new SequenceType();
-  }
-
-  /**
-   * Create an instance of {@link Sequence.DBRef }
-   * 
-   */
-  public Sequence.DBRef createSequenceDBRef()
-  {
-    return new Sequence.DBRef();
-  }
-
-  /**
-   * Create an instance of {@link AlcodonFrame.Alcodon }
-   * 
-   */
-  public AlcodonFrame.Alcodon createAlcodonFrameAlcodon()
-  {
-    return new AlcodonFrame.Alcodon();
-  }
-
-  /**
-   * Create an instance of {@link AlcodonFrame.AlcodMap }
-   * 
-   */
-  public AlcodonFrame.AlcodMap createAlcodonFrameAlcodMap()
-  {
-    return new AlcodonFrame.AlcodMap();
-  }
-
-  /**
-   * Create an instance of {@link AnnotationElement }
-   * 
-   */
-  public AnnotationElement createAnnotationElement()
-  {
-    return new AnnotationElement();
-  }
-
-  /**
-   * Create an instance of {@link Annotation.ThresholdLine }
-   * 
-   */
-  public Annotation.ThresholdLine createAnnotationThresholdLine()
-  {
-    return new Annotation.ThresholdLine();
-  }
-
-  /**
-   * Create an instance of {@link MapOnAMatrixType }
-   * 
-   */
-  public MapOnAMatrixType createMapOnAMatrixType()
-  {
-    return new MapOnAMatrixType();
-  }
-
-  /**
-   * Create an instance of {@link jalview.xml.binding.jalview.Property }
-   * 
-   */
-  public jalview.xml.binding.jalview.Property createProperty()
-  {
-    return new jalview.xml.binding.jalview.Property();
-  }
-
-  /**
-   * Create an instance of {@link SequenceSet.SequenceSetProperties }
-   * 
-   */
-  public SequenceSet.SequenceSetProperties createSequenceSetSequenceSetProperties()
-  {
-    return new SequenceSet.SequenceSetProperties();
-  }
-
-  /**
-   * Create an instance of {@link MatrixType }
-   * 
-   */
-  public MatrixType createMatrixType()
-  {
-    return new MatrixType();
-  }
-
-  /**
-   * Create an instance of {@link VAMSAS }
-   * 
-   */
-  public VAMSAS createVAMSAS()
-  {
-    return new VAMSAS();
-  }
-
-  /**
-   * Create an instance of {@link FeatureMatcher }
-   * 
-   */
-  public FeatureMatcher createFeatureMatcher()
-  {
-    return new FeatureMatcher();
-  }
-
-  /**
-   * Create an instance of {@link WebServiceParameterSet }
-   * 
-   */
-  public WebServiceParameterSet createWebServiceParameterSet()
-  {
-    return new WebServiceParameterSet();
-  }
-
-  /**
-   * Create an instance of {@link FeatureMatcherSet.CompoundMatcher }
-   * 
-   */
-  public FeatureMatcherSet.CompoundMatcher createFeatureMatcherSetCompoundMatcher()
-  {
-    return new FeatureMatcherSet.CompoundMatcher();
-  }
-
-  /**
-   * Create an instance of {@link JalviewUserColours.Colour }
-   * 
-   */
-  public JalviewUserColours.Colour createJalviewUserColoursColour()
-  {
-    return new JalviewUserColours.Colour();
-  }
-
-  /**
-   * Create an instance of {@link JalviewUserColours.Filter }
-   * 
-   */
-  public JalviewUserColours.Filter createJalviewUserColoursFilter()
-  {
-    return new JalviewUserColours.Filter();
-  }
-
-  /**
-   * Create an instance of {@link Pdbentry.Property }
-   * 
-   */
-  public Pdbentry.Property createPdbentryProperty()
-  {
-    return new Pdbentry.Property();
-  }
-
-  /**
-   * Create an instance of {@link Feature.OtherData }
-   * 
-   */
-  public Feature.OtherData createFeatureOtherData()
-  {
-    return new Feature.OtherData();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JGroup }
-   * 
-   */
-  public JalviewModel.JGroup createJalviewModelJGroup()
-  {
-    return new JalviewModel.JGroup();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.UserColours }
-   * 
-   */
-  public JalviewModel.UserColours createJalviewModelUserColours()
-  {
-    return new JalviewModel.UserColours();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Tree }
-   * 
-   */
-  public JalviewModel.Tree createJalviewModelTree()
-  {
-    return new JalviewModel.Tree();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.FeatureSettings.Setting }
-   * 
-   */
-  public JalviewModel.FeatureSettings.Setting createJalviewModelFeatureSettingsSetting()
-  {
-    return new JalviewModel.FeatureSettings.Setting();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.FeatureSettings.Group }
-   * 
-   */
-  public JalviewModel.FeatureSettings.Group createJalviewModelFeatureSettingsGroup()
-  {
-    return new JalviewModel.FeatureSettings.Group();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer.SequencePoint }
-   * 
-   */
-  public JalviewModel.PcaViewer.SequencePoint createJalviewModelPcaViewerSequencePoint()
-  {
-    return new JalviewModel.PcaViewer.SequencePoint();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer.Axis }
-   * 
-   */
-  public JalviewModel.PcaViewer.Axis createJalviewModelPcaViewerAxis()
-  {
-    return new JalviewModel.PcaViewer.Axis();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMin }
-   * 
-   */
-  public JalviewModel.PcaViewer.SeqPointMin createJalviewModelPcaViewerSeqPointMin()
-  {
-    return new JalviewModel.PcaViewer.SeqPointMin();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMax }
-   * 
-   */
-  public JalviewModel.PcaViewer.SeqPointMax createJalviewModelPcaViewerSeqPointMax()
-  {
-    return new JalviewModel.PcaViewer.SeqPointMax();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Viewport.HiddenColumns }
-   * 
-   */
-  public JalviewModel.Viewport.HiddenColumns createJalviewModelViewportHiddenColumns()
-  {
-    return new JalviewModel.Viewport.HiddenColumns();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Viewport.CalcIdParam }
-   * 
-   */
-  public JalviewModel.Viewport.CalcIdParam createJalviewModelViewportCalcIdParam()
-  {
-    return new JalviewModel.Viewport.CalcIdParam();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Viewport.Overview }
-   * 
-   */
-  public JalviewModel.Viewport.Overview createJalviewModelViewportOverview()
-  {
-    return new JalviewModel.Viewport.Overview();
-  }
-
-  /**
-   * Create an instance of
-   * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
-   * 
-   */
-  public JalviewModel.JSeq.RnaViewer.SecondaryStructure createJalviewModelJSeqRnaViewerSecondaryStructure()
-  {
-    return new JalviewModel.JSeq.RnaViewer.SecondaryStructure();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JSeq.Pdbids.StructureState }
-   * 
-   */
-  public JalviewModel.JSeq.Pdbids.StructureState createJalviewModelJSeqPdbidsStructureState()
-  {
-    return new JalviewModel.JSeq.Pdbids.StructureState();
-  }
-
-  /**
-   * Create an instance of {@link JAXBElement }{@code <}{@link JalviewModel
-   * }{@code >}
-   * 
-   * @param value
-   *          Java instance representing xml element's value.
-   * @return the new instance of {@link JAXBElement
-   *         }{@code <}{@link JalviewModel }{@code >}
-   */
-  @XmlElementDecl(namespace = "www.jalview.org", name = "JalviewModel")
-  public JAXBElement<JalviewModel> createJalviewModel(JalviewModel value)
-  {
-    return new JAXBElement<JalviewModel>(_JalviewModel_QNAME,
-            JalviewModel.class, null, value);
-  }
-
-  /**
-   * Create an instance of {@link JAXBElement
-   * }{@code <}{@link JalviewUserColours }{@code >}
-   * 
-   * @param value
-   *          Java instance representing xml element's value.
-   * @return the new instance of {@link JAXBElement
-   *         }{@code <}{@link JalviewUserColours }{@code >}
-   */
-  @XmlElementDecl(
-    namespace = "www.jalview.org/colours",
-    name = "JalviewUserColours")
-  public JAXBElement<JalviewUserColours> createJalviewUserColours(
-          JalviewUserColours value)
-  {
-    return new JAXBElement<JalviewUserColours>(_JalviewUserColours_QNAME,
-            JalviewUserColours.class, null, value);
-  }
-
-  /**
-   * Create an instance of {@link JAXBElement
-   * }{@code <}{@link WebServiceParameterSet }{@code >}
-   * 
-   * @param value
-   *          Java instance representing xml element's value.
-   * @return the new instance of {@link JAXBElement
-   *         }{@code <}{@link WebServiceParameterSet }{@code >}
-   */
-  @XmlElementDecl(
-    namespace = "www.jalview.org/xml/wsparamset",
-    name = "WebServiceParameterSet")
-  public JAXBElement<WebServiceParameterSet> createWebServiceParameterSet(
-          WebServiceParameterSet value)
-  {
-    return new JAXBElement<WebServiceParameterSet>(
-            _WebServiceParameterSet_QNAME, WebServiceParameterSet.class,
-            null, value);
-  }
+public class ObjectFactory {
+
+    private static final QName _JalviewModel_QNAME = new QName("www.jalview.org", "JalviewModel");
+    private static final QName _JalviewUserColours_QNAME = new QName("www.jalview.org/colours", "JalviewUserColours");
+    private static final QName _WebServiceParameterSet_QNAME = new QName("www.jalview.org/xml/wsparamset", "WebServiceParameterSet");
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: jalview.xml.binding.jalview
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link MapListType }
+     * 
+     */
+    public MapListType createMapListType() {
+        return new MapListType();
+    }
+
+    /**
+     * Create an instance of {@link Sequence }
+     * 
+     */
+    public Sequence createSequence() {
+        return new Sequence();
+    }
+
+    /**
+     * Create an instance of {@link AlcodonFrame }
+     * 
+     */
+    public AlcodonFrame createAlcodonFrame() {
+        return new AlcodonFrame();
+    }
+
+    /**
+     * Create an instance of {@link Annotation }
+     * 
+     */
+    public Annotation createAnnotation() {
+        return new Annotation();
+    }
+
+    /**
+     * Create an instance of {@link SequenceSet }
+     * 
+     */
+    public SequenceSet createSequenceSet() {
+        return new SequenceSet();
+    }
+
+    /**
+     * Create an instance of {@link FeatureMatcherSet }
+     * 
+     */
+    public FeatureMatcherSet createFeatureMatcherSet() {
+        return new FeatureMatcherSet();
+    }
+
+    /**
+     * Create an instance of {@link JalviewUserColours }
+     * 
+     */
+    public JalviewUserColours createJalviewUserColours() {
+        return new JalviewUserColours();
+    }
+
+    /**
+     * Create an instance of {@link Pdbentry }
+     * 
+     */
+    public Pdbentry createPdbentry() {
+        return new Pdbentry();
+    }
+
+    /**
+     * Create an instance of {@link Feature }
+     * 
+     */
+    public Feature createFeature() {
+        return new Feature();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel }
+     * 
+     */
+    public JalviewModel createJalviewModel() {
+        return new JalviewModel();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.FeatureSettings }
+     * 
+     */
+    public JalviewModel.FeatureSettings createJalviewModelFeatureSettings() {
+        return new JalviewModel.FeatureSettings();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer }
+     * 
+     */
+    public JalviewModel.PcaViewer createJalviewModelPcaViewer() {
+        return new JalviewModel.PcaViewer();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Viewport }
+     * 
+     */
+    public JalviewModel.Viewport createJalviewModelViewport() {
+        return new JalviewModel.Viewport();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq }
+     * 
+     */
+    public JalviewModel.JSeq createJalviewModelJSeq() {
+        return new JalviewModel.JSeq();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq.RnaViewer }
+     * 
+     */
+    public JalviewModel.JSeq.RnaViewer createJalviewModelJSeqRnaViewer() {
+        return new JalviewModel.JSeq.RnaViewer();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq.Pdbids }
+     * 
+     */
+    public JalviewModel.JSeq.Pdbids createJalviewModelJSeqPdbids() {
+        return new JalviewModel.JSeq.Pdbids();
+    }
+
+    /**
+     * Create an instance of {@link AnnotationColourScheme }
+     * 
+     */
+    public AnnotationColourScheme createAnnotationColourScheme() {
+        return new AnnotationColourScheme();
+    }
+
+    /**
+     * Create an instance of {@link PcaDataType }
+     * 
+     */
+    public PcaDataType createPcaDataType() {
+        return new PcaDataType();
+    }
+
+    /**
+     * Create an instance of {@link DoubleVector }
+     * 
+     */
+    public DoubleVector createDoubleVector() {
+        return new DoubleVector();
+    }
+
+    /**
+     * Create an instance of {@link DoubleMatrix }
+     * 
+     */
+    public DoubleMatrix createDoubleMatrix() {
+        return new DoubleMatrix();
+    }
+
+    /**
+     * Create an instance of {@link Mapping }
+     * 
+     */
+    public Mapping createMapping() {
+        return new Mapping();
+    }
+
+    /**
+     * Create an instance of {@link MapListType.MapListFrom }
+     * 
+     */
+    public MapListType.MapListFrom createMapListTypeMapListFrom() {
+        return new MapListType.MapListFrom();
+    }
+
+    /**
+     * Create an instance of {@link MapListType.MapListTo }
+     * 
+     */
+    public MapListType.MapListTo createMapListTypeMapListTo() {
+        return new MapListType.MapListTo();
+    }
+
+    /**
+     * Create an instance of {@link SequenceType }
+     * 
+     */
+    public SequenceType createSequenceType() {
+        return new SequenceType();
+    }
+
+    /**
+     * Create an instance of {@link Sequence.DBRef }
+     * 
+     */
+    public Sequence.DBRef createSequenceDBRef() {
+        return new Sequence.DBRef();
+    }
+
+    /**
+     * Create an instance of {@link AlcodonFrame.Alcodon }
+     * 
+     */
+    public AlcodonFrame.Alcodon createAlcodonFrameAlcodon() {
+        return new AlcodonFrame.Alcodon();
+    }
+
+    /**
+     * Create an instance of {@link AlcodonFrame.AlcodMap }
+     * 
+     */
+    public AlcodonFrame.AlcodMap createAlcodonFrameAlcodMap() {
+        return new AlcodonFrame.AlcodMap();
+    }
+
+    /**
+     * Create an instance of {@link AnnotationElement }
+     * 
+     */
+    public AnnotationElement createAnnotationElement() {
+        return new AnnotationElement();
+    }
+
+    /**
+     * Create an instance of {@link Annotation.ThresholdLine }
+     * 
+     */
+    public Annotation.ThresholdLine createAnnotationThresholdLine() {
+        return new Annotation.ThresholdLine();
+    }
+
+    /**
+     * Create an instance of {@link MapOnAMatrixType }
+     * 
+     */
+    public MapOnAMatrixType createMapOnAMatrixType() {
+        return new MapOnAMatrixType();
+    }
+
+    /**
+     * Create an instance of {@link jalview.xml.binding.jalview.Property }
+     * 
+     */
+    public jalview.xml.binding.jalview.Property createProperty() {
+        return new jalview.xml.binding.jalview.Property();
+    }
+
+    /**
+     * Create an instance of {@link SequenceSet.SequenceSetProperties }
+     * 
+     */
+    public SequenceSet.SequenceSetProperties createSequenceSetSequenceSetProperties() {
+        return new SequenceSet.SequenceSetProperties();
+    }
+
+    /**
+     * Create an instance of {@link MatrixType }
+     * 
+     */
+    public MatrixType createMatrixType() {
+        return new MatrixType();
+    }
+
+    /**
+     * Create an instance of {@link VAMSAS }
+     * 
+     */
+    public VAMSAS createVAMSAS() {
+        return new VAMSAS();
+    }
+
+    /**
+     * Create an instance of {@link FeatureMatcher }
+     * 
+     */
+    public FeatureMatcher createFeatureMatcher() {
+        return new FeatureMatcher();
+    }
+
+    /**
+     * Create an instance of {@link WebServiceParameterSet }
+     * 
+     */
+    public WebServiceParameterSet createWebServiceParameterSet() {
+        return new WebServiceParameterSet();
+    }
+
+    /**
+     * Create an instance of {@link FeatureMatcherSet.CompoundMatcher }
+     * 
+     */
+    public FeatureMatcherSet.CompoundMatcher createFeatureMatcherSetCompoundMatcher() {
+        return new FeatureMatcherSet.CompoundMatcher();
+    }
+
+    /**
+     * Create an instance of {@link JalviewUserColours.Colour }
+     * 
+     */
+    public JalviewUserColours.Colour createJalviewUserColoursColour() {
+        return new JalviewUserColours.Colour();
+    }
+
+    /**
+     * Create an instance of {@link JalviewUserColours.Filter }
+     * 
+     */
+    public JalviewUserColours.Filter createJalviewUserColoursFilter() {
+        return new JalviewUserColours.Filter();
+    }
+
+    /**
+     * Create an instance of {@link Pdbentry.Property }
+     * 
+     */
+    public Pdbentry.Property createPdbentryProperty() {
+        return new Pdbentry.Property();
+    }
+
+    /**
+     * Create an instance of {@link Feature.OtherData }
+     * 
+     */
+    public Feature.OtherData createFeatureOtherData() {
+        return new Feature.OtherData();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JGroup }
+     * 
+     */
+    public JalviewModel.JGroup createJalviewModelJGroup() {
+        return new JalviewModel.JGroup();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.UserColours }
+     * 
+     */
+    public JalviewModel.UserColours createJalviewModelUserColours() {
+        return new JalviewModel.UserColours();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Tree }
+     * 
+     */
+    public JalviewModel.Tree createJalviewModelTree() {
+        return new JalviewModel.Tree();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.FeatureSettings.Setting }
+     * 
+     */
+    public JalviewModel.FeatureSettings.Setting createJalviewModelFeatureSettingsSetting() {
+        return new JalviewModel.FeatureSettings.Setting();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.FeatureSettings.Group }
+     * 
+     */
+    public JalviewModel.FeatureSettings.Group createJalviewModelFeatureSettingsGroup() {
+        return new JalviewModel.FeatureSettings.Group();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer.SequencePoint }
+     * 
+     */
+    public JalviewModel.PcaViewer.SequencePoint createJalviewModelPcaViewerSequencePoint() {
+        return new JalviewModel.PcaViewer.SequencePoint();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer.Axis }
+     * 
+     */
+    public JalviewModel.PcaViewer.Axis createJalviewModelPcaViewerAxis() {
+        return new JalviewModel.PcaViewer.Axis();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMin }
+     * 
+     */
+    public JalviewModel.PcaViewer.SeqPointMin createJalviewModelPcaViewerSeqPointMin() {
+        return new JalviewModel.PcaViewer.SeqPointMin();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMax }
+     * 
+     */
+    public JalviewModel.PcaViewer.SeqPointMax createJalviewModelPcaViewerSeqPointMax() {
+        return new JalviewModel.PcaViewer.SeqPointMax();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Viewport.HiddenColumns }
+     * 
+     */
+    public JalviewModel.Viewport.HiddenColumns createJalviewModelViewportHiddenColumns() {
+        return new JalviewModel.Viewport.HiddenColumns();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Viewport.CalcIdParam }
+     * 
+     */
+    public JalviewModel.Viewport.CalcIdParam createJalviewModelViewportCalcIdParam() {
+        return new JalviewModel.Viewport.CalcIdParam();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Viewport.Overview }
+     * 
+     */
+    public JalviewModel.Viewport.Overview createJalviewModelViewportOverview() {
+        return new JalviewModel.Viewport.Overview();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
+     * 
+     */
+    public JalviewModel.JSeq.RnaViewer.SecondaryStructure createJalviewModelJSeqRnaViewerSecondaryStructure() {
+        return new JalviewModel.JSeq.RnaViewer.SecondaryStructure();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq.Pdbids.StructureState }
+     * 
+     */
+    public JalviewModel.JSeq.Pdbids.StructureState createJalviewModelJSeqPdbidsStructureState() {
+        return new JalviewModel.JSeq.Pdbids.StructureState();
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link JalviewModel }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link JalviewModel }{@code >}
+     */
+    @XmlElementDecl(namespace = "www.jalview.org", name = "JalviewModel")
+    public JAXBElement<JalviewModel> createJalviewModel(JalviewModel value) {
+        return new JAXBElement<JalviewModel>(_JalviewModel_QNAME, JalviewModel.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link JalviewUserColours }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link JalviewUserColours }{@code >}
+     */
+    @XmlElementDecl(namespace = "www.jalview.org/colours", name = "JalviewUserColours")
+    public JAXBElement<JalviewUserColours> createJalviewUserColours(JalviewUserColours value) {
+        return new JAXBElement<JalviewUserColours>(_JalviewUserColours_QNAME, JalviewUserColours.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link WebServiceParameterSet }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link WebServiceParameterSet }{@code >}
+     */
+    @XmlElementDecl(namespace = "www.jalview.org/xml/wsparamset", name = "WebServiceParameterSet")
+    public JAXBElement<WebServiceParameterSet> createWebServiceParameterSet(WebServiceParameterSet value) {
+        return new JAXBElement<WebServiceParameterSet>(_WebServiceParameterSet_QNAME, WebServiceParameterSet.class, null, value);
+    }
 
 }
index d33d47c..a0dd653 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -12,114 +13,115 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * 
  * The results of a PCA calculation
  * 
+ * <p>Java class for PcaDataType complex type</p>.
  * 
- * &lt;p&gt;Java class for PcaDataType complex type.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
  * 
- * &lt;p&gt;The following schema fragment specifies the expected content
- * contained within this class.
- * 
- * &lt;pre&gt; &amp;lt;complexType name="PcaDataType"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="pairwiseMatrix"
- * type="{www.jalview.org}DoubleMatrix"/&amp;gt; &amp;lt;element
- * name="tridiagonalMatrix" type="{www.jalview.org}DoubleMatrix"/&amp;gt;
- * &amp;lt;element name="eigenMatrix"
- * type="{www.jalview.org}DoubleMatrix"/&amp;gt; &amp;lt;/sequence&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="PcaDataType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="pairwiseMatrix" type="{www.jalview.org}DoubleMatrix"/&gt;
+ *         &lt;element name="tridiagonalMatrix" type="{www.jalview.org}DoubleMatrix"/&gt;
+ *         &lt;element name="eigenMatrix" type="{www.jalview.org}DoubleMatrix"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "PcaDataType",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "pairwiseMatrix", "tridiagonalMatrix", "eigenMatrix" })
-public class PcaDataType
-{
-
-  @XmlElement(required = true)
-  protected DoubleMatrix pairwiseMatrix;
-
-  @XmlElement(required = true)
-  protected DoubleMatrix tridiagonalMatrix;
+@XmlType(name = "PcaDataType", namespace = "www.jalview.org", propOrder = {
+    "pairwiseMatrix",
+    "tridiagonalMatrix",
+    "eigenMatrix"
+})
+public class PcaDataType {
 
-  @XmlElement(required = true)
-  protected DoubleMatrix eigenMatrix;
+    @XmlElement(required = true)
+    protected DoubleMatrix pairwiseMatrix;
+    @XmlElement(required = true)
+    protected DoubleMatrix tridiagonalMatrix;
+    @XmlElement(required = true)
+    protected DoubleMatrix eigenMatrix;
 
-  /**
-   * Gets the value of the pairwiseMatrix property.
-   * 
-   * @return possible object is {@link DoubleMatrix }
-   * 
-   */
-  public DoubleMatrix getPairwiseMatrix()
-  {
-    return pairwiseMatrix;
-  }
+    /**
+     * Gets the value of the pairwiseMatrix property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public DoubleMatrix getPairwiseMatrix() {
+        return pairwiseMatrix;
+    }
 
-  /**
-   * Sets the value of the pairwiseMatrix property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleMatrix }
-   * 
-   */
-  public void setPairwiseMatrix(DoubleMatrix value)
-  {
-    this.pairwiseMatrix = value;
-  }
+    /**
+     * Sets the value of the pairwiseMatrix property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public void setPairwiseMatrix(DoubleMatrix value) {
+        this.pairwiseMatrix = value;
+    }
 
-  /**
-   * Gets the value of the tridiagonalMatrix property.
-   * 
-   * @return possible object is {@link DoubleMatrix }
-   * 
-   */
-  public DoubleMatrix getTridiagonalMatrix()
-  {
-    return tridiagonalMatrix;
-  }
+    /**
+     * Gets the value of the tridiagonalMatrix property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public DoubleMatrix getTridiagonalMatrix() {
+        return tridiagonalMatrix;
+    }
 
-  /**
-   * Sets the value of the tridiagonalMatrix property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleMatrix }
-   * 
-   */
-  public void setTridiagonalMatrix(DoubleMatrix value)
-  {
-    this.tridiagonalMatrix = value;
-  }
+    /**
+     * Sets the value of the tridiagonalMatrix property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public void setTridiagonalMatrix(DoubleMatrix value) {
+        this.tridiagonalMatrix = value;
+    }
 
-  /**
-   * Gets the value of the eigenMatrix property.
-   * 
-   * @return possible object is {@link DoubleMatrix }
-   * 
-   */
-  public DoubleMatrix getEigenMatrix()
-  {
-    return eigenMatrix;
-  }
+    /**
+     * Gets the value of the eigenMatrix property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public DoubleMatrix getEigenMatrix() {
+        return eigenMatrix;
+    }
 
-  /**
-   * Sets the value of the eigenMatrix property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleMatrix }
-   * 
-   */
-  public void setEigenMatrix(DoubleMatrix value)
-  {
-    this.eigenMatrix = value;
-  }
+    /**
+     * Sets the value of the eigenMatrix property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public void setEigenMatrix(DoubleMatrix value) {
+        this.eigenMatrix = value;
+    }
 
 }
index f53b801..1093e94 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,223 +16,235 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for pdbentry complex type.
+ * <p>Java class for pdbentry complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="pdbentry"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;sequence
- * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;element name="property"
- * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="value" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="id" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="file" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="pdbentry"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence maxOccurs="unbounded" minOccurs="0"&gt;
+ *         &lt;element name="property" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="file" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "pdbentry",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "property" })
-@XmlSeeAlso({ jalview.xml.binding.jalview.JalviewModel.JSeq.Pdbids.class })
-public class Pdbentry
-{
-
-  protected List<Pdbentry.Property> property;
-
-  @XmlAttribute(name = "id", required = true)
-  protected String id;
-
-  @XmlAttribute(name = "type")
-  protected String type;
-
-  @XmlAttribute(name = "file")
-  protected String file;
-
-  /**
-   * Gets the value of the property property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getProperty().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Pdbentry.Property }
-   * 
-   * 
-   */
-  public List<Pdbentry.Property> getProperty()
-  {
-    if (property == null)
-    {
-      property = new ArrayList<Pdbentry.Property>();
-    }
-    return this.property;
-  }
-
-  /**
-   * 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 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 file property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getFile()
-  {
-    return file;
-  }
-
-  /**
-   * Sets the value of the file property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setFile(String value)
-  {
-    this.file = value;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
-   * /&amp;gt; &amp;lt;attribute name="value" use="required"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class Property
-  {
-
-    @XmlAttribute(name = "name", required = true)
-    protected String name;
-
-    @XmlAttribute(name = "value", required = true)
-    protected String value;
+@XmlType(name = "pdbentry", namespace = "www.jalview.org", propOrder = {
+    "property"
+})
+@XmlSeeAlso({
+    jalview.xml.binding.jalview.JalviewModel.JSeq.Pdbids.class
+})
+public class Pdbentry {
+
+    protected List<Pdbentry.Property> property;
+    @XmlAttribute(name = "id", required = true)
+    protected String id;
+    @XmlAttribute(name = "type")
+    protected String type;
+    @XmlAttribute(name = "file")
+    protected String file;
 
     /**
-     * Gets the value of the name property.
+     * Gets the value of the property 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 property property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getProperty().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Pdbentry.Property }
+     * </p>
+     * 
      * 
-     * @return possible object is {@link String }
+     * @return
+     *     The value of the property property.
+     */
+    public List<Pdbentry.Property> getProperty() {
+        if (property == null) {
+            property = new ArrayList<Pdbentry.Property>();
+        }
+        return this.property;
+    }
+
+    /**
+     * Gets the value of the id property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getName()
-    {
-      return name;
+    public String getId() {
+        return id;
     }
 
     /**
-     * Sets the value of the name property.
+     * Sets the value of the id property.
      * 
      * @param value
-     *          allowed object is {@link String }
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the type property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setName(String value)
-    {
-      this.name = value;
+    public String getType() {
+        return type;
     }
 
     /**
-     * Gets the value of the value property.
+     * Sets the value of the type property.
      * 
-     * @return possible object is {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setType(String value) {
+        this.type = value;
+    }
+
+    /**
+     * Gets the value of the file property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getValue()
-    {
-      return value;
+    public String getFile() {
+        return file;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the file property.
      * 
      * @param value
-     *          allowed object is {@link String }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setValue(String value)
-    {
-      this.value = value;
+    public void setFile(String value) {
+        this.file = value;
     }
 
-  }
+
+    /**
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class Property {
+
+        @XmlAttribute(name = "name", required = true)
+        protected String name;
+        @XmlAttribute(name = "value", required = true)
+        protected String value;
+
+        /**
+         * 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 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;
+        }
+
+    }
 
 }
index 5e00f95..f6da4ad 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -12,78 +13,80 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for property complex type.
+ * <p>Java class for property complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="property"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="value"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="property"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "property")
-public class Property
-{
-
-  @XmlAttribute(name = "name")
-  protected String name;
+public class Property {
 
-  @XmlAttribute(name = "value")
-  protected String value;
+    @XmlAttribute(name = "name")
+    protected String name;
+    @XmlAttribute(name = "value")
+    protected String value;
 
-  /**
-   * Gets the value of the name property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getName()
-  {
-    return name;
-  }
+    /**
+     * 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;
-  }
+    /**
+     * 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 value property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getValue()
-  {
-    return value;
-  }
+    /**
+     * 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;
-  }
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
 
 }
index 9f61a22..fc07dbb 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -16,325 +17,363 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;extension
- * base="{www.vamsas.ac.uk/jalview/version2}SequenceType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="DBRef" maxOccurs="unbounded"
- * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element
- * ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="source"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="accessionId"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
- * /&amp;gt; &amp;lt;attribute name="canonical"
- * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="dsseqid"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="biotype" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;extension base="{www.vamsas.ac.uk/jalview/version2}SequenceType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="DBRef" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&gt;
+ *                 &lt;/sequence&gt;
+ *                 &lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *                 &lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="dsseqid" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="biotype" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/extension&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "dbRef" })
+@XmlType(name = "", propOrder = {
+    "dbRef"
+})
 @XmlRootElement(name = "Sequence")
-public class Sequence extends SequenceType
+public class Sequence
+    extends SequenceType
 {
 
-  @XmlElement(name = "DBRef")
-  protected List<Sequence.DBRef> dbRef;
-
-  @XmlAttribute(name = "dsseqid")
-  protected String dsseqid;
-
-  @XmlAttribute(name = "biotype")
-  protected String biotype;
-
-  /**
-   * Gets the value of the dbRef property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the dbRef property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getDBRef().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Sequence.DBRef }
-   * 
-   * 
-   */
-  public List<Sequence.DBRef> getDBRef()
-  {
-    if (dbRef == null)
-    {
-      dbRef = new ArrayList<Sequence.DBRef>();
-    }
-    return this.dbRef;
-  }
-
-  /**
-   * Gets the value of the dsseqid property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDsseqid()
-  {
-    return dsseqid;
-  }
-
-  /**
-   * Sets the value of the dsseqid property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDsseqid(String value)
-  {
-    this.dsseqid = value;
-  }
-
-  /**
-   * Gets the value of the biotype property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getBiotype()
-  {
-    return biotype;
-  }
-
-  /**
-   * Sets the value of the biotype property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setBiotype(String value)
-  {
-    this.biotype = value;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-   * &amp;lt;sequence&amp;gt; &amp;lt;element
-   * ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
-   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="source"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="accessionId"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
-   * name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean"
-   * default="false" /&amp;gt; &amp;lt;attribute name="canonical"
-   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "mapping" })
-  public static class DBRef
-  {
-
-    @XmlElement(name = "Mapping")
-    protected Mapping mapping;
-
-    @XmlAttribute(name = "source")
-    protected String source;
-
-    @XmlAttribute(name = "version")
-    protected String version;
-
-    @XmlAttribute(name = "accessionId")
-    protected String accessionId;
-
-    @XmlAttribute(name = "locus")
-    protected Boolean locus;
-
-    @XmlAttribute(name = "canonical")
-    protected Boolean canonical;
-
+    @XmlElement(name = "DBRef")
+    protected List<Sequence.DBRef> dbRef;
     /**
-     * Gets the value of the mapping property.
-     * 
-     * @return possible object is {@link Mapping }
-     * 
-     */
-    public Mapping getMapping()
-    {
-      return mapping;
-    }
-
-    /**
-     * Sets the value of the mapping property.
-     * 
-     * @param value
-     *          allowed object is {@link Mapping }
+     * dataset sequence id for this sequence. Will be
+     *                                                                 created as union of sequences.
      * 
      */
-    public void setMapping(Mapping value)
-    {
-      this.mapping = value;
-    }
-
+    @XmlAttribute(name = "dsseqid")
+    protected String dsseqid;
     /**
-     * Gets the value of the source property.
-     * 
-     * @return possible object is {@link String }
+     * Biotype of the sequence (if known)
      * 
      */
-    public String getSource()
-    {
-      return source;
-    }
+    @XmlAttribute(name = "biotype")
+    protected String biotype;
 
     /**
-     * Sets the value of the source property.
+     * Gets the value of the dbRef property.
      * 
-     * @param value
-     *          allowed object is {@link String }
+     * <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 dbRef property.</p>
      * 
-     */
-    public void setSource(String value)
-    {
-      this.source = value;
-    }
-
-    /**
-     * Gets the value of the version property.
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getDBRef().add(newItem);
+     * </pre>
      * 
-     * @return possible object is {@link String }
      * 
-     */
-    public String getVersion()
-    {
-      return version;
-    }
-
-    /**
-     * Sets the value of the version property.
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Sequence.DBRef }
+     * </p>
      * 
-     * @param value
-     *          allowed object is {@link String }
      * 
+     * @return
+     *     The value of the dbRef property.
      */
-    public void setVersion(String value)
-    {
-      this.version = value;
+    public List<Sequence.DBRef> getDBRef() {
+        if (dbRef == null) {
+            dbRef = new ArrayList<Sequence.DBRef>();
+        }
+        return this.dbRef;
     }
 
     /**
-     * Gets the value of the accessionId property.
-     * 
-     * @return possible object is {@link String }
+     * dataset sequence id for this sequence. Will be
+     *                                                                 created as union of sequences.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getAccessionId()
-    {
-      return accessionId;
+    public String getDsseqid() {
+        return dsseqid;
     }
 
     /**
-     * Sets the value of the accessionId property.
+     * Sets the value of the dsseqid property.
      * 
      * @param value
-     *          allowed object is {@link String }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getDsseqid()
      */
-    public void setAccessionId(String value)
-    {
-      this.accessionId = value;
+    public void setDsseqid(String value) {
+        this.dsseqid = value;
     }
 
     /**
-     * Gets the value of the locus property.
-     * 
-     * @return possible object is {@link Boolean }
+     * Biotype of the sequence (if known)
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public boolean isLocus()
-    {
-      if (locus == null)
-      {
-        return false;
-      }
-      else
-      {
-        return locus;
-      }
+    public String getBiotype() {
+        return biotype;
     }
 
     /**
-     * Sets the value of the locus property.
+     * Sets the value of the biotype property.
      * 
      * @param value
-     *          allowed object is {@link Boolean }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getBiotype()
      */
-    public void setLocus(Boolean value)
-    {
-      this.locus = value;
+    public void setBiotype(String value) {
+        this.biotype = value;
     }
 
+
     /**
-     * Gets the value of the canonical property.
+     * <p>Java class for anonymous complex type</p>.
      * 
-     * @return possible object is {@link Boolean }
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
      * 
-     */
-    public boolean isCanonical()
-    {
-      if (canonical == null)
-      {
-        return false;
-      }
-      else
-      {
-        return canonical;
-      }
-    }
-
-    /**
-     * Sets the value of the canonical property.
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&gt;
+     *       &lt;/sequence&gt;
+     *       &lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *       &lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
      * 
      */
-    public void setCanonical(Boolean value)
-    {
-      this.canonical = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "mapping"
+    })
+    public static class DBRef {
+
+        @XmlElement(name = "Mapping")
+        protected Mapping mapping;
+        @XmlAttribute(name = "source")
+        protected String source;
+        @XmlAttribute(name = "version")
+        protected String version;
+        @XmlAttribute(name = "accessionId")
+        protected String accessionId;
+        /**
+         * true for gene locus mapping, source=species,
+         *                                                                                     version=assembly, accession=chromosome
+         * 
+         */
+        @XmlAttribute(name = "locus")
+        protected Boolean locus;
+        /**
+         * true for the representative accession for
+         *                                                                                     databases where multiple accessions map to the same entry
+         *                                                                                     (eg. Uniprot)
+         * 
+         */
+        @XmlAttribute(name = "canonical")
+        protected Boolean canonical;
+
+        /**
+         * Gets the value of the mapping property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Mapping }
+         *     
+         */
+        public Mapping getMapping() {
+            return mapping;
+        }
+
+        /**
+         * Sets the value of the mapping property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Mapping }
+         *     
+         */
+        public void setMapping(Mapping value) {
+            this.mapping = value;
+        }
+
+        /**
+         * Gets the value of the source property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getSource() {
+            return source;
+        }
+
+        /**
+         * Sets the value of the source property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setSource(String value) {
+            this.source = 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 accessionId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAccessionId() {
+            return accessionId;
+        }
+
+        /**
+         * Sets the value of the accessionId property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAccessionId(String value) {
+            this.accessionId = value;
+        }
+
+        /**
+         * true for gene locus mapping, source=species,
+         *                                                                                     version=assembly, accession=chromosome
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isLocus() {
+            if (locus == null) {
+                return false;
+            } else {
+                return locus;
+            }
+        }
+
+        /**
+         * Sets the value of the locus property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         * @see #isLocus()
+         */
+        public void setLocus(Boolean value) {
+            this.locus = value;
+        }
+
+        /**
+         * true for the representative accession for
+         *                                                                                     databases where multiple accessions map to the same entry
+         *                                                                                     (eg. Uniprot)
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isCanonical() {
+            if (canonical == null) {
+                return false;
+            } else {
+                return canonical;
+            }
+        }
+
+        /**
+         * Sets the value of the canonical property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         * @see #isCanonical()
+         */
+        public void setCanonical(Boolean value) {
+            this.canonical = value;
+        }
 
-  }
+    }
 
 }
index c45fe81..db9aea9 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -16,319 +17,363 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
- * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element
- * ref="{www.vamsas.ac.uk/jalview/version2}Sequence" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;element
- * ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="sequenceSetProperties"
- * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
- * name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;attribute name="value"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
- * ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;element name="Matrix"
- * type="{www.vamsas.ac.uk/jalview/version2}MatrixType" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
- * name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
- * /&amp;gt; &amp;lt;attribute name="datasetId"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element name="sequenceSetProperties" maxOccurs="unbounded" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *                 &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element name="Matrix" type="{www.vamsas.ac.uk/jalview/version2}MatrixType" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="datasetId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "",
-  propOrder =
-  { "sequence", "annotation", "sequenceSetProperties", "alcodonFrame",
-      "matrix" })
+@XmlType(name = "", propOrder = {
+    "sequence",
+    "annotation",
+    "sequenceSetProperties",
+    "alcodonFrame",
+    "matrix"
+})
 @XmlRootElement(name = "SequenceSet")
-public class SequenceSet
-{
-
-  @XmlElement(name = "Sequence")
-  protected List<Sequence> sequence;
-
-  @XmlElement(name = "Annotation")
-  protected List<Annotation> annotation;
-
-  protected List<SequenceSet.SequenceSetProperties> sequenceSetProperties;
+public class SequenceSet {
 
-  @XmlElement(name = "AlcodonFrame")
-  protected List<AlcodonFrame> alcodonFrame;
-
-  @XmlElement(name = "Matrix")
-  protected List<MatrixType> matrix;
-
-  @XmlAttribute(name = "gapChar", required = true)
-  protected String gapChar;
-
-  @XmlAttribute(name = "datasetId")
-  protected String datasetId;
+    @XmlElement(name = "Sequence")
+    protected List<Sequence> sequence;
+    @XmlElement(name = "Annotation")
+    protected List<Annotation> annotation;
+    protected List<SequenceSet.SequenceSetProperties> sequenceSetProperties;
+    @XmlElement(name = "AlcodonFrame")
+    protected List<AlcodonFrame> alcodonFrame;
+    /**
+     * Matrices referred to by this set of sequences.
+     * 
+     */
+    @XmlElement(name = "Matrix")
+    protected List<MatrixType> matrix;
+    @XmlAttribute(name = "gapChar", required = true)
+    protected String gapChar;
+    /**
+     * reference to set where jalview will gather the
+     *                                                 dataset sequences for all sequences in the set.
+     * 
+     */
+    @XmlAttribute(name = "datasetId")
+    protected String datasetId;
 
-  /**
-   * Gets the value of the sequence property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the sequence property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getSequence().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Sequence }
-   * 
-   * 
-   */
-  public List<Sequence> getSequence()
-  {
-    if (sequence == null)
-    {
-      sequence = new ArrayList<Sequence>();
+    /**
+     * Gets the value of the sequence 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 sequence property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getSequence().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Sequence }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the sequence property.
+     */
+    public List<Sequence> getSequence() {
+        if (sequence == null) {
+            sequence = new ArrayList<Sequence>();
+        }
+        return this.sequence;
     }
-    return this.sequence;
-  }
 
-  /**
-   * Gets the value of the annotation property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the annotation property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getAnnotation().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link Annotation }
-   * 
-   * 
-   */
-  public List<Annotation> getAnnotation()
-  {
-    if (annotation == null)
-    {
-      annotation = new ArrayList<Annotation>();
+    /**
+     * Gets the value of the annotation 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 annotation property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getAnnotation().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Annotation }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the annotation property.
+     */
+    public List<Annotation> getAnnotation() {
+        if (annotation == null) {
+            annotation = new ArrayList<Annotation>();
+        }
+        return this.annotation;
     }
-    return this.annotation;
-  }
 
-  /**
-   * Gets the value of the sequenceSetProperties property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the sequenceSetProperties property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getSequenceSetProperties().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link SequenceSet.SequenceSetProperties }
-   * 
-   * 
-   */
-  public List<SequenceSet.SequenceSetProperties> getSequenceSetProperties()
-  {
-    if (sequenceSetProperties == null)
-    {
-      sequenceSetProperties = new ArrayList<SequenceSet.SequenceSetProperties>();
+    /**
+     * Gets the value of the sequenceSetProperties 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 sequenceSetProperties property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getSequenceSetProperties().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link SequenceSet.SequenceSetProperties }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the sequenceSetProperties property.
+     */
+    public List<SequenceSet.SequenceSetProperties> getSequenceSetProperties() {
+        if (sequenceSetProperties == null) {
+            sequenceSetProperties = new ArrayList<SequenceSet.SequenceSetProperties>();
+        }
+        return this.sequenceSetProperties;
     }
-    return this.sequenceSetProperties;
-  }
 
-  /**
-   * Gets the value of the alcodonFrame property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodonFrame property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getAlcodonFrame().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link AlcodonFrame }
-   * 
-   * 
-   */
-  public List<AlcodonFrame> getAlcodonFrame()
-  {
-    if (alcodonFrame == null)
-    {
-      alcodonFrame = new ArrayList<AlcodonFrame>();
+    /**
+     * Gets the value of the alcodonFrame 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 alcodonFrame property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getAlcodonFrame().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link AlcodonFrame }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the alcodonFrame property.
+     */
+    public List<AlcodonFrame> getAlcodonFrame() {
+        if (alcodonFrame == null) {
+            alcodonFrame = new ArrayList<AlcodonFrame>();
+        }
+        return this.alcodonFrame;
     }
-    return this.alcodonFrame;
-  }
 
-  /**
-   * Gets the value of the matrix property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the matrix property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getMatrix().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link MatrixType }
-   * 
-   * 
-   */
-  public List<MatrixType> getMatrix()
-  {
-    if (matrix == null)
-    {
-      matrix = new ArrayList<MatrixType>();
+    /**
+     * Matrices referred to by this set of sequences.
+     * 
+     * Gets the value of the matrix 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 matrix property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getMatrix().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link MatrixType }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the matrix property.
+     */
+    public List<MatrixType> getMatrix() {
+        if (matrix == null) {
+            matrix = new ArrayList<MatrixType>();
+        }
+        return this.matrix;
     }
-    return this.matrix;
-  }
-
-  /**
-   * Gets the value of the gapChar property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getGapChar()
-  {
-    return gapChar;
-  }
-
-  /**
-   * Sets the value of the gapChar property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setGapChar(String value)
-  {
-    this.gapChar = value;
-  }
-
-  /**
-   * Gets the value of the datasetId property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDatasetId()
-  {
-    return datasetId;
-  }
-
-  /**
-   * Sets the value of the datasetId property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDatasetId(String value)
-  {
-    this.datasetId = value;
-  }
-
-  /**
-   * &lt;p&gt;Java class for anonymous complex type.
-   * 
-   * &lt;p&gt;The following schema fragment specifies the expected content
-   * contained within this class.
-   * 
-   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
-   * &amp;lt;restriction
-   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
-   * name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;attribute name="value"
-   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
-   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class SequenceSetProperties
-  {
-
-    @XmlAttribute(name = "key")
-    protected String key;
-
-    @XmlAttribute(name = "value")
-    protected String value;
 
     /**
-     * Gets the value of the key property.
-     * 
-     * @return possible object is {@link String }
+     * Gets the value of the gapChar property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getKey()
-    {
-      return key;
+    public String getGapChar() {
+        return gapChar;
     }
 
     /**
-     * Sets the value of the key property.
+     * Sets the value of the gapChar property.
      * 
      * @param value
-     *          allowed object is {@link String }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setKey(String value)
-    {
-      this.key = value;
+    public void setGapChar(String value) {
+        this.gapChar = value;
     }
 
     /**
-     * Gets the value of the value property.
-     * 
-     * @return possible object is {@link String }
+     * reference to set where jalview will gather the
+     *                                                 dataset sequences for all sequences in the set.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getValue()
-    {
-      return value;
+    public String getDatasetId() {
+        return datasetId;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the datasetId property.
      * 
      * @param value
-     *          allowed object is {@link String }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getDatasetId()
      */
-    public void setValue(String value)
-    {
-      this.value = value;
+    public void setDatasetId(String value) {
+        this.datasetId = value;
     }
 
-  }
+
+    /**
+     * <p>Java class for anonymous complex type</p>.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.</p>
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class SequenceSetProperties {
+
+        @XmlAttribute(name = "key")
+        protected String key;
+        @XmlAttribute(name = "value")
+        protected String value;
+
+        /**
+         * Gets the value of the key property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getKey() {
+            return key;
+        }
+
+        /**
+         * Sets the value of the key property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setKey(String value) {
+            this.key = value;
+        }
+
+        /**
+         * 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;
+        }
+
+    }
 
 }
index 4409e5b..2bbbdc3 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -13,132 +14,140 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for SequenceType complex type.
+ * <p>Java class for SequenceType complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="SequenceType"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="sequence"
- * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
- * &amp;lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"
- * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="id"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
- * name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="SequenceType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SequenceType", propOrder = { "sequence", "name" })
-@XmlSeeAlso({ Sequence.class })
-public class SequenceType
-{
-
-  protected String sequence;
-
-  protected String name;
-
-  @XmlAttribute(name = "id")
-  protected String id;
-
-  @XmlAttribute(name = "description")
-  protected String description;
-
-  /**
-   * Gets the value of the sequence property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getSequence()
-  {
-    return sequence;
-  }
-
-  /**
-   * Sets the value of the sequence property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setSequence(String value)
-  {
-    this.sequence = value;
-  }
-
-  /**
-   * 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 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 description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
+@XmlType(name = "SequenceType", propOrder = {
+    "sequence",
+    "name"
+})
+@XmlSeeAlso({
+    Sequence.class
+})
+public class SequenceType {
+
+    protected String sequence;
+    protected String name;
+    @XmlAttribute(name = "id")
+    protected String id;
+    @XmlAttribute(name = "description")
+    protected String description;
+
+    /**
+     * Gets the value of the sequence property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSequence() {
+        return sequence;
+    }
+
+    /**
+     * Sets the value of the sequence property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSequence(String value) {
+        this.sequence = value;
+    }
+
+    /**
+     * 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 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 description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
 
 }
index a417840..c213d18 100644 (file)
@@ -1,42 +1,49 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlEnum;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for ThresholdType.
+ * Whether filter has a threshold, and if so is it
+ *                             above or below
+ * 
+ * <p>Java class for ThresholdType</p>.
  * 
- * &lt;p&gt;The following schema fragment specifies the expected content
- * contained within this class. &lt;pre&gt; &amp;lt;simpleType
- * name="ThresholdType"&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt; &amp;lt;enumeration
- * value="NONE"/&amp;gt; &amp;lt;enumeration value="ABOVE"/&amp;gt;
- * &amp;lt;enumeration value="BELOW"/&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/simpleType&amp;gt; &lt;/pre&gt;
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
+ * <pre>
+ * &lt;simpleType name="ThresholdType"&gt;
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
+ *     &lt;enumeration value="NONE"/&gt;
+ *     &lt;enumeration value="ABOVE"/&gt;
+ *     &lt;enumeration value="BELOW"/&gt;
+ *   &lt;/restriction&gt;
+ * &lt;/simpleType&gt;
+ * </pre>
  * 
  */
 @XmlType(name = "ThresholdType", namespace = "www.jalview.org/colours")
 @XmlEnum
-public enum ThresholdType
-{
+public enum ThresholdType {
 
-  NONE, ABOVE, BELOW;
+    NONE,
+    ABOVE,
+    BELOW;
 
-  public String value()
-  {
-    return name();
-  }
+    public String value() {
+        return name();
+    }
 
-  public static ThresholdType fromValue(String v)
-  {
-    return valueOf(v);
-  }
+    public static ThresholdType fromValue(String v) {
+        return valueOf(v);
+    }
 
 }
index a3fb1e9..beacdce 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -14,85 +15,101 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for VAMSAS complex type.
+ * <p>Java class for VAMSAS complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="VAMSAS"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="Tree"
- * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;element
- * ref="{www.vamsas.ac.uk/jalview/version2}SequenceSet" maxOccurs="unbounded"
- * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
- * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="VAMSAS"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="Tree" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}SequenceSet" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "VAMSAS", propOrder = { "tree", "sequenceSet" })
-public class VAMSAS
-{
-
-  @XmlElement(name = "Tree")
-  protected List<String> tree;
+@XmlType(name = "VAMSAS", propOrder = {
+    "tree",
+    "sequenceSet"
+})
+public class VAMSAS {
 
-  @XmlElement(name = "SequenceSet")
-  protected List<SequenceSet> sequenceSet;
+    @XmlElement(name = "Tree")
+    protected List<String> tree;
+    @XmlElement(name = "SequenceSet")
+    protected List<SequenceSet> sequenceSet;
 
-  /**
-   * Gets the value of the tree property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the tree property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getTree().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link String }
-   * 
-   * 
-   */
-  public List<String> getTree()
-  {
-    if (tree == null)
-    {
-      tree = new ArrayList<String>();
+    /**
+     * 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>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getTree().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the tree property.
+     */
+    public List<String> getTree() {
+        if (tree == null) {
+            tree = new ArrayList<String>();
+        }
+        return this.tree;
     }
-    return this.tree;
-  }
 
-  /**
-   * Gets the value of the sequenceSet property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the sequenceSet property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getSequenceSet().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link SequenceSet }
-   * 
-   * 
-   */
-  public List<SequenceSet> getSequenceSet()
-  {
-    if (sequenceSet == null)
-    {
-      sequenceSet = new ArrayList<SequenceSet>();
+    /**
+     * Gets the value of the sequenceSet 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 sequenceSet property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getSequenceSet().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link SequenceSet }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the sequenceSet property.
+     */
+    public List<SequenceSet> getSequenceSet() {
+        if (sequenceSet == null) {
+            sequenceSet = new ArrayList<SequenceSet>();
+        }
+        return this.sequenceSet;
     }
-    return this.sequenceSet;
-  }
 
 }
index a8e663c..29732de 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -17,173 +18,226 @@ import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * &lt;p&gt;Java class for WebServiceParameterSet complex type.
+ * <p>Java class for WebServiceParameterSet complex type</p>.
  * 
- * &lt;p&gt;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.</p>
  * 
- * &lt;pre&gt; &amp;lt;complexType name="WebServiceParameterSet"&amp;gt;
- * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
- * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
- * &amp;lt;sequence&amp;gt; &amp;lt;element name="Version"
- * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
- * &amp;lt;element name="description"
- * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
- * &amp;lt;element name="serviceURL"
- * type="{http://www.w3.org/2001/XMLSchema}anyURI"
- * maxOccurs="unbounded"/&amp;gt; &amp;lt;element name="parameters"
- * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
- * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="name" use="required"
- * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
- * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
- * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
+ * <pre>
+ * &lt;complexType name="WebServiceParameterSet"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="serviceURL" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded"/&gt;
+ *         &lt;element name="parameters" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "WebServiceParameterSet",
-  namespace = "www.jalview.org/xml/wsparamset",
-  propOrder =
-  { "version", "description", "serviceURL", "parameters" })
+@XmlType(name = "WebServiceParameterSet", namespace = "www.jalview.org/xml/wsparamset", propOrder = {
+    "version",
+    "description",
+    "serviceURL",
+    "parameters"
+})
 @XmlSeeAlso({
-    jalview.xml.binding.jalview.JalviewModel.Viewport.CalcIdParam.class })
-public class WebServiceParameterSet
-{
-
-  @XmlElement(name = "Version", namespace = "")
-  protected String version;
-
-  @XmlElement(namespace = "")
-  protected String description;
-
-  @XmlElement(namespace = "", required = true)
-  @XmlSchemaType(name = "anyURI")
-  protected List<String> serviceURL;
-
-  @XmlElement(namespace = "", required = true)
-  protected String parameters;
-
-  @XmlAttribute(name = "name", required = true)
-  protected String name;
-
-  /**
-   * 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 description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
-
-  /**
-   * Gets the value of the serviceURL property.
-   * 
-   * &lt;p&gt; 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
-   * &lt;CODE&gt;set&lt;/CODE&gt; method for the serviceURL property.
-   * 
-   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
-   * getServiceURL().add(newItem); &lt;/pre&gt;
-   * 
-   * 
-   * &lt;p&gt; Objects of the following type(s) are allowed in the list
-   * {@link String }
-   * 
-   * 
-   */
-  public List<String> getServiceURL()
-  {
-    if (serviceURL == null)
-    {
-      serviceURL = new ArrayList<String>();
+    jalview.xml.binding.jalview.JalviewModel.Viewport.CalcIdParam.class
+})
+public class WebServiceParameterSet {
+
+    /**
+     * A Jalview Web Service Parameter Set container
+     *                                                 version number.
+     *                                                 Version 1 created for storing Jaba user presets.
+     * 
+     */
+    @XmlElement(name = "Version", namespace = "")
+    protected String version;
+    /**
+     * Short description - as utf8 encoded text. This is
+     *                                                 usually displayed
+     *                                                 in the body of an HTML capable tooltip, so HTML tags may be embedded
+     *                                                 using standard UTF8 encoding.
+     * 
+     */
+    @XmlElement(namespace = "")
+    protected String description;
+    /**
+     * URL for which the parameter set is valid. Jalview will use it to
+     *                                                 match up parameter sets to service instances that can parse the
+     *                                                 parameter set payload.
+     * 
+     */
+    @XmlElement(namespace = "", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected List<String> serviceURL;
+    /**
+     * UTF8 encoded string to be processed into a specific web services'
+     *                                                 parameter set. Note - newlines may be important to the structure
+     *                                                 of this file.
+     * 
+     */
+    @XmlElement(namespace = "", required = true)
+    protected String parameters;
+    /**
+     * The short name for the parameter set. This will be shown amongst the
+     *                                         other presets for the web service.
+     * 
+     */
+    @XmlAttribute(name = "name", required = true)
+    protected String name;
+
+    /**
+     * A Jalview Web Service Parameter Set container
+     *                                                 version number.
+     *                                                 Version 1 created for storing Jaba user presets.
+     * 
+     * @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 }
+     *     
+     * @see #getVersion()
+     */
+    public void setVersion(String value) {
+        this.version = value;
+    }
+
+    /**
+     * Short description - as utf8 encoded text. This is
+     *                                                 usually displayed
+     *                                                 in the body of an HTML capable tooltip, so HTML tags may be embedded
+     *                                                 using standard UTF8 encoding.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getDescription()
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * URL for which the parameter set is valid. Jalview will use it to
+     *                                                 match up parameter sets to service instances that can parse the
+     *                                                 parameter set payload.
+     * 
+     * Gets the value of the serviceURL 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 serviceURL property.</p>
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * </p>
+     * <pre>
+     * getServiceURL().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * </p>
+     * 
+     * 
+     * @return
+     *     The value of the serviceURL property.
+     */
+    public List<String> getServiceURL() {
+        if (serviceURL == null) {
+            serviceURL = new ArrayList<String>();
+        }
+        return this.serviceURL;
+    }
+
+    /**
+     * UTF8 encoded string to be processed into a specific web services'
+     *                                                 parameter set. Note - newlines may be important to the structure
+     *                                                 of this file.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getParameters() {
+        return parameters;
+    }
+
+    /**
+     * Sets the value of the parameters property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     * @see #getParameters()
+     */
+    public void setParameters(String value) {
+        this.parameters = value;
+    }
+
+    /**
+     * The short name for the parameter set. This will be shown amongst the
+     *                                         other presets for the web service.
+     * 
+     * @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 }
+     *     
+     * @see #getName()
+     */
+    public void setName(String value) {
+        this.name = value;
     }
-    return this.serviceURL;
-  }
-
-  /**
-   * Gets the value of the parameters property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getParameters()
-  {
-    return parameters;
-  }
-
-  /**
-   * Sets the value of the parameters property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setParameters(String value)
-  {
-    this.parameters = value;
-  }
-
-  /**
-   * 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;
-  }
 
 }
index 3ebfa3e..496652f 100644 (file)
@@ -1,11 +1,9 @@
 //
-// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
+// This file was generated by the Eclipse Implementation of JAXB, v2.3.9 
 // See https://eclipse-ee4j.github.io/jaxb-ri 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.11.01 at 07:03:09 PM GMT 
+// Generated on: 2024.07.25 at 02:29:22 PM BST 
 //
 
-@javax.xml.bind.annotation.XmlSchema(
-  namespace = "www.vamsas.ac.uk/jalview/version2",
-  elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+@javax.xml.bind.annotation.XmlSchema(namespace = "www.vamsas.ac.uk/jalview/version2", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
 package jalview.xml.binding.jalview;