//
// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
// See https://eclipse-ee4j.github.io/jaxb-ri 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2021.08.30 at 11:05:22 AM BST 
//

package jalview.xml.binding.jalview;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
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.
 * 
 * &lt;p&gt;The following schema fragment specifies the expected content
 * contained within this class.
 * 
 * &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;/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="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="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="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}swingwindow"/&amp;gt; &amp;lt;attGroup
 * ref="{www.jalview.org}SimilarityParams"/&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;
 * 
 * 
 */
@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 = "outlineColour")
    protected Integer outlineColour;

    @XmlAttribute(name = "displayBoxes")
    protected Boolean displayBoxes;

    @XmlAttribute(name = "displayText")
    protected Boolean displayText;

    @XmlAttribute(name = "colourText")
    protected Boolean colourText;

    @XmlAttribute(name = "textCol1")
    protected Integer textCol1;

    @XmlAttribute(name = "textCol2")
    protected Integer textCol2;

    @XmlAttribute(name = "textColThreshold")
    protected Integer textColThreshold;

    @XmlAttribute(name = "showUnconserved")
    protected Boolean showUnconserved;

    @XmlAttribute(name = "ignoreGapsinConsensus")
    protected Boolean ignoreGapsinConsensus;

    @XmlAttribute(name = "showConsensusHistogram")
    protected Boolean showConsensusHistogram;

    @XmlAttribute(name = "showSequenceLogo")
    protected Boolean showSequenceLogo;

    @XmlAttribute(name = "normaliseSequenceLogo")
    protected Boolean normaliseSequenceLogo;

    @XmlAttribute(name = "id")
    protected String id;

    /**
     * Gets the value of the 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.
     * 
     * @param value
     *          allowed object is {@link AnnotationColourScheme }
     * 
     */
    public void setAnnotationColours(AnnotationColourScheme value)
    {
      this.annotationColours = value;
    }

    /**
     * Gets the value of the start property.
     * 
     * @return possible object is {@link 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;
    }

    /**
     * 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 colour property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getColour()
    {
      return colour;
    }

    /**
     * Sets the value of the colour property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setColour(String value)
    {
      this.colour = value;
    }

    /**
     * Gets the value of the consThreshold property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getConsThreshold()
    {
      return consThreshold;
    }

    /**
     * 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 pidThreshold property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getPidThreshold()
    {
      return pidThreshold;
    }

    /**
     * Sets the value of the pidThreshold property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setPidThreshold(Integer value)
    {
      this.pidThreshold = value;
    }

    /**
     * Gets the value of the outlineColour property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getOutlineColour()
    {
      return outlineColour;
    }

    /**
     * Sets the value of the outlineColour property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setOutlineColour(Integer value)
    {
      this.outlineColour = value;
    }

    /**
     * Gets the value of the displayBoxes property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isDisplayBoxes()
    {
      return displayBoxes;
    }

    /**
     * Sets the value of the displayBoxes property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setDisplayBoxes(Boolean value)
    {
      this.displayBoxes = value;
    }

    /**
     * Gets the value of the displayText property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isDisplayText()
    {
      return displayText;
    }

    /**
     * Sets the value of the displayText property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setDisplayText(Boolean value)
    {
      this.displayText = value;
    }

    /**
     * Gets the value of the colourText property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isColourText()
    {
      return colourText;
    }

    /**
     * Sets the value of the colourText property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setColourText(Boolean value)
    {
      this.colourText = value;
    }

    /**
     * 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.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setTextCol1(Integer value)
    {
      this.textCol1 = value;
    }

    /**
     * Gets the value of the textCol2 property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getTextCol2()
    {
      return textCol2;
    }

    /**
     * Sets the value of the textCol2 property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setTextCol2(Integer value)
    {
      this.textCol2 = value;
    }

    /**
     * Gets the value of the textColThreshold property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getTextColThreshold()
    {
      return textColThreshold;
    }

    /**
     * Sets the value of the textColThreshold property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setTextColThreshold(Integer value)
    {
      this.textColThreshold = value;
    }

    /**
     * Gets the value of the showUnconserved property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isShowUnconserved()
    {
      return showUnconserved;
    }

    /**
     * Sets the value of the showUnconserved property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowUnconserved(Boolean value)
    {
      this.showUnconserved = value;
    }

    /**
     * Gets the value of the ignoreGapsinConsensus property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isIgnoreGapsinConsensus()
    {
      if (ignoreGapsinConsensus == null)
      {
        return true;
      }
      else
      {
        return ignoreGapsinConsensus;
      }
    }

    /**
     * Sets the value of the ignoreGapsinConsensus property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setIgnoreGapsinConsensus(Boolean value)
    {
      this.ignoreGapsinConsensus = value;
    }

    /**
     * Gets the value of the showConsensusHistogram property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isShowConsensusHistogram()
    {
      if (showConsensusHistogram == null)
      {
        return true;
      }
      else
      {
        return showConsensusHistogram;
      }
    }

    /**
     * Sets the value of the showConsensusHistogram property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowConsensusHistogram(Boolean value)
    {
      this.showConsensusHistogram = value;
    }

    /**
     * Gets the value of the showSequenceLogo property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isShowSequenceLogo()
    {
      if (showSequenceLogo == null)
      {
        return false;
      }
      else
      {
        return showSequenceLogo;
      }
    }

    /**
     * Sets the value of the showSequenceLogo property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowSequenceLogo(Boolean value)
    {
      this.showSequenceLogo = value;
    }

    /**
     * Gets the value of the normaliseSequenceLogo property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isNormaliseSequenceLogo()
    {
      if (normaliseSequenceLogo == null)
      {
        return false;
      }
      else
      {
        return normaliseSequenceLogo;
      }
    }

    /**
     * Sets the value of the normaliseSequenceLogo property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setNormaliseSequenceLogo(Boolean value)
    {
      this.normaliseSequenceLogo = value;
    }

    /**
     * Gets the value of the id property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getId()
    {
      return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setId(String value)
    {
      this.id = value;
    }

  }

  /**
   * &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;
     * 
     * 
     */
    @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;

        /**
         * Gets the value of the value property.
         * 
         * @return possible object is {@link String }
         * 
         */
        public String getValue()
        {
          return value;
        }

        /**
         * Sets the value of the value property.
         * 
         * @param value
         *          allowed object is {@link String }
         * 
         */
        public void setValue(String value)
        {
          this.value = value;
        }

        /**
         * Gets the value of the visible property.
         * 
         * @return possible object is {@link Boolean }
         * 
         */
        public Boolean isVisible()
        {
          return visible;
        }

        /**
         * Sets the value of the visible property.
         * 
         * @param value
         *          allowed object is {@link Boolean }
         * 
         */
        public void setVisible(Boolean value)
        {
          this.visible = value;
        }

        /**
         * Gets the value of the viewId property.
         * 
         * @return possible object is {@link String }
         * 
         */
        public String getViewId()
        {
          return viewId;
        }

        /**
         * Sets the value of the viewId property.
         * 
         * @param value
         *          allowed object is {@link String }
         * 
         */
        public void setViewId(String value)
        {
          this.viewId = value;
        }

        /**
         * Gets the value of the alignwithAlignPanel property.
         * 
         * @return possible object is {@link Boolean }
         * 
         */
        public boolean isAlignwithAlignPanel()
        {
          if (alignwithAlignPanel == null)
          {
            return true;
          }
          else
          {
            return alignwithAlignPanel;
          }
        }

        /**
         * Sets the value of the alignwithAlignPanel property.
         * 
         * @param value
         *          allowed object is {@link Boolean }
         * 
         */
        public void setAlignwithAlignPanel(Boolean value)
        {
          this.alignwithAlignPanel = value;
        }

        /**
         * Gets the value of the colourwithAlignPanel property.
         * 
         * @return possible object is {@link Boolean }
         * 
         */
        public boolean isColourwithAlignPanel()
        {
          if (colourwithAlignPanel == null)
          {
            return false;
          }
          else
          {
            return colourwithAlignPanel;
          }
        }

        /**
         * Sets the value of the colourwithAlignPanel property.
         * 
         * @param value
         *          allowed object is {@link Boolean }
         * 
         */
        public void setColourwithAlignPanel(Boolean value)
        {
          this.colourwithAlignPanel = value;
        }

        /**
         * Gets the value of the colourByJmol property.
         * 
         * @return possible object is {@link Boolean }
         * 
         */
        public boolean isColourByJmol()
        {
          if (colourByJmol == null)
          {
            return true;
          }
          else
          {
            return colourByJmol;
          }
        }

        /**
         * Sets the value of the colourByJmol property.
         * 
         * @param value
         *          allowed object is {@link Boolean }
         * 
         */
        public void setColourByJmol(Boolean value)
        {
          this.colourByJmol = value;
        }

        /**
         * Gets the value of the type property.
         * 
         * @return possible object is {@link String }
         * 
         */
        public String getType()
        {
          return type;
        }

        /**
         * Sets the value of the type property.
         * 
         * @param value
         *          allowed object is {@link String }
         * 
         */
        public void setType(String value)
        {
          this.type = value;
        }

        /**
         * Gets the value of the width property.
         * 
         * @return possible object is {@link Integer }
         * 
         */
        public Integer getWidth()
        {
          return width;
        }

        /**
         * Sets the value of the width property.
         * 
         * @param value
         *          allowed object is {@link Integer }
         * 
         */
        public void setWidth(Integer value)
        {
          this.width = value;
        }

        /**
         * Gets the value of the height property.
         * 
         * @return possible object is {@link Integer }
         * 
         */
        public Integer getHeight()
        {
          return height;
        }

        /**
         * Sets the value of the height property.
         * 
         * @param value
         *          allowed object is {@link Integer }
         * 
         */
        public void setHeight(Integer value)
        {
          this.height = value;
        }

        /**
         * Gets the value of the xpos property.
         * 
         * @return possible object is {@link Integer }
         * 
         */
        public Integer getXpos()
        {
          return xpos;
        }

        /**
         * Sets the value of the xpos property.
         * 
         * @param value
         *          allowed object is {@link Integer }
         * 
         */
        public void setXpos(Integer value)
        {
          this.xpos = value;
        }

        /**
         * Gets the value of the ypos property.
         * 
         * @return possible object is {@link Integer }
         * 
         */
        public Integer getYpos()
        {
          return ypos;
        }

        /**
         * Sets the value of the ypos property.
         * 
         * @param value
         *          allowed object is {@link Integer }
         * 
         */
        public void setYpos(Integer value)
        {
          this.ypos = value;
        }

      }

    }

    /**
     * &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 }
         * 
         */
        public String getTitle()
        {
          return title;
        }

        /**
         * Sets the value of the title property.
         * 
         * @param value
         *          allowed object is {@link String }
         * 
         */
        public void setTitle(String value)
        {
          this.title = value;
        }

        /**
         * Gets the value of the annotationId property.
         * 
         * @return possible object is {@link String }
         * 
         */
        public String getAnnotationId()
        {
          return annotationId;
        }

        /**
         * Sets the value of the annotationId property.
         * 
         * @param value
         *          allowed object is {@link String }
         * 
         */
        public void setAnnotationId(String value)
        {
          this.annotationId = value;
        }

        /**
         * Gets the value of the gapped property.
         * 
         * @return possible object is {@link Boolean }
         * 
         */
        public Boolean isGapped()
        {
          return gapped;
        }

        /**
         * Sets the value of the gapped property.
         * 
         * @param value
         *          allowed object is {@link Boolean }
         * 
         */
        public void setGapped(Boolean value)
        {
          this.gapped = value;
        }

        /**
         * Gets the value of the viewerState property.
         * 
         * @return possible object is {@link String }
         * 
         */
        public String getViewerState()
        {
          return viewerState;
        }

        /**
         * Sets the value of the viewerState property.
         * 
         * @param value
         *          allowed object is {@link String }
         * 
         */
        public void setViewerState(String value)
        {
          this.viewerState = value;
        }

      }

    }

  }

  /**
   * &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}swingwindow"/&amp;gt;
   * &amp;lt;attGroup ref="{www.jalview.org}SimilarityParams"/&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 = "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.
     * 
     * &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;
    }

    /**
     * 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;
    }

    /**
     * Gets the value of the seqPointMin property.
     * 
     * @return possible object is {@link JalviewModel.PcaViewer.SeqPointMin }
     * 
     */
    public JalviewModel.PcaViewer.SeqPointMin getSeqPointMin()
    {
      return seqPointMin;
    }

    /**
     * Sets the value of the seqPointMin property.
     * 
     * @param value
     *          allowed object is {@link JalviewModel.PcaViewer.SeqPointMin }
     * 
     */
    public void setSeqPointMin(JalviewModel.PcaViewer.SeqPointMin value)
    {
      this.seqPointMin = value;
    }

    /**
     * Gets the value of the seqPointMax property.
     * 
     * @return possible object is {@link JalviewModel.PcaViewer.SeqPointMax }
     * 
     */
    public JalviewModel.PcaViewer.SeqPointMax getSeqPointMax()
    {
      return seqPointMax;
    }

    /**
     * Sets the value of the seqPointMax property.
     * 
     * @param value
     *          allowed object is {@link JalviewModel.PcaViewer.SeqPointMax }
     * 
     */
    public void setSeqPointMax(JalviewModel.PcaViewer.SeqPointMax value)
    {
      this.seqPointMax = value;
    }

    /**
     * Gets the value of the pcaData property.
     * 
     * @return possible object is {@link PcaDataType }
     * 
     */
    public PcaDataType getPcaData()
    {
      return pcaData;
    }

    /**
     * Sets the value of the pcaData property.
     * 
     * @param value
     *          allowed object is {@link PcaDataType }
     * 
     */
    public void setPcaData(PcaDataType value)
    {
      this.pcaData = value;
    }

    /**
     * Gets the value of the title property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getTitle()
    {
      return title;
    }

    /**
     * Sets the value of the title property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setTitle(String value)
    {
      this.title = value;
    }

    /**
     * Gets the value of the scoreModelName property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getScoreModelName()
    {
      return scoreModelName;
    }

    /**
     * Sets the value of the scoreModelName property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setScoreModelName(String value)
    {
      this.scoreModelName = value;
    }

    /**
     * Gets the value of the xDim property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getXDim()
    {
      return xDim;
    }

    /**
     * Sets the value of the xDim property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setXDim(Integer value)
    {
      this.xDim = value;
    }

    /**
     * Gets the value of the yDim property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getYDim()
    {
      return yDim;
    }

    /**
     * Sets the value of the yDim property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setYDim(Integer value)
    {
      this.yDim = value;
    }

    /**
     * Gets the value of the zDim property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getZDim()
    {
      return zDim;
    }

    /**
     * Sets the value of the zDim property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setZDim(Integer value)
    {
      this.zDim = value;
    }

    /**
     * Gets the value of the bgColour property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getBgColour()
    {
      return bgColour;
    }

    /**
     * Sets the value of the bgColour property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setBgColour(Integer value)
    {
      this.bgColour = value;
    }

    /**
     * Gets the value of the scaleFactor property.
     * 
     * @return possible object is {@link Float }
     * 
     */
    public Float getScaleFactor()
    {
      return scaleFactor;
    }

    /**
     * Sets the value of the scaleFactor property.
     * 
     * @param value
     *          allowed object is {@link Float }
     * 
     */
    public void setScaleFactor(Float value)
    {
      this.scaleFactor = value;
    }

    /**
     * Gets the value of the showLabels property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isShowLabels()
    {
      return showLabels;
    }

    /**
     * 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;
    }

    /**
     * Sets the value of the linkToAllViews property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setLinkToAllViews(Boolean value)
    {
      this.linkToAllViews = value;
    }

    /**
     * Gets the value of the width property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getWidth()
    {
      return width;
    }

    /**
     * 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;
    }

    /**
     * Gets the value of the includeGaps property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isIncludeGaps()
    {
      return includeGaps;
    }

    /**
     * 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 matchGaps property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isMatchGaps()
    {
      return matchGaps;
    }

    /**
     * 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 includeGappedColumns property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isIncludeGappedColumns()
    {
      return includeGappedColumns;
    }

    /**
     * Sets the value of the includeGappedColumns property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setIncludeGappedColumns(Boolean value)
    {
      this.includeGappedColumns = value;
    }

    /**
     * Gets the value of the denominateByShortestLength property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isDenominateByShortestLength()
    {
      return denominateByShortestLength;
    }

    /**
     * Sets the value of the denominateByShortestLength property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setDenominateByShortestLength(Boolean value)
    {
      this.denominateByShortestLength = value;
    }

    /**
     * &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;
      }

    }

    /**
     * &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;
     * 
     * 
     */
    @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;
      }

    }

  }

  /**
   * &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="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 = "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;

    /**
     * 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 newick property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getNewick()
    {
      return newick;
    }

    /**
     * Sets the value of the newick property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setNewick(String value)
    {
      this.newick = value;
    }

    /**
     * Gets the value of the fontName property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getFontName()
    {
      return fontName;
    }

    /**
     * Sets the value of the fontName property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setFontName(String value)
    {
      this.fontName = value;
    }

    /**
     * Gets the value of the fontSize property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getFontSize()
    {
      return fontSize;
    }

    /**
     * Sets the value of the fontSize property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setFontSize(Integer value)
    {
      this.fontSize = value;
    }

    /**
     * Gets the value of the fontStyle property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getFontStyle()
    {
      return fontStyle;
    }

    /**
     * Sets the value of the fontStyle property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setFontStyle(Integer value)
    {
      this.fontStyle = value;
    }

    /**
     * Gets the value of the 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 showBootstrap property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isShowBootstrap()
    {
      return showBootstrap;
    }

    /**
     * Sets the value of the showBootstrap property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowBootstrap(Boolean value)
    {
      this.showBootstrap = value;
    }

    /**
     * Gets the value of the showDistances property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isShowDistances()
    {
      return showDistances;
    }

    /**
     * Sets the value of the showDistances property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowDistances(Boolean value)
    {
      this.showDistances = value;
    }

    /**
     * Gets the value of the markUnlinked property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isMarkUnlinked()
    {
      return markUnlinked;
    }

    /**
     * Sets the value of the markUnlinked property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setMarkUnlinked(Boolean value)
    {
      this.markUnlinked = value;
    }

    /**
     * Gets the value of the fitToWindow property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isFitToWindow()
    {
      return fitToWindow;
    }

    /**
     * Sets the value of the fitToWindow property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setFitToWindow(Boolean value)
    {
      this.fitToWindow = value;
    }

    /**
     * Gets the value of the currentTree property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isCurrentTree()
    {
      return currentTree;
    }

    /**
     * Sets the value of the currentTree property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setCurrentTree(Boolean value)
    {
      this.currentTree = value;
    }

    /**
     * Gets the value of the 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 linkToAllViews property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isLinkToAllViews()
    {
      if (linkToAllViews == null)
      {
        return false;
      }
      else
      {
        return linkToAllViews;
      }
    }

    /**
     * Sets the value of the linkToAllViews property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setLinkToAllViews(Boolean value)
    {
      this.linkToAllViews = value;
    }

    /**
     * Gets the value of the width property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getWidth()
    {
      return width;
    }

    /**
     * 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;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 userColourScheme property.
     * 
     * @return possible object is {@link JalviewUserColours }
     * 
     */
    public JalviewUserColours getUserColourScheme()
    {
      return userColourScheme;
    }

    /**
     * Sets the value of the userColourScheme property.
     * 
     * @param value
     *          allowed object is {@link JalviewUserColours }
     * 
     */
    public void setUserColourScheme(JalviewUserColours value)
    {
      this.userColourScheme = value;
    }

    /**
     * Gets the value of the id property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getId()
    {
      return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setId(String value)
    {
      this.id = value;
    }

  }

  /**
   * &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;/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="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="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" })
  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;

    @XmlAttribute(name = "conservationSelected")
    protected Boolean conservationSelected;

    @XmlAttribute(name = "pidSelected")
    protected Boolean pidSelected;

    @XmlAttribute(name = "bgColour")
    protected String bgColour;

    @XmlAttribute(name = "consThreshold")
    protected Integer consThreshold;

    @XmlAttribute(name = "pidThreshold")
    protected Integer pidThreshold;

    @XmlAttribute(name = "title")
    protected String title;

    @XmlAttribute(name = "showFullId")
    protected Boolean showFullId;

    @XmlAttribute(name = "rightAlignIds")
    protected Boolean rightAlignIds;

    @XmlAttribute(name = "showText")
    protected Boolean showText;

    @XmlAttribute(name = "showColourText")
    protected Boolean showColourText;

    @XmlAttribute(name = "showUnconserved")
    protected Boolean showUnconserved;

    @XmlAttribute(name = "showBoxes")
    protected Boolean showBoxes;

    @XmlAttribute(name = "wrapAlignment")
    protected Boolean wrapAlignment;

    @XmlAttribute(name = "renderGaps")
    protected Boolean renderGaps;

    @XmlAttribute(name = "showSequenceFeatures")
    protected Boolean showSequenceFeatures;

    @XmlAttribute(name = "showNPfeatureTooltip")
    protected Boolean showNPfeatureTooltip;

    @XmlAttribute(name = "showDbRefTooltip")
    protected Boolean showDbRefTooltip;

    @XmlAttribute(name = "followHighlight")
    protected Boolean followHighlight;

    @XmlAttribute(name = "followSelection")
    protected Boolean followSelection;

    @XmlAttribute(name = "showAnnotation")
    protected Boolean showAnnotation;

    @XmlAttribute(name = "centreColumnLabels")
    protected Boolean centreColumnLabels;

    @XmlAttribute(name = "showGroupConservation")
    protected Boolean showGroupConservation;

    @XmlAttribute(name = "showGroupConsensus")
    protected Boolean showGroupConsensus;

    @XmlAttribute(name = "showConsensusHistogram")
    protected Boolean showConsensusHistogram;

    @XmlAttribute(name = "showSequenceLogo")
    protected Boolean showSequenceLogo;

    @XmlAttribute(name = "normaliseSequenceLogo")
    protected Boolean normaliseSequenceLogo;

    @XmlAttribute(name = "ignoreGapsinConsensus")
    protected Boolean ignoreGapsinConsensus;

    @XmlAttribute(name = "startRes")
    protected Integer startRes;

    @XmlAttribute(name = "startSeq")
    protected Integer startSeq;

    @XmlAttribute(name = "fontName")
    protected String fontName;

    @XmlAttribute(name = "fontSize")
    protected Integer fontSize;

    @XmlAttribute(name = "fontStyle")
    protected Integer fontStyle;

    @XmlAttribute(name = "scaleProteinAsCdna")
    protected Boolean scaleProteinAsCdna;

    @XmlAttribute(name = "viewName")
    protected String viewName;

    @XmlAttribute(name = "sequenceSetId")
    protected String sequenceSetId;

    @XmlAttribute(name = "gatheredViews")
    protected Boolean gatheredViews;

    @XmlAttribute(name = "textCol1")
    protected Integer textCol1;

    @XmlAttribute(name = "textCol2")
    protected Integer textCol2;

    @XmlAttribute(name = "textColThreshold")
    protected Integer textColThreshold;

    @XmlAttribute(name = "id")
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlID
    @XmlSchemaType(name = "ID")
    protected String id;

    @XmlAttribute(name = "complementId")
    protected String complementId;

    @XmlAttribute(name = "showComplementFeatures")
    protected Boolean showComplementFeatures;

    @XmlAttribute(name = "showComplementFeaturesOnTop")
    protected Boolean showComplementFeaturesOnTop;

    @XmlAttribute(name = "width")
    protected Integer width;

    @XmlAttribute(name = "height")
    protected Integer height;

    @XmlAttribute(name = "xpos")
    protected Integer xpos;

    @XmlAttribute(name = "ypos")
    protected Integer ypos;

    /**
     * Gets the value of the annotationColours property.
     * 
     * @return possible object is {@link AnnotationColourScheme }
     * 
     */
    public AnnotationColourScheme getAnnotationColours()
    {
      return annotationColours;
    }

    /**
     * Sets the value of the annotationColours property.
     * 
     * @param value
     *          allowed object is {@link AnnotationColourScheme }
     * 
     */
    public void setAnnotationColours(AnnotationColourScheme value)
    {
      this.annotationColours = value;
    }

    /**
     * Gets the value of the hiddenColumns property.
     * 
     * &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 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;
    }

    /**
     * Gets the value of the conservationSelected property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isConservationSelected()
    {
      return conservationSelected;
    }

    /**
     * Sets the value of the conservationSelected property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setConservationSelected(Boolean value)
    {
      this.conservationSelected = value;
    }

    /**
     * Gets the value of the pidSelected property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isPidSelected()
    {
      return pidSelected;
    }

    /**
     * Sets the value of the pidSelected property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setPidSelected(Boolean value)
    {
      this.pidSelected = value;
    }

    /**
     * Gets the value of the bgColour property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getBgColour()
    {
      return bgColour;
    }

    /**
     * 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 consThreshold property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getConsThreshold()
    {
      return consThreshold;
    }

    /**
     * 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 pidThreshold property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getPidThreshold()
    {
      return pidThreshold;
    }

    /**
     * Sets the value of the pidThreshold property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setPidThreshold(Integer value)
    {
      this.pidThreshold = value;
    }

    /**
     * Gets the value of the 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 showFullId property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isShowFullId()
    {
      return showFullId;
    }

    /**
     * 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 rightAlignIds property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isRightAlignIds()
    {
      return rightAlignIds;
    }

    /**
     * Sets the value of the rightAlignIds property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setRightAlignIds(Boolean value)
    {
      this.rightAlignIds = value;
    }

    /**
     * Gets the value of the showText property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isShowText()
    {
      return showText;
    }

    /**
     * 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 showColourText property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isShowColourText()
    {
      return showColourText;
    }

    /**
     * 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 showUnconserved property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isShowUnconserved()
    {
      if (showUnconserved == null)
      {
        return false;
      }
      else
      {
        return showUnconserved;
      }
    }

    /**
     * Sets the value of the showUnconserved property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowUnconserved(Boolean value)
    {
      this.showUnconserved = value;
    }

    /**
     * Gets the value of the showBoxes property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isShowBoxes()
    {
      return showBoxes;
    }

    /**
     * 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;
    }

    /**
     * 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 showGroupConservation property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowGroupConservation(Boolean value)
    {
      this.showGroupConservation = value;
    }

    /**
     * Gets the value of the showGroupConsensus property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isShowGroupConsensus()
    {
      if (showGroupConsensus == null)
      {
        return false;
      }
      else
      {
        return showGroupConsensus;
      }
    }

    /**
     * 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 showConsensusHistogram property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isShowConsensusHistogram()
    {
      if (showConsensusHistogram == null)
      {
        return true;
      }
      else
      {
        return showConsensusHistogram;
      }
    }

    /**
     * Sets the value of the showConsensusHistogram property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowConsensusHistogram(Boolean value)
    {
      this.showConsensusHistogram = value;
    }

    /**
     * Gets the value of the showSequenceLogo property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isShowSequenceLogo()
    {
      if (showSequenceLogo == null)
      {
        return false;
      }
      else
      {
        return showSequenceLogo;
      }
    }

    /**
     * Sets the value of the showSequenceLogo property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setShowSequenceLogo(Boolean value)
    {
      this.showSequenceLogo = value;
    }

    /**
     * Gets the value of the normaliseSequenceLogo property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isNormaliseSequenceLogo()
    {
      if (normaliseSequenceLogo == null)
      {
        return false;
      }
      else
      {
        return normaliseSequenceLogo;
      }
    }

    /**
     * Sets the value of the normaliseSequenceLogo property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setNormaliseSequenceLogo(Boolean value)
    {
      this.normaliseSequenceLogo = value;
    }

    /**
     * Gets the value of the ignoreGapsinConsensus property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isIgnoreGapsinConsensus()
    {
      if (ignoreGapsinConsensus == null)
      {
        return true;
      }
      else
      {
        return ignoreGapsinConsensus;
      }
    }

    /**
     * Sets the value of the ignoreGapsinConsensus property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setIgnoreGapsinConsensus(Boolean value)
    {
      this.ignoreGapsinConsensus = value;
    }

    /**
     * Gets the value of the startRes property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getStartRes()
    {
      return startRes;
    }

    /**
     * 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 startSeq property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getStartSeq()
    {
      return startSeq;
    }

    /**
     * Sets the value of the startSeq property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setStartSeq(Integer value)
    {
      this.startSeq = value;
    }

    /**
     * Gets the value of the fontName property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getFontName()
    {
      return fontName;
    }

    /**
     * Sets the value of the fontName property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setFontName(String value)
    {
      this.fontName = value;
    }

    /**
     * Gets the value of the fontSize property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getFontSize()
    {
      return fontSize;
    }

    /**
     * Sets the value of the fontSize property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setFontSize(Integer value)
    {
      this.fontSize = value;
    }

    /**
     * Gets the value of the fontStyle property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getFontStyle()
    {
      return fontStyle;
    }

    /**
     * Sets the value of the fontStyle property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setFontStyle(Integer value)
    {
      this.fontStyle = value;
    }

    /**
     * Gets the value of the scaleProteinAsCdna property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isScaleProteinAsCdna()
    {
      if (scaleProteinAsCdna == null)
      {
        return true;
      }
      else
      {
        return scaleProteinAsCdna;
      }
    }

    /**
     * Sets the value of the scaleProteinAsCdna property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setScaleProteinAsCdna(Boolean value)
    {
      this.scaleProteinAsCdna = value;
    }

    /**
     * Gets the value of the viewName property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getViewName()
    {
      return viewName;
    }

    /**
     * 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 sequenceSetId property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setSequenceSetId(String value)
    {
      this.sequenceSetId = value;
    }

    /**
     * Gets the value of the gatheredViews property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public Boolean isGatheredViews()
    {
      return gatheredViews;
    }

    /**
     * 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 textCol1 property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getTextCol1()
    {
      return textCol1;
    }

    /**
     * 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 textCol2 property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getTextCol2()
    {
      return textCol2;
    }

    /**
     * Sets the value of the textCol2 property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setTextCol2(Integer value)
    {
      this.textCol2 = value;
    }

    /**
     * Gets the value of the textColThreshold property.
     * 
     * @return possible object is {@link Integer }
     * 
     */
    public Integer getTextColThreshold()
    {
      return textColThreshold;
    }

    /**
     * Sets the value of the textColThreshold property.
     * 
     * @param value
     *          allowed object is {@link Integer }
     * 
     */
    public void setTextColThreshold(Integer value)
    {
      this.textColThreshold = value;
    }

    /**
     * Gets the value of the 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 complementId property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getComplementId()
    {
      return complementId;
    }

    /**
     * Sets the value of the complementId property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setComplementId(String value)
    {
      this.complementId = value;
    }

    /**
     * Gets the value of the showComplementFeatures property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isShowComplementFeatures()
    {
      if (showComplementFeatures == null)
      {
        return false;
      }
      else
      {
        return showComplementFeatures;
      }
    }

    /**
     * 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 showComplementFeaturesOnTop property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isShowComplementFeaturesOnTop()
    {
      if (showComplementFeaturesOnTop == null)
      {
        return false;
      }
      else
      {
        return showComplementFeaturesOnTop;
      }
    }

    /**
     * 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 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;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)
        {
          return false;
        }
        else
        {
          return needsUpdate;
        }
      }

      /**
       * Sets the value of the needsUpdate property.
       * 
       * @param value
       *          allowed object is {@link Boolean }
       * 
       */
      public void setNeedsUpdate(Boolean value)
      {
        this.needsUpdate = value;
      }

      /**
       * Gets the value of the autoUpdate property.
       * 
       */
      public boolean isAutoUpdate()
      {
        return autoUpdate;
      }

      /**
       * Sets the value of the autoUpdate property.
       * 
       */
      public void setAutoUpdate(boolean value)
      {
        this.autoUpdate = value;
      }

    }

    /**
     * &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;
      }

    }

  }

}
