Merge branch 'patch/JAL-4311_import_pLDDT_scores_from_nonAlphaFold_sources' into...
authorJames Procter <j.procter@dundee.ac.uk>
Thu, 26 Oct 2023 11:44:31 +0000 (12:44 +0100)
committerJames Procter <j.procter@dundee.ac.uk>
Thu, 26 Oct 2023 11:44:31 +0000 (12:44 +0100)
55 files changed:
schemas/vamsas.xsd
src/jalview/bin/Commands.java
src/jalview/datamodel/Alignment.java
src/jalview/datamodel/ContactMapHolder.java
src/jalview/datamodel/ContactMatrix.java
src/jalview/datamodel/ContactMatrixI.java
src/jalview/datamodel/FloatContactMatrix.java [new file with mode: 0644]
src/jalview/datamodel/GroupSetHolder.java [new file with mode: 0644]
src/jalview/datamodel/SeqDistanceContactMatrix.java
src/jalview/fts/service/threedbeacons/TDB_FTSData.java
src/jalview/gui/Desktop.java
src/jalview/gui/StructureChooser.java
src/jalview/gui/structurechooser/TDBResultAnalyser.java
src/jalview/gui/structurechooser/ThreeDBStructureChooserQuerySource.java
src/jalview/project/Jalview2XML.java
src/jalview/renderer/ContactMapRenderer.java
src/jalview/workers/AlignCalcManager.java
src/jalview/ws/datamodel/MappableContactMatrixI.java
src/jalview/ws/datamodel/alphafold/MappableContactMatrix.java
src/jalview/ws/datamodel/alphafold/PAEContactMatrix.java
src/jalview/xml/binding/jalview/AlcodonFrame.java
src/jalview/xml/binding/jalview/Annotation.java
src/jalview/xml/binding/jalview/AnnotationColourScheme.java
src/jalview/xml/binding/jalview/AnnotationElement.java
src/jalview/xml/binding/jalview/DoubleMatrix.java
src/jalview/xml/binding/jalview/DoubleVector.java
src/jalview/xml/binding/jalview/Feature.java
src/jalview/xml/binding/jalview/FeatureMatcher.java
src/jalview/xml/binding/jalview/FeatureMatcherSet.java
src/jalview/xml/binding/jalview/FilterBy.java
src/jalview/xml/binding/jalview/JalviewModel.java
src/jalview/xml/binding/jalview/JalviewUserColours.java
src/jalview/xml/binding/jalview/MapListType.java
src/jalview/xml/binding/jalview/MapOnAMatrixType.java [new file with mode: 0644]
src/jalview/xml/binding/jalview/Mapping.java
src/jalview/xml/binding/jalview/MatrixType.java
src/jalview/xml/binding/jalview/NoValueColour.java
src/jalview/xml/binding/jalview/ObjectFactory.java
src/jalview/xml/binding/jalview/PcaDataType.java
src/jalview/xml/binding/jalview/Pdbentry.java
src/jalview/xml/binding/jalview/Property.java
src/jalview/xml/binding/jalview/Sequence.java
src/jalview/xml/binding/jalview/SequenceSet.java
src/jalview/xml/binding/jalview/SequenceType.java
src/jalview/xml/binding/jalview/ThresholdType.java
src/jalview/xml/binding/jalview/VAMSAS.java
src/jalview/xml/binding/jalview/WebServiceParameterSet.java
src/jalview/xml/binding/jalview/package-info.java
test/jalview/fts/service/pdb/PDBFTSRestClientTest.java
test/jalview/fts/threedbeacons/TDBeaconsFTSRestClientTest.java
test/jalview/fts/threedbeacons/q99814_tdb_fts_query.txt [new file with mode: 0644]
test/jalview/fts/threedbeacons/q99814_tdb_fts_query_resp.txt [new file with mode: 0644]
test/jalview/fts/threedbeacons/q99814_tdb_pdbfts_query_resp.txt [new file with mode: 0644]
test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java
test/jalview/project/Jalview2xmlTests.java

index fedbae3..364bfbe 100755 (executable)
            xjc schemas/jalview.xsd -d src -p jalview.xml.binding.jalview
        Note this also generates code for included schemas
 -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" targetNamespace="www.vamsas.ac.uk/jalview/version2" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+       xmlns:vamsas="www.vamsas.ac.uk/jalview/version2"
+       targetNamespace="www.vamsas.ac.uk/jalview/version2"
+       elementFormDefault="qualified" attributeFormDefault="unqualified">
        <xs:complexType name="VAMSAS">
                <xs:sequence>
-                       <xs:element name="Tree" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-                       <xs:element ref="vamsas:SequenceSet" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Tree" type="xs:string" minOccurs="0"
+                               maxOccurs="unbounded" />
+                       <xs:element ref="vamsas:SequenceSet" minOccurs="0"
+                               maxOccurs="unbounded" />
                </xs:sequence>
        </xs:complexType>
        <xs:complexType name="mapListType">
                <xs:annotation>
-                       <xs:documentation> 
-                               developed after mapRangeType from http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes
+                       <xs:documentation>
+                               developed after mapRangeType from
+                               http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes
                        </xs:documentation>
                        <xs:documentation>
-                               This effectively represents a java.util.MapList object
+                               This effectively represents a java.util.MapList
+                               object
                        </xs:documentation>
                </xs:annotation>
                <xs:sequence>
-                       <xs:element name="mapListFrom" minOccurs="0" maxOccurs="unbounded">
+                       <xs:element name="mapListFrom" minOccurs="0"
+                               maxOccurs="unbounded">
                                <xs:annotation>
-                                       <xs:documentation> a region from start to end inclusive</xs:documentation>
+                                       <xs:documentation> a region from start to end inclusive
+                                       </xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
-                                       <xs:attribute name="start" type="xs:int" use="required"/>
-                                       <xs:attribute name="end" type="xs:int" use="required"/>
+                                       <xs:attribute name="start" type="xs:int"
+                                               use="required" />
+                                       <xs:attribute name="end" type="xs:int" use="required" />
                                </xs:complexType>
-                       </xs:element>                                   
-                       <xs:element name="mapListTo" minOccurs="0" maxOccurs="unbounded">
+                       </xs:element>
+                       <xs:element name="mapListTo" minOccurs="0"
+                               maxOccurs="unbounded">
                                <xs:annotation>
-                                       <xs:documentation> a region from start to end inclusive</xs:documentation>
+                                       <xs:documentation> a region from start to end inclusive
+                                       </xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
-                                       <xs:attribute name="start" type="xs:int" use="required"/>
-                                       <xs:attribute name="end" type="xs:int" use="required"/>
+                                       <xs:attribute name="start" type="xs:int"
+                                               use="required" />
+                                       <xs:attribute name="end" type="xs:int" use="required" />
                                </xs:complexType>
-                       </xs:element>                                   
+                       </xs:element>
                </xs:sequence>
-               <xs:attribute name="mapFromUnit" type="xs:positiveInteger" use="required">
+               <xs:attribute name="mapFromUnit"
+                       type="xs:positiveInteger" use="required">
                        <xs:annotation>
-                               <xs:documentation>number of dictionary symbol widths involved in each
-                                       mapped position on this sequence (for example, 3 for a dna sequence exon
-                                       region that is being mapped to a protein sequence). This is optional,
-                                       since the unit can be usually be inferred from the dictionary type of
-                                       each sequence involved in the mapping. </xs:documentation>
+                               <xs:documentation>number of dictionary symbol widths involved in
+                                       each
+                                       mapped position on this sequence (for example, 3 for a dna
+                                       sequence exon
+                                       region that is being mapped to a protein sequence).
+                                       This is optional,
+                                       since the unit can be usually be inferred from the
+                                       dictionary type of
+                                       each sequence involved in the mapping.
+                               </xs:documentation>
                        </xs:annotation>
                </xs:attribute>
-               <xs:attribute name="mapToUnit" type="xs:positiveInteger" use="required">
+               <xs:attribute name="mapToUnit" type="xs:positiveInteger"
+                       use="required">
                        <xs:annotation>
-                               <xs:documentation>number of dictionary symbol widths involved in each
-                                       mapped position on this sequence (for example, 3 for a dna sequence exon
-                                       region that is being mapped to a protein sequence). This is optional,
-                                       since the unit can be usually be inferred from the dictionary type of
-                                       each sequence involved in the mapping. </xs:documentation>
+                               <xs:documentation>number of dictionary symbol widths involved in
+                                       each
+                                       mapped position on this sequence (for example, 3 for a dna
+                                       sequence exon
+                                       region that is being mapped to a protein sequence).
+                                       This is optional,
+                                       since the unit can be usually be inferred from the
+                                       dictionary type of
+                                       each sequence involved in the mapping.
+                               </xs:documentation>
                        </xs:annotation>
                </xs:attribute>
        </xs:complexType>
                <xs:complexType>
                        <xs:annotation>
                                <xs:documentation>
-                                       Represent the jalview.datamodel.Mapping object - it also provides
-                                       a way of storing sequences that are mapped 'to' without adding them
-                                       to the sequence set (which will mean they are then added to the alignment too).
+                                       Represent the jalview.datamodel.Mapping object -
+                                       it also provides
+                                       a way of storing sequences that are mapped 'to'
+                                       without adding them
+                                       to the sequence set (which will mean they are
+                                       then added to the alignment too).
                                </xs:documentation>
                        </xs:annotation>
                        <xs:complexContent>
                                <xs:extension base="vamsas:mapListType">
                                        <xs:sequence>
                                                <xs:choice minOccurs="0" maxOccurs="1">
-                                                       <xs:element ref="vamsas:Sequence"/>
+                                                       <xs:element ref="vamsas:Sequence" />
                                                        <xs:element name="dseqFor">
                                                                <xs:simpleType>
                                                                        <xs:restriction base="xs:string">
                                                                                <xs:annotation>
-                                                                                       <xs:documentation>The sequence whose dataset sequence is to be referenced here</xs:documentation>
+                                                                                       <xs:documentation>The sequence whose dataset sequence is to
+                                                                                               be referenced here
+                                                                                       </xs:documentation>
                                                                                </xs:annotation>
                                                                        </xs:restriction>
                                                                </xs:simpleType>
                                                        </xs:element>
                                                </xs:choice>
                                        </xs:sequence>
-                                       <xs:attribute name="mappingType" type="xs:string" use="optional">
+                                       <xs:attribute name="mappingType" type="xs:string"
+                                               use="optional">
                                                <xs:annotation>
-                                                       <xs:documentation>Biotype of the mapping e.g. CdsToPeptide</xs:documentation>
+                                                       <xs:documentation>Biotype of the mapping e.g. CdsToPeptide
+                                                       </xs:documentation>
                                                </xs:annotation>
                                        </xs:attribute>
                                </xs:extension>
-                       </xs:complexContent>    
+                       </xs:complexContent>
                </xs:complexType>
        </xs:element>
        <xs:element name="AlcodonFrame">
                <xs:complexType>
                        <xs:sequence>
-                               <xs:element name="alcodon" minOccurs="0" maxOccurs="unbounded">
+                               <xs:element name="alcodon" minOccurs="0"
+                                       maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:annotation>
                                                        <xs:documentation>
-                                                               specifies a series of aligned codons from an associated DNA sequence alignment that when translated correspond to columns of a peptide alignment.
-                                                               Element may have either all pos1,2,3 attributes specified, or none at all (indicating a gapped column with no translated peptide).
+                                                               specifies a series of aligned codons from an
+                                                               associated DNA sequence alignment that when translated
+                                                               correspond to columns of a peptide alignment.
+                                                               Element may have
+                                                               either all pos1,2,3 attributes specified, or none at all
+                                                               (indicating a gapped column with no translated peptide).
                                                        </xs:documentation>
                                                </xs:annotation>
-                                               <xs:attribute name="pos1" type="xs:integer" use="optional"/>
-                                               <xs:attribute name="pos2" type="xs:integer" use="optional"/>
-                                               <xs:attribute name="pos3" type="xs:integer" use="optional"/>
+                                               <xs:attribute name="pos1" type="xs:integer"
+                                                       use="optional" />
+                                               <xs:attribute name="pos2" type="xs:integer"
+                                                       use="optional" />
+                                               <xs:attribute name="pos3" type="xs:integer"
+                                                       use="optional" />
                                        </xs:complexType>
                                </xs:element>
-                               <xs:element name="alcodMap" minOccurs="0" maxOccurs="unbounded">
+                               <xs:element name="alcodMap" minOccurs="0"
+                                       maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:sequence>
-                                                       <xs:element ref="vamsas:Mapping" maxOccurs="1" minOccurs="1">
+                                                       <xs:element ref="vamsas:Mapping" maxOccurs="1"
+                                                               minOccurs="1">
                                                                <xs:annotation>
                                                                        <xs:documentation>
-                                                                               a Mapping entry and an associated protein sequence
+                                                                               a Mapping entry and an associated protein
+                                                                               sequence
                                                                        </xs:documentation>
                                                                </xs:annotation>
                                                        </xs:element>
                                                </xs:sequence>
-                                               <xs:attribute name="dnasq" type="xs:string" use="required">
+                                               <xs:attribute name="dnasq" type="xs:string"
+                                                       use="required">
                                                        <xs:annotation>
                                                                <xs:documentation>
-                                                                       internal jalview id for the dnasq for this mapping.
+                                                                       internal jalview id for the dnasq for this
+                                                                       mapping.
                                                                </xs:documentation>
                                                        </xs:annotation>
                                                </xs:attribute>
                                        </xs:complexType>
-                                       
+
                                </xs:element>
-                               
+
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
                        <xs:complexContent>
                                <xs:extension base="vamsas:SequenceType">
                                        <xs:sequence>
-                                               <xs:element name="DBRef" minOccurs="0" maxOccurs="unbounded">
+                                               <xs:element name="DBRef" minOccurs="0"
+                                                       maxOccurs="unbounded">
                                                        <xs:complexType>
                                                                <xs:sequence>
-                                                                       <xs:element ref="vamsas:Mapping" minOccurs="0" maxOccurs="1"/>
-                                                               </xs:sequence>                                                                                                  
-                                                               <xs:attribute name="source" type="xs:string"/>
-                                                               <xs:attribute name="version" type="xs:string"/>
-                                                               <xs:attribute name="accessionId" type="xs:string"/>
-                                                               <xs:attribute name="locus" type="xs:boolean" default="false">
+                                                                       <xs:element ref="vamsas:Mapping" minOccurs="0"
+                                                                               maxOccurs="1" />
+                                                               </xs:sequence>
+                                                               <xs:attribute name="source" type="xs:string" />
+                                                               <xs:attribute name="version" type="xs:string" />
+                                                               <xs:attribute name="accessionId" type="xs:string" />
+                                                               <xs:attribute name="locus" type="xs:boolean"
+                                                                       default="false">
                                                                        <xs:annotation>
                                                                                <xs:documentation>
-                                                                                       true for gene locus mapping, source=species, version=assembly, accession=chromosome
+                                                                                       true for gene locus mapping, source=species,
+                                                                                       version=assembly, accession=chromosome
                                                                                </xs:documentation>
                                                                        </xs:annotation>
                                                                </xs:attribute>
-                                                               <xs:attribute name="canonical" type="xs:boolean" default="false">
+                                                               <xs:attribute name="canonical" type="xs:boolean"
+                                                                       default="false">
                                                                        <xs:annotation>
                                                                                <xs:documentation>
-                                                                                       true for the representative accession for databases where multiple accessions map to the same entry (eg. Uniprot)
+                                                                                       true for the representative accession for
+                                                                                       databases where multiple accessions map to the same entry
+                                                                                       (eg. Uniprot)
                                                                                </xs:documentation>
                                                                        </xs:annotation>
                                                                </xs:attribute>
                                                        </xs:complexType>
                                                </xs:element>
                                        </xs:sequence>
-                                       <xs:attribute name="dsseqid" type="xs:string" use="optional">
+                                       <xs:attribute name="dsseqid" type="xs:string"
+                                               use="optional">
                                                <xs:annotation>
                                                        <xs:documentation>
-                                                               dataset sequence id for this sequence. Will be created as union of sequences.
+                                                               dataset sequence id for this sequence. Will be
+                                                               created as union of sequences.
                                                        </xs:documentation>
                                                </xs:annotation>
                                        </xs:attribute>
-                                       <xs:attribute name="biotype" type="xs:string" use="optional">
+                                       <xs:attribute name="biotype" type="xs:string"
+                                               use="optional">
                                                <xs:annotation>
                                                        <xs:documentation>
                                                                Biotype of the sequence (if known)
                                                <xs:attribute name="colour" type="xs:int" />
                                        </xs:complexType>
                                </xs:element>
-                               <xs:element name="contactmatrix" type="vamsas:MatrixType"
-                                       maxOccurs="unbounded" minOccurs="0">
+                               <xs:element name="contactmatrix"
+                                       type="vamsas:MapOnAMatrixType" maxOccurs="unbounded" minOccurs="0">
                                </xs:element>
-                               <xs:element name="property" type="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="property" type="vamsas:property"
+                                       minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
-                       <xs:attribute name="graph" type="xs:boolean" use="required" />
-                       <xs:attribute name="graphType" type="xs:int" use="optional" />
+                       <xs:attribute name="graph" type="xs:boolean"
+                               use="required" />
+                       <xs:attribute name="graphType" type="xs:int"
+                               use="optional" />
                        <xs:attribute name="sequenceRef" type="xs:string"
                                use="optional" />
                        <xs:attribute name="groupRef" type="xs:string"
                                use="optional" />
                        <xs:attribute name="graphGroup" type="xs:int"
                                use="optional" />
-                       <xs:attribute name="graphHeight" type="xs:int" use="optional">
-                       <xs:annotation><xs:documentation>height in pixels for the graph if this is a graph-type annotation.</xs:documentation></xs:annotation></xs:attribute>
+                       <xs:attribute name="graphHeight" type="xs:int"
+                               use="optional">
+                               <xs:annotation>
+                                       <xs:documentation>height in pixels for the graph if this is a
+                                               graph-type annotation.
+                                       </xs:documentation>
+                               </xs:annotation>
+                       </xs:attribute>
                        <xs:attribute name="id" type="xs:string" use="optional" />
                        <xs:attribute name="scoreOnly" type="xs:boolean"
                                use="optional" default="false" />
-                       <xs:attribute name="score" type="xs:double" use="optional" />
+                       <xs:attribute name="score" type="xs:double"
+                               use="optional" />
                        <xs:attribute name="visible" type="xs:boolean"
                                use="optional" />
                        <xs:attribute name="centreColLabels" type="xs:boolean"
                                use="optional" />
 
 
-                       <xs:attribute name="autoCalculated" type="xs:boolean" use="optional" default="false">
-                       <xs:annotation><xs:documentation>is an autocalculated annotation row</xs:documentation>
-                       </xs:annotation></xs:attribute>
-                       <xs:attribute name="belowAlignment" type="xs:boolean" use="optional" default="true">
-                       <xs:annotation><xs:documentation>is to be shown below the alignment - introduced in Jalview 2.8 for visualizing T-COFFEE alignment scores</xs:documentation></xs:annotation></xs:attribute>
-                       <xs:attribute name="calcId" type="xs:string" use="optional">
-                       <xs:annotation><xs:documentation>Optional string identifier used to group sets of annotation produced by a particular calculation. Values are opaque strings but have semantic meaning to Jalview's renderer, data importer and calculation system.</xs:documentation></xs:annotation>
+                       <xs:attribute name="autoCalculated" type="xs:boolean"
+                               use="optional" default="false">
+                               <xs:annotation>
+                                       <xs:documentation>is an autocalculated annotation row
+                                       </xs:documentation>
+                               </xs:annotation>
+                       </xs:attribute>
+                       <xs:attribute name="belowAlignment" type="xs:boolean"
+                               use="optional" default="true">
+                               <xs:annotation>
+                                       <xs:documentation>is to be shown below the alignment - introduced
+                                               in Jalview 2.8 for visualizing T-COFFEE alignment scores
+                                       </xs:documentation>
+                               </xs:annotation>
+                       </xs:attribute>
+                       <xs:attribute name="calcId" type="xs:string"
+                               use="optional">
+                               <xs:annotation>
+                                       <xs:documentation>Optional string identifier used to group sets of
+                                               annotation produced by a particular calculation. Values are opaque
+                                               strings but have semantic meaning to Jalview's renderer, data
+                                               importer and calculation system.
+                                       </xs:documentation>
+                               </xs:annotation>
                        </xs:attribute>
                </xs:complexType>
-       </xs:element>   
+       </xs:element>
        <xs:element name="SequenceSet">
                <xs:complexType>
                        <xs:sequence>
-                               <xs:element ref="vamsas:Sequence" minOccurs="0" maxOccurs="unbounded"/>
-                               <xs:element ref="vamsas:Annotation" minOccurs="0" maxOccurs="unbounded"/>
-                               <xs:element name="sequenceSetProperties" minOccurs="0" maxOccurs="unbounded">
+                               <xs:element ref="vamsas:Sequence" minOccurs="0"
+                                       maxOccurs="unbounded" />
+                               <xs:element ref="vamsas:Annotation" minOccurs="0"
+                                       maxOccurs="unbounded" />
+                               <xs:element name="sequenceSetProperties" minOccurs="0"
+                                       maxOccurs="unbounded">
                                        <xs:complexType>
-                                               <xs:attribute name="key" type="xs:string"/>
-                                               <xs:attribute name="value" type="xs:string"/>
+                                               <xs:attribute name="key" type="xs:string" />
+                                               <xs:attribute name="value" type="xs:string" />
                                        </xs:complexType>
                                </xs:element>
-                               <xs:element ref="vamsas:AlcodonFrame" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="vamsas:AlcodonFrame" minOccurs="0"
+                                       maxOccurs="unbounded" />
+                               <xs:element name="Matrix" type="vamsas:MatrixType"
+                                       minOccurs="0" maxOccurs="unbounded">
+                                       <xs:annotation>
+                                               <xs:documentation>Matrices referred to by this set of sequences.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
                        </xs:sequence>
-                       <xs:attribute name="gapChar" type="xs:string" use="required"/>
-                       <xs:attribute name="datasetId" type="xs:string" use="optional">
+                       <xs:attribute name="gapChar" type="xs:string"
+                               use="required" />
+                       <xs:attribute name="datasetId" type="xs:string"
+                               use="optional">
                                <xs:annotation>
                                        <xs:documentation>
-                                               reference to set where jalview will gather the dataset sequences for all sequences in the set. 
+                                               reference to set where jalview will gather the
+                                               dataset sequences for all sequences in the set.
                                        </xs:documentation>
                                </xs:annotation>
                        </xs:attribute>
        <xs:element name="annotationElement">
                <xs:complexType>
                        <xs:sequence>
-                               <xs:element name="displayCharacter" type="xs:string" minOccurs="0"/>
-                               <xs:element name="description" type="xs:string" minOccurs="0"/>
+                               <xs:element name="displayCharacter" type="xs:string"
+                                       minOccurs="0" />
+                               <xs:element name="description" type="xs:string"
+                                       minOccurs="0" />
                                <xs:element name="secondaryStructure" minOccurs="0">
                                        <xs:simpleType>
                                                <xs:restriction base="xs:string">
-                                                       <xs:length value="1"/>
+                                                       <xs:length value="1" />
                                                </xs:restriction>
                                        </xs:simpleType>
                                </xs:element>
-                               <xs:element name="value" type="xs:float" minOccurs="0"/>
+                               <xs:element name="value" type="xs:float" minOccurs="0" />
                        </xs:sequence>
-                       <xs:attribute name="position" type="xs:int" use="required"/>
-                       <xs:attribute name="colour" type="xs:int" use="optional"/>
+                       <xs:attribute name="position" type="xs:int"
+                               use="required" />
+                       <xs:attribute name="colour" type="xs:int" use="optional" />
                </xs:complexType>
        </xs:element>
        <xs:complexType name="SequenceType">
                <xs:sequence>
-                       <xs:element name="sequence" type="xs:string" minOccurs="0"/>
-                       <xs:element name="name" type="xs:string" minOccurs="0"/>
+                       <xs:element name="sequence" type="xs:string" minOccurs="0" />
+                       <xs:element name="name" type="xs:string" minOccurs="0" />
                </xs:sequence>
-               <xs:attribute name="id" type="xs:string"/>
-               <xs:attribute name="description" type="xs:string"/>
+               <xs:attribute name="id" type="xs:string" />
+               <xs:attribute name="description" type="xs:string" />
        </xs:complexType>
        <xs:complexType name="MatrixType">
+               <xs:annotation>
+                       <xs:documentation>Represents matrix data imported to Jalview, and the
+                               results of any derived calculations (independent of a particular
+                               view
+                               on the matrix).
+                       </xs:documentation>
+               </xs:annotation>
                <xs:sequence>
                        <xs:element name="elements" type="xs:string" minOccurs="1"
                                maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>serialised representation of matrix as one or
-                                               more sets of comma separated values</xs:documentation>
+                                               more sets of comma separated values
+                                       </xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="groups" type="xs:string" minOccurs="0"
                        </xs:element>
                        <xs:element name="property" type="vamsas:property"
                                minOccurs="0" maxOccurs="unbounded" />
-                       <xs:element name="mapping" type="vamsas:mapListType"
-                               minOccurs="0" maxOccurs="1">
-                       <xs:annotation>
-                               <xs:documentation>mapping from the matrix row and column positions to
-                                       associated reference frame</xs:documentation>
-                               </xs:annotation>
-                       </xs:element>
                </xs:sequence>
 
                <xs:attribute name="type" type="xs:string" use="required" />
                        use="optional" />
                <xs:attribute name="cutHeight" type="xs:double"
                        use="optional" />
-               <xs:attribute name="id" type="xs:string" use="optional" />
+               <xs:attribute name="id" type="xs:string" use="required" />
 
        </xs:complexType>
+       <xs:complexType name="MapOnAMatrixType">
+               <xs:annotation>
+                       <xs:documentation>Defines a mapping from the local frame to a matrix
+                               and its associated data specified by MatrixType
+                       </xs:documentation>
+               </xs:annotation>
+               <xs:sequence>
+                       <xs:element name="property" type="vamsas:property"
+                               minOccurs="0" maxOccurs="unbounded" />
+                       <xs:element name="mapping" type="vamsas:mapListType"
+                               minOccurs="0" maxOccurs="1">
+                               <xs:annotation>
+                                       <xs:documentation>mapping from the matrix row and column positions
+                                               to
+                                               associated reference frame
+                                       </xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+               </xs:sequence>
+
+               <xs:attribute name="matrix" type="xs:string"
+                       use="required">
+
+                       <xs:annotation>
+                               <xs:documentation>reference to the matrix type this Map refers to
+                               </xs:documentation>
+                       </xs:annotation>
+               </xs:attribute>
+               <xs:attribute name="id" type="xs:string" use="optional" />
+       </xs:complexType>
        <xs:complexType name="property">
                <xs:attribute name="name" type="xs:string" />
                <xs:attribute name="value" type="xs:string" />
        </xs:complexType>
-                               
-       
+
+
 </xs:schema>
index e02d132..a092cd6 100644 (file)
@@ -13,6 +13,8 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+import javax.swing.SwingUtilities;
+
 import jalview.analysis.AlignmentUtils;
 import jalview.api.structures.JalviewStructureDisplayI;
 import jalview.bin.Jalview.ExitCode;
@@ -361,28 +363,51 @@ public class Commands
             }
           }
 
+          
           // Show secondary structure annotations?
           boolean showSSAnnotations = avm.getFromSubValArgOrPref(
                   Arg.SHOWSSANNOTATIONS, av.getSubVals(), null,
                   "STRUCT_FROM_PDB", true);
-          af.setAnnotationsVisibility(showSSAnnotations, true, false);
-
+          
           // Show sequence annotations?
           boolean showAnnotations = avm.getFromSubValArgOrPref(
                   Arg.SHOWANNOTATIONS, av.getSubVals(), null,
                   "SHOW_ANNOTATIONS", true);
-          af.setAnnotationsVisibility(showAnnotations, false, true);
+          
+          boolean hideTFrows = (avm.getBoolean(Arg.NOTEMPFAC));
+          final AlignFrame _af = af;
+          // many of jalview's format/layout methods are only thread safe on the swingworker thread.
+          // all these methods should be on the alignViewController so it can coordinate such details
+          try
+          {
+            SwingUtilities.invokeAndWait(new Runnable()
+            {
+              @Override
+              public void run()
+              {
+                _af.setAnnotationsVisibility(showSSAnnotations, true,
+                        false);
 
-          // show temperature factor annotations?
-          if (avm.getBoolean(Arg.NOTEMPFAC))
+                _af.setAnnotationsVisibility(showAnnotations, false, true);
+
+                // show temperature factor annotations?
+                if (hideTFrows)
+                {
+                  // do this better (annotation types?)
+                  List<String> hideThese = new ArrayList<>();
+                  hideThese.add("Temperature Factor");
+                  hideThese.add(AlphaFoldAnnotationRowBuilder.LABEL);
+                  AlignmentUtils.showOrHideSequenceAnnotations(
+                          _af.getCurrentView().getAlignment(), hideThese,
+                          null, false, false);
+                }
+              }
+            });
+          } catch (Exception x)
           {
-            // do this better (annotation types?)
-            List<String> hideThese = new ArrayList<>();
-            hideThese.add("Temperature Factor");
-            hideThese.add(AlphaFoldAnnotationRowBuilder.LABEL);
-            AlignmentUtils.showOrHideSequenceAnnotations(
-                    af.getCurrentView().getAlignment(), hideThese, null,
-                    false, false);
+            Console.warn(
+                    "Unexpected exception adjusting annotation row visibility.",
+                    x);
           }
 
           // wrap alignment? do this last for formatting reasons
index aef2038..375e6b4 100755 (executable)
@@ -2057,7 +2057,7 @@ public class Alignment implements AlignmentI, AutoCloseable
     if (cm == null && _aa.sequenceRef != null)
     {
       cm = _aa.sequenceRef.getContactMatrixFor(_aa);
-      if (cm == null)
+      if (cm == null && _aa.sequenceRef.getDatasetSequence()!=null)
       {
         // TODO fix up this logic and unify with getContactListFor
         cm = _aa.sequenceRef.getDatasetSequence().getContactMatrixFor(_aa);
index af083dd..3a64917 100644 (file)
@@ -3,6 +3,7 @@ package jalview.datamodel;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Map;
 
 import jalview.ws.datamodel.MappableContactMatrixI;
@@ -17,7 +18,8 @@ public class ContactMapHolder implements ContactMapHolderI
   {
     if (contactmaps != null && contactmaps.size() > 0)
     {
-      return contactmaps.values();
+      // defensive copy, and return non redundant set of ContactMatrixI instances
+      return new HashSet<ContactMatrixI>(contactmaps.values());
     }
     return Collections.EMPTY_LIST;
   }
index 48b6e6b..2e12a91 100644 (file)
@@ -1,17 +1,12 @@
 package jalview.datamodel;
 
-import java.awt.Color;
-import java.math.BigInteger;
 import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Spliterator;
 import java.util.StringTokenizer;
 
 import jalview.bin.Console;
 
-public abstract class ContactMatrix implements ContactMatrixI
+public abstract class ContactMatrix extends GroupSetHolder implements ContactMatrixI
 {
   /**
    * are contacts reflexive ?
@@ -107,26 +102,7 @@ public abstract class ContactMatrix implements ContactMatrixI
       @Override
       public double getContactAt(int column)
       {
-        List<Float> clist;
-        Float cl = null;
-        if (symmetric)
-        {
-          if (p < column)
-          {
-            clist = contacts.get(p);
-            cl = clist.get(column);
-          }
-          else
-          {
-            clist = contacts.get(column);
-            cl = clist.get(p);
-          }
-        }
-        else
-        {
-          clist = contacts.get(p);
-          cl = clist.get(column);
-        }
+        Float cl = getFloatElementAt(column, p);
         if (cl == null)
         {
           // return 0 not NaN ?
@@ -136,7 +112,41 @@ public abstract class ContactMatrix implements ContactMatrixI
       }
     });
   }
-
+  private Float getFloatElementAt(int column, int p)
+  {
+    
+    List<Float> clist;
+    Float cl = null;
+    if (symmetric)
+    {
+      if (p < column)
+      {
+        clist = contacts.get(p);
+        cl = clist.get(column);
+      }
+      else
+      {
+        clist = contacts.get(column);
+        cl = clist.get(p);
+      }
+    }
+    else
+    {
+      clist = contacts.get(p);
+      cl = clist.get(column);
+    }
+    return cl;
+  }
+  @Override
+  public double getElementAt(int column, int row)
+  {
+    Float cl = getFloatElementAt(column, row);
+    if (cl!=null)
+    {
+      return cl;
+    }
+    throw(new RuntimeException("Out of Bounds "+column+","+row));
+  }
   @Override
   public float getMin()
   {
@@ -160,30 +170,27 @@ public abstract class ContactMatrix implements ContactMatrixI
   {
     return "Contact Matrix";
   }
-  GroupSet grps = new GroupSet();
-  @Override
-  public GroupSetI getGroupSet()
-  {
-    return grps;
-  }
-  @Override
-  public void setGroupSet(GroupSet makeGroups)
-  {
-    grps = makeGroups;
-  }
   public static String contactToFloatString(ContactMatrixI cm)
   {
     StringBuilder sb = new StringBuilder();
     for (int c = 0; c < cm.getWidth(); c++)
     {
       ContactListI cl = cm.getContactList(c);
+      long lastsb=-1;
       if (cl != null)
       {
         for (int h = 0; h <= cl.getContactHeight(); h++)
         {
           if (sb.length() > 0)
           {
-            sb.append('\t');
+            if (sb.length()-lastsb>320)
+            {
+              // newline
+              sb.append('\n');
+              lastsb=sb.length();
+            } else {
+              sb.append('\t');
+            }
           }
           sb.append(cl.getContactAt(h));
         }
@@ -196,7 +203,7 @@ public abstract class ContactMatrix implements ContactMatrixI
           int rows)
   {
     float[][] vals = new float[cols][rows];
-    StringTokenizer tabsep = new StringTokenizer(values, "" + '\t');
+    StringTokenizer tabsep = new StringTokenizer(values, "" + '\t'+'\n');
     int c = 0, r = 0;
     while (tabsep.hasMoreTokens())
     {
index 925025f..4261519 100644 (file)
@@ -199,5 +199,17 @@ public interface ContactMatrixI
     }
     return Color.white;
   }
+
+  /**
+   * direct access to column and row position of matrix
+   
+   * Implementations are allowed to throw
+   * RunTimeExceptions if _column/i are out of bounds
+   * 
+   * @param column
+   * @param row
+   * @return
+   */
+  double getElementAt(int column, int row);
   
 }
diff --git a/src/jalview/datamodel/FloatContactMatrix.java b/src/jalview/datamodel/FloatContactMatrix.java
new file mode 100644 (file)
index 0000000..5fb156f
--- /dev/null
@@ -0,0 +1,133 @@
+package jalview.datamodel;
+
+public class FloatContactMatrix extends GroupSetHolder implements ContactMatrixI
+{
+
+  int maxrow = 0, maxcol = 0;
+
+
+  float[][] elements;
+
+  float maxscore;
+
+
+  public FloatContactMatrix(float[][] matrix)
+  {
+    maxcol = 0;
+    for (float[] row : matrix)
+    {
+      if (row.length > maxcol)
+      {
+        maxcol = row.length;
+      }
+      maxscore = row[0];
+      for (float f : row)
+      {
+        if (maxscore < f)
+        {
+          maxscore = f;
+        }
+      }
+    }
+    maxrow = matrix.length;
+    elements = matrix;
+  }
+
+  public FloatContactMatrix(float[][] elements2, GroupSet grps2)
+  {
+    this(elements2);
+    setGroupSet(grps2);
+  }
+
+  /**
+   * getContactList(column) @returns the vector of predicted alignment errors
+   * for reference position given by column
+   */
+  @Override
+  public ContactListI getContactList(final int column)
+  {
+    if (column < 0 || column >= elements.length)
+    {
+      return null;
+    }
+
+    return new ContactListImpl(new ContactListProviderI()
+    {
+      @Override
+      public int getPosition()
+      {
+        return column;
+      }
+
+      @Override
+      public int getContactHeight()
+      {
+        return maxcol - 1;
+      }
+
+      @Override
+      public double getContactAt(int mcolumn)
+      {
+        if (mcolumn < 0 || mcolumn >= elements[column].length)
+        {
+          return -1;
+        }
+        return elements[column][mcolumn];
+      }
+    });
+  }
+
+  /**
+   * getElementAt(column, i) @returns the predicted superposition error for the
+   * ith position when column is used as reference
+   */
+  @Override
+  public double getElementAt(int _column, int i)
+  {
+    return elements[_column][i];
+  }
+
+  @Override
+  public float getMin()
+  {
+    return 0;
+  }
+
+  @Override
+  public float getMax()
+  {
+    return maxscore;
+  }
+
+  @Override
+  public String getAnnotDescr()
+  {
+    // TODO Auto-generated method stub
+    return null;
+  }
+
+  @Override
+  public String getAnnotLabel()
+  {
+    // TODO Auto-generated method stub
+    return null;
+  }
+
+  @Override
+  public String getType()
+  {
+    return null;
+  }
+
+  @Override
+  public int getWidth()
+  {
+    return maxcol;
+  }
+
+  @Override
+  public int getHeight()
+  {
+    return maxrow;
+  }
+}
diff --git a/src/jalview/datamodel/GroupSetHolder.java b/src/jalview/datamodel/GroupSetHolder.java
new file mode 100644 (file)
index 0000000..faeb7c0
--- /dev/null
@@ -0,0 +1,24 @@
+package jalview.datamodel;
+
+/**
+ * holds a group set and provides getters and setters for ContactMatrixI
+ * implementations
+ * 
+ * @author jprocter
+ */
+public class GroupSetHolder
+{
+
+  GroupSet grps = new GroupSet();
+
+  public GroupSetI getGroupSet()
+  {
+    return grps;
+  }
+
+  public void setGroupSet(GroupSet makeGroups)
+  {
+    grps = makeGroups;
+  }
+
+}
index f8fd750..b04ac13 100644 (file)
@@ -114,7 +114,7 @@ public class SeqDistanceContactMatrix
     return width;
   }
   @Override
-  protected double getElementAt(int _column, int i)
+  public double getElementAt(int _column, int i)
   {
     return Math.abs(_column - i);
   }
index 3045d3d..4e1b2b0 100644 (file)
@@ -154,5 +154,14 @@ public class TDB_FTSData implements FTSData
   {
     return (String) getField(Model_id);
   }
+  
+  public String getConfidenceScoreType()
+  {
+    return (String) getField(Confidence_Score_Type);
+  }
+  public String getConfidenceScoreVersion()
+  {
+    return (String) getField(Confidence_Score_Version);
+  }
 
 }
index 35afb69..070e67d 100644 (file)
@@ -3067,7 +3067,13 @@ public class Desktop extends jalview.jbgui.GDesktop
    */
   public static void showUrl(final String url)
   {
-    showUrl(url, Desktop.instance);
+    if (url!=null && !url.trim().equals("")) {
+      jalview.bin.Console.info("Opening URL: "+url);
+      showUrl(url, Desktop.instance);
+    } else {
+      jalview.bin.Console.warn("Ignoring attempt to show an empty URL.");
+    }
+    
   }
 
   /**
index a72e221..8135019 100644 (file)
@@ -1008,8 +1008,13 @@ public class StructureChooser extends GStructureChooser
               .getFTSDataFor(getResultTable(), selectedRow,
                       discoveredStructuresSet);
       String pageUrl = row.getModelViewUrl();
+      
       JPopupMenu popup = new JPopupMenu("3D Beacons");
       JMenuItem viewUrl = new JMenuItem("View model web page");
+      if (pageUrl == null || "".equals(pageUrl.trim())) {
+        viewUrl.setEnabled(false);
+        viewUrl.setText("No model page available.");
+      }
       viewUrl.addActionListener(new ActionListener()
       {
         @Override
index 1cc7be4..28861d9 100644 (file)
@@ -223,8 +223,8 @@ public class TDBResultAnalyser
                 if (!o1_qualtype.equals(o2_qualtype))
                 {
                   // prefer LDDT measure over others
-                  return "pLDDT".equals(o1_prov) ? -1
-                          : "pLDDT".equals(o2_prov) ? 1 : 0;
+                  return "pLDDT".equals(o1_qualtype) ? -1
+                          : "pLDDT".equals(o2_qualtype) ? 1 : 0;
                 }
                 // OR NO VALUE FOR THE QUALITY
                 if (eitherNull(idx_mqual, o1data, o2data))
@@ -234,7 +234,8 @@ public class TDBResultAnalyser
                 // models, so rank on qmean - b
                 double o1_mq = (Double) o1data[idx_mqual];
                 double o2_mq = (Double) o2data[idx_mqual];
-                return (o2_mq < o1_mq) ? 1 : (o2_mq == o1_mq) ? 0 : -1;
+                int res = (o2_mq < o1_mq) ? 1 : (o2_mq == o1_mq) ? 0 : -1;
+                return ("pLDDT".equals(o1_qualtype)) ? -res : res;
               }
             }
             else
index e32ba50..76ef85f 100644 (file)
@@ -310,7 +310,7 @@ public class ThreeDBStructureChooserQuerySource
             && tdBeaconsFilters.contains(fieldToFilterBy);
   }
 
-  private String remove_prefix(String fieldToFilterBy)
+  protected String remove_prefix(String fieldToFilterBy)
   {
     if (tdBeaconsFilters != null
             && tdBeaconsFilters.contains(fieldToFilterBy)
index cc20fce..ecb24b4 100644 (file)
@@ -91,12 +91,15 @@ import jalview.datamodel.AlignedCodonFrame;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.ContactListI;
 import jalview.datamodel.ContactMatrix;
 import jalview.datamodel.ContactMatrixI;
 import jalview.datamodel.DBRefEntry;
+import jalview.datamodel.FloatContactMatrix;
 import jalview.datamodel.GeneLocus;
 import jalview.datamodel.GraphLine;
 import jalview.datamodel.GroupSet;
+import jalview.datamodel.GroupSetI;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.Point;
 import jalview.datamodel.RnaViewerModel;
@@ -199,6 +202,7 @@ import jalview.xml.binding.jalview.JalviewUserColours.Colour;
 import jalview.xml.binding.jalview.MapListType;
 import jalview.xml.binding.jalview.MapListType.MapListFrom;
 import jalview.xml.binding.jalview.MapListType.MapListTo;
+import jalview.xml.binding.jalview.MapOnAMatrixType;
 import jalview.xml.binding.jalview.Mapping;
 import jalview.xml.binding.jalview.MatrixType;
 import jalview.xml.binding.jalview.NoValueColour;
@@ -268,7 +272,7 @@ public class Jalview2XML
 
   Map<String, SequenceI> incompleteSeqs = null;
 
-  List<SeqFref> frefedSequence = null;
+  List<forwardRef> frefedSequence = null;
 
   boolean raiseGUI = true; // whether errors are raised in dialog boxes or not
 
@@ -283,6 +287,13 @@ public class Jalview2XML
    * entry names
    */
   private Map<RnaModel, String> rnaSessions = new HashMap<>();
+  
+  /**
+   * map from contact matrices to their XML ids
+   */
+  private Map<ContactMatrixI,String> contactMatrices = new HashMap<>();
+  private Map<String, ContactMatrixI> contactMatrixRefs = new HashMap<>();
+  private List<jalview.xml.binding.jalview.MatrixType> xmlMatrices= new ArrayList<>();
 
   /**
    * A helper method for safely using the value of an optional attribute that
@@ -380,18 +391,17 @@ public class Jalview2XML
   }
 
   /**
-   * base class for resolving forward references to sequences by their ID
+   * base class for resolving forward references to an as-yet unmarshalled object referenced by already unmarshalled objects
    * 
    * @author jprocter
    *
    */
-  abstract class SeqFref
-  {
+  abstract class forwardRef {
     String sref;
 
     String type;
 
-    public SeqFref(String _sref, String type)
+    public forwardRef(String _sref, String type)
     {
       sref = _sref;
       this.type = type;
@@ -402,6 +412,28 @@ public class Jalview2XML
       return sref;
     }
 
+    public abstract boolean isResolvable();
+    /**
+     * @return true if the forward reference was fully resolved
+     */
+    abstract boolean resolve();
+
+    @Override
+    public String toString()
+    {
+      return type + " reference to " + sref;
+    }
+  }
+  /**
+   * resolve forward references to sequences by their ID
+   * @author jprocter
+   */
+  abstract class SeqFref extends forwardRef
+  {
+    public SeqFref(String _sref, String type)
+    {
+      super(_sref, type);
+    }
     public SequenceI getSrefSeq()
     {
       return seqRefIds.get(sref);
@@ -424,17 +456,6 @@ public class Jalview2XML
       }
       return sq;
     }
-
-    /**
-     * @return true if the forward reference was fully resolved
-     */
-    abstract boolean resolve();
-
-    @Override
-    public String toString()
-    {
-      return type + " reference to " + sref;
-    }
   }
 
   /**
@@ -497,15 +518,42 @@ public class Jalview2XML
     };
     return fref;
   }
+  
+  public forwardRef newMatrixFref(final String matRef,
+          final jalview.util.MapList mapping, final AlignmentAnnotation jaa)
+  {
+    forwardRef fref = new forwardRef(matRef,
+            "Matrix Reference for sequence and annotation")
+    {
+
+      @Override
+      boolean resolve()
+      {
+        ContactMatrixI cm = contactMatrixRefs.get(matRef);
+        PAEContactMatrix newpae = new PAEContactMatrix(jaa.sequenceRef,
+                mapping, cm);
+
+        jaa.sequenceRef.addContactListFor(jaa, newpae);
+        return true;
+      }
+
+      @Override
+      public boolean isResolvable()
+      {
+        return (contactMatrixRefs.get(matRef) != null);
+      }
+    };
+    return fref;
+  }
 
   public void resolveFrefedSequences()
   {
-    Iterator<SeqFref> nextFref = frefedSequence.iterator();
+    Iterator<forwardRef> nextFref = frefedSequence.iterator();
     int toresolve = frefedSequence.size();
     int unresolved = 0, failedtoresolve = 0;
     while (nextFref.hasNext())
     {
-      SeqFref ref = nextFref.next();
+      forwardRef ref = nextFref.next();
       if (ref.isResolvable())
       {
         try
@@ -1769,6 +1817,20 @@ public class Jalview2XML
       // jms.addViewport(view);
       object.getViewport().add(view);
     }
+    
+    
+    if (storeDS)
+    {
+      // store matrices referenced by any views or annotation in this dataset
+      if (xmlMatrices!=null && xmlMatrices.size()>0)
+      {
+        Console.debug("Adding "+xmlMatrices.size()+" matrices to dataset.");
+        vamsasSet.getMatrix().addAll(xmlMatrices);
+        xmlMatrices.clear();
+      }
+    }
+
+    
     // object.setJalviewModelSequence(jms);
     // object.getVamsasModel().addSequenceSet(vamsasSet);
     object.getVamsasModel().getSequenceSet().add(vamsasSet);
@@ -2333,64 +2395,7 @@ public class Jalview2XML
                     .getContactMatrixFor(annotation);
             if (cm != null)
             {
-              MatrixType xmlmat = new MatrixType();
-              xmlmat.setType(cm.getType());
-              xmlmat.setRows(BigInteger.valueOf(cm.getWidth()));
-              xmlmat.setCols(BigInteger.valueOf(cm.getHeight()));
-              // consider using an opaque to/from -> allow instance to control
-              // its representation ?
-              xmlmat.setElements(ContactMatrix.contactToFloatString(cm));
-              if (cm.hasGroups())
-              {
-                for (BitSet gp : cm.getGroups())
-                {
-                  xmlmat.getGroups().add(stringifyBitset(gp));
-                }
-              }
-              if (cm.hasTree())
-              {
-                // provenance object for tree ?
-                xmlmat.getNewick().add(cm.getNewick());
-                xmlmat.setTreeMethod(cm.getTreeMethod());
-              }
-              if (cm.hasCutHeight())
-              {
-                xmlmat.setCutHeight(cm.getCutHeight());
-              }
-              // set/get properties
-              if (cm instanceof MappableContactMatrixI)
-              {
-                jalview.util.MapList mlst = ((MappableContactMatrixI) cm)
-                        .getMapFor(annotation.sequenceRef);
-                if (mlst != null)
-                {
-                  MapListType mp = new MapListType();
-                  List<int[]> r = mlst.getFromRanges();
-                  for (int[] range : r)
-                  {
-                    MapListFrom mfrom = new MapListFrom();
-                    mfrom.setStart(range[0]);
-                    mfrom.setEnd(range[1]);
-                    // mp.addMapListFrom(mfrom);
-                    mp.getMapListFrom().add(mfrom);
-                  }
-                  r = mlst.getToRanges();
-                  for (int[] range : r)
-                  {
-                    MapListTo mto = new MapListTo();
-                    mto.setStart(range[0]);
-                    mto.setEnd(range[1]);
-                    // mp.addMapListTo(mto);
-                    mp.getMapListTo().add(mto);
-                  }
-                  mp.setMapFromUnit(
-                          BigInteger.valueOf(mlst.getFromRatio()));
-                  mp.setMapToUnit(BigInteger.valueOf(mlst.getToRatio()));
-                  xmlmat.setMapping(mp);
-                }
-              }
-              // and add to model
-              an.getContactmatrix().add(xmlmat);
+              storeMatrixFor(vamsasSet, an,annotation, cm);
             }
           }
         }
@@ -2497,6 +2502,88 @@ public class Jalview2XML
 
   }
 
+  private void storeMatrixFor(SequenceSet root, Annotation an, AlignmentAnnotation annotation, ContactMatrixI cm)
+  {
+    String cmId = contactMatrices.get(cm);
+    MatrixType xmlmat=null;
+    
+    // first create an xml ref for the matrix data, if none exist
+    if (cmId == null)
+    {
+      xmlmat = new MatrixType();
+      xmlmat.setType(cm.getType());
+      xmlmat.setRows(BigInteger.valueOf(cm.getWidth()));
+      xmlmat.setCols(BigInteger.valueOf(cm.getHeight()));
+      // consider using an opaque to/from -> allow instance to control
+      // its representation ?
+      xmlmat.setElements(ContactMatrix.contactToFloatString(cm));
+      if (cm.hasGroups())
+      {
+        for (BitSet gp : cm.getGroups())
+        {
+          xmlmat.getGroups().add(stringifyBitset(gp));
+        }
+      }
+      if (cm.hasTree())
+      {
+        // provenance object for tree ?
+        xmlmat.getNewick().add(cm.getNewick());
+        xmlmat.setTreeMethod(cm.getTreeMethod());
+      }
+      if (cm.hasCutHeight())
+      {
+        xmlmat.setCutHeight(cm.getCutHeight());
+      }
+      xmlmat.setId(cmId = "m"+contactMatrices.size()+System.currentTimeMillis());
+      Console.trace("Matrix data stored :"+cmId);
+      contactMatrices.put(cm, cmId);
+      contactMatrixRefs.put(cmId, cm);
+      xmlMatrices.add(xmlmat);
+    } else {
+      Console.trace("Existing Matrix stored :"+cmId);
+    }
+
+    // now store mapping
+
+    MapOnAMatrixType xmlmatmapping = new MapOnAMatrixType();
+    xmlmatmapping.setMatrix(cmId);
+    
+    // Pretty much all matrices currently managed in this way are
+    // mappableContactMatrixI implementations - but check anyway
+    if (cm instanceof MappableContactMatrixI)
+    {
+      jalview.util.MapList mlst = ((MappableContactMatrixI) cm)
+              .getMapFor(annotation.sequenceRef);
+      if (mlst != null)
+      {
+        MapListType mp = new MapListType();
+        List<int[]> r = mlst.getFromRanges();
+        for (int[] range : r)
+        {
+          MapListFrom mfrom = new MapListFrom();
+          mfrom.setStart(range[0]);
+          mfrom.setEnd(range[1]);
+          // mp.addMapListFrom(mfrom);
+          mp.getMapListFrom().add(mfrom);
+        }
+        r = mlst.getToRanges();
+        for (int[] range : r)
+        {
+          MapListTo mto = new MapListTo();
+          mto.setStart(range[0]);
+          mto.setEnd(range[1]);
+          // mp.addMapListTo(mto);
+          mp.getMapListTo().add(mto);
+        }
+        mp.setMapFromUnit(BigInteger.valueOf(mlst.getFromRatio()));
+        mp.setMapToUnit(BigInteger.valueOf(mlst.getToRatio()));
+        xmlmatmapping.setMapping(mp);
+      }
+    }
+    // and add to model
+    an.getContactmatrix().add(xmlmatmapping);
+  }
+
   private String stringifyBitset(BitSet gp)
   {
     StringBuilder sb = new StringBuilder();
@@ -3073,6 +3160,7 @@ public class Jalview2XML
       initSeqRefs();
     }
     AlignFrame af = null, _af = null;
+    List<AlignFrame> toRepaint=new ArrayList<AlignFrame>();
     IdentityHashMap<AlignmentI, AlignmentI> importedDatasets = new IdentityHashMap<>();
     Map<String, AlignFrame> gatherToThisFrame = new HashMap<>();
     final String file = jprovider.getFilename();
@@ -3107,6 +3195,7 @@ public class Jalview2XML
             if (_af != null && object.getViewport().size() > 0)
             // getJalviewModelSequence().getViewportCount() > 0)
             {
+              toRepaint.add(_af);
               if (af == null)
               {
                 // store a reference to the first view
@@ -3136,6 +3225,10 @@ public class Jalview2XML
       } while (jarentry != null);
       jin.close();
       resolveFrefedSequences();
+      for (AlignFrame alignFrame:toRepaint)
+      {
+        alignFrame.repaint();
+      }
     } catch (IOException ex)
     {
       ex.printStackTrace();
@@ -3526,6 +3619,14 @@ public class Jalview2XML
     }
 
     // ////////////////////////////////
+    // LOAD MATRICES (IF ANY)
+    
+    if (vamsasSet.getMatrix()!=null && vamsasSet.getMatrix().size()>0)
+    {
+      importMatrixData(vamsasSet.getMatrix());
+    }
+    
+    // ////////////////////////////////
     // LOAD SEQUENCES
 
     List<SequenceI> hiddenSeqs = null;
@@ -4057,80 +4158,10 @@ public class Jalview2XML
           if (annotation.getContactmatrix() != null
                   && annotation.getContactmatrix().size() > 0)
           {
-            for (MatrixType xmlmat : annotation.getContactmatrix())
+            for (MapOnAMatrixType xmlmat : annotation.getContactmatrix())
             {
-              if (PAEContactMatrix.PAEMATRIX.equals(xmlmat.getType()))
-              {
-                if (!xmlmat.getRows().equals(xmlmat.getCols()))
-                {
-                  Console.error("Can't handle non square PAE Matrices");
-                }
-                else
-                {
-                  float[][] elements = ContactMatrix
-                          .fromFloatStringToContacts(xmlmat.getElements(),
-                                  xmlmat.getCols().intValue(),
-                                  xmlmat.getRows().intValue());
-                  jalview.util.MapList mapping = null;
-                  if (xmlmat.getMapping() != null)
-                  {
-                    MapListType m = xmlmat.getMapping();
-                    // Mapping m = dr.getMapping();
-                    int fr[] = new int[m.getMapListFrom().size() * 2];
-                    Iterator<MapListFrom> from = m.getMapListFrom()
-                            .iterator();// enumerateMapListFrom();
-                    for (int _i = 0; from.hasNext(); _i += 2)
-                    {
-                      MapListFrom mf = from.next();
-                      fr[_i] = mf.getStart();
-                      fr[_i + 1] = mf.getEnd();
-                    }
-                    int fto[] = new int[m.getMapListTo().size() * 2];
-                    Iterator<MapListTo> to = m.getMapListTo().iterator();// enumerateMapListTo();
-                    for (int _i = 0; to.hasNext(); _i += 2)
-                    {
-                      MapListTo mf = to.next();
-                      fto[_i] = mf.getStart();
-                      fto[_i + 1] = mf.getEnd();
-                    }
-
-                    mapping = new jalview.util.MapList(fr, fto,
-                            m.getMapFromUnit().intValue(),
-                            m.getMapToUnit().intValue());
-                  }
-                  List<BitSet> newgroups = new ArrayList<BitSet>();
-                  if (xmlmat.getGroups().size() > 0)
-                  {
-                    for (String sgroup : xmlmat.getGroups())
-                    {
-                      newgroups.add(deStringifyBitset(sgroup));
-                    }
-                  }
-                  String nwk = xmlmat.getNewick().size() > 0
-                          ? xmlmat.getNewick().get(0)
-                          : null;
-                  if (xmlmat.getNewick().size() > 1)
-                  {
-                    Console.log.info(
-                            "Ignoring additional clusterings for contact matrix");
-                  }
-                  String treeMethod = xmlmat.getTreeMethod();
-                  double thresh = xmlmat.getCutHeight() != null
-                          ? xmlmat.getCutHeight()
-                          : 0;
-                  GroupSet grpset = new GroupSet();
-                  grpset.restoreGroups(newgroups, treeMethod, nwk, thresh);
-                  PAEContactMatrix newpae = new PAEContactMatrix(
-                          jaa.sequenceRef, mapping, elements, grpset);
-                  jaa.sequenceRef.addContactListFor(jaa, newpae);
-                }
-              }
-              else
-              {
-                Console.error("Ignoring CONTACT_MAP annotation with type "
-                        + xmlmat.getType());
-              }
-            }
+              restoreMatrixFor(jaa.sequenceRef, jaa, xmlmat);
+            } 
           }
         }
 
@@ -4360,6 +4391,105 @@ public class Jalview2XML
     return af;
   }
 
+  private void importMatrixData(List<MatrixType> xmlmatrices)
+  {
+    for (MatrixType xmlmat:xmlmatrices)
+    {
+      if (!PAEContactMatrix.PAEMATRIX.equals(xmlmat.getType()))
+      {
+        Console.error("Ignoring matrix '"+xmlmat.getId()+"' of type '"+xmlmat.getType());
+        continue;
+      }
+
+      if (!xmlmat.getRows().equals(xmlmat.getCols()))
+      {
+        Console.error("Can't handle non square matrices");
+        continue;
+      }
+
+      float[][] elements = ContactMatrix
+              .fromFloatStringToContacts(xmlmat.getElements(),
+                      xmlmat.getCols().intValue(),
+                      xmlmat.getRows().intValue());
+      
+      List<BitSet> newgroups = new ArrayList<BitSet>();
+      if (xmlmat.getGroups().size() > 0)
+      {
+        for (String sgroup : xmlmat.getGroups())
+        {
+          newgroups.add(deStringifyBitset(sgroup));
+        }
+      }
+      String nwk = xmlmat.getNewick().size() > 0
+              ? xmlmat.getNewick().get(0)
+              : null;
+      if (xmlmat.getNewick().size() > 1)
+      {
+        Console.log.info(
+                "Ignoring additional clusterings for contact matrix");
+      }
+      String treeMethod = xmlmat.getTreeMethod();
+      double thresh = xmlmat.getCutHeight() != null
+              ? xmlmat.getCutHeight()
+              : 0;
+      GroupSet grpset = new GroupSet();
+      grpset.restoreGroups(newgroups, treeMethod, nwk, thresh);
+      
+      FloatContactMatrix newcm = new FloatContactMatrix(elements, grpset);
+      contactMatrixRefs.put(xmlmat.getId(), newcm);
+      Console.trace("Restored base contact matrix "+xmlmat.getId());
+    }
+  }
+
+  private void restoreMatrixFor(SequenceI sequenceRef,
+          AlignmentAnnotation jaa, MapOnAMatrixType xmlmatmapping)
+  {    
+    // restore mapping data to matrix data
+    jalview.util.MapList mapping = null;
+    if (xmlmatmapping.getMapping() != null)
+    {
+      MapListType m = xmlmatmapping.getMapping();
+      // Mapping m = dr.getMapping();
+      int fr[] = new int[m.getMapListFrom().size() * 2];
+      Iterator<MapListFrom> from = m.getMapListFrom().iterator();// enumerateMapListFrom();
+      for (int _i = 0; from.hasNext(); _i += 2)
+      {
+        MapListFrom mf = from.next();
+        fr[_i] = mf.getStart();
+        fr[_i + 1] = mf.getEnd();
+      }
+      int fto[] = new int[m.getMapListTo().size() * 2];
+      Iterator<MapListTo> to = m.getMapListTo().iterator();// enumerateMapListTo();
+      for (int _i = 0; to.hasNext(); _i += 2)
+      {
+        MapListTo mf = to.next();
+        fto[_i] = mf.getStart();
+        fto[_i + 1] = mf.getEnd();
+      }
+
+      mapping = new jalview.util.MapList(fr, fto,
+              m.getMapFromUnit().intValue(), m.getMapToUnit().intValue());
+    }
+    
+    // locate matrix data in project XML and import
+    ContactMatrixI cm = contactMatrixRefs.get(xmlmatmapping.getMatrix());
+    if (cm == null)
+    {
+      frefedSequence
+              .add(newMatrixFref(xmlmatmapping.getMatrix(), mapping, jaa));
+    }
+    else
+    {
+      // create the PAEMatrix now
+      PAEContactMatrix newpae = new PAEContactMatrix(jaa.sequenceRef,
+              mapping, cm);
+
+      jaa.sequenceRef.addContactListFor(jaa, newpae);
+    }
+
+    return;
+  }
+
   /**
    * Load Overview window, restoring colours, 'show hidden regions' flag, title
    * and geometry as saved
index af8838c..edf3ca2 100644 (file)
@@ -128,6 +128,10 @@ public abstract class ContactMapRenderer implements AnnotationRowRendererI
     int column;
     int aaMax = aa_annotations.length - 1;
     ContactMatrixI cm = viewport.getContactMatrix(_aa);
+    if (cm==null)
+    {
+      return;
+    }
     while (x < eRes - sRes)
     {
       column = sRes + x;
index 435d40c..508a069 100644 (file)
@@ -305,14 +305,16 @@ public class AlignCalcManager implements AlignCalcManagerI
           Class<? extends AlignCalcWorkerI> workerClass)
   {
     List<AlignCalcWorkerI> workingClass = new ArrayList<AlignCalcWorkerI>();
+    AlignCalcWorkerI[] workers;
     synchronized (canUpdate)
     {
-      for (AlignCalcWorkerI worker : canUpdate)
+      workers = canUpdate.toArray(new AlignCalcWorkerI[0]);
+    }
+    for (AlignCalcWorkerI worker : workers)
+    {
+      if (workerClass.equals(worker.getClass()))
       {
-        if (workerClass.equals(worker.getClass()))
-        {
-          workingClass.add(worker);
-        }
+        workingClass.add(worker);
       }
     }
     return (workingClass.size() == 0) ? null : workingClass;
index 9762428..3f294d0 100644 (file)
@@ -73,4 +73,6 @@ public interface MappableContactMatrixI extends ContactMatrixI
    * @return sequence position(s) corresponding to column in contact matrix
    */
   int[] getMappedPositionsFor(SequenceI localFrame, int from, int to);
+
+  ContactMatrixI getMappedMatrix();
 }
index d545741..5f27a2c 100644 (file)
@@ -7,6 +7,7 @@ import java.util.BitSet;
 import jalview.datamodel.ContactListI;
 import jalview.datamodel.ContactListImpl;
 import jalview.datamodel.ContactListProviderI;
+import jalview.datamodel.ContactMatrixI;
 import jalview.datamodel.GroupSet;
 import jalview.datamodel.GroupSetI;
 import jalview.datamodel.Mapping;
@@ -17,42 +18,77 @@ import jalview.ws.datamodel.MappableContactMatrixI;
 public abstract class MappableContactMatrix<T extends MappableContactMatrix<T>>
         implements MappableContactMatrixI
 {
-  SequenceI refSeq = null;
-
-  MapList toSeq = null;
-
   /**
-   * the length that refSeq is expected to be (excluding gaps, of course)
+   * the matrix that is being mapped to
    */
-  int length;
+  protected ContactMatrixI mappedMatrix=null;
+  
+  public ContactListI getContactList(int column)
+  {
+    return mappedMatrix.getContactList(column);
+  }
+
+  public float getMin()
+  {
+    return mappedMatrix.getMin();
+  }
+
+  public float getMax()
+  {
+    return mappedMatrix.getMax();
+  }
+
+  public int getWidth()
+  {
+    return mappedMatrix.getWidth();
+  }
+
+  public int getHeight()
+  {
+    return mappedMatrix.getHeight();
+  }
 
   @Override
-  public boolean hasReferenceSeq()
+  public ContactMatrixI getMappedMatrix()
   {
-    return (refSeq != null);
+    return mappedMatrix;
   }
+  
+  @Override
+  public GroupSetI getGroupSet()
+  {
+    return mappedMatrix.getGroupSet();
+  };
 
   @Override
-  public SequenceI getReferenceSeq()
+  public void setGroupSet(GroupSet makeGroups)
   {
-    return refSeq;
+    mappedMatrix.setGroupSet(makeGroups);
   }
+  
+  /**
+   * the sequence and how it is mapped to the matrix
+   */
+
+  SequenceI refSeq = null;
+
+  MapList toSeq = null;
 
   /**
-   * container for groups - defined on matrix columns
+   * the length that refSeq is expected to be (excluding gaps, of course)
    */
-  GroupSet grps = new GroupSet();
+  int length;
 
   @Override
-  public GroupSetI getGroupSet()
+  public boolean hasReferenceSeq()
   {
-    return grps;
-  };
+    return (refSeq != null);
+  }
 
   @Override
-  public void setGroupSet(GroupSet makeGroups)
+  public SequenceI getReferenceSeq()
   {
-    grps = makeGroups;
+    return refSeq;
   }
 
   @Override
@@ -439,7 +475,7 @@ public abstract class MappableContactMatrix<T extends MappableContactMatrix<T>>
   }
 
   /**
-   * get a specific element of the contact matrix in its data-local coordinates
+   * get a specific element of the underlying contact matrix in its data-local coordinates
    * rather than the mapped frame. Implementations are allowed to throw
    * RunTimeExceptions if _column/i are out of bounds
    * 
@@ -447,6 +483,29 @@ public abstract class MappableContactMatrix<T extends MappableContactMatrix<T>>
    * @param i
    * @return
    */
-  protected abstract double getElementAt(int _column, int i);
+  public double getElementAt(int _column, int i) {
+    return mappedMatrix.getElementAt(_column, i);
+  }
+
+  @Override
+  public int hashCode()
+  {
+    return 7 * (refSeq != null ? refSeq.hashCode() : 0)
+            + 11 * (toSeq != null ? toSeq.hashCode() : 0)
+            + 13 * (mappedMatrix != null ? mappedMatrix.hashCode() : 0)
+            + length * 3;
+  }
 
+  @Override
+  public boolean equals(Object obj)
+  {
+    if (obj == null || !(obj.getClass().equals(getClass())))
+    {
+      return false;
+    }
+    T them = (T) obj;
+    return mappedMatrix == them.mappedMatrix && length == them.length
+            && refSeq == them.refSeq && toSeq.equals(them.toSeq);
+
+  }
 }
index 22884f1..dcd2022 100644 (file)
@@ -13,6 +13,7 @@ import jalview.datamodel.ContactListI;
 import jalview.datamodel.ContactListImpl;
 import jalview.datamodel.ContactListProviderI;
 import jalview.datamodel.ContactMatrixI;
+import jalview.datamodel.FloatContactMatrix;
 import jalview.datamodel.GroupSet;
 import jalview.datamodel.SequenceDummy;
 import jalview.datamodel.SequenceI;
@@ -41,14 +42,6 @@ public class PAEContactMatrix extends
 {
 
 
-  int maxrow = 0, maxcol = 0;
-
-
-  float[][] elements;
-
-  float maxscore;
-
-
   @SuppressWarnings("unchecked")
   public PAEContactMatrix(SequenceI _refSeq, Map<String, Object> pae_obj)
           throws FileFormatException
@@ -75,26 +68,8 @@ public class PAEContactMatrix extends
    */
   public PAEContactMatrix(SequenceI _refSeq, float[][] matrix)
   {
+    mappedMatrix=new FloatContactMatrix(matrix);
     setRefSeq(_refSeq);
-    maxcol = 0;
-    for (float[] row : matrix)
-    {
-      if (row.length > maxcol)
-      {
-        maxcol = row.length;
-      }
-      maxscore = row[0];
-      for (float f : row)
-      {
-        if (maxscore < f)
-        {
-          maxscore = f;
-        }
-      }
-    }
-    maxrow = matrix.length;
-    elements = matrix;
-
   }
 
   /**
@@ -108,20 +83,40 @@ public class PAEContactMatrix extends
   public PAEContactMatrix(SequenceI newRefSeq, MapList newFromMapList,
           float[][] elements2, GroupSet grps2)
   {
-    this(newRefSeq, elements2);
+    this(newRefSeq, new FloatContactMatrix(elements2,grps2));
+    toSeq = newFromMapList;
+  }
+
+  public PAEContactMatrix(SequenceI _refSeq,
+          ContactMatrixI floatContactMatrix)
+  {
+    mappedMatrix = floatContactMatrix;
+    setRefSeq(_refSeq);
+  }
+  public PAEContactMatrix(SequenceI _refSeq, MapList newFromMapList,
+          ContactMatrixI floatContactMatrix)
+  {
+    mappedMatrix = floatContactMatrix;
+    setRefSeq(_refSeq);
     toSeq = newFromMapList;
-    grps = grps2;
+  }
+  
+  @Override
+  protected PAEContactMatrix newMappableContactMatrix(SequenceI newRefSeq,
+          MapList newFromMapList)
+  {
+    return new PAEContactMatrix(newRefSeq, newFromMapList, mappedMatrix);
   }
 
   /**
-   * parse a sane JSON representation of the pAE
+   * parse a sane JSON representation of the pAE and update the mappedMatrix
    * 
    * @param pae_obj
    */
   @SuppressWarnings("unchecked")
   private void parse_version_2_pAE(Map<String, Object> pae_obj)
   {
-    maxscore = -1;
+    float maxscore = -1;
     // look for a maxscore element - if there is one...
     try
     {
@@ -134,7 +129,7 @@ public class PAEContactMatrix extends
     }
     List<List<Long>> scoreRows = ((List<List<Long>>) MapUtils
             .getFirst(pae_obj, "predicted_aligned_error", "pae"));
-    elements = new float[scoreRows.size()][scoreRows.size()];
+    float[][] elements = new float[scoreRows.size()][scoreRows.size()];
     int row = 0, col = 0;
     for (List<Long> scoreRow : scoreRows)
     {
@@ -160,8 +155,7 @@ public class PAEContactMatrix extends
       row++;
       col = 0;
     }
-    maxcol = length;
-    maxrow = length;
+    mappedMatrix=new FloatContactMatrix(elements);
   }
 
   /**
@@ -178,6 +172,8 @@ public class PAEContactMatrix extends
     Iterator<Long> rows = ((List<Long>) pae_obj.get("residue1")).iterator();
     Iterator<Long> cols = ((List<Long>) pae_obj.get("residue2")).iterator();
     // two pass - to allocate the elements array
+    
+    int maxrow=-1,maxcol=-1;
     while (rows.hasNext())
     {
       int row = rows.next().intValue();
@@ -196,7 +192,7 @@ public class PAEContactMatrix extends
     cols = ((List<Long>) pae_obj.get("residue2")).iterator();
     Iterator<Double> scores = ((List<Double>) pae_obj.get("distance"))
             .iterator();
-    elements = new float[maxcol][maxrow];
+    float[][] elements = new float[maxcol][maxrow];
     while (scores.hasNext())
     {
       float escore = scores.next().floatValue();
@@ -213,68 +209,7 @@ public class PAEContactMatrix extends
       elements[col - 1][row-1] = escore;
     }
 
-    maxscore = ((Double) MapUtils.getFirst(pae_obj,
-            "max_predicted_aligned_error", "max_pae")).floatValue();
-  }
-
-  /**
-   * getContactList(column) @returns the vector of predicted alignment errors
-   * for reference position given by column
-   */
-  @Override
-  public ContactListI getContactList(final int column)
-  {
-    if (column < 0 || column >= elements.length)
-    {
-      return null;
-    }
-
-    return new ContactListImpl(new ContactListProviderI()
-    {
-      @Override
-      public int getPosition()
-      {
-        return column;
-      }
-
-      @Override
-      public int getContactHeight()
-      {
-        return maxcol - 1;
-      }
-
-      @Override
-      public double getContactAt(int mcolumn)
-      {
-        if (mcolumn < 0 || mcolumn >= elements[column].length)
-        {
-          return -1;
-        }
-        return elements[column][mcolumn];
-      }
-    });
-  }
-
-  /**
-   * getElementAt(column, i) @returns the predicted superposition error for the
-   * ith position when column is used as reference
-   */
-  @Override
-  protected double getElementAt(int _column, int i)
-  {
-    return elements[_column][i];
-  }
-
-  @Override
-  public float getMin()
-  {
-    return 0;
-  }
-
-  @Override
-  public float getMax()
-  {
-    return maxscore;
+    mappedMatrix=new FloatContactMatrix(elements);
   }
 
   @Override
@@ -303,17 +238,7 @@ public class PAEContactMatrix extends
     return PAEMATRIX;
   }
 
-  @Override
-  public int getWidth()
-  {
-    return maxcol;
-  }
 
-  @Override
-  public int getHeight()
-  {
-    return maxrow;
-  }
   public static void validateContactMatrixFile(String fileName)
           throws FileFormatException, IOException
   {
@@ -344,11 +269,13 @@ public class PAEContactMatrix extends
     }
   }
   @Override
-  protected PAEContactMatrix newMappableContactMatrix(SequenceI newRefSeq,
-          MapList newFromMapList)
+  public boolean equals(Object obj)
+  {
+    return super.equals(obj);
+  }
+  @Override
+  public int hashCode()
   {
-    PAEContactMatrix pae = new PAEContactMatrix(newRefSeq, newFromMapList,
-            elements, new GroupSet(grps));
-    return pae;
+    return super.hashCode();
   }
 }
index 6b98b6a..c241422 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.math.BigInteger;
@@ -17,320 +18,314 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for anonymous complex type.
+ * &lt;p&gt;Java class for anonymous complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="alcodon" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" />
- *                 &lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" />
- *                 &lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *         &lt;element name="alcodMap" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;sequence>
- *                   &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/>
- *                 &lt;/sequence>
- *                 &lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="alcodon" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
+ *                 &amp;lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
+ *                 &amp;lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *         &amp;lt;element name="alcodMap" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;sequence&amp;gt;
+ *                   &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&amp;gt;
+ *                 &amp;lt;/sequence&amp;gt;
+ *                 &amp;lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "alcodon", "alcodMap" })
+@XmlType(name = "", propOrder = {
+    "alcodon",
+    "alcodMap"
+})
 @XmlRootElement(name = "AlcodonFrame")
-public class AlcodonFrame
-{
-
-  protected List<AlcodonFrame.Alcodon> alcodon;
-
-  protected List<AlcodonFrame.AlcodMap> alcodMap;
+public class AlcodonFrame {
 
-  /**
-   * Gets the value of the alcodon property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the alcodon property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getAlcodon().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link AlcodonFrame.Alcodon }
-   * 
-   * 
-   */
-  public List<AlcodonFrame.Alcodon> getAlcodon()
-  {
-    if (alcodon == null)
-    {
-      alcodon = new ArrayList<AlcodonFrame.Alcodon>();
-    }
-    return this.alcodon;
-  }
-
-  /**
-   * Gets the value of the alcodMap property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the alcodMap property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getAlcodMap().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link AlcodonFrame.AlcodMap }
-   * 
-   * 
-   */
-  public List<AlcodonFrame.AlcodMap> getAlcodMap()
-  {
-    if (alcodMap == null)
-    {
-      alcodMap = new ArrayList<AlcodonFrame.AlcodMap>();
-    }
-    return this.alcodMap;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/>
-   *       &lt;/sequence>
-   *       &lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "mapping" })
-  public static class AlcodMap
-  {
-
-    @XmlElement(name = "Mapping", required = true)
-    protected Mapping mapping;
-
-    @XmlAttribute(name = "dnasq", required = true)
-    protected String dnasq;
+    protected List<AlcodonFrame.Alcodon> alcodon;
+    protected List<AlcodonFrame.AlcodMap> alcodMap;
 
     /**
+     * Gets the value of the alcodon property.
      * 
-     * a Mapping entry and an associated protein sequence
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodon property.
      * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getAlcodon().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link Mapping }
      * 
-     */
-    public Mapping getMapping()
-    {
-      return mapping;
-    }
-
-    /**
-     * Sets the value of the mapping property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link AlcodonFrame.Alcodon }
      * 
-     * @param value
-     *          allowed object is {@link Mapping }
      * 
      */
-    public void setMapping(Mapping value)
-    {
-      this.mapping = value;
+    public List<AlcodonFrame.Alcodon> getAlcodon() {
+        if (alcodon == null) {
+            alcodon = new ArrayList<AlcodonFrame.Alcodon>();
+        }
+        return this.alcodon;
     }
 
     /**
-     * Gets the value of the dnasq property.
+     * Gets the value of the alcodMap property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodMap property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getAlcodMap().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link AlcodonFrame.AlcodMap }
      * 
-     * @return possible object is {@link String }
      * 
      */
-    public String getDnasq()
-    {
-      return dnasq;
+    public List<AlcodonFrame.AlcodMap> getAlcodMap() {
+        if (alcodMap == null) {
+            alcodMap = new ArrayList<AlcodonFrame.AlcodMap>();
+        }
+        return this.alcodMap;
     }
 
+
     /**
-     * Sets the value of the dnasq property.
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;sequence&amp;gt;
+     *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&amp;gt;
+     *       &amp;lt;/sequence&amp;gt;
+     *       &amp;lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
      * 
-     * @param value
-     *          allowed object is {@link String }
      * 
      */
-    public void setDnasq(String value)
-    {
-      this.dnasq = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "mapping"
+    })
+    public static class AlcodMap {
 
-  }
+        @XmlElement(name = "Mapping", required = true)
+        protected Mapping mapping;
+        @XmlAttribute(name = "dnasq", required = true)
+        protected String dnasq;
 
-  /**
-   * 
-   * specifies a series of aligned codons from an associated DNA sequence
-   * alignment that when translated correspond to columns of a peptide
-   * alignment. Element may have either all pos1,2,3 attributes specified, or
-   * none at all (indicating a gapped column with no translated peptide).
-   * 
-   * 
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" />
-   *       &lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" />
-   *       &lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class Alcodon
-  {
+        /**
+         * 
+         *                                                                             a Mapping entry and an associated protein
+         *                                                                             sequence
+         *                                                                     
+         * 
+         * @return
+         *     possible object is
+         *     {@link Mapping }
+         *     
+         */
+        public Mapping getMapping() {
+            return mapping;
+        }
 
-    @XmlAttribute(name = "pos1")
-    protected BigInteger pos1;
+        /**
+         * Sets the value of the mapping property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Mapping }
+         *     
+         */
+        public void setMapping(Mapping value) {
+            this.mapping = value;
+        }
 
-    @XmlAttribute(name = "pos2")
-    protected BigInteger pos2;
+        /**
+         * Gets the value of the dnasq property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getDnasq() {
+            return dnasq;
+        }
 
-    @XmlAttribute(name = "pos3")
-    protected BigInteger pos3;
+        /**
+         * Sets the value of the dnasq property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setDnasq(String value) {
+            this.dnasq = value;
+        }
 
-    /**
-     * Gets the value of the pos1 property.
-     * 
-     * @return possible object is {@link BigInteger }
-     * 
-     */
-    public BigInteger getPos1()
-    {
-      return pos1;
     }
 
-    /**
-     * Sets the value of the pos1 property.
-     * 
-     * @param value
-     *          allowed object is {@link BigInteger }
-     * 
-     */
-    public void setPos1(BigInteger value)
-    {
-      this.pos1 = value;
-    }
 
     /**
-     * Gets the value of the pos2 property.
      * 
-     * @return possible object is {@link BigInteger }
+     *                                                                 specifies a series of aligned codons from an
+     *                                                                 associated DNA sequence alignment that when translated
+     *                                                                 correspond to columns of a peptide alignment.
+     *                                                                 Element may have
+     *                                                                 either all pos1,2,3 attributes specified, or none at all
+     *                                                                 (indicating a gapped column with no translated peptide).
+     *                                                         
      * 
-     */
-    public BigInteger getPos2()
-    {
-      return pos2;
-    }
-
-    /**
-     * Sets the value of the pos2 property.
+     * &lt;p&gt;Java class for anonymous complex type.
      * 
-     * @param value
-     *          allowed object is {@link BigInteger }
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
      * 
-     */
-    public void setPos2(BigInteger value)
-    {
-      this.pos2 = value;
-    }
-
-    /**
-     * Gets the value of the pos3 property.
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
+     *       &amp;lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
+     *       &amp;lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link BigInteger }
      * 
      */
-    public BigInteger getPos3()
-    {
-      return pos3;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class Alcodon {
 
-    /**
-     * Sets the value of the pos3 property.
-     * 
-     * @param value
-     *          allowed object is {@link BigInteger }
-     * 
-     */
-    public void setPos3(BigInteger value)
-    {
-      this.pos3 = value;
-    }
+        @XmlAttribute(name = "pos1")
+        protected BigInteger pos1;
+        @XmlAttribute(name = "pos2")
+        protected BigInteger pos2;
+        @XmlAttribute(name = "pos3")
+        protected BigInteger pos3;
+
+        /**
+         * Gets the value of the pos1 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link BigInteger }
+         *     
+         */
+        public BigInteger getPos1() {
+            return pos1;
+        }
 
-  }
+        /**
+         * Sets the value of the pos1 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link BigInteger }
+         *     
+         */
+        public void setPos1(BigInteger value) {
+            this.pos1 = value;
+        }
+
+        /**
+         * Gets the value of the pos2 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link BigInteger }
+         *     
+         */
+        public BigInteger getPos2() {
+            return pos2;
+        }
+
+        /**
+         * Sets the value of the pos2 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link BigInteger }
+         *     
+         */
+        public void setPos2(BigInteger value) {
+            this.pos2 = value;
+        }
+
+        /**
+         * Gets the value of the pos3 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link BigInteger }
+         *     
+         */
+        public BigInteger getPos3() {
+            return pos3;
+        }
+
+        /**
+         * Sets the value of the pos3 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link BigInteger }
+         *     
+         */
+        public void setPos3(BigInteger value) {
+            this.pos3 = value;
+        }
+
+    }
 
 }
index 2feda64..bb20751 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -16,810 +17,786 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for anonymous complex type.
+ * &lt;p&gt;Java class for anonymous complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}annotationElement" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         &lt;element name="thresholdLine" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                 &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *         &lt;element name="contactmatrix" type="{www.vamsas.ac.uk/jalview/version2}MatrixType" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *       &lt;attribute name="graph" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *       &lt;attribute name="graphType" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="groupRef" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="graphColour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="graphGroup" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="graphHeight" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="scoreOnly" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *       &lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}double" />
- *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *       &lt;attribute name="centreColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *       &lt;attribute name="scaleColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *       &lt;attribute name="showAllColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *       &lt;attribute name="autoCalculated" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *       &lt;attribute name="belowAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *       &lt;attribute name="calcId" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}annotationElement" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+ *         &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="thresholdLine" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                 &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *         &amp;lt;element name="contactmatrix" type="{www.vamsas.ac.uk/jalview/version2}MapOnAMatrixType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="graph" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *       &amp;lt;attribute name="graphType" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="groupRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="graphColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="graphGroup" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="graphHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="scoreOnly" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *       &amp;lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}double" /&amp;gt;
+ *       &amp;lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *       &amp;lt;attribute name="centreColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *       &amp;lt;attribute name="scaleColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *       &amp;lt;attribute name="showAllColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *       &amp;lt;attribute name="autoCalculated" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *       &amp;lt;attribute name="belowAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *       &amp;lt;attribute name="calcId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "",
-  propOrder =
-  { "annotationElement", "label", "description", "thresholdLine",
-      "contactmatrix", "property" })
+@XmlType(name = "", propOrder = {
+    "annotationElement",
+    "label",
+    "description",
+    "thresholdLine",
+    "contactmatrix",
+    "property"
+})
 @XmlRootElement(name = "Annotation")
-public class Annotation
-{
+public class Annotation {
 
-  protected List<AnnotationElement> annotationElement;
+    protected List<AnnotationElement> annotationElement;
+    @XmlElement(required = true)
+    protected String label;
+    protected String description;
+    protected Annotation.ThresholdLine thresholdLine;
+    protected List<MapOnAMatrixType> contactmatrix;
+    protected List<Property> property;
+    @XmlAttribute(name = "graph", required = true)
+    protected boolean graph;
+    @XmlAttribute(name = "graphType")
+    protected Integer graphType;
+    @XmlAttribute(name = "sequenceRef")
+    protected String sequenceRef;
+    @XmlAttribute(name = "groupRef")
+    protected String groupRef;
+    @XmlAttribute(name = "graphColour")
+    protected Integer graphColour;
+    @XmlAttribute(name = "graphGroup")
+    protected Integer graphGroup;
+    @XmlAttribute(name = "graphHeight")
+    protected Integer graphHeight;
+    @XmlAttribute(name = "id")
+    protected String id;
+    @XmlAttribute(name = "scoreOnly")
+    protected Boolean scoreOnly;
+    @XmlAttribute(name = "score")
+    protected Double score;
+    @XmlAttribute(name = "visible")
+    protected Boolean visible;
+    @XmlAttribute(name = "centreColLabels")
+    protected Boolean centreColLabels;
+    @XmlAttribute(name = "scaleColLabels")
+    protected Boolean scaleColLabels;
+    @XmlAttribute(name = "showAllColLabels")
+    protected Boolean showAllColLabels;
+    @XmlAttribute(name = "autoCalculated")
+    protected Boolean autoCalculated;
+    @XmlAttribute(name = "belowAlignment")
+    protected Boolean belowAlignment;
+    @XmlAttribute(name = "calcId")
+    protected String calcId;
 
-  @XmlElement(required = true)
-  protected String label;
-
-  protected String description;
+    /**
+     * Gets the value of the annotationElement property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the annotationElement property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getAnnotationElement().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link AnnotationElement }
+     * 
+     * 
+     */
+    public List<AnnotationElement> getAnnotationElement() {
+        if (annotationElement == null) {
+            annotationElement = new ArrayList<AnnotationElement>();
+        }
+        return this.annotationElement;
+    }
 
-  protected Annotation.ThresholdLine thresholdLine;
-
-  protected List<MatrixType> contactmatrix;
-
-  protected List<Property> property;
-
-  @XmlAttribute(name = "graph", required = true)
-  protected boolean graph;
-
-  @XmlAttribute(name = "graphType")
-  protected Integer graphType;
-
-  @XmlAttribute(name = "sequenceRef")
-  protected String sequenceRef;
-
-  @XmlAttribute(name = "groupRef")
-  protected String groupRef;
-
-  @XmlAttribute(name = "graphColour")
-  protected Integer graphColour;
-
-  @XmlAttribute(name = "graphGroup")
-  protected Integer graphGroup;
-
-  @XmlAttribute(name = "graphHeight")
-  protected Integer graphHeight;
-
-  @XmlAttribute(name = "id")
-  protected String id;
-
-  @XmlAttribute(name = "scoreOnly")
-  protected Boolean scoreOnly;
-
-  @XmlAttribute(name = "score")
-  protected Double score;
-
-  @XmlAttribute(name = "visible")
-  protected Boolean visible;
-
-  @XmlAttribute(name = "centreColLabels")
-  protected Boolean centreColLabels;
-
-  @XmlAttribute(name = "scaleColLabels")
-  protected Boolean scaleColLabels;
-
-  @XmlAttribute(name = "showAllColLabels")
-  protected Boolean showAllColLabels;
-
-  @XmlAttribute(name = "autoCalculated")
-  protected Boolean autoCalculated;
-
-  @XmlAttribute(name = "belowAlignment")
-  protected Boolean belowAlignment;
-
-  @XmlAttribute(name = "calcId")
-  protected String calcId;
-
-  /**
-   * Gets the value of the annotationElement property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the annotationElement property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getAnnotationElement().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link AnnotationElement }
-   * 
-   * 
-   */
-  public List<AnnotationElement> getAnnotationElement()
-  {
-    if (annotationElement == null)
-    {
-      annotationElement = new ArrayList<AnnotationElement>();
-    }
-    return this.annotationElement;
-  }
-
-  /**
-   * Gets the value of the label property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getLabel()
-  {
-    return label;
-  }
-
-  /**
-   * Sets the value of the label property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setLabel(String value)
-  {
-    this.label = value;
-  }
-
-  /**
-   * Gets the value of the description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
-
-  /**
-   * Gets the value of the thresholdLine property.
-   * 
-   * @return possible object is {@link Annotation.ThresholdLine }
-   * 
-   */
-  public Annotation.ThresholdLine getThresholdLine()
-  {
-    return thresholdLine;
-  }
-
-  /**
-   * Sets the value of the thresholdLine property.
-   * 
-   * @param value
-   *          allowed object is {@link Annotation.ThresholdLine }
-   * 
-   */
-  public void setThresholdLine(Annotation.ThresholdLine value)
-  {
-    this.thresholdLine = value;
-  }
-
-  /**
-   * Gets the value of the contactmatrix property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the contactmatrix property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getContactmatrix().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link MatrixType
-   * }
-   * 
-   * 
-   */
-  public List<MatrixType> getContactmatrix()
-  {
-    if (contactmatrix == null)
-    {
-      contactmatrix = new ArrayList<MatrixType>();
-    }
-    return this.contactmatrix;
-  }
-
-  /**
-   * Gets the value of the property property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the property property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getProperty().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link Property }
-   * 
-   * 
-   */
-  public List<Property> getProperty()
-  {
-    if (property == null)
-    {
-      property = new ArrayList<Property>();
-    }
-    return this.property;
-  }
-
-  /**
-   * Gets the value of the graph property.
-   * 
-   */
-  public boolean isGraph()
-  {
-    return graph;
-  }
-
-  /**
-   * Sets the value of the graph property.
-   * 
-   */
-  public void setGraph(boolean value)
-  {
-    this.graph = value;
-  }
-
-  /**
-   * Gets the value of the graphType property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getGraphType()
-  {
-    return graphType;
-  }
-
-  /**
-   * Sets the value of the graphType property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setGraphType(Integer value)
-  {
-    this.graphType = value;
-  }
-
-  /**
-   * Gets the value of the sequenceRef property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getSequenceRef()
-  {
-    return sequenceRef;
-  }
-
-  /**
-   * Sets the value of the sequenceRef property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setSequenceRef(String value)
-  {
-    this.sequenceRef = value;
-  }
-
-  /**
-   * Gets the value of the groupRef property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getGroupRef()
-  {
-    return groupRef;
-  }
-
-  /**
-   * Sets the value of the groupRef property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setGroupRef(String value)
-  {
-    this.groupRef = value;
-  }
-
-  /**
-   * Gets the value of the graphColour property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getGraphColour()
-  {
-    return graphColour;
-  }
-
-  /**
-   * Sets the value of the graphColour property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setGraphColour(Integer value)
-  {
-    this.graphColour = value;
-  }
-
-  /**
-   * Gets the value of the graphGroup property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getGraphGroup()
-  {
-    return graphGroup;
-  }
-
-  /**
-   * Sets the value of the graphGroup property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setGraphGroup(Integer value)
-  {
-    this.graphGroup = value;
-  }
-
-  /**
-   * Gets the value of the graphHeight property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getGraphHeight()
-  {
-    return graphHeight;
-  }
-
-  /**
-   * Sets the value of the graphHeight property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setGraphHeight(Integer value)
-  {
-    this.graphHeight = value;
-  }
-
-  /**
-   * Gets the value of the id property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getId()
-  {
-    return id;
-  }
-
-  /**
-   * Sets the value of the id property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setId(String value)
-  {
-    this.id = value;
-  }
-
-  /**
-   * Gets the value of the scoreOnly property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public boolean isScoreOnly()
-  {
-    if (scoreOnly == null)
-    {
-      return false;
-    }
-    else
-    {
-      return scoreOnly;
-    }
-  }
-
-  /**
-   * Sets the value of the scoreOnly property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setScoreOnly(Boolean value)
-  {
-    this.scoreOnly = value;
-  }
-
-  /**
-   * Gets the value of the score property.
-   * 
-   * @return possible object is {@link Double }
-   * 
-   */
-  public Double getScore()
-  {
-    return score;
-  }
-
-  /**
-   * Sets the value of the score property.
-   * 
-   * @param value
-   *          allowed object is {@link Double }
-   * 
-   */
-  public void setScore(Double value)
-  {
-    this.score = value;
-  }
-
-  /**
-   * Gets the value of the visible property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isVisible()
-  {
-    return visible;
-  }
-
-  /**
-   * Sets the value of the visible property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setVisible(Boolean value)
-  {
-    this.visible = value;
-  }
-
-  /**
-   * Gets the value of the centreColLabels property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isCentreColLabels()
-  {
-    return centreColLabels;
-  }
-
-  /**
-   * Sets the value of the centreColLabels property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setCentreColLabels(Boolean value)
-  {
-    this.centreColLabels = value;
-  }
-
-  /**
-   * Gets the value of the scaleColLabels property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isScaleColLabels()
-  {
-    return scaleColLabels;
-  }
-
-  /**
-   * Sets the value of the scaleColLabels property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setScaleColLabels(Boolean value)
-  {
-    this.scaleColLabels = value;
-  }
-
-  /**
-   * Gets the value of the showAllColLabels property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isShowAllColLabels()
-  {
-    return showAllColLabels;
-  }
-
-  /**
-   * Sets the value of the showAllColLabels property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setShowAllColLabels(Boolean value)
-  {
-    this.showAllColLabels = value;
-  }
-
-  /**
-   * Gets the value of the autoCalculated property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public boolean isAutoCalculated()
-  {
-    if (autoCalculated == null)
-    {
-      return false;
-    }
-    else
-    {
-      return autoCalculated;
-    }
-  }
-
-  /**
-   * Sets the value of the autoCalculated property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setAutoCalculated(Boolean value)
-  {
-    this.autoCalculated = value;
-  }
-
-  /**
-   * Gets the value of the belowAlignment property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public boolean isBelowAlignment()
-  {
-    if (belowAlignment == null)
-    {
-      return true;
-    }
-    else
-    {
-      return belowAlignment;
-    }
-  }
-
-  /**
-   * Sets the value of the belowAlignment property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setBelowAlignment(Boolean value)
-  {
-    this.belowAlignment = value;
-  }
-
-  /**
-   * Gets the value of the calcId property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getCalcId()
-  {
-    return calcId;
-  }
-
-  /**
-   * Sets the value of the calcId property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setCalcId(String value)
-  {
-    this.calcId = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class ThresholdLine
-  {
-
-    @XmlAttribute(name = "label")
-    protected String label;
+    /**
+     * Gets the value of the label property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Sets the value of the label property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLabel(String value) {
+        this.label = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
 
-    @XmlAttribute(name = "value")
-    protected Float value;
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
 
-    @XmlAttribute(name = "colour")
-    protected Integer colour;
+    /**
+     * Gets the value of the thresholdLine property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Annotation.ThresholdLine }
+     *     
+     */
+    public Annotation.ThresholdLine getThresholdLine() {
+        return thresholdLine;
+    }
 
     /**
-     * Gets the value of the label property.
+     * Sets the value of the thresholdLine property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Annotation.ThresholdLine }
+     *     
+     */
+    public void setThresholdLine(Annotation.ThresholdLine value) {
+        this.thresholdLine = value;
+    }
+
+    /**
+     * Gets the value of the contactmatrix property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the contactmatrix property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getContactmatrix().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link MapOnAMatrixType }
      * 
-     * @return possible object is {@link String }
      * 
      */
-    public String getLabel()
-    {
-      return label;
+    public List<MapOnAMatrixType> getContactmatrix() {
+        if (contactmatrix == null) {
+            contactmatrix = new ArrayList<MapOnAMatrixType>();
+        }
+        return this.contactmatrix;
     }
 
     /**
-     * Sets the value of the label property.
+     * Gets the value of the property property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getProperty().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Property }
+     * 
+     * 
+     */
+    public List<Property> getProperty() {
+        if (property == null) {
+            property = new ArrayList<Property>();
+        }
+        return this.property;
+    }
+
+    /**
+     * Gets the value of the graph property.
+     * 
+     */
+    public boolean isGraph() {
+        return graph;
+    }
+
+    /**
+     * Sets the value of the graph property.
+     * 
+     */
+    public void setGraph(boolean value) {
+        this.graph = value;
+    }
+
+    /**
+     * Gets the value of the graphType property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getGraphType() {
+        return graphType;
+    }
+
+    /**
+     * Sets the value of the graphType property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setGraphType(Integer value) {
+        this.graphType = value;
+    }
+
+    /**
+     * Gets the value of the sequenceRef property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSequenceRef() {
+        return sequenceRef;
+    }
+
+    /**
+     * Sets the value of the sequenceRef property.
      * 
      * @param value
-     *          allowed object is {@link String }
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSequenceRef(String value) {
+        this.sequenceRef = value;
+    }
+
+    /**
+     * Gets the value of the groupRef property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setLabel(String value)
-    {
-      this.label = value;
+    public String getGroupRef() {
+        return groupRef;
     }
 
     /**
-     * Gets the value of the value property.
+     * Sets the value of the groupRef property.
      * 
-     * @return possible object is {@link Float }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setGroupRef(String value) {
+        this.groupRef = value;
+    }
+
+    /**
+     * Gets the value of the graphColour property.
      * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
      */
-    public Float getValue()
-    {
-      return value;
+    public Integer getGraphColour() {
+        return graphColour;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the graphColour property.
      * 
      * @param value
-     *          allowed object is {@link Float }
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setGraphColour(Integer value) {
+        this.graphColour = value;
+    }
+
+    /**
+     * Gets the value of the graphGroup property.
      * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
      */
-    public void setValue(Float value)
-    {
-      this.value = value;
+    public Integer getGraphGroup() {
+        return graphGroup;
     }
 
     /**
-     * Gets the value of the colour property.
+     * Sets the value of the graphGroup property.
      * 
-     * @return possible object is {@link Integer }
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setGraphGroup(Integer value) {
+        this.graphGroup = value;
+    }
+
+    /**
+     * Gets the value of the graphHeight property.
      * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
      */
-    public Integer getColour()
-    {
-      return colour;
+    public Integer getGraphHeight() {
+        return graphHeight;
     }
 
     /**
-     * Sets the value of the colour property.
+     * Sets the value of the graphHeight property.
      * 
      * @param value
-     *          allowed object is {@link Integer }
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setGraphHeight(Integer value) {
+        this.graphHeight = value;
+    }
+
+    /**
+     * Gets the value of the id property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setColour(Integer value)
-    {
-      this.colour = value;
+    public String getId() {
+        return id;
     }
 
-  }
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the scoreOnly property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public boolean isScoreOnly() {
+        if (scoreOnly == null) {
+            return false;
+        } else {
+            return scoreOnly;
+        }
+    }
+
+    /**
+     * Sets the value of the scoreOnly property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setScoreOnly(Boolean value) {
+        this.scoreOnly = value;
+    }
+
+    /**
+     * Gets the value of the score property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Double }
+     *     
+     */
+    public Double getScore() {
+        return score;
+    }
+
+    /**
+     * Sets the value of the score property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Double }
+     *     
+     */
+    public void setScore(Double value) {
+        this.score = value;
+    }
+
+    /**
+     * Gets the value of the visible property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isVisible() {
+        return visible;
+    }
+
+    /**
+     * Sets the value of the visible property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setVisible(Boolean value) {
+        this.visible = value;
+    }
+
+    /**
+     * Gets the value of the centreColLabels property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isCentreColLabels() {
+        return centreColLabels;
+    }
+
+    /**
+     * Sets the value of the centreColLabels property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setCentreColLabels(Boolean value) {
+        this.centreColLabels = value;
+    }
+
+    /**
+     * Gets the value of the scaleColLabels property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isScaleColLabels() {
+        return scaleColLabels;
+    }
+
+    /**
+     * Sets the value of the scaleColLabels property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setScaleColLabels(Boolean value) {
+        this.scaleColLabels = value;
+    }
+
+    /**
+     * Gets the value of the showAllColLabels property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isShowAllColLabels() {
+        return showAllColLabels;
+    }
+
+    /**
+     * Sets the value of the showAllColLabels property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setShowAllColLabels(Boolean value) {
+        this.showAllColLabels = value;
+    }
+
+    /**
+     * Gets the value of the autoCalculated property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public boolean isAutoCalculated() {
+        if (autoCalculated == null) {
+            return false;
+        } else {
+            return autoCalculated;
+        }
+    }
+
+    /**
+     * Sets the value of the autoCalculated property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setAutoCalculated(Boolean value) {
+        this.autoCalculated = value;
+    }
+
+    /**
+     * Gets the value of the belowAlignment property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public boolean isBelowAlignment() {
+        if (belowAlignment == null) {
+            return true;
+        } else {
+            return belowAlignment;
+        }
+    }
+
+    /**
+     * Sets the value of the belowAlignment property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setBelowAlignment(Boolean value) {
+        this.belowAlignment = value;
+    }
+
+    /**
+     * Gets the value of the calcId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getCalcId() {
+        return calcId;
+    }
+
+    /**
+     * Sets the value of the calcId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setCalcId(String value) {
+        this.calcId = value;
+    }
+
+
+    /**
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+     *       &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class ThresholdLine {
+
+        @XmlAttribute(name = "label")
+        protected String label;
+        @XmlAttribute(name = "value")
+        protected Float value;
+        @XmlAttribute(name = "colour")
+        protected Integer colour;
+
+        /**
+         * Gets the value of the label property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getLabel() {
+            return label;
+        }
+
+        /**
+         * Sets the value of the label property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setLabel(String value) {
+            this.label = value;
+        }
+
+        /**
+         * Gets the value of the value property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getValue() {
+            return value;
+        }
+
+        /**
+         * Sets the value of the value property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Float }
+         *     
+         */
+        public void setValue(Float value) {
+            this.value = value;
+        }
+
+        /**
+         * Gets the value of the colour property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getColour() {
+            return colour;
+        }
+
+        /**
+         * Sets the value of the colour property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setColour(Integer value) {
+            this.colour = value;
+        }
+
+    }
 
 }
index c820076..5f2f7d0 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -12,244 +13,242 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for AnnotationColourScheme complex type.
+ * &lt;p&gt;Java class for AnnotationColourScheme complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="AnnotationColourScheme">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;attribute name="aboveThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="annotation" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="minColour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="maxColour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="colourScheme" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
- *       &lt;attribute name="perSequence" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *       &lt;attribute name="predefinedColours" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="AnnotationColourScheme"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;attribute name="aboveThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="annotation" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="minColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="maxColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="colourScheme" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *       &amp;lt;attribute name="perSequence" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *       &amp;lt;attribute name="predefinedColours" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "AnnotationColourScheme", namespace = "www.jalview.org")
-public class AnnotationColourScheme
-{
-
-  @XmlAttribute(name = "aboveThreshold")
-  protected Integer aboveThreshold;
-
-  @XmlAttribute(name = "annotation")
-  protected String annotation;
-
-  @XmlAttribute(name = "minColour")
-  protected Integer minColour;
-
-  @XmlAttribute(name = "maxColour")
-  protected Integer maxColour;
-
-  @XmlAttribute(name = "colourScheme")
-  protected String colourScheme;
-
-  @XmlAttribute(name = "threshold")
-  protected Float threshold;
-
-  @XmlAttribute(name = "perSequence")
-  protected Boolean perSequence;
-
-  @XmlAttribute(name = "predefinedColours")
-  protected Boolean predefinedColours;
-
-  /**
-   * Gets the value of the aboveThreshold property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getAboveThreshold()
-  {
-    return aboveThreshold;
-  }
-
-  /**
-   * Sets the value of the aboveThreshold property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setAboveThreshold(Integer value)
-  {
-    this.aboveThreshold = value;
-  }
-
-  /**
-   * Gets the value of the annotation property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getAnnotation()
-  {
-    return annotation;
-  }
-
-  /**
-   * Sets the value of the annotation property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setAnnotation(String value)
-  {
-    this.annotation = value;
-  }
-
-  /**
-   * Gets the value of the minColour property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getMinColour()
-  {
-    return minColour;
-  }
-
-  /**
-   * Sets the value of the minColour property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setMinColour(Integer value)
-  {
-    this.minColour = value;
-  }
-
-  /**
-   * Gets the value of the maxColour property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getMaxColour()
-  {
-    return maxColour;
-  }
-
-  /**
-   * Sets the value of the maxColour property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setMaxColour(Integer value)
-  {
-    this.maxColour = value;
-  }
-
-  /**
-   * Gets the value of the colourScheme property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getColourScheme()
-  {
-    return colourScheme;
-  }
-
-  /**
-   * Sets the value of the colourScheme property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setColourScheme(String value)
-  {
-    this.colourScheme = value;
-  }
-
-  /**
-   * Gets the value of the threshold property.
-   * 
-   * @return possible object is {@link Float }
-   * 
-   */
-  public Float getThreshold()
-  {
-    return threshold;
-  }
-
-  /**
-   * Sets the value of the threshold property.
-   * 
-   * @param value
-   *          allowed object is {@link Float }
-   * 
-   */
-  public void setThreshold(Float value)
-  {
-    this.threshold = value;
-  }
-
-  /**
-   * Gets the value of the perSequence property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isPerSequence()
-  {
-    return perSequence;
-  }
-
-  /**
-   * Sets the value of the perSequence property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setPerSequence(Boolean value)
-  {
-    this.perSequence = value;
-  }
-
-  /**
-   * Gets the value of the predefinedColours property.
-   * 
-   * @return possible object is {@link Boolean }
-   * 
-   */
-  public Boolean isPredefinedColours()
-  {
-    return predefinedColours;
-  }
-
-  /**
-   * Sets the value of the predefinedColours property.
-   * 
-   * @param value
-   *          allowed object is {@link Boolean }
-   * 
-   */
-  public void setPredefinedColours(Boolean value)
-  {
-    this.predefinedColours = value;
-  }
+public class AnnotationColourScheme {
+
+    @XmlAttribute(name = "aboveThreshold")
+    protected Integer aboveThreshold;
+    @XmlAttribute(name = "annotation")
+    protected String annotation;
+    @XmlAttribute(name = "minColour")
+    protected Integer minColour;
+    @XmlAttribute(name = "maxColour")
+    protected Integer maxColour;
+    @XmlAttribute(name = "colourScheme")
+    protected String colourScheme;
+    @XmlAttribute(name = "threshold")
+    protected Float threshold;
+    @XmlAttribute(name = "perSequence")
+    protected Boolean perSequence;
+    @XmlAttribute(name = "predefinedColours")
+    protected Boolean predefinedColours;
+
+    /**
+     * Gets the value of the aboveThreshold property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getAboveThreshold() {
+        return aboveThreshold;
+    }
+
+    /**
+     * Sets the value of the aboveThreshold property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setAboveThreshold(Integer value) {
+        this.aboveThreshold = value;
+    }
+
+    /**
+     * Gets the value of the annotation property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAnnotation() {
+        return annotation;
+    }
+
+    /**
+     * Sets the value of the annotation property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAnnotation(String value) {
+        this.annotation = value;
+    }
+
+    /**
+     * Gets the value of the minColour property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getMinColour() {
+        return minColour;
+    }
+
+    /**
+     * Sets the value of the minColour property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setMinColour(Integer value) {
+        this.minColour = value;
+    }
+
+    /**
+     * Gets the value of the maxColour property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getMaxColour() {
+        return maxColour;
+    }
+
+    /**
+     * Sets the value of the maxColour property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setMaxColour(Integer value) {
+        this.maxColour = value;
+    }
+
+    /**
+     * Gets the value of the colourScheme property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getColourScheme() {
+        return colourScheme;
+    }
+
+    /**
+     * Sets the value of the colourScheme property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setColourScheme(String value) {
+        this.colourScheme = value;
+    }
+
+    /**
+     * Gets the value of the threshold property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Float }
+     *     
+     */
+    public Float getThreshold() {
+        return threshold;
+    }
+
+    /**
+     * Sets the value of the threshold property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Float }
+     *     
+     */
+    public void setThreshold(Float value) {
+        this.threshold = value;
+    }
+
+    /**
+     * Gets the value of the perSequence property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isPerSequence() {
+        return perSequence;
+    }
+
+    /**
+     * Sets the value of the perSequence property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setPerSequence(Boolean value) {
+        this.perSequence = value;
+    }
+
+    /**
+     * Gets the value of the predefinedColours property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Boolean }
+     *     
+     */
+    public Boolean isPredefinedColours() {
+        return predefinedColours;
+    }
+
+    /**
+     * Sets the value of the predefinedColours property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Boolean }
+     *     
+     */
+    public void setPredefinedColours(Boolean value) {
+        this.predefinedColours = value;
+    }
 
 }
index 087667a..eaddc5a 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -13,193 +14,190 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for anonymous complex type.
+ * &lt;p&gt;Java class for anonymous complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="displayCharacter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         &lt;element name="secondaryStructure" minOccurs="0">
- *           &lt;simpleType>
- *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
- *               &lt;length value="1"/>
- *             &lt;/restriction>
- *           &lt;/simpleType>
- *         &lt;/element>
- *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/>
- *       &lt;/sequence>
- *       &lt;attribute name="position" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="displayCharacter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="secondaryStructure" minOccurs="0"&amp;gt;
+ *           &amp;lt;simpleType&amp;gt;
+ *             &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
+ *               &amp;lt;length value="1"/&amp;gt;
+ *             &amp;lt;/restriction&amp;gt;
+ *           &amp;lt;/simpleType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *         &amp;lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="position" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "",
-  propOrder =
-  { "displayCharacter", "description", "secondaryStructure", "value" })
+@XmlType(name = "", propOrder = {
+    "displayCharacter",
+    "description",
+    "secondaryStructure",
+    "value"
+})
 @XmlRootElement(name = "annotationElement")
-public class AnnotationElement
-{
-
-  protected String displayCharacter;
-
-  protected String description;
-
-  protected String secondaryStructure;
-
-  protected Float value;
-
-  @XmlAttribute(name = "position", required = true)
-  protected int position;
-
-  @XmlAttribute(name = "colour")
-  protected Integer colour;
-
-  /**
-   * Gets the value of the displayCharacter property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDisplayCharacter()
-  {
-    return displayCharacter;
-  }
-
-  /**
-   * Sets the value of the displayCharacter property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDisplayCharacter(String value)
-  {
-    this.displayCharacter = value;
-  }
-
-  /**
-   * Gets the value of the description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
-
-  /**
-   * Gets the value of the secondaryStructure property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getSecondaryStructure()
-  {
-    return secondaryStructure;
-  }
-
-  /**
-   * Sets the value of the secondaryStructure property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setSecondaryStructure(String value)
-  {
-    this.secondaryStructure = value;
-  }
-
-  /**
-   * Gets the value of the value property.
-   * 
-   * @return possible object is {@link Float }
-   * 
-   */
-  public Float getValue()
-  {
-    return value;
-  }
-
-  /**
-   * Sets the value of the value property.
-   * 
-   * @param value
-   *          allowed object is {@link Float }
-   * 
-   */
-  public void setValue(Float value)
-  {
-    this.value = value;
-  }
-
-  /**
-   * Gets the value of the position property.
-   * 
-   */
-  public int getPosition()
-  {
-    return position;
-  }
-
-  /**
-   * Sets the value of the position property.
-   * 
-   */
-  public void setPosition(int value)
-  {
-    this.position = value;
-  }
-
-  /**
-   * Gets the value of the colour property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getColour()
-  {
-    return colour;
-  }
-
-  /**
-   * Sets the value of the colour property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setColour(Integer value)
-  {
-    this.colour = value;
-  }
+public class AnnotationElement {
+
+    protected String displayCharacter;
+    protected String description;
+    protected String secondaryStructure;
+    protected Float value;
+    @XmlAttribute(name = "position", required = true)
+    protected int position;
+    @XmlAttribute(name = "colour")
+    protected Integer colour;
+
+    /**
+     * Gets the value of the displayCharacter property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDisplayCharacter() {
+        return displayCharacter;
+    }
+
+    /**
+     * Sets the value of the displayCharacter property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDisplayCharacter(String value) {
+        this.displayCharacter = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the secondaryStructure property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSecondaryStructure() {
+        return secondaryStructure;
+    }
+
+    /**
+     * Sets the value of the secondaryStructure property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSecondaryStructure(String value) {
+        this.secondaryStructure = value;
+    }
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Float }
+     *     
+     */
+    public Float getValue() {
+        return value;
+    }
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Float }
+     *     
+     */
+    public void setValue(Float value) {
+        this.value = value;
+    }
+
+    /**
+     * Gets the value of the position property.
+     * 
+     */
+    public int getPosition() {
+        return position;
+    }
+
+    /**
+     * Sets the value of the position property.
+     * 
+     */
+    public void setPosition(int value) {
+        this.position = value;
+    }
+
+    /**
+     * Gets the value of the colour property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getColour() {
+        return colour;
+    }
+
+    /**
+     * Sets the value of the colour property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setColour(Integer value) {
+        this.colour = value;
+    }
 
 }
index b42a170..f2d3fe2 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,177 +16,171 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for DoubleMatrix complex type.
+ * &lt;p&gt;Java class for DoubleMatrix complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="DoubleMatrix">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="row" type="{www.jalview.org}DoubleVector" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="D" type="{www.jalview.org}DoubleVector" minOccurs="0"/>
- *         &lt;element name="E" type="{www.jalview.org}DoubleVector" minOccurs="0"/>
- *       &lt;/sequence>
- *       &lt;attribute name="rows" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="columns" type="{http://www.w3.org/2001/XMLSchema}int" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="DoubleMatrix"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="row" type="{www.jalview.org}DoubleVector" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="D" type="{www.jalview.org}DoubleVector" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="E" type="{www.jalview.org}DoubleVector" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="rows" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="columns" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "DoubleMatrix",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "row", "d", "e" })
-public class DoubleMatrix
-{
-
-  protected List<DoubleVector> row;
-
-  @XmlElement(name = "D")
-  protected DoubleVector d;
-
-  @XmlElement(name = "E")
-  protected DoubleVector e;
-
-  @XmlAttribute(name = "rows")
-  protected Integer rows;
-
-  @XmlAttribute(name = "columns")
-  protected Integer columns;
-
-  /**
-   * Gets the value of the row property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the row property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getRow().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link DoubleVector }
-   * 
-   * 
-   */
-  public List<DoubleVector> getRow()
-  {
-    if (row == null)
-    {
-      row = new ArrayList<DoubleVector>();
+@XmlType(name = "DoubleMatrix", namespace = "www.jalview.org", propOrder = {
+    "row",
+    "d",
+    "e"
+})
+public class DoubleMatrix {
+
+    protected List<DoubleVector> row;
+    @XmlElement(name = "D")
+    protected DoubleVector d;
+    @XmlElement(name = "E")
+    protected DoubleVector e;
+    @XmlAttribute(name = "rows")
+    protected Integer rows;
+    @XmlAttribute(name = "columns")
+    protected Integer columns;
+
+    /**
+     * Gets the value of the row property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the row property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getRow().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link DoubleVector }
+     * 
+     * 
+     */
+    public List<DoubleVector> getRow() {
+        if (row == null) {
+            row = new ArrayList<DoubleVector>();
+        }
+        return this.row;
+    }
+
+    /**
+     * Gets the value of the d property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleVector }
+     *     
+     */
+    public DoubleVector getD() {
+        return d;
+    }
+
+    /**
+     * Sets the value of the d property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleVector }
+     *     
+     */
+    public void setD(DoubleVector value) {
+        this.d = value;
+    }
+
+    /**
+     * Gets the value of the e property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleVector }
+     *     
+     */
+    public DoubleVector getE() {
+        return e;
+    }
+
+    /**
+     * Sets the value of the e property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleVector }
+     *     
+     */
+    public void setE(DoubleVector value) {
+        this.e = value;
+    }
+
+    /**
+     * Gets the value of the rows property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getRows() {
+        return rows;
+    }
+
+    /**
+     * Sets the value of the rows property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setRows(Integer value) {
+        this.rows = value;
+    }
+
+    /**
+     * Gets the value of the columns property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getColumns() {
+        return columns;
+    }
+
+    /**
+     * Sets the value of the columns property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setColumns(Integer value) {
+        this.columns = value;
     }
-    return this.row;
-  }
-
-  /**
-   * Gets the value of the d property.
-   * 
-   * @return possible object is {@link DoubleVector }
-   * 
-   */
-  public DoubleVector getD()
-  {
-    return d;
-  }
-
-  /**
-   * Sets the value of the d property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleVector }
-   * 
-   */
-  public void setD(DoubleVector value)
-  {
-    this.d = value;
-  }
-
-  /**
-   * Gets the value of the e property.
-   * 
-   * @return possible object is {@link DoubleVector }
-   * 
-   */
-  public DoubleVector getE()
-  {
-    return e;
-  }
-
-  /**
-   * Sets the value of the e property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleVector }
-   * 
-   */
-  public void setE(DoubleVector value)
-  {
-    this.e = value;
-  }
-
-  /**
-   * Gets the value of the rows property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getRows()
-  {
-    return rows;
-  }
-
-  /**
-   * Sets the value of the rows property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setRows(Integer value)
-  {
-    this.rows = value;
-  }
-
-  /**
-   * Gets the value of the columns property.
-   * 
-   * @return possible object is {@link Integer }
-   * 
-   */
-  public Integer getColumns()
-  {
-    return columns;
-  }
-
-  /**
-   * Sets the value of the columns property.
-   * 
-   * @param value
-   *          allowed object is {@link Integer }
-   * 
-   */
-  public void setColumns(Integer value)
-  {
-    this.columns = value;
-  }
 
 }
index 3b449fe..b7d7d87 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -14,69 +15,62 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for DoubleVector complex type.
+ * &lt;p&gt;Java class for DoubleVector complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="DoubleVector">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="v" type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="DoubleVector"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="v" type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "DoubleVector",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "v" })
-public class DoubleVector
-{
+@XmlType(name = "DoubleVector", namespace = "www.jalview.org", propOrder = {
+    "v"
+})
+public class DoubleVector {
 
-  @XmlElement(type = Double.class)
-  protected List<Double> v;
+    @XmlElement(type = Double.class)
+    protected List<Double> v;
 
-  /**
-   * Gets the value of the v property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the v property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getV().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link Double }
-   * 
-   * 
-   */
-  public List<Double> getV()
-  {
-    if (v == null)
-    {
-      v = new ArrayList<Double>();
+    /**
+     * Gets the value of the v property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the v property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getV().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Double }
+     * 
+     * 
+     */
+    public List<Double> getV() {
+        if (v == null) {
+            v = new ArrayList<Double>();
+        }
+        return this.v;
     }
-    return this.v;
-  }
 
 }
index afedb4c..7b25d44 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -14,365 +15,349 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for feature complex type.
+ * &lt;p&gt;Java class for feature complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="feature">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="otherData" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *       &lt;/sequence>
- *       &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="status" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="featureGroup" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}float" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="feature"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="otherData" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *       &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="status" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="featureGroup" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "feature",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "otherData" })
-public class Feature
-{
-
-  protected List<Feature.OtherData> otherData;
-
-  @XmlAttribute(name = "begin", required = true)
-  protected int begin;
-
-  @XmlAttribute(name = "end", required = true)
-  protected int end;
-
-  @XmlAttribute(name = "type", required = true)
-  protected String type;
-
-  @XmlAttribute(name = "description")
-  protected String description;
-
-  @XmlAttribute(name = "status")
-  protected String status;
-
-  @XmlAttribute(name = "featureGroup")
-  protected String featureGroup;
-
-  @XmlAttribute(name = "score")
-  protected Float score;
-
-  /**
-   * Gets the value of the otherData property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the otherData property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getOtherData().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link Feature.OtherData }
-   * 
-   * 
-   */
-  public List<Feature.OtherData> getOtherData()
-  {
-    if (otherData == null)
-    {
-      otherData = new ArrayList<Feature.OtherData>();
+@XmlType(name = "feature", namespace = "www.jalview.org", propOrder = {
+    "otherData"
+})
+public class Feature {
+
+    protected List<Feature.OtherData> otherData;
+    @XmlAttribute(name = "begin", required = true)
+    protected int begin;
+    @XmlAttribute(name = "end", required = true)
+    protected int end;
+    @XmlAttribute(name = "type", required = true)
+    protected String type;
+    @XmlAttribute(name = "description")
+    protected String description;
+    @XmlAttribute(name = "status")
+    protected String status;
+    @XmlAttribute(name = "featureGroup")
+    protected String featureGroup;
+    @XmlAttribute(name = "score")
+    protected Float score;
+
+    /**
+     * Gets the value of the otherData property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the otherData property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getOtherData().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Feature.OtherData }
+     * 
+     * 
+     */
+    public List<Feature.OtherData> getOtherData() {
+        if (otherData == null) {
+            otherData = new ArrayList<Feature.OtherData>();
+        }
+        return this.otherData;
     }
-    return this.otherData;
-  }
-
-  /**
-   * Gets the value of the begin property.
-   * 
-   */
-  public int getBegin()
-  {
-    return begin;
-  }
-
-  /**
-   * Sets the value of the begin property.
-   * 
-   */
-  public void setBegin(int value)
-  {
-    this.begin = value;
-  }
-
-  /**
-   * Gets the value of the end property.
-   * 
-   */
-  public int getEnd()
-  {
-    return end;
-  }
-
-  /**
-   * Sets the value of the end property.
-   * 
-   */
-  public void setEnd(int value)
-  {
-    this.end = value;
-  }
-
-  /**
-   * Gets the value of the type property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getType()
-  {
-    return type;
-  }
-
-  /**
-   * Sets the value of the type property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setType(String value)
-  {
-    this.type = value;
-  }
-
-  /**
-   * Gets the value of the description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
-
-  /**
-   * Gets the value of the status property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getStatus()
-  {
-    return status;
-  }
-
-  /**
-   * Sets the value of the status property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setStatus(String value)
-  {
-    this.status = value;
-  }
-
-  /**
-   * Gets the value of the featureGroup property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getFeatureGroup()
-  {
-    return featureGroup;
-  }
-
-  /**
-   * Sets the value of the featureGroup property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setFeatureGroup(String value)
-  {
-    this.featureGroup = value;
-  }
-
-  /**
-   * Gets the value of the score property.
-   * 
-   * @return possible object is {@link Float }
-   * 
-   */
-  public Float getScore()
-  {
-    return score;
-  }
-
-  /**
-   * Sets the value of the score property.
-   * 
-   * @param value
-   *          allowed object is {@link Float }
-   * 
-   */
-  public void setScore(Float value)
-  {
-    this.score = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class OtherData
-  {
-
-    @XmlAttribute(name = "key", required = true)
-    protected String key;
-
-    @XmlAttribute(name = "key2")
-    protected String key2;
-
-    @XmlAttribute(name = "value", required = true)
-    protected String value;
 
     /**
-     * Gets the value of the key property.
+     * Gets the value of the begin property.
      * 
-     * @return possible object is {@link String }
+     */
+    public int getBegin() {
+        return begin;
+    }
+
+    /**
+     * Sets the value of the begin property.
      * 
      */
-    public String getKey()
-    {
-      return key;
+    public void setBegin(int value) {
+        this.begin = value;
     }
 
     /**
-     * Sets the value of the key property.
+     * Gets the value of the end property.
      * 
-     * @param value
-     *          allowed object is {@link String }
+     */
+    public int getEnd() {
+        return end;
+    }
+
+    /**
+     * Sets the value of the end property.
+     * 
+     */
+    public void setEnd(int value) {
+        this.end = value;
+    }
+
+    /**
+     * Gets the value of the type property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setKey(String value)
-    {
-      this.key = value;
+    public String getType() {
+        return type;
     }
 
     /**
-     * Gets the value of the key2 property.
+     * Sets the value of the type property.
      * 
-     * @return possible object is {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setType(String value) {
+        this.type = value;
+    }
+
+    /**
+     * Gets the value of the description property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getKey2()
-    {
-      return key2;
+    public String getDescription() {
+        return description;
     }
 
     /**
-     * Sets the value of the key2 property.
+     * Sets the value of the description property.
      * 
      * @param value
-     *          allowed object is {@link String }
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the status property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setKey2(String value)
-    {
-      this.key2 = value;
+    public String getStatus() {
+        return status;
     }
 
     /**
-     * Gets the value of the value property.
+     * Sets the value of the status property.
      * 
-     * @return possible object is {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setStatus(String value) {
+        this.status = value;
+    }
+
+    /**
+     * Gets the value of the featureGroup property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getValue()
-    {
-      return value;
+    public String getFeatureGroup() {
+        return featureGroup;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the featureGroup property.
      * 
      * @param value
-     *          allowed object is {@link String }
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setFeatureGroup(String value) {
+        this.featureGroup = value;
+    }
+
+    /**
+     * Gets the value of the score property.
      * 
+     * @return
+     *     possible object is
+     *     {@link Float }
+     *     
      */
-    public void setValue(String value)
-    {
-      this.value = value;
+    public Float getScore() {
+        return score;
     }
 
-  }
+    /**
+     * Sets the value of the score property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Float }
+     *     
+     */
+    public void setScore(Float value) {
+        this.score = value;
+    }
+
+
+    /**
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class OtherData {
+
+        @XmlAttribute(name = "key", required = true)
+        protected String key;
+        @XmlAttribute(name = "key2")
+        protected String key2;
+        @XmlAttribute(name = "value", required = true)
+        protected String value;
+
+        /**
+         * Gets the value of the key property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getKey() {
+            return key;
+        }
+
+        /**
+         * Sets the value of the key property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setKey(String value) {
+            this.key = value;
+        }
+
+        /**
+         * Gets the value of the key2 property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getKey2() {
+            return key2;
+        }
+
+        /**
+         * Sets the value of the key2 property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setKey2(String value) {
+            this.key2 = value;
+        }
+
+        /**
+         * Gets the value of the value property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getValue() {
+            return value;
+        }
+
+        /**
+         * Sets the value of the value property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setValue(String value) {
+            this.value = value;
+        }
+
+    }
 
 }
index fa80569..d83131c 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,150 +16,145 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for FeatureMatcher complex type.
+ * &lt;p&gt;Java class for FeatureMatcher complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="FeatureMatcher">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
- *         &lt;element name="condition" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *       &lt;/sequence>
- *       &lt;attribute name="by" type="{www.jalview.org/colours}FilterBy" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="FeatureMatcher"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="condition" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+ *         &amp;lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="by" type="{www.jalview.org/colours}FilterBy" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "FeatureMatcher",
-  namespace = "www.jalview.org/colours",
-  propOrder =
-  { "attributeName", "condition", "value" })
-public class FeatureMatcher
-{
-
-  @XmlElement(namespace = "")
-  protected List<String> attributeName;
+@XmlType(name = "FeatureMatcher", namespace = "www.jalview.org/colours", propOrder = {
+    "attributeName",
+    "condition",
+    "value"
+})
+public class FeatureMatcher {
 
-  @XmlElement(namespace = "", required = true)
-  protected String condition;
+    @XmlElement(namespace = "")
+    protected List<String> attributeName;
+    @XmlElement(namespace = "", required = true)
+    protected String condition;
+    @XmlElement(namespace = "", required = true)
+    protected String value;
+    @XmlAttribute(name = "by")
+    protected FilterBy by;
 
-  @XmlElement(namespace = "", required = true)
-  protected String value;
-
-  @XmlAttribute(name = "by")
-  protected FilterBy by;
-
-  /**
-   * Gets the value of the attributeName property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the attributeName property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getAttributeName().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link String }
-   * 
-   * 
-   */
-  public List<String> getAttributeName()
-  {
-    if (attributeName == null)
-    {
-      attributeName = new ArrayList<String>();
+    /**
+     * 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;
     }
-    return this.attributeName;
-  }
 
-  /**
-   * Gets the value of the condition property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getCondition()
-  {
-    return condition;
-  }
+    /**
+     * Gets the value of the condition property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getCondition() {
+        return condition;
+    }
 
-  /**
-   * Sets the value of the condition property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setCondition(String value)
-  {
-    this.condition = value;
-  }
+    /**
+     * Sets the value of the condition property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setCondition(String value) {
+        this.condition = value;
+    }
 
-  /**
-   * Gets the value of the value property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getValue()
-  {
-    return value;
-  }
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getValue() {
+        return value;
+    }
 
-  /**
-   * Sets the value of the value property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setValue(String value)
-  {
-    this.value = value;
-  }
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
 
-  /**
-   * Gets the value of the by property.
-   * 
-   * @return possible object is {@link FilterBy }
-   * 
-   */
-  public FilterBy getBy()
-  {
-    return by;
-  }
+    /**
+     * Gets the value of the by property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link FilterBy }
+     *     
+     */
+    public FilterBy getBy() {
+        return by;
+    }
 
-  /**
-   * Sets the value of the by property.
-   * 
-   * @param value
-   *          allowed object is {@link FilterBy }
-   * 
-   */
-  public void setBy(FilterBy value)
-  {
-    this.by = value;
-  }
+    /**
+     * Sets the value of the by property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link FilterBy }
+     *     
+     */
+    public void setBy(FilterBy value) {
+        this.by = value;
+    }
 
 }
index 45077af..f182816 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,187 +16,177 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
  * A feature match condition, which may be simple or compound
  * 
- * <p>
- * Java class for FeatureMatcherSet complex type.
+ * &lt;p&gt;Java class for FeatureMatcherSet complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="FeatureMatcherSet">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;choice>
- *         &lt;element name="matchCondition" type="{www.jalview.org/colours}FeatureMatcher"/>
- *         &lt;element name="compoundMatcher">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;sequence>
- *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/>
- *                 &lt;/sequence>
- *                 &lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *       &lt;/choice>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="FeatureMatcherSet"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;choice&amp;gt;
+ *         &amp;lt;element name="matchCondition" type="{www.jalview.org/colours}FeatureMatcher"/&amp;gt;
+ *         &amp;lt;element name="compoundMatcher"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;sequence&amp;gt;
+ *                   &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/&amp;gt;
+ *                 &amp;lt;/sequence&amp;gt;
+ *                 &amp;lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *       &amp;lt;/choice&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "FeatureMatcherSet",
-  namespace = "www.jalview.org/colours",
-  propOrder =
-  { "matchCondition", "compoundMatcher" })
-public class FeatureMatcherSet
-{
-
-  @XmlElement(namespace = "")
-  protected FeatureMatcher matchCondition;
-
-  @XmlElement(namespace = "")
-  protected FeatureMatcherSet.CompoundMatcher compoundMatcher;
-
-  /**
-   * Gets the value of the matchCondition property.
-   * 
-   * @return possible object is {@link FeatureMatcher }
-   * 
-   */
-  public FeatureMatcher getMatchCondition()
-  {
-    return matchCondition;
-  }
-
-  /**
-   * Sets the value of the matchCondition property.
-   * 
-   * @param value
-   *          allowed object is {@link FeatureMatcher }
-   * 
-   */
-  public void setMatchCondition(FeatureMatcher value)
-  {
-    this.matchCondition = value;
-  }
-
-  /**
-   * Gets the value of the compoundMatcher property.
-   * 
-   * @return possible object is {@link FeatureMatcherSet.CompoundMatcher }
-   * 
-   */
-  public FeatureMatcherSet.CompoundMatcher getCompoundMatcher()
-  {
-    return compoundMatcher;
-  }
-
-  /**
-   * Sets the value of the compoundMatcher property.
-   * 
-   * @param value
-   *          allowed object is {@link FeatureMatcherSet.CompoundMatcher }
-   * 
-   */
-  public void setCompoundMatcher(FeatureMatcherSet.CompoundMatcher value)
-  {
-    this.compoundMatcher = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/>
-   *       &lt;/sequence>
-   *       &lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "matcherSet" })
-  public static class CompoundMatcher
-  {
-
-    @XmlElement(namespace = "", required = true)
-    protected List<FeatureMatcherSet> matcherSet;
-
-    @XmlAttribute(name = "and", required = true)
-    protected boolean and;
+@XmlType(name = "FeatureMatcherSet", namespace = "www.jalview.org/colours", propOrder = {
+    "matchCondition",
+    "compoundMatcher"
+})
+public class FeatureMatcherSet {
+
+    @XmlElement(namespace = "")
+    protected FeatureMatcher matchCondition;
+    @XmlElement(namespace = "")
+    protected FeatureMatcherSet.CompoundMatcher compoundMatcher;
 
     /**
-     * Gets the value of the matcherSet property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the matcherSet property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getMatcherSet().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link FeatureMatcherSet }
+     * Gets the value of the matchCondition property.
      * 
+     * @return
+     *     possible object is
+     *     {@link FeatureMatcher }
+     *     
+     */
+    public FeatureMatcher getMatchCondition() {
+        return matchCondition;
+    }
+
+    /**
+     * Sets the value of the matchCondition property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link FeatureMatcher }
+     *     
      */
-    public List<FeatureMatcherSet> getMatcherSet()
-    {
-      if (matcherSet == null)
-      {
-        matcherSet = new ArrayList<FeatureMatcherSet>();
-      }
-      return this.matcherSet;
+    public void setMatchCondition(FeatureMatcher value) {
+        this.matchCondition = value;
     }
 
     /**
-     * Gets the value of the and property.
+     * Gets the value of the compoundMatcher property.
      * 
+     * @return
+     *     possible object is
+     *     {@link FeatureMatcherSet.CompoundMatcher }
+     *     
      */
-    public boolean isAnd()
-    {
-      return and;
+    public FeatureMatcherSet.CompoundMatcher getCompoundMatcher() {
+        return compoundMatcher;
     }
 
     /**
-     * Sets the value of the and property.
+     * Sets the value of the compoundMatcher property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link FeatureMatcherSet.CompoundMatcher }
+     *     
      */
-    public void setAnd(boolean value)
-    {
-      this.and = value;
+    public void setCompoundMatcher(FeatureMatcherSet.CompoundMatcher value) {
+        this.compoundMatcher = value;
     }
 
-  }
+
+    /**
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;sequence&amp;gt;
+     *         &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/&amp;gt;
+     *       &amp;lt;/sequence&amp;gt;
+     *       &amp;lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "matcherSet"
+    })
+    public static class CompoundMatcher {
+
+        @XmlElement(namespace = "", required = true)
+        protected List<FeatureMatcherSet> matcherSet;
+        @XmlAttribute(name = "and", required = true)
+        protected boolean and;
+
+        /**
+         * Gets the value of the matcherSet property.
+         * 
+         * &lt;p&gt;
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the matcherSet property.
+         * 
+         * &lt;p&gt;
+         * For example, to add a new item, do as follows:
+         * &lt;pre&gt;
+         *    getMatcherSet().add(newItem);
+         * &lt;/pre&gt;
+         * 
+         * 
+         * &lt;p&gt;
+         * Objects of the following type(s) are allowed in the list
+         * {@link FeatureMatcherSet }
+         * 
+         * 
+         */
+        public List<FeatureMatcherSet> getMatcherSet() {
+            if (matcherSet == null) {
+                matcherSet = new ArrayList<FeatureMatcherSet>();
+            }
+            return this.matcherSet;
+        }
+
+        /**
+         * Gets the value of the and property.
+         * 
+         */
+        public boolean isAnd() {
+            return and;
+        }
+
+        /**
+         * Sets the value of the and property.
+         * 
+         */
+        public void setAnd(boolean value) {
+            this.and = value;
+        }
+
+    }
 
 }
index 76fc6cd..2db2173 100644 (file)
@@ -1,68 +1,60 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlEnum;
 import javax.xml.bind.annotation.XmlEnumValue;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for FilterBy.
+ * &lt;p&gt;Java class for FilterBy.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
- * <p>
- * 
- * <pre>
- * &lt;simpleType name="FilterBy">
- *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
- *     &lt;enumeration value="byLabel"/>
- *     &lt;enumeration value="byScore"/>
- *     &lt;enumeration value="byAttribute"/>
- *   &lt;/restriction>
- * &lt;/simpleType>
- * </pre>
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+ * &lt;pre&gt;
+ * &amp;lt;simpleType name="FilterBy"&amp;gt;
+ *   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
+ *     &amp;lt;enumeration value="byLabel"/&amp;gt;
+ *     &amp;lt;enumeration value="byScore"/&amp;gt;
+ *     &amp;lt;enumeration value="byAttribute"/&amp;gt;
+ *   &amp;lt;/restriction&amp;gt;
+ * &amp;lt;/simpleType&amp;gt;
+ * &lt;/pre&gt;
  * 
  */
 @XmlType(name = "FilterBy", namespace = "www.jalview.org/colours")
 @XmlEnum
-public enum FilterBy
-{
-
-  @XmlEnumValue("byLabel")
-  BY_LABEL("byLabel"), @XmlEnumValue("byScore")
-  BY_SCORE("byScore"), @XmlEnumValue("byAttribute")
-  BY_ATTRIBUTE("byAttribute");
-
-  private final String value;
-
-  FilterBy(String v)
-  {
-    value = v;
-  }
+public enum FilterBy {
+
+    @XmlEnumValue("byLabel")
+    BY_LABEL("byLabel"),
+    @XmlEnumValue("byScore")
+    BY_SCORE("byScore"),
+    @XmlEnumValue("byAttribute")
+    BY_ATTRIBUTE("byAttribute");
+    private final String value;
+
+    FilterBy(String v) {
+        value = v;
+    }
 
-  public String value()
-  {
-    return value;
-  }
+    public String value() {
+        return value;
+    }
 
-  public static FilterBy fromValue(String v)
-  {
-    for (FilterBy c : FilterBy.values())
-    {
-      if (c.value.equals(v))
-      {
-        return c;
-      }
+    public static FilterBy fromValue(String v) {
+        for (FilterBy c: FilterBy.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
     }
-    throw new IllegalArgumentException(v);
-  }
 
 }
index 94f9373..4e0857d 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -21,6968 +22,6793 @@ import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.datatype.XMLGregorianCalendar;
 
+
 /**
- * <p>
- * Java class for JalviewModel complex type.
+ * &lt;p&gt;Java class for JalviewModel complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="JalviewModel">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
- *         &lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/>
- *         &lt;sequence>
- *           &lt;element name="JSeq" maxOccurs="unbounded" minOccurs="0">
- *             &lt;complexType>
- *               &lt;complexContent>
- *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                   &lt;sequence>
- *                     &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
- *                     &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;extension base="{www.jalview.org}pdbentry">
- *                             &lt;sequence>
- *                               &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
- *                                 &lt;complexType>
- *                                   &lt;simpleContent>
- *                                     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
- *                                       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
- *                                       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                                       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                                       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                                       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                                       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                                       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                                     &lt;/extension>
- *                                   &lt;/simpleContent>
- *                                 &lt;/complexType>
- *                               &lt;/element>
- *                             &lt;/sequence>
- *                           &lt;/extension>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                     &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
- *                     &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;sequence>
- *                               &lt;element name="secondaryStructure" maxOccurs="unbounded">
- *                                 &lt;complexType>
- *                                   &lt;complexContent>
- *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                                       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                                       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                                       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                                       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                                     &lt;/restriction>
- *                                   &lt;/complexContent>
- *                                 &lt;/complexType>
- *                               &lt;/element>
- *                             &lt;/sequence>
- *                             &lt;attGroup ref="{www.jalview.org}swingwindow"/>
- *                             &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                             &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                             &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                             &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                   &lt;/sequence>
- *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                 &lt;/restriction>
- *               &lt;/complexContent>
- *             &lt;/complexType>
- *           &lt;/element>
- *           &lt;element name="JGroup" maxOccurs="unbounded" minOccurs="0">
- *             &lt;complexType>
- *               &lt;complexContent>
- *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                   &lt;sequence>
- *                     &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
- *                     &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
- *                   &lt;/sequence>
- *                   &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                   &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                   &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;/restriction>
- *               &lt;/complexContent>
- *             &lt;/complexType>
- *           &lt;/element>
- *           &lt;element name="Viewport" maxOccurs="unbounded" minOccurs="0">
- *             &lt;complexType>
- *               &lt;complexContent>
- *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                   &lt;sequence>
- *                     &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
- *                     &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                             &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                     &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
- *                             &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                             &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                             &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                           &lt;/extension>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                     &lt;element name="overview" minOccurs="0">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;attGroup ref="{www.jalview.org}swingwindow"/>
- *                             &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                             &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                             &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                             &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                             &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                   &lt;/sequence>
- *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
- *                   &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                   &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                   &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                   &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                   &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="charWidth" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- *                   &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
- *                   &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                 &lt;/restriction>
- *               &lt;/complexContent>
- *             &lt;/complexType>
- *           &lt;/element>
- *           &lt;element name="UserColours" maxOccurs="unbounded" minOccurs="0">
- *             &lt;complexType>
- *               &lt;complexContent>
- *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                   &lt;sequence>
- *                     &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
- *                   &lt;/sequence>
- *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;/restriction>
- *               &lt;/complexContent>
- *             &lt;/complexType>
- *           &lt;/element>
- *           &lt;element name="tree" maxOccurs="unbounded" minOccurs="0">
- *             &lt;complexType>
- *               &lt;complexContent>
- *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                   &lt;sequence minOccurs="0">
- *                     &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *                     &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *                   &lt;/sequence>
- *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
- *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                   &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                   &lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
- *                   &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                 &lt;/restriction>
- *               &lt;/complexContent>
- *             &lt;/complexType>
- *           &lt;/element>
- *           &lt;element name="PcaViewer" maxOccurs="unbounded" minOccurs="0">
- *             &lt;complexType>
- *               &lt;complexContent>
- *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                   &lt;sequence>
- *                     &lt;element name="sequencePoint" maxOccurs="unbounded">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;attGroup ref="{www.jalview.org}position"/>
- *                             &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                     &lt;element name="axis" maxOccurs="3" minOccurs="3">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;attGroup ref="{www.jalview.org}position"/>
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                     &lt;element name="seqPointMin">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;attGroup ref="{www.jalview.org}position"/>
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                     &lt;element name="seqPointMax">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;attGroup ref="{www.jalview.org}position"/>
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                     &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/>
- *                   &lt;/sequence>
- *                   &lt;attGroup ref="{www.jalview.org}SimilarityParams"/>
- *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
- *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                   &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                   &lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                   &lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                   &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                 &lt;/restriction>
- *               &lt;/complexContent>
- *             &lt;/complexType>
- *           &lt;/element>
- *           &lt;element name="FeatureSettings" minOccurs="0">
- *             &lt;complexType>
- *               &lt;complexContent>
- *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                   &lt;sequence>
- *                     &lt;element name="setting" maxOccurs="unbounded" minOccurs="0">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;sequence>
- *                               &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
- *                               &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
- *                             &lt;/sequence>
- *                             &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                             &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                             &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                             &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                             &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
- *                             &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                             &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                             &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                             &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                             &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                             &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                     &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
- *                       &lt;complexType>
- *                         &lt;complexContent>
- *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                             &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                           &lt;/restriction>
- *                         &lt;/complexContent>
- *                       &lt;/complexType>
- *                     &lt;/element>
- *                   &lt;/sequence>
- *                 &lt;/restriction>
- *               &lt;/complexContent>
- *             &lt;/complexType>
- *           &lt;/element>
- *         &lt;/sequence>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="JalviewModel"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/&amp;gt;
+ *         &amp;lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+ *         &amp;lt;element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/&amp;gt;
+ *         &amp;lt;sequence&amp;gt;
+ *           &amp;lt;element name="JSeq" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *             &amp;lt;complexType&amp;gt;
+ *               &amp;lt;complexContent&amp;gt;
+ *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                   &amp;lt;sequence&amp;gt;
+ *                     &amp;lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *                     &amp;lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;extension base="{www.jalview.org}pdbentry"&amp;gt;
+ *                             &amp;lt;sequence&amp;gt;
+ *                               &amp;lt;element name="structureState" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *                                 &amp;lt;complexType&amp;gt;
+ *                                   &amp;lt;simpleContent&amp;gt;
+ *                                     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
+ *                                       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+ *                                       &amp;lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                                       &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                                       &amp;lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                                       &amp;lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                                       &amp;lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                                       &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                                     &amp;lt;/extension&amp;gt;
+ *                                   &amp;lt;/simpleContent&amp;gt;
+ *                                 &amp;lt;/complexType&amp;gt;
+ *                               &amp;lt;/element&amp;gt;
+ *                             &amp;lt;/sequence&amp;gt;
+ *                           &amp;lt;/extension&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                     &amp;lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *                     &amp;lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;sequence&amp;gt;
+ *                               &amp;lt;element name="secondaryStructure" maxOccurs="unbounded"&amp;gt;
+ *                                 &amp;lt;complexType&amp;gt;
+ *                                   &amp;lt;complexContent&amp;gt;
+ *                                     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                                       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                                       &amp;lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                                       &amp;lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                                       &amp;lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                                     &amp;lt;/restriction&amp;gt;
+ *                                   &amp;lt;/complexContent&amp;gt;
+ *                                 &amp;lt;/complexType&amp;gt;
+ *                               &amp;lt;/element&amp;gt;
+ *                             &amp;lt;/sequence&amp;gt;
+ *                             &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+ *                             &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                             &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                             &amp;lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                             &amp;lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                   &amp;lt;/sequence&amp;gt;
+ *                   &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                 &amp;lt;/restriction&amp;gt;
+ *               &amp;lt;/complexContent&amp;gt;
+ *             &amp;lt;/complexType&amp;gt;
+ *           &amp;lt;/element&amp;gt;
+ *           &amp;lt;element name="JGroup" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *             &amp;lt;complexType&amp;gt;
+ *               &amp;lt;complexContent&amp;gt;
+ *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                   &amp;lt;sequence&amp;gt;
+ *                     &amp;lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&amp;gt;
+ *                     &amp;lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
+ *                   &amp;lt;/sequence&amp;gt;
+ *                   &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                   &amp;lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                   &amp;lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;/restriction&amp;gt;
+ *               &amp;lt;/complexContent&amp;gt;
+ *             &amp;lt;/complexType&amp;gt;
+ *           &amp;lt;/element&amp;gt;
+ *           &amp;lt;element name="Viewport" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *             &amp;lt;complexType&amp;gt;
+ *               &amp;lt;complexContent&amp;gt;
+ *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                   &amp;lt;sequence&amp;gt;
+ *                     &amp;lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
+ *                     &amp;lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                             &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                     &amp;lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
+ *                             &amp;lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                             &amp;lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                             &amp;lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                           &amp;lt;/extension&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                     &amp;lt;element name="overview" minOccurs="0"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+ *                             &amp;lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                             &amp;lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                             &amp;lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                             &amp;lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                             &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                   &amp;lt;/sequence&amp;gt;
+ *                   &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+ *                   &amp;lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                   &amp;lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                   &amp;lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                   &amp;lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                   &amp;lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="charWidth" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+ *                   &amp;lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
+ *                   &amp;lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                 &amp;lt;/restriction&amp;gt;
+ *               &amp;lt;/complexContent&amp;gt;
+ *             &amp;lt;/complexType&amp;gt;
+ *           &amp;lt;/element&amp;gt;
+ *           &amp;lt;element name="UserColours" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *             &amp;lt;complexType&amp;gt;
+ *               &amp;lt;complexContent&amp;gt;
+ *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                   &amp;lt;sequence&amp;gt;
+ *                     &amp;lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/&amp;gt;
+ *                   &amp;lt;/sequence&amp;gt;
+ *                   &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;/restriction&amp;gt;
+ *               &amp;lt;/complexContent&amp;gt;
+ *             &amp;lt;/complexType&amp;gt;
+ *           &amp;lt;/element&amp;gt;
+ *           &amp;lt;element name="tree" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *             &amp;lt;complexType&amp;gt;
+ *               &amp;lt;complexContent&amp;gt;
+ *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                   &amp;lt;sequence minOccurs="0"&amp;gt;
+ *                     &amp;lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+ *                     &amp;lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+ *                   &amp;lt;/sequence&amp;gt;
+ *                   &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+ *                   &amp;lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                   &amp;lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                   &amp;lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
+ *                   &amp;lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                 &amp;lt;/restriction&amp;gt;
+ *               &amp;lt;/complexContent&amp;gt;
+ *             &amp;lt;/complexType&amp;gt;
+ *           &amp;lt;/element&amp;gt;
+ *           &amp;lt;element name="PcaViewer" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *             &amp;lt;complexType&amp;gt;
+ *               &amp;lt;complexContent&amp;gt;
+ *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                   &amp;lt;sequence&amp;gt;
+ *                     &amp;lt;element name="sequencePoint" maxOccurs="unbounded"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
+ *                             &amp;lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                     &amp;lt;element name="axis" maxOccurs="3" minOccurs="3"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                     &amp;lt;element name="seqPointMin"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                     &amp;lt;element name="seqPointMax"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                     &amp;lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/&amp;gt;
+ *                   &amp;lt;/sequence&amp;gt;
+ *                   &amp;lt;attGroup ref="{www.jalview.org}SimilarityParams"/&amp;gt;
+ *                   &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+ *                   &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                   &amp;lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                   &amp;lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                   &amp;lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                   &amp;lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                 &amp;lt;/restriction&amp;gt;
+ *               &amp;lt;/complexContent&amp;gt;
+ *             &amp;lt;/complexType&amp;gt;
+ *           &amp;lt;/element&amp;gt;
+ *           &amp;lt;element name="FeatureSettings" minOccurs="0"&amp;gt;
+ *             &amp;lt;complexType&amp;gt;
+ *               &amp;lt;complexContent&amp;gt;
+ *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                   &amp;lt;sequence&amp;gt;
+ *                     &amp;lt;element name="setting" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;sequence&amp;gt;
+ *                               &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
+ *                               &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&amp;gt;
+ *                             &amp;lt;/sequence&amp;gt;
+ *                             &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                             &amp;lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                             &amp;lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                             &amp;lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                             &amp;lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                             &amp;lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
+ *                             &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                             &amp;lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                             &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                             &amp;lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                             &amp;lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                             &amp;lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                     &amp;lt;element name="group" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *                       &amp;lt;complexType&amp;gt;
+ *                         &amp;lt;complexContent&amp;gt;
+ *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                             &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                             &amp;lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                           &amp;lt;/restriction&amp;gt;
+ *                         &amp;lt;/complexContent&amp;gt;
+ *                       &amp;lt;/complexType&amp;gt;
+ *                     &amp;lt;/element&amp;gt;
+ *                   &amp;lt;/sequence&amp;gt;
+ *                 &amp;lt;/restriction&amp;gt;
+ *               &amp;lt;/complexContent&amp;gt;
+ *             &amp;lt;/complexType&amp;gt;
+ *           &amp;lt;/element&amp;gt;
+ *         &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @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.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the jSeq property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getJSeq().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link JalviewModel.JSeq }
-   * 
-   * 
-   */
-  public List<JalviewModel.JSeq> getJSeq()
-  {
-    if (jSeq == null)
-    {
-      jSeq = new ArrayList<JalviewModel.JSeq>();
-    }
-    return this.jSeq;
-  }
-
-  /**
-   * Gets the value of the jGroup property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the jGroup property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getJGroup().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link JalviewModel.JGroup }
-   * 
-   * 
-   */
-  public List<JalviewModel.JGroup> getJGroup()
-  {
-    if (jGroup == null)
-    {
-      jGroup = new ArrayList<JalviewModel.JGroup>();
-    }
-    return this.jGroup;
-  }
-
-  /**
-   * Gets the value of the viewport property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the viewport property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getViewport().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link JalviewModel.Viewport }
-   * 
-   * 
-   */
-  public List<JalviewModel.Viewport> getViewport()
-  {
-    if (viewport == null)
-    {
-      viewport = new ArrayList<JalviewModel.Viewport>();
-    }
-    return this.viewport;
-  }
-
-  /**
-   * Gets the value of the userColours property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the userColours property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getUserColours().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link JalviewModel.UserColours }
-   * 
-   * 
-   */
-  public List<JalviewModel.UserColours> getUserColours()
-  {
-    if (userColours == null)
-    {
-      userColours = new ArrayList<JalviewModel.UserColours>();
-    }
-    return this.userColours;
-  }
-
-  /**
-   * Gets the value of the tree property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the tree property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getTree().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link JalviewModel.Tree }
-   * 
-   * 
-   */
-  public List<JalviewModel.Tree> getTree()
-  {
-    if (tree == null)
-    {
-      tree = new ArrayList<JalviewModel.Tree>();
-    }
-    return this.tree;
-  }
-
-  /**
-   * Gets the value of the pcaViewer property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the pcaViewer property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getPcaViewer().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link JalviewModel.PcaViewer }
-   * 
-   * 
-   */
-  public List<JalviewModel.PcaViewer> getPcaViewer()
-  {
-    if (pcaViewer == null)
-    {
-      pcaViewer = new ArrayList<JalviewModel.PcaViewer>();
-    }
-    return this.pcaViewer;
-  }
-
-  /**
-   * Gets the value of the featureSettings property.
-   * 
-   * @return possible object is {@link JalviewModel.FeatureSettings }
-   * 
-   */
-  public JalviewModel.FeatureSettings getFeatureSettings()
-  {
-    return featureSettings;
-  }
-
-  /**
-   * Sets the value of the featureSettings property.
-   * 
-   * @param value
-   *          allowed object is {@link JalviewModel.FeatureSettings }
-   * 
-   */
-  public void setFeatureSettings(JalviewModel.FeatureSettings value)
-  {
-    this.featureSettings = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="setting" maxOccurs="unbounded" minOccurs="0">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;sequence>
-   *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
-   *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
-   *                 &lt;/sequence>
-   *                 &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                 &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *                 &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *                 &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
-   *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *                 &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *         &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *       &lt;/sequence>
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "setting", "group" })
-  public static class FeatureSettings
-  {
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected List<JalviewModel.FeatureSettings.Setting> setting;
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected List<JalviewModel.FeatureSettings.Group> group;
-
-    /**
-     * Gets the value of the setting property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the setting property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getSetting().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.FeatureSettings.Setting }
-     * 
-     * 
-     */
-    public List<JalviewModel.FeatureSettings.Setting> getSetting()
-    {
-      if (setting == null)
-      {
-        setting = new ArrayList<JalviewModel.FeatureSettings.Setting>();
-      }
-      return this.setting;
-    }
-
-    /**
-     * Gets the value of the group property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the group property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getGroup().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.FeatureSettings.Group }
-     * 
-     * 
-     */
-    public List<JalviewModel.FeatureSettings.Group> getGroup()
-    {
-      if (group == null)
-      {
-        group = new ArrayList<JalviewModel.FeatureSettings.Group>();
-      }
-      return this.group;
-    }
-
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "")
-    public static class Group
-    {
-
-      @XmlAttribute(name = "name", required = true)
-      protected String name;
-
-      @XmlAttribute(name = "display", required = true)
-      protected boolean display;
-
-      /**
-       * Gets the value of the name property.
-       * 
-       * @return possible object is {@link String }
-       * 
-       */
-      public String getName()
-      {
-        return name;
-      }
-
-      /**
-       * Sets the value of the name property.
-       * 
-       * @param value
-       *          allowed object is {@link String }
-       * 
-       */
-      public void setName(String value)
-      {
-        this.name = value;
-      }
-
-      /**
-       * Gets the value of the display property.
-       * 
-       */
-      public boolean isDisplay()
-      {
-        return display;
-      }
-
-      /**
-       * Sets the value of the display property.
-       * 
-       */
-      public void setDisplay(boolean value)
-      {
-        this.display = value;
-      }
-
-    }
-
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
-     *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
-     *       &lt;/sequence>
-     *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *       &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
-     *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *       &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
-     *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = { "attributeName", "matcherSet" })
-    public static class Setting
-    {
-
-      @XmlElement(namespace = "www.jalview.org")
-      protected List<String> attributeName;
-
-      @XmlElement(namespace = "www.jalview.org")
-      protected FeatureMatcherSet matcherSet;
-
-      @XmlAttribute(name = "type", required = true)
-      protected String type;
-
-      @XmlAttribute(name = "colour", required = true)
-      protected int colour;
-
-      @XmlAttribute(name = "display", required = true)
-      protected boolean display;
-
-      @XmlAttribute(name = "order")
-      protected Float order;
-
-      @XmlAttribute(name = "mincolour")
-      protected Integer mincolour;
-
-      @XmlAttribute(name = "noValueColour")
-      protected NoValueColour noValueColour;
-
-      @XmlAttribute(name = "threshold")
-      protected Float threshold;
-
-      @XmlAttribute(name = "threshstate")
-      protected Integer threshstate;
-
-      @XmlAttribute(name = "max")
-      protected Float max;
-
-      @XmlAttribute(name = "min")
-      protected Float min;
-
-      @XmlAttribute(name = "colourByLabel")
-      protected Boolean colourByLabel;
-
-      @XmlAttribute(name = "autoScale")
-      protected Boolean autoScale;
-
-      /**
-       * Gets the value of the attributeName property.
-       * 
-       * <p>
-       * This accessor method returns a reference to the live list, not a
-       * snapshot. Therefore any modification you make to the returned list will
-       * be present inside the JAXB object. This is why there is not a
-       * <CODE>set</CODE> method for the attributeName property.
-       * 
-       * <p>
-       * For example, to add a new item, do as follows:
-       * 
-       * <pre>
-       * getAttributeName().add(newItem);
-       * </pre>
-       * 
-       * 
-       * <p>
-       * Objects of the following type(s) are allowed in the list {@link String
-       * }
-       * 
-       * 
-       */
-      public List<String> getAttributeName()
-      {
-        if (attributeName == null)
-        {
-          attributeName = new ArrayList<String>();
-        }
-        return this.attributeName;
-      }
-
-      /**
-       * Gets the value of the matcherSet property.
-       * 
-       * @return possible object is {@link FeatureMatcherSet }
-       * 
-       */
-      public FeatureMatcherSet getMatcherSet()
-      {
-        return matcherSet;
-      }
-
-      /**
-       * Sets the value of the matcherSet property.
-       * 
-       * @param value
-       *          allowed object is {@link FeatureMatcherSet }
-       * 
-       */
-      public void setMatcherSet(FeatureMatcherSet value)
-      {
-        this.matcherSet = value;
-      }
-
-      /**
-       * Gets the value of the type property.
-       * 
-       * @return possible object is {@link String }
-       * 
-       */
-      public String getType()
-      {
-        return type;
-      }
-
-      /**
-       * Sets the value of the type property.
-       * 
-       * @param value
-       *          allowed object is {@link String }
-       * 
-       */
-      public void setType(String value)
-      {
-        this.type = value;
-      }
-
-      /**
-       * Gets the value of the colour property.
-       * 
-       */
-      public int getColour()
-      {
-        return colour;
-      }
-
-      /**
-       * Sets the value of the colour property.
-       * 
-       */
-      public void setColour(int value)
-      {
-        this.colour = value;
-      }
-
-      /**
-       * Gets the value of the display property.
-       * 
-       */
-      public boolean isDisplay()
-      {
-        return display;
-      }
-
-      /**
-       * Sets the value of the display property.
-       * 
-       */
-      public void setDisplay(boolean value)
-      {
-        this.display = value;
-      }
-
-      /**
-       * Gets the value of the order property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getOrder()
-      {
-        return order;
-      }
-
-      /**
-       * Sets the value of the order property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setOrder(Float value)
-      {
-        this.order = value;
-      }
-
-      /**
-       * Gets the value of the mincolour property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getMincolour()
-      {
-        return mincolour;
-      }
-
-      /**
-       * Sets the value of the mincolour property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setMincolour(Integer value)
-      {
-        this.mincolour = value;
-      }
-
-      /**
-       * Gets the value of the noValueColour property.
-       * 
-       * @return possible object is {@link NoValueColour }
-       * 
-       */
-      public NoValueColour getNoValueColour()
-      {
-        if (noValueColour == null)
-        {
-          return NoValueColour.MIN;
-        }
-        else
-        {
-          return noValueColour;
-        }
-      }
-
-      /**
-       * Sets the value of the noValueColour property.
-       * 
-       * @param value
-       *          allowed object is {@link NoValueColour }
-       * 
-       */
-      public void setNoValueColour(NoValueColour value)
-      {
-        this.noValueColour = value;
-      }
-
-      /**
-       * Gets the value of the threshold property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getThreshold()
-      {
-        return threshold;
-      }
-
-      /**
-       * Sets the value of the threshold property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setThreshold(Float value)
-      {
-        this.threshold = value;
-      }
-
-      /**
-       * Gets the value of the threshstate property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getThreshstate()
-      {
-        return threshstate;
-      }
-
-      /**
-       * Sets the value of the threshstate property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setThreshstate(Integer value)
-      {
-        this.threshstate = value;
-      }
-
-      /**
-       * Gets the value of the max property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getMax()
-      {
-        return max;
-      }
-
-      /**
-       * Sets the value of the max property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setMax(Float value)
-      {
-        this.max = value;
-      }
-
-      /**
-       * Gets the value of the min property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getMin()
-      {
-        return min;
-      }
-
-      /**
-       * Sets the value of the min property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setMin(Float value)
-      {
-        this.min = value;
-      }
-
-      /**
-       * Gets the value of the colourByLabel property.
-       * 
-       * @return possible object is {@link Boolean }
-       * 
-       */
-      public Boolean isColourByLabel()
-      {
-        return colourByLabel;
-      }
-
-      /**
-       * Sets the value of the colourByLabel property.
-       * 
-       * @param value
-       *          allowed object is {@link Boolean }
-       * 
-       */
-      public void setColourByLabel(Boolean value)
-      {
-        this.colourByLabel = value;
-      }
-
-      /**
-       * Gets the value of the autoScale property.
-       * 
-       * @return possible object is {@link Boolean }
-       * 
-       */
-      public Boolean isAutoScale()
-      {
-        return autoScale;
-      }
-
-      /**
-       * Sets the value of the autoScale property.
-       * 
-       * @param value
-       *          allowed object is {@link Boolean }
-       * 
-       */
-      public void setAutoScale(Boolean value)
-      {
-        this.autoScale = value;
-      }
-
-    }
-
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
-   *         &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
-   *       &lt;/sequence>
-   *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "seq", "annotationColours" })
-  public static class JGroup
-  {
-
-    @XmlElement(namespace = "www.jalview.org", required = true)
-    protected List<String> seq;
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected AnnotationColourScheme annotationColours;
-
-    @XmlAttribute(name = "start")
-    protected Integer start;
-
-    @XmlAttribute(name = "end")
-    protected Integer end;
-
-    @XmlAttribute(name = "name")
-    protected String name;
-
-    @XmlAttribute(name = "colour")
-    protected String colour;
-
-    @XmlAttribute(name = "consThreshold")
-    protected Integer consThreshold;
-
-    @XmlAttribute(name = "pidThreshold")
-    protected Integer pidThreshold;
-
-    @XmlAttribute(name = "outlineColour")
-    protected Integer outlineColour;
-
-    @XmlAttribute(name = "displayBoxes")
-    protected Boolean displayBoxes;
-
-    @XmlAttribute(name = "displayText")
-    protected Boolean displayText;
-
-    @XmlAttribute(name = "colourText")
-    protected Boolean colourText;
-
-    @XmlAttribute(name = "textCol1")
-    protected Integer textCol1;
-
-    @XmlAttribute(name = "textCol2")
-    protected Integer textCol2;
-
-    @XmlAttribute(name = "textColThreshold")
-    protected Integer textColThreshold;
-
-    @XmlAttribute(name = "showUnconserved")
-    protected Boolean showUnconserved;
-
-    @XmlAttribute(name = "ignoreGapsinConsensus")
-    protected Boolean ignoreGapsinConsensus;
-
-    @XmlAttribute(name = "showConsensusHistogram")
-    protected Boolean showConsensusHistogram;
-
-    @XmlAttribute(name = "showSequenceLogo")
-    protected Boolean showSequenceLogo;
-
-    @XmlAttribute(name = "normaliseSequenceLogo")
-    protected Boolean normaliseSequenceLogo;
-
-    @XmlAttribute(name = "id")
-    protected String id;
-
-    /**
-     * Gets the value of the seq property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the seq property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getSeq().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list {@link String }
-     * 
+@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 List<String> getSeq()
-    {
-      if (seq == null)
-      {
-        seq = new ArrayList<String>();
-      }
-      return this.seq;
+    public void setCreationDate(XMLGregorianCalendar value) {
+        this.creationDate = value;
     }
 
     /**
-     * Gets the value of the annotationColours property.
-     * 
-     * @return possible object is {@link AnnotationColourScheme }
+     * Gets the value of the version property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public AnnotationColourScheme getAnnotationColours()
-    {
-      return annotationColours;
+    public String getVersion() {
+        return version;
     }
 
     /**
-     * Sets the value of the annotationColours property.
+     * Sets the value of the version property.
      * 
      * @param value
-     *          allowed object is {@link AnnotationColourScheme }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setAnnotationColours(AnnotationColourScheme value)
-    {
-      this.annotationColours = value;
+    public void setVersion(String value) {
+        this.version = value;
     }
 
     /**
-     * Gets the value of the start property.
-     * 
-     * @return possible object is {@link Integer }
+     * Gets the value of the vamsasModel property.
      * 
+     * @return
+     *     possible object is
+     *     {@link VAMSAS }
+     *     
      */
-    public Integer getStart()
-    {
-      return start;
+    public VAMSAS getVamsasModel() {
+        return vamsasModel;
     }
 
     /**
-     * Sets the value of the start property.
+     * Sets the value of the vamsasModel property.
      * 
      * @param value
-     *          allowed object is {@link Integer }
-     * 
+     *     allowed object is
+     *     {@link VAMSAS }
+     *     
      */
-    public void setStart(Integer value)
-    {
-      this.start = value;
+    public void setVamsasModel(VAMSAS value) {
+        this.vamsasModel = value;
     }
 
     /**
-     * Gets the value of the end property.
+     * Gets the value of the jSeq property.
      * 
-     * @return possible object is {@link Integer }
+     * &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.
      * 
-     */
-    public Integer getEnd()
-    {
-      return end;
-    }
-
-    /**
-     * Sets the value of the end property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getJSeq().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
-     */
-    public void setEnd(Integer value)
-    {
-      this.end = value;
-    }
-
-    /**
-     * Gets the value of the name property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.JSeq }
      * 
-     * @return possible object is {@link String }
      * 
      */
-    public String getName()
-    {
-      return name;
+    public List<JalviewModel.JSeq> getJSeq() {
+        if (jSeq == null) {
+            jSeq = new ArrayList<JalviewModel.JSeq>();
+        }
+        return this.jSeq;
     }
 
     /**
-     * Sets the value of the name property.
+     * Gets the value of the jGroup property.
      * 
-     * @param value
-     *          allowed object is {@link String }
+     * &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.
      * 
-     */
-    public void setName(String value)
-    {
-      this.name = value;
-    }
-
-    /**
-     * Gets the value of the colour property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getJGroup().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link String }
      * 
-     */
-    public String getColour()
-    {
-      return colour;
-    }
-
-    /**
-     * Sets the value of the colour property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.JGroup }
      * 
-     * @param value
-     *          allowed object is {@link String }
      * 
      */
-    public void setColour(String value)
-    {
-      this.colour = value;
+    public List<JalviewModel.JGroup> getJGroup() {
+        if (jGroup == null) {
+            jGroup = new ArrayList<JalviewModel.JGroup>();
+        }
+        return this.jGroup;
     }
 
     /**
-     * Gets the value of the consThreshold property.
+     * Gets the value of the viewport property.
      * 
-     * @return possible object is {@link Integer }
+     * &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.
      * 
-     */
-    public Integer getConsThreshold()
-    {
-      return consThreshold;
-    }
-
-    /**
-     * Sets the value of the consThreshold property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getViewport().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
-     */
-    public void setConsThreshold(Integer value)
-    {
-      this.consThreshold = value;
-    }
-
-    /**
-     * Gets the value of the pidThreshold property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.Viewport }
      * 
-     * @return possible object is {@link Integer }
      * 
      */
-    public Integer getPidThreshold()
-    {
-      return pidThreshold;
+    public List<JalviewModel.Viewport> getViewport() {
+        if (viewport == null) {
+            viewport = new ArrayList<JalviewModel.Viewport>();
+        }
+        return this.viewport;
     }
 
     /**
-     * Sets the value of the pidThreshold property.
+     * Gets the value of the userColours property.
      * 
-     * @param value
-     *          allowed object is {@link Integer }
+     * &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.
      * 
-     */
-    public void setPidThreshold(Integer value)
-    {
-      this.pidThreshold = value;
-    }
-
-    /**
-     * Gets the value of the outlineColour property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getUserColours().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link Integer }
      * 
-     */
-    public Integer getOutlineColour()
-    {
-      return outlineColour;
-    }
-
-    /**
-     * Sets the value of the outlineColour property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.UserColours }
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
      */
-    public void setOutlineColour(Integer value)
-    {
-      this.outlineColour = value;
+    public List<JalviewModel.UserColours> getUserColours() {
+        if (userColours == null) {
+            userColours = new ArrayList<JalviewModel.UserColours>();
+        }
+        return this.userColours;
     }
 
     /**
-     * Gets the value of the displayBoxes property.
+     * Gets the value of the tree property.
      * 
-     * @return possible object is {@link Boolean }
+     * &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.
      * 
-     */
-    public Boolean isDisplayBoxes()
-    {
-      return displayBoxes;
-    }
-
-    /**
-     * Sets the value of the displayBoxes property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getTree().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
      * 
-     */
-    public void setDisplayBoxes(Boolean value)
-    {
-      this.displayBoxes = value;
-    }
-
-    /**
-     * Gets the value of the displayText property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.Tree }
      * 
-     * @return possible object is {@link Boolean }
      * 
      */
-    public Boolean isDisplayText()
-    {
-      return displayText;
+    public List<JalviewModel.Tree> getTree() {
+        if (tree == null) {
+            tree = new ArrayList<JalviewModel.Tree>();
+        }
+        return this.tree;
     }
 
     /**
-     * Sets the value of the displayText property.
+     * Gets the value of the pcaViewer property.
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
+     * &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.
      * 
-     */
-    public void setDisplayText(Boolean value)
-    {
-      this.displayText = value;
-    }
-
-    /**
-     * Gets the value of the colourText property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getPcaViewer().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link Boolean }
      * 
-     */
-    public Boolean isColourText()
-    {
-      return colourText;
-    }
-
-    /**
-     * Sets the value of the colourText property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewModel.PcaViewer }
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
      * 
      */
-    public void setColourText(Boolean value)
-    {
-      this.colourText = value;
+    public List<JalviewModel.PcaViewer> getPcaViewer() {
+        if (pcaViewer == null) {
+            pcaViewer = new ArrayList<JalviewModel.PcaViewer>();
+        }
+        return this.pcaViewer;
     }
 
     /**
-     * Gets the value of the textCol1 property.
-     * 
-     * @return possible object is {@link Integer }
+     * Gets the value of the featureSettings property.
      * 
+     * @return
+     *     possible object is
+     *     {@link JalviewModel.FeatureSettings }
+     *     
      */
-    public Integer getTextCol1()
-    {
-      return textCol1;
+    public JalviewModel.FeatureSettings getFeatureSettings() {
+        return featureSettings;
     }
 
     /**
-     * Sets the value of the textCol1 property.
+     * Sets the value of the featureSettings property.
      * 
      * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setTextCol1(Integer value)
-    {
-      this.textCol1 = value;
-    }
-
-    /**
-     * Gets the value of the textCol2 property.
+     *     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;
      * 
-     * @return possible object is {@link Integer }
      * 
      */
-    public Integer getTextCol2()
-    {
-      return textCol2;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "setting",
+        "group"
+    })
+    public static class FeatureSettings {
 
-    /**
-     * Sets the value of the textCol2 property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setTextCol2(Integer value)
-    {
-      this.textCol2 = value;
-    }
+        @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 textColThreshold property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getTextColThreshold()
-    {
-      return textColThreshold;
-    }
+        /**
+         * 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;
+        }
 
-    /**
-     * 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 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;
+        }
 
-    /**
-     * 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;
-    }
+        /**
+         * &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;
+            }
 
-    /**
-     * 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;
-      }
-    }
+        /**
+         * &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;
+            }
 
-    /**
-     * 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.
+     * &lt;p&gt;Java class for anonymous complex type.
      * 
-     * @return possible object is {@link Boolean }
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
      * 
-     */
-    public boolean isNormaliseSequenceLogo()
-    {
-      if (normaliseSequenceLogo == null)
-      {
-        return false;
-      }
-      else
-      {
-        return normaliseSequenceLogo;
-      }
-    }
-
-    /**
-     * Sets the value of the normaliseSequenceLogo property.
+     * &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;
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
      * 
      */
-    public void setNormaliseSequenceLogo(Boolean value)
-    {
-      this.normaliseSequenceLogo = value;
-    }
-
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getId()
-    {
-      return id;
-    }
-
-    /**
-     * Sets the value of the id property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setId(String value)
-    {
-      this.id = value;
-    }
-
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
-   *         &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;extension base="{www.jalview.org}pdbentry">
-   *                 &lt;sequence>
-   *                   &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
-   *                     &lt;complexType>
-   *                       &lt;simpleContent>
-   *                         &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-   *                           &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-   *                           &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *                           &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                           &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *                           &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *                           &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *                           &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                         &lt;/extension>
-   *                       &lt;/simpleContent>
-   *                     &lt;/complexType>
-   *                   &lt;/element>
-   *                 &lt;/sequence>
-   *               &lt;/extension>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *         &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
-   *         &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;sequence>
-   *                   &lt;element name="secondaryStructure" maxOccurs="unbounded">
-   *                     &lt;complexType>
-   *                       &lt;complexContent>
-   *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                           &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                           &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                           &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *                           &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                         &lt;/restriction>
-   *                       &lt;/complexContent>
-   *                     &lt;/complexType>
-   *                   &lt;/element>
-   *                 &lt;/sequence>
-   *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-   *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                 &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *                 &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *       &lt;/sequence>
-   *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(
-    name = "",
-    propOrder =
-    { "features", "pdbids", "hiddenSequences", "rnaViewer" })
-  public static class JSeq
-  {
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected List<Feature> features;
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected List<JalviewModel.JSeq.Pdbids> pdbids;
-
-    @XmlElement(namespace = "www.jalview.org", type = Integer.class)
-    protected List<Integer> hiddenSequences;
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected List<JalviewModel.JSeq.RnaViewer> rnaViewer;
-
-    @XmlAttribute(name = "colour")
-    protected Integer colour;
-
-    @XmlAttribute(name = "start", required = true)
-    protected int start;
-
-    @XmlAttribute(name = "end", required = true)
-    protected int end;
-
-    @XmlAttribute(name = "id", required = true)
-    protected String id;
-
-    @XmlAttribute(name = "hidden")
-    protected Boolean hidden;
-
-    @XmlAttribute(name = "viewreference")
-    protected Boolean viewreference;
-
-    /**
-     * Gets the value of the features property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the features property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getFeatures().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list {@link Feature }
-     * 
-     * 
-     */
-    public List<Feature> getFeatures()
-    {
-      if (features == null)
-      {
-        features = new ArrayList<Feature>();
-      }
-      return this.features;
-    }
-
-    /**
-     * Gets the value of the pdbids property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the pdbids property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getPdbids().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.JSeq.Pdbids }
-     * 
-     * 
-     */
-    public List<JalviewModel.JSeq.Pdbids> getPdbids()
-    {
-      if (pdbids == null)
-      {
-        pdbids = new ArrayList<JalviewModel.JSeq.Pdbids>();
-      }
-      return this.pdbids;
-    }
-
-    /**
-     * Gets the value of the hiddenSequences property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the hiddenSequences property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getHiddenSequences().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list {@link Integer }
-     * 
-     * 
-     */
-    public List<Integer> getHiddenSequences()
-    {
-      if (hiddenSequences == null)
-      {
-        hiddenSequences = new ArrayList<Integer>();
-      }
-      return this.hiddenSequences;
-    }
-
-    /**
-     * Gets the value of the rnaViewer property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the rnaViewer property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getRnaViewer().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.JSeq.RnaViewer }
-     * 
-     * 
-     */
-    public List<JalviewModel.JSeq.RnaViewer> getRnaViewer()
-    {
-      if (rnaViewer == null)
-      {
-        rnaViewer = new ArrayList<JalviewModel.JSeq.RnaViewer>();
-      }
-      return this.rnaViewer;
-    }
-
-    /**
-     * Gets the value of the colour property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getColour()
-    {
-      return colour;
-    }
-
-    /**
-     * Sets the value of the colour property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setColour(Integer value)
-    {
-      this.colour = value;
-    }
-
-    /**
-     * Gets the value of the start property.
-     * 
-     */
-    public int getStart()
-    {
-      return start;
-    }
-
-    /**
-     * Sets the value of the start property.
-     * 
-     */
-    public void setStart(int value)
-    {
-      this.start = value;
-    }
-
-    /**
-     * Gets the value of the end property.
-     * 
-     */
-    public int getEnd()
-    {
-      return end;
-    }
-
-    /**
-     * Sets the value of the end property.
-     * 
-     */
-    public void setEnd(int value)
-    {
-      this.end = value;
-    }
-
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getId()
-    {
-      return id;
-    }
-
-    /**
-     * Sets the value of the id property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setId(String value)
-    {
-      this.id = value;
-    }
-
-    /**
-     * Gets the value of the hidden property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isHidden()
-    {
-      return hidden;
-    }
-
-    /**
-     * Sets the value of the hidden property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setHidden(Boolean value)
-    {
-      this.hidden = value;
-    }
-
-    /**
-     * Gets the value of the viewreference property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isViewreference()
-    {
-      return viewreference;
-    }
-
-    /**
-     * Sets the value of the viewreference property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setViewreference(Boolean value)
-    {
-      this.viewreference = value;
-    }
-
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;extension base="{www.jalview.org}pdbentry">
-     *       &lt;sequence>
-     *         &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
-     *           &lt;complexType>
-     *             &lt;simpleContent>
-     *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *                 &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                 &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *                 &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *                 &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-     *                 &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *               &lt;/extension>
-     *             &lt;/simpleContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *       &lt;/sequence>
-     *     &lt;/extension>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = { "structureState" })
-    public static class Pdbids extends Pdbentry
-    {
-
-      @XmlElement(namespace = "www.jalview.org")
-      protected List<JalviewModel.JSeq.Pdbids.StructureState> structureState;
-
-      /**
-       * Gets the value of the structureState property.
-       * 
-       * <p>
-       * This accessor method returns a reference to the live list, not a
-       * snapshot. Therefore any modification you make to the returned list will
-       * be present inside the JAXB object. This is why there is not a
-       * <CODE>set</CODE> method for the structureState property.
-       * 
-       * <p>
-       * For example, to add a new item, do as follows:
-       * 
-       * <pre>
-       * getStructureState().add(newItem);
-       * </pre>
-       * 
-       * 
-       * <p>
-       * Objects of the following type(s) are allowed in the list
-       * {@link JalviewModel.JSeq.Pdbids.StructureState }
-       * 
-       * 
-       */
-      public List<JalviewModel.JSeq.Pdbids.StructureState> getStructureState()
-      {
-        if (structureState == null)
-        {
-          structureState = new ArrayList<JalviewModel.JSeq.Pdbids.StructureState>();
-        }
-        return this.structureState;
-      }
-
-      /**
-       * <p>
-       * Java class for anonymous complex type.
-       * 
-       * <p>
-       * The following schema fragment specifies the expected content contained
-       * within this class.
-       * 
-       * <pre>
-       * &lt;complexType>
-       *   &lt;simpleContent>
-       *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-       *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-       *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-       *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-       *       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-       *       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-       *       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-       *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-       *     &lt;/extension>
-       *   &lt;/simpleContent>
-       * &lt;/complexType>
-       * </pre>
-       * 
-       * 
-       */
-      @XmlAccessorType(XmlAccessType.FIELD)
-      @XmlType(name = "", propOrder = { "value" })
-      public static class StructureState
-      {
-
-        @XmlValue
-        protected String value;
-
-        @XmlAttribute(name = "visible")
-        protected Boolean visible;
-
-        @XmlAttribute(name = "viewId")
-        protected String viewId;
-
-        @XmlAttribute(name = "alignwithAlignPanel")
-        protected Boolean alignwithAlignPanel;
-
-        @XmlAttribute(name = "colourwithAlignPanel")
-        protected Boolean colourwithAlignPanel;
-
-        @XmlAttribute(name = "colourByJmol")
-        protected Boolean colourByJmol;
-
-        @XmlAttribute(name = "type")
-        protected String type;
-
-        @XmlAttribute(name = "width")
-        protected Integer width;
-
-        @XmlAttribute(name = "height")
-        protected Integer height;
-
-        @XmlAttribute(name = "xpos")
-        protected Integer xpos;
-
-        @XmlAttribute(name = "ypos")
-        protected Integer ypos;
+    @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 value property.
+         * 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 }
          * 
-         * @return possible object is {@link String }
          * 
          */
-        public String getValue()
-        {
-          return value;
+        public List<String> getSeq() {
+            if (seq == null) {
+                seq = new ArrayList<String>();
+            }
+            return this.seq;
         }
 
         /**
-         * Sets the value of the value property.
-         * 
-         * @param value
-         *          allowed object is {@link String }
+         * Gets the value of the annotationColours property.
          * 
+         * @return
+         *     possible object is
+         *     {@link AnnotationColourScheme }
+         *     
          */
-        public void setValue(String value)
-        {
-          this.value = value;
+        public AnnotationColourScheme getAnnotationColours() {
+            return annotationColours;
         }
 
         /**
-         * Gets the value of the visible property.
+         * Sets the value of the annotationColours property.
          * 
-         * @return possible object is {@link Boolean }
+         * @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 Boolean isVisible()
-        {
-          return visible;
+        public Integer getStart() {
+            return start;
         }
 
         /**
-         * Sets the value of the visible property.
+         * Sets the value of the start property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setVisible(Boolean value)
-        {
-          this.visible = value;
+        public void setStart(Integer value) {
+            this.start = value;
         }
 
         /**
-         * Gets the value of the viewId property.
-         * 
-         * @return possible object is {@link String }
+         * Gets the value of the end property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public String getViewId()
-        {
-          return viewId;
+        public Integer getEnd() {
+            return end;
         }
 
         /**
-         * Sets the value of the viewId property.
+         * Sets the value of the end property.
          * 
          * @param value
-         *          allowed object is {@link String }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setViewId(String value)
-        {
-          this.viewId = value;
+        public void setEnd(Integer value) {
+            this.end = value;
         }
 
         /**
-         * Gets the value of the alignwithAlignPanel property.
-         * 
-         * @return possible object is {@link Boolean }
+         * Gets the value of the name property.
          * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
          */
-        public boolean isAlignwithAlignPanel()
-        {
-          if (alignwithAlignPanel == null)
-          {
-            return true;
-          }
-          else
-          {
-            return alignwithAlignPanel;
-          }
+        public String getName() {
+            return name;
         }
 
         /**
-         * Sets the value of the alignwithAlignPanel property.
+         * Sets the value of the name property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link String }
+         *     
          */
-        public void setAlignwithAlignPanel(Boolean value)
-        {
-          this.alignwithAlignPanel = value;
+        public void setName(String value) {
+            this.name = value;
         }
 
         /**
-         * Gets the value of the colourwithAlignPanel property.
-         * 
-         * @return possible object is {@link Boolean }
+         * Gets the value of the colour property.
          * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
          */
-        public boolean isColourwithAlignPanel()
-        {
-          if (colourwithAlignPanel == null)
-          {
-            return false;
-          }
-          else
-          {
-            return colourwithAlignPanel;
-          }
+        public String getColour() {
+            return colour;
         }
 
         /**
-         * Sets the value of the colourwithAlignPanel property.
+         * Sets the value of the colour property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link String }
+         *     
          */
-        public void setColourwithAlignPanel(Boolean value)
-        {
-          this.colourwithAlignPanel = value;
+        public void setColour(String value) {
+            this.colour = value;
         }
 
         /**
-         * Gets the value of the colourByJmol property.
-         * 
-         * @return possible object is {@link Boolean }
+         * Gets the value of the consThreshold property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public boolean isColourByJmol()
-        {
-          if (colourByJmol == null)
-          {
-            return true;
-          }
-          else
-          {
-            return colourByJmol;
-          }
+        public Integer getConsThreshold() {
+            return consThreshold;
         }
 
         /**
-         * Sets the value of the colourByJmol property.
+         * Sets the value of the consThreshold property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setColourByJmol(Boolean value)
-        {
-          this.colourByJmol = value;
+        public void setConsThreshold(Integer value) {
+            this.consThreshold = value;
         }
 
         /**
-         * Gets the value of the type property.
-         * 
-         * @return possible object is {@link String }
+         * Gets the value of the pidThreshold property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public String getType()
-        {
-          return type;
+        public Integer getPidThreshold() {
+            return pidThreshold;
         }
 
         /**
-         * Sets the value of the type property.
+         * Sets the value of the pidThreshold property.
          * 
          * @param value
-         *          allowed object is {@link String }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setType(String value)
-        {
-          this.type = value;
+        public void setPidThreshold(Integer value) {
+            this.pidThreshold = value;
         }
 
         /**
-         * Gets the value of the width property.
-         * 
-         * @return possible object is {@link Integer }
+         * Gets the value of the outlineColour property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public Integer getWidth()
-        {
-          return width;
+        public Integer getOutlineColour() {
+            return outlineColour;
         }
 
         /**
-         * Sets the value of the width property.
+         * Sets the value of the outlineColour property.
          * 
          * @param value
-         *          allowed object is {@link Integer }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setWidth(Integer value)
-        {
-          this.width = value;
+        public void setOutlineColour(Integer value) {
+            this.outlineColour = value;
         }
 
         /**
-         * Gets the value of the height property.
-         * 
-         * @return possible object is {@link Integer }
+         * Gets the value of the displayBoxes property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
          */
-        public Integer getHeight()
-        {
-          return height;
+        public Boolean isDisplayBoxes() {
+            return displayBoxes;
         }
 
         /**
-         * Sets the value of the height property.
+         * Sets the value of the displayBoxes property.
          * 
          * @param value
-         *          allowed object is {@link Integer }
-         * 
+         *     allowed object is
+         *     {@link Boolean }
+         *     
          */
-        public void setHeight(Integer value)
-        {
-          this.height = value;
+        public void setDisplayBoxes(Boolean value) {
+            this.displayBoxes = value;
         }
 
         /**
-         * Gets the value of the xpos property.
-         * 
-         * @return possible object is {@link Integer }
+         * Gets the value of the displayText property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
          */
-        public Integer getXpos()
-        {
-          return xpos;
+        public Boolean isDisplayText() {
+            return displayText;
         }
 
         /**
-         * Sets the value of the xpos property.
+         * Sets the value of the displayText property.
          * 
          * @param value
-         *          allowed object is {@link Integer }
-         * 
+         *     allowed object is
+         *     {@link Boolean }
+         *     
          */
-        public void setXpos(Integer value)
-        {
-          this.xpos = value;
+        public void setDisplayText(Boolean value) {
+            this.displayText = value;
         }
 
         /**
-         * Gets the value of the ypos property.
-         * 
-         * @return possible object is {@link Integer }
+         * Gets the value of the colourText property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
          */
-        public Integer getYpos()
-        {
-          return ypos;
+        public Boolean isColourText() {
+            return colourText;
         }
 
         /**
-         * Sets the value of the ypos property.
+         * Sets the value of the colourText property.
          * 
          * @param value
-         *          allowed object is {@link Integer }
-         * 
+         *     allowed object is
+         *     {@link Boolean }
+         *     
          */
-        public void setYpos(Integer value)
-        {
-          this.ypos = value;
+        public void setColourText(Boolean value) {
+            this.colourText = value;
         }
 
-      }
-
-    }
-
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="secondaryStructure" maxOccurs="unbounded">
-     *           &lt;complexType>
-     *             &lt;complexContent>
-     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                 &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *                 &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *                 &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *               &lt;/restriction>
-     *             &lt;/complexContent>
-     *           &lt;/complexType>
-     *         &lt;/element>
-     *       &lt;/sequence>
-     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = { "secondaryStructure" })
-    public static class RnaViewer
-    {
-
-      @XmlElement(namespace = "www.jalview.org", required = true)
-      protected List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> secondaryStructure;
-
-      @XmlAttribute(name = "title")
-      protected String title;
-
-      @XmlAttribute(name = "viewId")
-      protected String viewId;
-
-      @XmlAttribute(name = "dividerLocation")
-      protected Integer dividerLocation;
-
-      @XmlAttribute(name = "selectedRna")
-      protected Integer selectedRna;
-
-      @XmlAttribute(name = "width")
-      protected Integer width;
-
-      @XmlAttribute(name = "height")
-      protected Integer height;
-
-      @XmlAttribute(name = "xpos")
-      protected Integer xpos;
-
-      @XmlAttribute(name = "ypos")
-      protected Integer ypos;
-
-      /**
-       * Gets the value of the secondaryStructure property.
-       * 
-       * <p>
-       * This accessor method returns a reference to the live list, not a
-       * snapshot. Therefore any modification you make to the returned list will
-       * be present inside the JAXB object. This is why there is not a
-       * <CODE>set</CODE> method for the secondaryStructure property.
-       * 
-       * <p>
-       * For example, to add a new item, do as follows:
-       * 
-       * <pre>
-       * getSecondaryStructure().add(newItem);
-       * </pre>
-       * 
-       * 
-       * <p>
-       * Objects of the following type(s) are allowed in the list
-       * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
-       * 
-       * 
-       */
-      public List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> getSecondaryStructure()
-      {
-        if (secondaryStructure == null)
-        {
-          secondaryStructure = new ArrayList<JalviewModel.JSeq.RnaViewer.SecondaryStructure>();
-        }
-        return this.secondaryStructure;
-      }
-
-      /**
-       * Gets the value of the title property.
-       * 
-       * @return possible object is {@link String }
-       * 
-       */
-      public String getTitle()
-      {
-        return title;
-      }
-
-      /**
-       * Sets the value of the title property.
-       * 
-       * @param value
-       *          allowed object is {@link String }
-       * 
-       */
-      public void setTitle(String value)
-      {
-        this.title = value;
-      }
-
-      /**
-       * Gets the value of the viewId property.
-       * 
-       * @return possible object is {@link String }
-       * 
-       */
-      public String getViewId()
-      {
-        return viewId;
-      }
-
-      /**
-       * Sets the value of the viewId property.
-       * 
-       * @param value
-       *          allowed object is {@link String }
-       * 
-       */
-      public void setViewId(String value)
-      {
-        this.viewId = value;
-      }
-
-      /**
-       * Gets the value of the dividerLocation property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getDividerLocation()
-      {
-        return dividerLocation;
-      }
-
-      /**
-       * Sets the value of the dividerLocation property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setDividerLocation(Integer value)
-      {
-        this.dividerLocation = value;
-      }
-
-      /**
-       * Gets the value of the selectedRna property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getSelectedRna()
-      {
-        return selectedRna;
-      }
-
-      /**
-       * Sets the value of the selectedRna property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setSelectedRna(Integer value)
-      {
-        this.selectedRna = value;
-      }
-
-      /**
-       * Gets the value of the width property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getWidth()
-      {
-        return width;
-      }
-
-      /**
-       * Sets the value of the width property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setWidth(Integer value)
-      {
-        this.width = value;
-      }
-
-      /**
-       * Gets the value of the height property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getHeight()
-      {
-        return height;
-      }
-
-      /**
-       * Sets the value of the height property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setHeight(Integer value)
-      {
-        this.height = value;
-      }
-
-      /**
-       * Gets the value of the xpos property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getXpos()
-      {
-        return xpos;
-      }
-
-      /**
-       * Sets the value of the xpos property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setXpos(Integer value)
-      {
-        this.xpos = value;
-      }
-
-      /**
-       * Gets the value of the ypos property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getYpos()
-      {
-        return ypos;
-      }
-
-      /**
-       * Sets the value of the ypos property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setYpos(Integer value)
-      {
-        this.ypos = value;
-      }
-
-      /**
-       * <p>
-       * Java class for anonymous complex type.
-       * 
-       * <p>
-       * The following schema fragment specifies the expected content contained
-       * within this class.
-       * 
-       * <pre>
-       * &lt;complexType>
-       *   &lt;complexContent>
-       *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-       *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-       *       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-       *       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-       *       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-       *     &lt;/restriction>
-       *   &lt;/complexContent>
-       * &lt;/complexType>
-       * </pre>
-       * 
-       * 
-       */
-      @XmlAccessorType(XmlAccessType.FIELD)
-      @XmlType(name = "")
-      public static class SecondaryStructure
-      {
-
-        @XmlAttribute(name = "title")
-        protected String title;
-
-        @XmlAttribute(name = "annotationId", required = true)
-        protected String annotationId;
-
-        @XmlAttribute(name = "gapped")
-        protected Boolean gapped;
-
-        @XmlAttribute(name = "viewerState")
-        protected String viewerState;
-
         /**
-         * Gets the value of the title property.
-         * 
-         * @return possible object is {@link String }
+         * Gets the value of the textCol1 property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public String getTitle()
-        {
-          return title;
+        public Integer getTextCol1() {
+            return textCol1;
         }
 
         /**
-         * Sets the value of the title property.
+         * Sets the value of the textCol1 property.
          * 
          * @param value
-         *          allowed object is {@link String }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setTitle(String value)
-        {
-          this.title = value;
+        public void setTextCol1(Integer value) {
+            this.textCol1 = value;
         }
 
         /**
-         * Gets the value of the annotationId property.
-         * 
-         * @return possible object is {@link String }
+         * Gets the value of the textCol2 property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public String getAnnotationId()
-        {
-          return annotationId;
+        public Integer getTextCol2() {
+            return textCol2;
         }
 
         /**
-         * Sets the value of the annotationId property.
+         * Sets the value of the textCol2 property.
          * 
          * @param value
-         *          allowed object is {@link String }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setAnnotationId(String value)
-        {
-          this.annotationId = value;
+        public void setTextCol2(Integer value) {
+            this.textCol2 = value;
         }
 
         /**
-         * Gets the value of the gapped property.
-         * 
-         * @return possible object is {@link Boolean }
+         * Gets the value of the textColThreshold property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
          */
-        public Boolean isGapped()
-        {
-          return gapped;
+        public Integer getTextColThreshold() {
+            return textColThreshold;
         }
 
         /**
-         * Sets the value of the gapped property.
+         * Sets the value of the textColThreshold property.
          * 
          * @param value
-         *          allowed object is {@link Boolean }
-         * 
+         *     allowed object is
+         *     {@link Integer }
+         *     
          */
-        public void setGapped(Boolean value)
-        {
-          this.gapped = value;
+        public void setTextColThreshold(Integer value) {
+            this.textColThreshold = value;
         }
 
         /**
-         * Gets the value of the viewerState property.
-         * 
-         * @return possible object is {@link String }
+         * Gets the value of the showUnconserved property.
          * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
          */
-        public String getViewerState()
-        {
-          return viewerState;
+        public Boolean isShowUnconserved() {
+            return showUnconserved;
         }
 
         /**
-         * Sets the value of the viewerState property.
+         * Sets the value of the showUnconserved property.
          * 
          * @param value
-         *          allowed object is {@link String }
-         * 
+         *     allowed object is
+         *     {@link Boolean }
+         *     
          */
-        public void setViewerState(String value)
-        {
-          this.viewerState = value;
+        public void setShowUnconserved(Boolean value) {
+            this.showUnconserved = value;
         }
 
-      }
+        /**
+         * Gets the value of the ignoreGapsinConsensus property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isIgnoreGapsinConsensus() {
+            if (ignoreGapsinConsensus == null) {
+                return true;
+            } else {
+                return ignoreGapsinConsensus;
+            }
+        }
 
-    }
+        /**
+         * Sets the value of the ignoreGapsinConsensus property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setIgnoreGapsinConsensus(Boolean value) {
+            this.ignoreGapsinConsensus = value;
+        }
 
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="sequencePoint" maxOccurs="unbounded">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;attGroup ref="{www.jalview.org}position"/>
-   *                 &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *         &lt;element name="axis" maxOccurs="3" minOccurs="3">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;attGroup ref="{www.jalview.org}position"/>
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *         &lt;element name="seqPointMin">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;attGroup ref="{www.jalview.org}position"/>
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *         &lt;element name="seqPointMax">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;attGroup ref="{www.jalview.org}position"/>
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *         &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/>
-   *       &lt;/sequence>
-   *       &lt;attGroup ref="{www.jalview.org}SimilarityParams"/>
-   *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-   *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *       &lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(
-    name = "",
-    propOrder =
-    { "sequencePoint", "axis", "seqPointMin", "seqPointMax", "pcaData" })
-  public static class PcaViewer
-  {
-
-    @XmlElement(namespace = "www.jalview.org", required = true)
-    protected List<JalviewModel.PcaViewer.SequencePoint> sequencePoint;
-
-    @XmlElement(namespace = "www.jalview.org", required = true)
-    protected List<JalviewModel.PcaViewer.Axis> axis;
-
-    @XmlElement(namespace = "www.jalview.org", required = true)
-    protected JalviewModel.PcaViewer.SeqPointMin seqPointMin;
-
-    @XmlElement(namespace = "www.jalview.org", required = true)
-    protected JalviewModel.PcaViewer.SeqPointMax seqPointMax;
-
-    @XmlElement(namespace = "www.jalview.org", required = true)
-    protected PcaDataType pcaData;
-
-    @XmlAttribute(name = "title")
-    protected String title;
-
-    @XmlAttribute(name = "scoreModelName")
-    protected String scoreModelName;
-
-    @XmlAttribute(name = "xDim")
-    protected Integer xDim;
-
-    @XmlAttribute(name = "yDim")
-    protected Integer yDim;
-
-    @XmlAttribute(name = "zDim")
-    protected Integer zDim;
-
-    @XmlAttribute(name = "bgColour")
-    protected Integer bgColour;
-
-    @XmlAttribute(name = "scaleFactor")
-    protected Float scaleFactor;
-
-    @XmlAttribute(name = "showLabels")
-    protected Boolean showLabels;
-
-    @XmlAttribute(name = "linkToAllViews")
-    protected Boolean linkToAllViews;
-
-    @XmlAttribute(name = "includeGaps")
-    protected Boolean includeGaps;
-
-    @XmlAttribute(name = "matchGaps")
-    protected Boolean matchGaps;
-
-    @XmlAttribute(name = "includeGappedColumns")
-    protected Boolean includeGappedColumns;
-
-    @XmlAttribute(name = "denominateByShortestLength")
-    protected Boolean denominateByShortestLength;
-
-    @XmlAttribute(name = "width")
-    protected Integer width;
-
-    @XmlAttribute(name = "height")
-    protected Integer height;
-
-    @XmlAttribute(name = "xpos")
-    protected Integer xpos;
-
-    @XmlAttribute(name = "ypos")
-    protected Integer ypos;
+        /**
+         * Gets the value of the showConsensusHistogram property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowConsensusHistogram() {
+            if (showConsensusHistogram == null) {
+                return true;
+            } else {
+                return showConsensusHistogram;
+            }
+        }
 
-    /**
-     * Gets the value of the sequencePoint property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the sequencePoint property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getSequencePoint().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.PcaViewer.SequencePoint }
-     * 
-     * 
-     */
-    public List<JalviewModel.PcaViewer.SequencePoint> getSequencePoint()
-    {
-      if (sequencePoint == null)
-      {
-        sequencePoint = new ArrayList<JalviewModel.PcaViewer.SequencePoint>();
-      }
-      return this.sequencePoint;
-    }
+        /**
+         * 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 axis property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the axis property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getAxis().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.PcaViewer.Axis }
-     * 
-     * 
-     */
-    public List<JalviewModel.PcaViewer.Axis> getAxis()
-    {
-      if (axis == null)
-      {
-        axis = new ArrayList<JalviewModel.PcaViewer.Axis>();
-      }
-      return this.axis;
-    }
+        /**
+         * Gets the value of the showSequenceLogo property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowSequenceLogo() {
+            if (showSequenceLogo == null) {
+                return false;
+            } else {
+                return showSequenceLogo;
+            }
+        }
 
-    /**
-     * 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 showSequenceLogo property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowSequenceLogo(Boolean value) {
+            this.showSequenceLogo = value;
+        }
 
-    /**
-     * Sets the value of the seqPointMin property.
-     * 
-     * @param value
-     *          allowed object is {@link JalviewModel.PcaViewer.SeqPointMin }
-     * 
-     */
-    public void setSeqPointMin(JalviewModel.PcaViewer.SeqPointMin value)
-    {
-      this.seqPointMin = value;
-    }
+        /**
+         * Gets the value of the normaliseSequenceLogo property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isNormaliseSequenceLogo() {
+            if (normaliseSequenceLogo == null) {
+                return false;
+            } else {
+                return normaliseSequenceLogo;
+            }
+        }
 
-    /**
-     * 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 normaliseSequenceLogo property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setNormaliseSequenceLogo(Boolean value) {
+            this.normaliseSequenceLogo = value;
+        }
 
-    /**
-     * Sets the value of the seqPointMax property.
-     * 
-     * @param value
-     *          allowed object is {@link JalviewModel.PcaViewer.SeqPointMax }
-     * 
-     */
-    public void setSeqPointMax(JalviewModel.PcaViewer.SeqPointMax value)
-    {
-      this.seqPointMax = value;
-    }
+        /**
+         * Gets the value of the id property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getId() {
+            return id;
+        }
 
-    /**
-     * Gets the value of the pcaData property.
-     * 
-     * @return possible object is {@link PcaDataType }
-     * 
-     */
-    public PcaDataType getPcaData()
-    {
-      return pcaData;
-    }
+        /**
+         * Sets the value of the id property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setId(String value) {
+            this.id = value;
+        }
 
-    /**
-     * Sets the value of the 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.
+     * &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;
      * 
-     * @param value
-     *          allowed object is {@link String }
      * 
      */
-    public void setTitle(String value)
-    {
-      this.title = value;
-    }
+    @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 scoreModelName property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getScoreModelName()
-    {
-      return scoreModelName;
-    }
+        /**
+         * 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;
+        }
 
-    /**
-     * 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 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 xDim property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getXDim()
-    {
-      return xDim;
-    }
+        /**
+         * 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;
+        }
 
-    /**
-     * 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 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 yDim property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getYDim()
-    {
-      return yDim;
-    }
+        /**
+         * Gets the value of the colour property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getColour() {
+            return colour;
+        }
 
-    /**
-     * Sets the value of the yDim property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setYDim(Integer value)
-    {
-      this.yDim = value;
-    }
+        /**
+         * Sets the value of the colour property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setColour(Integer value) {
+            this.colour = value;
+        }
 
-    /**
-     * Gets the value of the zDim property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getZDim()
-    {
-      return zDim;
-    }
+        /**
+         * Gets the value of the start property.
+         * 
+         */
+        public int getStart() {
+            return start;
+        }
 
-    /**
-     * Sets the value of the zDim property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setZDim(Integer value)
-    {
-      this.zDim = value;
-    }
+        /**
+         * Sets the value of the start property.
+         * 
+         */
+        public void setStart(int value) {
+            this.start = value;
+        }
 
-    /**
-     * Gets the value of the bgColour property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getBgColour()
-    {
-      return bgColour;
-    }
+        /**
+         * Gets the value of the end property.
+         * 
+         */
+        public int getEnd() {
+            return end;
+        }
 
-    /**
-     * Sets the value of the bgColour property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setBgColour(Integer value)
-    {
-      this.bgColour = value;
-    }
+        /**
+         * Sets the value of the end property.
+         * 
+         */
+        public void setEnd(int value) {
+            this.end = value;
+        }
 
-    /**
-     * Gets the value of the scaleFactor property.
-     * 
-     * @return possible object is {@link Float }
-     * 
-     */
-    public Float getScaleFactor()
-    {
-      return scaleFactor;
-    }
+        /**
+         * Gets the value of the id property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getId() {
+            return id;
+        }
 
-    /**
-     * Sets the value of the scaleFactor property.
-     * 
-     * @param value
-     *          allowed object is {@link Float }
-     * 
-     */
-    public void setScaleFactor(Float value)
-    {
-      this.scaleFactor = value;
-    }
+        /**
+         * Sets the value of the id property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setId(String value) {
+            this.id = value;
+        }
 
-    /**
-     * Gets the value of the showLabels property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowLabels()
-    {
-      return showLabels;
-    }
+        /**
+         * Gets the value of the hidden property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isHidden() {
+            return hidden;
+        }
 
-    /**
-     * Sets the value of the showLabels property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowLabels(Boolean value)
-    {
-      this.showLabels = value;
-    }
+        /**
+         * Sets the value of the hidden property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setHidden(Boolean value) {
+            this.hidden = value;
+        }
 
-    /**
-     * Gets the value of the linkToAllViews property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isLinkToAllViews()
-    {
-      return linkToAllViews;
-    }
+        /**
+         * Gets the value of the viewreference property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isViewreference() {
+            return viewreference;
+        }
 
-    /**
-     * Sets the value of the linkToAllViews property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setLinkToAllViews(Boolean value)
-    {
-      this.linkToAllViews = value;
-    }
+        /**
+         * Sets the value of the viewreference property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setViewreference(Boolean value) {
+            this.viewreference = 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;
-    }
+        /**
+         * &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
+        {
 
-    /**
-     * Gets the value of the matchGaps property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isMatchGaps()
-    {
-      return matchGaps;
-    }
+            @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;
+                }
+
+            }
 
-    /**
-     * 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;
-    }
+        /**
+         * &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;
+                }
+
+            }
 
-    /**
-     * 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;
     }
 
-    /**
-     * 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.
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;sequence&amp;gt;
+     *         &amp;lt;element name="sequencePoint" maxOccurs="unbounded"&amp;gt;
+     *           &amp;lt;complexType&amp;gt;
+     *             &amp;lt;complexContent&amp;gt;
+     *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *                 &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
+     *                 &amp;lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *               &amp;lt;/restriction&amp;gt;
+     *             &amp;lt;/complexContent&amp;gt;
+     *           &amp;lt;/complexType&amp;gt;
+     *         &amp;lt;/element&amp;gt;
+     *         &amp;lt;element name="axis" maxOccurs="3" minOccurs="3"&amp;gt;
+     *           &amp;lt;complexType&amp;gt;
+     *             &amp;lt;complexContent&amp;gt;
+     *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *                 &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
+     *               &amp;lt;/restriction&amp;gt;
+     *             &amp;lt;/complexContent&amp;gt;
+     *           &amp;lt;/complexType&amp;gt;
+     *         &amp;lt;/element&amp;gt;
+     *         &amp;lt;element name="seqPointMin"&amp;gt;
+     *           &amp;lt;complexType&amp;gt;
+     *             &amp;lt;complexContent&amp;gt;
+     *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *                 &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
+     *               &amp;lt;/restriction&amp;gt;
+     *             &amp;lt;/complexContent&amp;gt;
+     *           &amp;lt;/complexType&amp;gt;
+     *         &amp;lt;/element&amp;gt;
+     *         &amp;lt;element name="seqPointMax"&amp;gt;
+     *           &amp;lt;complexType&amp;gt;
+     *             &amp;lt;complexContent&amp;gt;
+     *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *                 &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
+     *               &amp;lt;/restriction&amp;gt;
+     *             &amp;lt;/complexContent&amp;gt;
+     *           &amp;lt;/complexType&amp;gt;
+     *         &amp;lt;/element&amp;gt;
+     *         &amp;lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/&amp;gt;
+     *       &amp;lt;/sequence&amp;gt;
+     *       &amp;lt;attGroup ref="{www.jalview.org}SimilarityParams"/&amp;gt;
+     *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+     *       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+     *       &amp;lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
      * 
-     * @param value
-     *          allowed object is {@link Integer }
      * 
      */
-    public void setWidth(Integer value)
-    {
-      this.width = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "sequencePoint",
+        "axis",
+        "seqPointMin",
+        "seqPointMax",
+        "pcaData"
+    })
+    public static class PcaViewer {
+
+        @XmlElement(namespace = "www.jalview.org", required = true)
+        protected List<JalviewModel.PcaViewer.SequencePoint> sequencePoint;
+        @XmlElement(namespace = "www.jalview.org", required = true)
+        protected List<JalviewModel.PcaViewer.Axis> axis;
+        @XmlElement(namespace = "www.jalview.org", required = true)
+        protected JalviewModel.PcaViewer.SeqPointMin seqPointMin;
+        @XmlElement(namespace = "www.jalview.org", required = true)
+        protected JalviewModel.PcaViewer.SeqPointMax seqPointMax;
+        @XmlElement(namespace = "www.jalview.org", required = true)
+        protected PcaDataType pcaData;
+        @XmlAttribute(name = "title")
+        protected String title;
+        @XmlAttribute(name = "scoreModelName")
+        protected String scoreModelName;
+        @XmlAttribute(name = "xDim")
+        protected Integer xDim;
+        @XmlAttribute(name = "yDim")
+        protected Integer yDim;
+        @XmlAttribute(name = "zDim")
+        protected Integer zDim;
+        @XmlAttribute(name = "bgColour")
+        protected Integer bgColour;
+        @XmlAttribute(name = "scaleFactor")
+        protected Float scaleFactor;
+        @XmlAttribute(name = "showLabels")
+        protected Boolean showLabels;
+        @XmlAttribute(name = "linkToAllViews")
+        protected Boolean linkToAllViews;
+        @XmlAttribute(name = "includeGaps")
+        protected Boolean includeGaps;
+        @XmlAttribute(name = "matchGaps")
+        protected Boolean matchGaps;
+        @XmlAttribute(name = "includeGappedColumns")
+        protected Boolean includeGappedColumns;
+        @XmlAttribute(name = "denominateByShortestLength")
+        protected Boolean denominateByShortestLength;
+        @XmlAttribute(name = "width")
+        protected Integer width;
+        @XmlAttribute(name = "height")
+        protected Integer height;
+        @XmlAttribute(name = "xpos")
+        protected Integer xpos;
+        @XmlAttribute(name = "ypos")
+        protected Integer ypos;
 
-    /**
-     * Gets the value of the height property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getHeight()
-    {
-      return height;
-    }
+        /**
+         * 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;
+        }
 
-    /**
-     * 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 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 xpos property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getXpos()
-    {
-      return xpos;
-    }
+        /**
+         * 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 xpos property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setXpos(Integer value)
-    {
-      this.xpos = value;
-    }
+        /**
+         * Sets the value of the seqPointMin property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link JalviewModel.PcaViewer.SeqPointMin }
+         *     
+         */
+        public void setSeqPointMin(JalviewModel.PcaViewer.SeqPointMin value) {
+            this.seqPointMin = value;
+        }
 
-    /**
-     * Gets the value of the ypos property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getYpos()
-    {
-      return ypos;
-    }
+        /**
+         * 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 ypos property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setYpos(Integer value)
-    {
-      this.ypos = value;
-    }
+        /**
+         * Sets the value of the seqPointMax property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link JalviewModel.PcaViewer.SeqPointMax }
+         *     
+         */
+        public void setSeqPointMax(JalviewModel.PcaViewer.SeqPointMax value) {
+            this.seqPointMax = value;
+        }
 
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;attGroup ref="{www.jalview.org}position"/>
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "")
-    public static class Axis
-    {
-
-      @XmlAttribute(name = "xPos")
-      protected Float xPos;
-
-      @XmlAttribute(name = "yPos")
-      protected Float yPos;
-
-      @XmlAttribute(name = "zPos")
-      protected Float zPos;
-
-      /**
-       * Gets the value of the xPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getXPos()
-      {
-        return xPos;
-      }
-
-      /**
-       * Sets the value of the xPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setXPos(Float value)
-      {
-        this.xPos = value;
-      }
-
-      /**
-       * Gets the value of the yPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getYPos()
-      {
-        return yPos;
-      }
-
-      /**
-       * Sets the value of the yPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setYPos(Float value)
-      {
-        this.yPos = value;
-      }
-
-      /**
-       * Gets the value of the zPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getZPos()
-      {
-        return zPos;
-      }
-
-      /**
-       * Sets the value of the zPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setZPos(Float value)
-      {
-        this.zPos = value;
-      }
+        /**
+         * Gets the value of the 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;
+        }
 
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;attGroup ref="{www.jalview.org}position"/>
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "")
-    public static class SeqPointMax
-    {
-
-      @XmlAttribute(name = "xPos")
-      protected Float xPos;
-
-      @XmlAttribute(name = "yPos")
-      protected Float yPos;
-
-      @XmlAttribute(name = "zPos")
-      protected Float zPos;
-
-      /**
-       * Gets the value of the xPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getXPos()
-      {
-        return xPos;
-      }
-
-      /**
-       * Sets the value of the xPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setXPos(Float value)
-      {
-        this.xPos = value;
-      }
-
-      /**
-       * Gets the value of the yPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getYPos()
-      {
-        return yPos;
-      }
-
-      /**
-       * Sets the value of the yPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setYPos(Float value)
-      {
-        this.yPos = value;
-      }
-
-      /**
-       * Gets the value of the zPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getZPos()
-      {
-        return zPos;
-      }
-
-      /**
-       * Sets the value of the zPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setZPos(Float value)
-      {
-        this.zPos = value;
-      }
+        /**
+         * 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;
+        }
 
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;attGroup ref="{www.jalview.org}position"/>
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "")
-    public static class SeqPointMin
-    {
-
-      @XmlAttribute(name = "xPos")
-      protected Float xPos;
-
-      @XmlAttribute(name = "yPos")
-      protected Float yPos;
-
-      @XmlAttribute(name = "zPos")
-      protected Float zPos;
-
-      /**
-       * Gets the value of the xPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getXPos()
-      {
-        return xPos;
-      }
-
-      /**
-       * Sets the value of the xPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setXPos(Float value)
-      {
-        this.xPos = value;
-      }
-
-      /**
-       * Gets the value of the yPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getYPos()
-      {
-        return yPos;
-      }
-
-      /**
-       * Sets the value of the yPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setYPos(Float value)
-      {
-        this.yPos = value;
-      }
-
-      /**
-       * Gets the value of the zPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getZPos()
-      {
-        return zPos;
-      }
-
-      /**
-       * Sets the value of the zPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setZPos(Float value)
-      {
-        this.zPos = value;
-      }
+        /**
+         * Gets the value of the 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;
+        }
 
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;attGroup ref="{www.jalview.org}position"/>
-     *       &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "")
-    public static class SequencePoint
-    {
-
-      @XmlAttribute(name = "sequenceRef")
-      protected String sequenceRef;
-
-      @XmlAttribute(name = "xPos")
-      protected Float xPos;
-
-      @XmlAttribute(name = "yPos")
-      protected Float yPos;
-
-      @XmlAttribute(name = "zPos")
-      protected Float zPos;
-
-      /**
-       * Gets the value of the sequenceRef property.
-       * 
-       * @return possible object is {@link String }
-       * 
-       */
-      public String getSequenceRef()
-      {
-        return sequenceRef;
-      }
-
-      /**
-       * Sets the value of the sequenceRef property.
-       * 
-       * @param value
-       *          allowed object is {@link String }
-       * 
-       */
-      public void setSequenceRef(String value)
-      {
-        this.sequenceRef = value;
-      }
-
-      /**
-       * Gets the value of the xPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getXPos()
-      {
-        return xPos;
-      }
-
-      /**
-       * Sets the value of the xPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setXPos(Float value)
-      {
-        this.xPos = value;
-      }
-
-      /**
-       * Gets the value of the yPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getYPos()
-      {
-        return yPos;
-      }
-
-      /**
-       * Sets the value of the yPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setYPos(Float value)
-      {
-        this.yPos = value;
-      }
-
-      /**
-       * Gets the value of the zPos property.
-       * 
-       * @return possible object is {@link Float }
-       * 
-       */
-      public Float getZPos()
-      {
-        return zPos;
-      }
-
-      /**
-       * Sets the value of the zPos property.
-       * 
-       * @param value
-       *          allowed object is {@link Float }
-       * 
-       */
-      public void setZPos(Float value)
-      {
-        this.zPos = value;
-      }
+        /**
+         * 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;
+        }
 
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence minOccurs="0">
-   *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
-   *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
-   *       &lt;/sequence>
-   *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-   *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *       &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
-   *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "title", "newick" })
-  public static class Tree
-  {
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected String title;
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected String newick;
-
-    @XmlAttribute(name = "fontName")
-    protected String fontName;
-
-    @XmlAttribute(name = "fontSize")
-    protected Integer fontSize;
-
-    @XmlAttribute(name = "fontStyle")
-    protected Integer fontStyle;
-
-    @XmlAttribute(name = "threshold")
-    protected Float threshold;
-
-    @XmlAttribute(name = "showBootstrap")
-    protected Boolean showBootstrap;
-
-    @XmlAttribute(name = "showDistances")
-    protected Boolean showDistances;
-
-    @XmlAttribute(name = "markUnlinked")
-    protected Boolean markUnlinked;
-
-    @XmlAttribute(name = "fitToWindow")
-    protected Boolean fitToWindow;
-
-    @XmlAttribute(name = "currentTree")
-    protected Boolean currentTree;
-
-    @XmlAttribute(name = "columnWise")
-    protected Boolean columnWise;
-
-    @XmlAttribute(name = "columnReference")
-    protected String columnReference;
-
-    @XmlAttribute(name = "id")
-    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-    @XmlID
-    @XmlSchemaType(name = "ID")
-    protected String id;
-
-    @XmlAttribute(name = "linkToAllViews")
-    protected Boolean linkToAllViews;
-
-    @XmlAttribute(name = "width")
-    protected Integer width;
-
-    @XmlAttribute(name = "height")
-    protected Integer height;
-
-    @XmlAttribute(name = "xpos")
-    protected Integer xpos;
-
-    @XmlAttribute(name = "ypos")
-    protected Integer ypos;
+        /**
+         * Gets the value of the yDim property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getYDim() {
+            return yDim;
+        }
 
-    /**
-     * Gets the value of the title property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getTitle()
-    {
-      return title;
-    }
+        /**
+         * Sets the value of the yDim property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setYDim(Integer value) {
+            this.yDim = value;
+        }
 
-    /**
-     * Sets the value of the title property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setTitle(String value)
-    {
-      this.title = value;
-    }
+        /**
+         * Gets the value of the zDim property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getZDim() {
+            return zDim;
+        }
 
-    /**
-     * Gets the value of the newick property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getNewick()
-    {
-      return newick;
-    }
+        /**
+         * Sets the value of the zDim property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setZDim(Integer value) {
+            this.zDim = value;
+        }
 
-    /**
-     * Sets the value of the newick property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setNewick(String value)
-    {
-      this.newick = value;
-    }
+        /**
+         * Gets the value of the bgColour property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getBgColour() {
+            return bgColour;
+        }
 
-    /**
-     * Gets the value of the fontName property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getFontName()
-    {
-      return fontName;
-    }
+        /**
+         * Sets the value of the bgColour property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setBgColour(Integer value) {
+            this.bgColour = value;
+        }
 
-    /**
-     * Sets the value of the fontName property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setFontName(String value)
-    {
-      this.fontName = value;
-    }
+        /**
+         * Gets the value of the scaleFactor property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getScaleFactor() {
+            return scaleFactor;
+        }
 
-    /**
-     * Gets the value of the fontSize property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getFontSize()
-    {
-      return fontSize;
-    }
+        /**
+         * Sets the value of the scaleFactor property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Float }
+         *     
+         */
+        public void setScaleFactor(Float value) {
+            this.scaleFactor = value;
+        }
 
-    /**
-     * Sets the value of the fontSize property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setFontSize(Integer value)
-    {
-      this.fontSize = value;
-    }
+        /**
+         * Gets the value of the showLabels property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowLabels() {
+            return showLabels;
+        }
 
-    /**
-     * Gets the value of the fontStyle property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getFontStyle()
-    {
-      return fontStyle;
-    }
+        /**
+         * Sets the value of the showLabels property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowLabels(Boolean value) {
+            this.showLabels = value;
+        }
 
-    /**
-     * Sets the value of the fontStyle property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setFontStyle(Integer value)
-    {
-      this.fontStyle = value;
-    }
+        /**
+         * Gets the value of the linkToAllViews property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isLinkToAllViews() {
+            return linkToAllViews;
+        }
 
-    /**
-     * Gets the value of the threshold property.
-     * 
-     * @return possible object is {@link Float }
-     * 
-     */
-    public Float getThreshold()
-    {
-      return threshold;
-    }
+        /**
+         * Sets the value of the linkToAllViews property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setLinkToAllViews(Boolean value) {
+            this.linkToAllViews = value;
+        }
 
-    /**
-     * Sets the value of the threshold property.
-     * 
-     * @param value
-     *          allowed object is {@link Float }
-     * 
-     */
-    public void setThreshold(Float value)
-    {
-      this.threshold = value;
-    }
+        /**
+         * Gets the value of the includeGaps property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isIncludeGaps() {
+            return includeGaps;
+        }
 
-    /**
-     * Gets the value of the showBootstrap property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowBootstrap()
-    {
-      return showBootstrap;
-    }
+        /**
+         * Sets the value of the includeGaps property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setIncludeGaps(Boolean value) {
+            this.includeGaps = value;
+        }
 
-    /**
-     * Sets the value of the showBootstrap property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowBootstrap(Boolean value)
-    {
-      this.showBootstrap = value;
-    }
+        /**
+         * Gets the value of the matchGaps property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isMatchGaps() {
+            return matchGaps;
+        }
 
-    /**
-     * Gets the value of the showDistances property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowDistances()
-    {
-      return showDistances;
-    }
+        /**
+         * Sets the value of the matchGaps property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setMatchGaps(Boolean value) {
+            this.matchGaps = value;
+        }
 
-    /**
-     * Sets the value of the showDistances property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowDistances(Boolean value)
-    {
-      this.showDistances = value;
-    }
+        /**
+         * Gets the value of the includeGappedColumns property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isIncludeGappedColumns() {
+            return includeGappedColumns;
+        }
 
-    /**
-     * Gets the value of the markUnlinked property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isMarkUnlinked()
-    {
-      return markUnlinked;
-    }
+        /**
+         * Sets the value of the includeGappedColumns property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setIncludeGappedColumns(Boolean value) {
+            this.includeGappedColumns = value;
+        }
 
-    /**
-     * Sets the value of the markUnlinked property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setMarkUnlinked(Boolean value)
-    {
-      this.markUnlinked = value;
-    }
+        /**
+         * Gets the value of the denominateByShortestLength property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isDenominateByShortestLength() {
+            return denominateByShortestLength;
+        }
 
-    /**
-     * Gets the value of the fitToWindow property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isFitToWindow()
-    {
-      return fitToWindow;
-    }
+        /**
+         * Sets the value of the denominateByShortestLength property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setDenominateByShortestLength(Boolean value) {
+            this.denominateByShortestLength = value;
+        }
 
-    /**
-     * Sets the value of the fitToWindow property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setFitToWindow(Boolean value)
-    {
-      this.fitToWindow = value;
-    }
+        /**
+         * Gets the value of the width property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getWidth() {
+            return width;
+        }
 
-    /**
-     * Gets the value of the currentTree property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isCurrentTree()
-    {
-      return currentTree;
-    }
+        /**
+         * Sets the value of the width property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setWidth(Integer value) {
+            this.width = value;
+        }
 
-    /**
-     * Sets the value of the currentTree property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setCurrentTree(Boolean value)
-    {
-      this.currentTree = value;
-    }
+        /**
+         * Gets the value of the height property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getHeight() {
+            return height;
+        }
 
-    /**
-     * Gets the value of the columnWise property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public boolean isColumnWise()
-    {
-      if (columnWise == null)
-      {
-        return false;
-      }
-      else
-      {
-        return columnWise;
-      }
-    }
+        /**
+         * Sets the value of the height property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setHeight(Integer value) {
+            this.height = value;
+        }
 
-    /**
-     * Sets the value of the columnWise property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setColumnWise(Boolean value)
-    {
-      this.columnWise = value;
-    }
+        /**
+         * Gets the value of the xpos property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getXpos() {
+            return xpos;
+        }
 
-    /**
-     * Gets the value of the columnReference property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getColumnReference()
-    {
-      return columnReference;
-    }
+        /**
+         * Sets the value of the xpos property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setXpos(Integer value) {
+            this.xpos = value;
+        }
 
-    /**
-     * Sets the value of the columnReference property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setColumnReference(String value)
-    {
-      this.columnReference = value;
-    }
+        /**
+         * Gets the value of the ypos property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getYpos() {
+            return ypos;
+        }
 
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getId()
-    {
-      return id;
-    }
+        /**
+         * Sets the value of the ypos property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setYpos(Integer value) {
+            this.ypos = value;
+        }
 
-    /**
-     * Sets the value of the 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;
-      }
-    }
+        /**
+         * &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;
+            }
 
-    /**
-     * 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;
-    }
+        /**
+         * &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;
+            }
 
-    /**
-     * 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;
-    }
+        /**
+         * &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;
+            }
 
-    /**
-     * 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;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;
+            }
 
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
-   *       &lt;/sequence>
-   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "userColourScheme" })
-  public static class UserColours
-  {
-
-    @XmlElement(
-      name = "UserColourScheme",
-      namespace = "www.jalview.org",
-      required = true)
-    protected JalviewUserColours userColourScheme;
-
-    @XmlAttribute(name = "id")
-    protected String id;
+        }
 
-    /**
-     * 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.
+     * &lt;p&gt;Java class for anonymous complex type.
      * 
-     * @return possible object is {@link String }
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
      * 
-     */
-    public String getId()
-    {
-      return id;
-    }
-
-    /**
-     * Sets the value of the id property.
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;sequence minOccurs="0"&amp;gt;
+     *         &amp;lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+     *         &amp;lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+     *       &amp;lt;/sequence&amp;gt;
+     *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+     *       &amp;lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+     *       &amp;lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *       &amp;lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
+     *       &amp;lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
      * 
-     * @param value
-     *          allowed object is {@link String }
      * 
      */
-    public void setId(String value)
-    {
-      this.id = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "title",
+        "newick"
+    })
+    public static class Tree {
 
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
-   *         &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *                 &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *         &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
-   *                 &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *                 &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *                 &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *               &lt;/extension>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *         &lt;element name="overview" minOccurs="0">
-   *           &lt;complexType>
-   *             &lt;complexContent>
-   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-   *                 &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *                 &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *                 &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *                 &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *               &lt;/restriction>
-   *             &lt;/complexContent>
-   *           &lt;/complexType>
-   *         &lt;/element>
-   *       &lt;/sequence>
-   *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-   *       &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *       &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *       &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *       &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="charWidth" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-   *       &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
-   *       &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(
-    name = "",
-    propOrder =
-    { "annotationColours", "hiddenColumns", "calcIdParam", "overview" })
-  public static class Viewport
-  {
-
-    @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
-    protected AnnotationColourScheme annotationColours;
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected List<JalviewModel.Viewport.HiddenColumns> hiddenColumns;
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected List<JalviewModel.Viewport.CalcIdParam> calcIdParam;
-
-    @XmlElement(namespace = "www.jalview.org")
-    protected JalviewModel.Viewport.Overview overview;
-
-    @XmlAttribute(name = "conservationSelected")
-    protected Boolean conservationSelected;
-
-    @XmlAttribute(name = "pidSelected")
-    protected Boolean pidSelected;
-
-    @XmlAttribute(name = "bgColour")
-    protected String bgColour;
-
-    @XmlAttribute(name = "consThreshold")
-    protected Integer consThreshold;
-
-    @XmlAttribute(name = "pidThreshold")
-    protected Integer pidThreshold;
-
-    @XmlAttribute(name = "title")
-    protected String title;
-
-    @XmlAttribute(name = "showFullId")
-    protected Boolean showFullId;
-
-    @XmlAttribute(name = "rightAlignIds")
-    protected Boolean rightAlignIds;
-
-    @XmlAttribute(name = "showText")
-    protected Boolean showText;
-
-    @XmlAttribute(name = "showColourText")
-    protected Boolean showColourText;
-
-    @XmlAttribute(name = "showUnconserved")
-    protected Boolean showUnconserved;
-
-    @XmlAttribute(name = "showBoxes")
-    protected Boolean showBoxes;
-
-    @XmlAttribute(name = "wrapAlignment")
-    protected Boolean wrapAlignment;
+        @XmlElement(namespace = "www.jalview.org")
+        protected String title;
+        @XmlElement(namespace = "www.jalview.org")
+        protected String newick;
+        @XmlAttribute(name = "fontName")
+        protected String fontName;
+        @XmlAttribute(name = "fontSize")
+        protected Integer fontSize;
+        @XmlAttribute(name = "fontStyle")
+        protected Integer fontStyle;
+        @XmlAttribute(name = "threshold")
+        protected Float threshold;
+        @XmlAttribute(name = "showBootstrap")
+        protected Boolean showBootstrap;
+        @XmlAttribute(name = "showDistances")
+        protected Boolean showDistances;
+        @XmlAttribute(name = "markUnlinked")
+        protected Boolean markUnlinked;
+        @XmlAttribute(name = "fitToWindow")
+        protected Boolean fitToWindow;
+        @XmlAttribute(name = "currentTree")
+        protected Boolean currentTree;
+        @XmlAttribute(name = "columnWise")
+        protected Boolean columnWise;
+        @XmlAttribute(name = "columnReference")
+        protected String columnReference;
+        @XmlAttribute(name = "id")
+        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+        @XmlID
+        @XmlSchemaType(name = "ID")
+        protected String id;
+        @XmlAttribute(name = "linkToAllViews")
+        protected Boolean linkToAllViews;
+        @XmlAttribute(name = "width")
+        protected Integer width;
+        @XmlAttribute(name = "height")
+        protected Integer height;
+        @XmlAttribute(name = "xpos")
+        protected Integer xpos;
+        @XmlAttribute(name = "ypos")
+        protected Integer ypos;
 
-    @XmlAttribute(name = "renderGaps")
-    protected Boolean renderGaps;
+        /**
+         * Gets the value of the title property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTitle() {
+            return title;
+        }
 
-    @XmlAttribute(name = "showSequenceFeatures")
-    protected Boolean showSequenceFeatures;
+        /**
+         * Sets the value of the title property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTitle(String value) {
+            this.title = value;
+        }
 
-    @XmlAttribute(name = "showNPfeatureTooltip")
-    protected Boolean showNPfeatureTooltip;
+        /**
+         * 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;
+        }
 
-    @XmlAttribute(name = "showDbRefTooltip")
-    protected Boolean showDbRefTooltip;
+        /**
+         * 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;
+        }
 
-    @XmlAttribute(name = "followHighlight")
-    protected Boolean followHighlight;
+        /**
+         * Gets the value of the fontSize property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getFontSize() {
+            return fontSize;
+        }
 
-    @XmlAttribute(name = "followSelection")
-    protected Boolean followSelection;
+        /**
+         * Sets the value of the fontSize property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setFontSize(Integer value) {
+            this.fontSize = value;
+        }
 
-    @XmlAttribute(name = "showAnnotation")
-    protected Boolean showAnnotation;
+        /**
+         * Gets the value of the fontStyle property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getFontStyle() {
+            return fontStyle;
+        }
 
-    @XmlAttribute(name = "centreColumnLabels")
-    protected Boolean centreColumnLabels;
+        /**
+         * Sets the value of the fontStyle property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setFontStyle(Integer value) {
+            this.fontStyle = value;
+        }
 
-    @XmlAttribute(name = "showGroupConservation")
-    protected Boolean showGroupConservation;
+        /**
+         * Gets the value of the threshold property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getThreshold() {
+            return threshold;
+        }
 
-    @XmlAttribute(name = "showGroupConsensus")
-    protected Boolean showGroupConsensus;
+        /**
+         * Sets the value of the threshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Float }
+         *     
+         */
+        public void setThreshold(Float value) {
+            this.threshold = value;
+        }
 
-    @XmlAttribute(name = "showConsensusHistogram")
-    protected Boolean showConsensusHistogram;
+        /**
+         * Gets the value of the showBootstrap property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowBootstrap() {
+            return showBootstrap;
+        }
 
-    @XmlAttribute(name = "showSequenceLogo")
-    protected Boolean showSequenceLogo;
+        /**
+         * Sets the value of the showBootstrap property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowBootstrap(Boolean value) {
+            this.showBootstrap = value;
+        }
 
-    @XmlAttribute(name = "normaliseSequenceLogo")
-    protected Boolean normaliseSequenceLogo;
+        /**
+         * Gets the value of the showDistances property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowDistances() {
+            return showDistances;
+        }
 
-    @XmlAttribute(name = "ignoreGapsinConsensus")
-    protected Boolean ignoreGapsinConsensus;
+        /**
+         * Sets the value of the showDistances property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowDistances(Boolean value) {
+            this.showDistances = value;
+        }
 
-    @XmlAttribute(name = "startRes")
-    protected Integer startRes;
+        /**
+         * Gets the value of the markUnlinked property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isMarkUnlinked() {
+            return markUnlinked;
+        }
 
-    @XmlAttribute(name = "startSeq")
-    protected Integer startSeq;
+        /**
+         * Sets the value of the markUnlinked property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setMarkUnlinked(Boolean value) {
+            this.markUnlinked = value;
+        }
 
-    @XmlAttribute(name = "charWidth")
-    protected Integer charWidth;
+        /**
+         * Gets the value of the fitToWindow property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isFitToWindow() {
+            return fitToWindow;
+        }
 
-    @XmlAttribute(name = "charHeight")
-    protected Integer charHeight;
+        /**
+         * Sets the value of the fitToWindow property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setFitToWindow(Boolean value) {
+            this.fitToWindow = value;
+        }
 
-    @XmlAttribute(name = "fontName")
-    protected String fontName;
+        /**
+         * Gets the value of the currentTree property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isCurrentTree() {
+            return currentTree;
+        }
 
-    @XmlAttribute(name = "fontSize")
-    protected Integer fontSize;
+        /**
+         * Sets the value of the currentTree property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setCurrentTree(Boolean value) {
+            this.currentTree = value;
+        }
 
-    @XmlAttribute(name = "fontStyle")
-    protected Integer fontStyle;
+        /**
+         * Gets the value of the columnWise property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isColumnWise() {
+            if (columnWise == null) {
+                return false;
+            } else {
+                return columnWise;
+            }
+        }
 
-    @XmlAttribute(name = "scaleProteinAsCdna")
-    protected Boolean scaleProteinAsCdna;
+        /**
+         * Sets the value of the columnWise property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setColumnWise(Boolean value) {
+            this.columnWise = value;
+        }
 
-    @XmlAttribute(name = "viewName")
-    protected String viewName;
+        /**
+         * Gets the value of the columnReference property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getColumnReference() {
+            return columnReference;
+        }
 
-    @XmlAttribute(name = "sequenceSetId")
-    protected String sequenceSetId;
+        /**
+         * Sets the value of the columnReference property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setColumnReference(String value) {
+            this.columnReference = value;
+        }
 
-    @XmlAttribute(name = "gatheredViews")
-    protected Boolean gatheredViews;
+        /**
+         * Gets the value of the id property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getId() {
+            return id;
+        }
 
-    @XmlAttribute(name = "textCol1")
-    protected Integer textCol1;
+        /**
+         * Sets the value of the id property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setId(String value) {
+            this.id = value;
+        }
 
-    @XmlAttribute(name = "textCol2")
-    protected Integer textCol2;
+        /**
+         * Gets the value of the linkToAllViews property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isLinkToAllViews() {
+            if (linkToAllViews == null) {
+                return false;
+            } else {
+                return linkToAllViews;
+            }
+        }
 
-    @XmlAttribute(name = "textColThreshold")
-    protected Integer textColThreshold;
+        /**
+         * Sets the value of the linkToAllViews property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setLinkToAllViews(Boolean value) {
+            this.linkToAllViews = value;
+        }
 
-    @XmlAttribute(name = "id")
-    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-    @XmlID
-    @XmlSchemaType(name = "ID")
-    protected String id;
+        /**
+         * Gets the value of the width property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getWidth() {
+            return width;
+        }
 
-    @XmlAttribute(name = "complementId")
-    protected String complementId;
+        /**
+         * Sets the value of the width property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setWidth(Integer value) {
+            this.width = value;
+        }
 
-    @XmlAttribute(name = "showComplementFeatures")
-    protected Boolean showComplementFeatures;
+        /**
+         * Gets the value of the height property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getHeight() {
+            return height;
+        }
 
-    @XmlAttribute(name = "showComplementFeaturesOnTop")
-    protected Boolean showComplementFeaturesOnTop;
+        /**
+         * Sets the value of the height property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setHeight(Integer value) {
+            this.height = value;
+        }
 
-    @XmlAttribute(name = "width")
-    protected Integer width;
+        /**
+         * Gets the value of the xpos property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getXpos() {
+            return xpos;
+        }
 
-    @XmlAttribute(name = "height")
-    protected Integer height;
+        /**
+         * Sets the value of the xpos property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setXpos(Integer value) {
+            this.xpos = value;
+        }
 
-    @XmlAttribute(name = "xpos")
-    protected Integer xpos;
+        /**
+         * Gets the value of the ypos property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getYpos() {
+            return ypos;
+        }
 
-    @XmlAttribute(name = "ypos")
-    protected Integer ypos;
+        /**
+         * Sets the value of the ypos property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setYpos(Integer value) {
+            this.ypos = value;
+        }
 
-    /**
-     * Gets the value of the annotationColours property.
-     * 
-     * @return possible object is {@link AnnotationColourScheme }
-     * 
-     */
-    public AnnotationColourScheme getAnnotationColours()
-    {
-      return annotationColours;
     }
 
-    /**
-     * Sets the value of the annotationColours property.
-     * 
-     * @param value
-     *          allowed object is {@link AnnotationColourScheme }
-     * 
-     */
-    public void setAnnotationColours(AnnotationColourScheme value)
-    {
-      this.annotationColours = value;
-    }
 
     /**
-     * Gets the value of the hiddenColumns property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the hiddenColumns property.
+     * &lt;p&gt;Java class for anonymous complex type.
      * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getHiddenColumns().add(newItem);
-     * </pre>
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
      * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.Viewport.HiddenColumns }
+     * &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;
      * 
      * 
      */
-    public List<JalviewModel.Viewport.HiddenColumns> getHiddenColumns()
-    {
-      if (hiddenColumns == null)
-      {
-        hiddenColumns = new ArrayList<JalviewModel.Viewport.HiddenColumns>();
-      }
-      return this.hiddenColumns;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "userColourScheme"
+    })
+    public static class UserColours {
 
-    /**
-     * Gets the value of the calcIdParam property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the calcIdParam property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getCalcIdParam().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JalviewModel.Viewport.CalcIdParam }
-     * 
-     * 
-     */
-    public List<JalviewModel.Viewport.CalcIdParam> getCalcIdParam()
-    {
-      if (calcIdParam == null)
-      {
-        calcIdParam = new ArrayList<JalviewModel.Viewport.CalcIdParam>();
-      }
-      return this.calcIdParam;
-    }
+        @XmlElement(name = "UserColourScheme", namespace = "www.jalview.org", required = true)
+        protected JalviewUserColours userColourScheme;
+        @XmlAttribute(name = "id")
+        protected String id;
 
-    /**
-     * Gets the value of the overview property.
-     * 
-     * @return possible object is {@link JalviewModel.Viewport.Overview }
-     * 
-     */
-    public JalviewModel.Viewport.Overview getOverview()
-    {
-      return overview;
-    }
+        /**
+         * Gets the value of the userColourScheme property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link JalviewUserColours }
+         *     
+         */
+        public JalviewUserColours getUserColourScheme() {
+            return userColourScheme;
+        }
 
-    /**
-     * Sets the value of the overview property.
-     * 
-     * @param value
-     *          allowed object is {@link JalviewModel.Viewport.Overview }
-     * 
-     */
-    public void setOverview(JalviewModel.Viewport.Overview value)
-    {
-      this.overview = value;
-    }
+        /**
+         * Sets the value of the userColourScheme property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link JalviewUserColours }
+         *     
+         */
+        public void setUserColourScheme(JalviewUserColours value) {
+            this.userColourScheme = value;
+        }
 
-    /**
-     * Gets the value of the conservationSelected property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isConservationSelected()
-    {
-      return conservationSelected;
-    }
+        /**
+         * Gets the value of the id property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getId() {
+            return id;
+        }
+
+        /**
+         * Sets the value of the id property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setId(String value) {
+            this.id = value;
+        }
 
-    /**
-     * Sets the value of the conservationSelected property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setConservationSelected(Boolean value)
-    {
-      this.conservationSelected = value;
     }
 
+
     /**
-     * Gets the value of the pidSelected property.
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;sequence&amp;gt;
+     *         &amp;lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
+     *         &amp;lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+     *           &amp;lt;complexType&amp;gt;
+     *             &amp;lt;complexContent&amp;gt;
+     *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *                 &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *                 &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *               &amp;lt;/restriction&amp;gt;
+     *             &amp;lt;/complexContent&amp;gt;
+     *           &amp;lt;/complexType&amp;gt;
+     *         &amp;lt;/element&amp;gt;
+     *         &amp;lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+     *           &amp;lt;complexType&amp;gt;
+     *             &amp;lt;complexContent&amp;gt;
+     *               &amp;lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
+     *                 &amp;lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *                 &amp;lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *                 &amp;lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *               &amp;lt;/extension&amp;gt;
+     *             &amp;lt;/complexContent&amp;gt;
+     *           &amp;lt;/complexType&amp;gt;
+     *         &amp;lt;/element&amp;gt;
+     *         &amp;lt;element name="overview" minOccurs="0"&amp;gt;
+     *           &amp;lt;complexType&amp;gt;
+     *             &amp;lt;complexContent&amp;gt;
+     *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *                 &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+     *                 &amp;lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *                 &amp;lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *                 &amp;lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *                 &amp;lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *                 &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *               &amp;lt;/restriction&amp;gt;
+     *             &amp;lt;/complexContent&amp;gt;
+     *           &amp;lt;/complexType&amp;gt;
+     *         &amp;lt;/element&amp;gt;
+     *       &amp;lt;/sequence&amp;gt;
+     *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+     *       &amp;lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *       &amp;lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+     *       &amp;lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+     *       &amp;lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *       &amp;lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *       &amp;lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *       &amp;lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+     *       &amp;lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *       &amp;lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *       &amp;lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
+     *       &amp;lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="charWidth" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="charHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="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;
      * 
-     * @return possible object is {@link Boolean }
      * 
      */
-    public Boolean isPidSelected()
-    {
-      return pidSelected;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "annotationColours",
+        "hiddenColumns",
+        "calcIdParam",
+        "overview"
+    })
+    public static class Viewport {
+
+        @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
+        protected AnnotationColourScheme annotationColours;
+        @XmlElement(namespace = "www.jalview.org")
+        protected List<JalviewModel.Viewport.HiddenColumns> hiddenColumns;
+        @XmlElement(namespace = "www.jalview.org")
+        protected List<JalviewModel.Viewport.CalcIdParam> calcIdParam;
+        @XmlElement(namespace = "www.jalview.org")
+        protected JalviewModel.Viewport.Overview overview;
+        @XmlAttribute(name = "conservationSelected")
+        protected Boolean conservationSelected;
+        @XmlAttribute(name = "pidSelected")
+        protected Boolean pidSelected;
+        @XmlAttribute(name = "bgColour")
+        protected String bgColour;
+        @XmlAttribute(name = "consThreshold")
+        protected Integer consThreshold;
+        @XmlAttribute(name = "pidThreshold")
+        protected Integer pidThreshold;
+        @XmlAttribute(name = "title")
+        protected String title;
+        @XmlAttribute(name = "showFullId")
+        protected Boolean showFullId;
+        @XmlAttribute(name = "rightAlignIds")
+        protected Boolean rightAlignIds;
+        @XmlAttribute(name = "showText")
+        protected Boolean showText;
+        @XmlAttribute(name = "showColourText")
+        protected Boolean showColourText;
+        @XmlAttribute(name = "showUnconserved")
+        protected Boolean showUnconserved;
+        @XmlAttribute(name = "showBoxes")
+        protected Boolean showBoxes;
+        @XmlAttribute(name = "wrapAlignment")
+        protected Boolean wrapAlignment;
+        @XmlAttribute(name = "renderGaps")
+        protected Boolean renderGaps;
+        @XmlAttribute(name = "showSequenceFeatures")
+        protected Boolean showSequenceFeatures;
+        @XmlAttribute(name = "showNPfeatureTooltip")
+        protected Boolean showNPfeatureTooltip;
+        @XmlAttribute(name = "showDbRefTooltip")
+        protected Boolean showDbRefTooltip;
+        @XmlAttribute(name = "followHighlight")
+        protected Boolean followHighlight;
+        @XmlAttribute(name = "followSelection")
+        protected Boolean followSelection;
+        @XmlAttribute(name = "showAnnotation")
+        protected Boolean showAnnotation;
+        @XmlAttribute(name = "centreColumnLabels")
+        protected Boolean centreColumnLabels;
+        @XmlAttribute(name = "showGroupConservation")
+        protected Boolean showGroupConservation;
+        @XmlAttribute(name = "showGroupConsensus")
+        protected Boolean showGroupConsensus;
+        @XmlAttribute(name = "showConsensusHistogram")
+        protected Boolean showConsensusHistogram;
+        @XmlAttribute(name = "showSequenceLogo")
+        protected Boolean showSequenceLogo;
+        @XmlAttribute(name = "normaliseSequenceLogo")
+        protected Boolean normaliseSequenceLogo;
+        @XmlAttribute(name = "ignoreGapsinConsensus")
+        protected Boolean ignoreGapsinConsensus;
+        @XmlAttribute(name = "startRes")
+        protected Integer startRes;
+        @XmlAttribute(name = "startSeq")
+        protected Integer startSeq;
+        @XmlAttribute(name = "charWidth")
+        protected Integer charWidth;
+        @XmlAttribute(name = "charHeight")
+        protected Integer charHeight;
+        @XmlAttribute(name = "fontName")
+        protected String fontName;
+        @XmlAttribute(name = "fontSize")
+        protected Integer fontSize;
+        @XmlAttribute(name = "fontStyle")
+        protected Integer fontStyle;
+        @XmlAttribute(name = "scaleProteinAsCdna")
+        protected Boolean scaleProteinAsCdna;
+        @XmlAttribute(name = "viewName")
+        protected String viewName;
+        @XmlAttribute(name = "sequenceSetId")
+        protected String sequenceSetId;
+        @XmlAttribute(name = "gatheredViews")
+        protected Boolean gatheredViews;
+        @XmlAttribute(name = "textCol1")
+        protected Integer textCol1;
+        @XmlAttribute(name = "textCol2")
+        protected Integer textCol2;
+        @XmlAttribute(name = "textColThreshold")
+        protected Integer textColThreshold;
+        @XmlAttribute(name = "id")
+        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+        @XmlID
+        @XmlSchemaType(name = "ID")
+        protected String id;
+        @XmlAttribute(name = "complementId")
+        protected String complementId;
+        @XmlAttribute(name = "showComplementFeatures")
+        protected Boolean showComplementFeatures;
+        @XmlAttribute(name = "showComplementFeaturesOnTop")
+        protected Boolean showComplementFeaturesOnTop;
+        @XmlAttribute(name = "width")
+        protected Integer width;
+        @XmlAttribute(name = "height")
+        protected Integer height;
+        @XmlAttribute(name = "xpos")
+        protected Integer xpos;
+        @XmlAttribute(name = "ypos")
+        protected Integer ypos;
+
+        /**
+         * Gets the value of the annotationColours property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link AnnotationColourScheme }
+         *     
+         */
+        public AnnotationColourScheme getAnnotationColours() {
+            return annotationColours;
+        }
+
+        /**
+         * Sets the value of the annotationColours property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link AnnotationColourScheme }
+         *     
+         */
+        public void setAnnotationColours(AnnotationColourScheme value) {
+            this.annotationColours = value;
+        }
+
+        /**
+         * Gets the value of the hiddenColumns property.
+         * 
+         * &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 overview property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link JalviewModel.Viewport.Overview }
+         *     
+         */
+        public JalviewModel.Viewport.Overview getOverview() {
+            return overview;
+        }
+
+        /**
+         * Sets the value of the overview property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link JalviewModel.Viewport.Overview }
+         *     
+         */
+        public void setOverview(JalviewModel.Viewport.Overview value) {
+            this.overview = value;
+        }
+
+        /**
+         * Gets the value of the conservationSelected property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isConservationSelected() {
+            return conservationSelected;
+        }
 
-    /**
-     * Sets the value of the pidSelected property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setPidSelected(Boolean value)
-    {
-      this.pidSelected = value;
-    }
+        /**
+         * 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 bgColour property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getBgColour()
-    {
-      return bgColour;
-    }
+        /**
+         * Gets the value of the pidSelected property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isPidSelected() {
+            return pidSelected;
+        }
 
-    /**
-     * Sets the value of the bgColour property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setBgColour(String value)
-    {
-      this.bgColour = value;
-    }
+        /**
+         * Sets the value of the pidSelected property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setPidSelected(Boolean value) {
+            this.pidSelected = value;
+        }
 
-    /**
-     * Gets the value of the consThreshold property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getConsThreshold()
-    {
-      return consThreshold;
-    }
+        /**
+         * Gets the value of the bgColour property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBgColour() {
+            return bgColour;
+        }
 
-    /**
-     * Sets the value of the consThreshold property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setConsThreshold(Integer value)
-    {
-      this.consThreshold = value;
-    }
+        /**
+         * Sets the value of the bgColour property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBgColour(String value) {
+            this.bgColour = value;
+        }
 
-    /**
-     * Gets the value of the pidThreshold property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getPidThreshold()
-    {
-      return pidThreshold;
-    }
+        /**
+         * Gets the value of the consThreshold property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getConsThreshold() {
+            return consThreshold;
+        }
 
-    /**
-     * Sets the value of the pidThreshold property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setPidThreshold(Integer value)
-    {
-      this.pidThreshold = value;
-    }
+        /**
+         * Sets the value of the consThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setConsThreshold(Integer value) {
+            this.consThreshold = value;
+        }
 
-    /**
-     * Gets the value of the title property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getTitle()
-    {
-      return title;
-    }
+        /**
+         * Gets the value of the pidThreshold property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getPidThreshold() {
+            return pidThreshold;
+        }
 
-    /**
-     * Sets the value of the title property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setTitle(String value)
-    {
-      this.title = value;
-    }
+        /**
+         * Sets the value of the pidThreshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setPidThreshold(Integer value) {
+            this.pidThreshold = value;
+        }
 
-    /**
-     * Gets the value of the showFullId property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowFullId()
-    {
-      return showFullId;
-    }
+        /**
+         * Gets the value of the title property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTitle() {
+            return title;
+        }
 
-    /**
-     * Sets the value of the showFullId property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowFullId(Boolean value)
-    {
-      this.showFullId = value;
-    }
+        /**
+         * Sets the value of the title property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTitle(String value) {
+            this.title = value;
+        }
 
-    /**
-     * Gets the value of the rightAlignIds property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isRightAlignIds()
-    {
-      return rightAlignIds;
-    }
+        /**
+         * Gets the value of the showFullId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowFullId() {
+            return showFullId;
+        }
 
-    /**
-     * Sets the value of the rightAlignIds property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setRightAlignIds(Boolean value)
-    {
-      this.rightAlignIds = value;
-    }
+        /**
+         * Sets the value of the showFullId property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowFullId(Boolean value) {
+            this.showFullId = value;
+        }
 
-    /**
-     * Gets the value of the showText property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowText()
-    {
-      return showText;
-    }
+        /**
+         * Gets the value of the rightAlignIds property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isRightAlignIds() {
+            return rightAlignIds;
+        }
 
-    /**
-     * Sets the value of the showText property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowText(Boolean value)
-    {
-      this.showText = value;
-    }
+        /**
+         * Sets the value of the rightAlignIds property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setRightAlignIds(Boolean value) {
+            this.rightAlignIds = value;
+        }
 
-    /**
-     * Gets the value of the showColourText property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowColourText()
-    {
-      return showColourText;
-    }
+        /**
+         * Gets the value of the showText property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowText() {
+            return showText;
+        }
 
-    /**
-     * Sets the value of the showColourText property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowColourText(Boolean value)
-    {
-      this.showColourText = value;
-    }
+        /**
+         * Sets the value of the showText property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowText(Boolean value) {
+            this.showText = value;
+        }
 
-    /**
-     * Gets the value of the showUnconserved property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public boolean isShowUnconserved()
-    {
-      if (showUnconserved == null)
-      {
-        return false;
-      }
-      else
-      {
-        return showUnconserved;
-      }
-    }
+        /**
+         * Gets the value of the showColourText property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowColourText() {
+            return showColourText;
+        }
 
-    /**
-     * Sets the value of the showUnconserved property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowUnconserved(Boolean value)
-    {
-      this.showUnconserved = value;
-    }
+        /**
+         * Sets the value of the showColourText property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowColourText(Boolean value) {
+            this.showColourText = value;
+        }
 
-    /**
-     * Gets the value of the showBoxes property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowBoxes()
-    {
-      return showBoxes;
-    }
+        /**
+         * 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 showBoxes property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowBoxes(Boolean value)
-    {
-      this.showBoxes = value;
-    }
+        /**
+         * Sets the value of the showUnconserved property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowUnconserved(Boolean value) {
+            this.showUnconserved = value;
+        }
 
-    /**
-     * Gets the value of the wrapAlignment property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isWrapAlignment()
-    {
-      return wrapAlignment;
-    }
+        /**
+         * Gets the value of the showBoxes property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowBoxes() {
+            return showBoxes;
+        }
 
-    /**
-     * Sets the value of the wrapAlignment property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setWrapAlignment(Boolean value)
-    {
-      this.wrapAlignment = value;
-    }
+        /**
+         * Sets the value of the showBoxes property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowBoxes(Boolean value) {
+            this.showBoxes = value;
+        }
 
-    /**
-     * Gets the value of the renderGaps property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isRenderGaps()
-    {
-      return renderGaps;
-    }
+        /**
+         * Gets the value of the wrapAlignment property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isWrapAlignment() {
+            return wrapAlignment;
+        }
 
-    /**
-     * Sets the value of the renderGaps property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setRenderGaps(Boolean value)
-    {
-      this.renderGaps = value;
-    }
+        /**
+         * Sets the value of the 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;
+        }
 
-    /**
-     * Gets the value of the showSequenceFeatures property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowSequenceFeatures()
-    {
-      return showSequenceFeatures;
-    }
+        /**
+         * Sets the value of the renderGaps property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setRenderGaps(Boolean value) {
+            this.renderGaps = value;
+        }
 
-    /**
-     * Sets the value of the showSequenceFeatures property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowSequenceFeatures(Boolean value)
-    {
-      this.showSequenceFeatures = value;
-    }
+        /**
+         * Gets the value of the showSequenceFeatures property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowSequenceFeatures() {
+            return showSequenceFeatures;
+        }
 
-    /**
-     * Gets the value of the showNPfeatureTooltip property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowNPfeatureTooltip()
-    {
-      return showNPfeatureTooltip;
-    }
+        /**
+         * Sets the value of the showSequenceFeatures property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowSequenceFeatures(Boolean value) {
+            this.showSequenceFeatures = value;
+        }
 
-    /**
-     * Sets the value of the showNPfeatureTooltip property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowNPfeatureTooltip(Boolean value)
-    {
-      this.showNPfeatureTooltip = value;
-    }
+        /**
+         * Gets the value of the showNPfeatureTooltip property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowNPfeatureTooltip() {
+            return showNPfeatureTooltip;
+        }
 
-    /**
-     * Gets the value of the showDbRefTooltip property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowDbRefTooltip()
-    {
-      return showDbRefTooltip;
-    }
+        /**
+         * Sets the value of the showNPfeatureTooltip property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowNPfeatureTooltip(Boolean value) {
+            this.showNPfeatureTooltip = value;
+        }
 
-    /**
-     * Sets the value of the showDbRefTooltip property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowDbRefTooltip(Boolean value)
-    {
-      this.showDbRefTooltip = value;
-    }
+        /**
+         * Gets the value of the showDbRefTooltip property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowDbRefTooltip() {
+            return showDbRefTooltip;
+        }
 
-    /**
-     * 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 showDbRefTooltip property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowDbRefTooltip(Boolean value) {
+            this.showDbRefTooltip = value;
+        }
 
-    /**
-     * Sets the value of the followHighlight property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setFollowHighlight(Boolean value)
-    {
-      this.followHighlight = value;
-    }
+        /**
+         * Gets the value of the followHighlight property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isFollowHighlight() {
+            if (followHighlight == null) {
+                return true;
+            } else {
+                return followHighlight;
+            }
+        }
 
-    /**
-     * 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 followHighlight property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setFollowHighlight(Boolean value) {
+            this.followHighlight = value;
+        }
 
-    /**
-     * Sets the value of the followSelection property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setFollowSelection(Boolean value)
-    {
-      this.followSelection = value;
-    }
+        /**
+         * Gets the value of the followSelection property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isFollowSelection() {
+            if (followSelection == null) {
+                return true;
+            } else {
+                return followSelection;
+            }
+        }
 
-    /**
-     * Gets the value of the showAnnotation property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public Boolean isShowAnnotation()
-    {
-      return showAnnotation;
-    }
+        /**
+         * Sets the value of the followSelection property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setFollowSelection(Boolean value) {
+            this.followSelection = value;
+        }
 
-    /**
-     * Sets the value of the showAnnotation property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowAnnotation(Boolean value)
-    {
-      this.showAnnotation = value;
-    }
+        /**
+         * Gets the value of the showAnnotation property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isShowAnnotation() {
+            return showAnnotation;
+        }
 
-    /**
-     * 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 showAnnotation property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowAnnotation(Boolean value) {
+            this.showAnnotation = value;
+        }
 
-    /**
-     * Sets the value of the centreColumnLabels property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setCentreColumnLabels(Boolean value)
-    {
-      this.centreColumnLabels = value;
-    }
+        /**
+         * Gets the value of the centreColumnLabels property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isCentreColumnLabels() {
+            if (centreColumnLabels == null) {
+                return false;
+            } else {
+                return centreColumnLabels;
+            }
+        }
 
-    /**
-     * 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 centreColumnLabels property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setCentreColumnLabels(Boolean value) {
+            this.centreColumnLabels = value;
+        }
 
-    /**
-     * Sets the value of the showGroupConservation property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowGroupConservation(Boolean value)
-    {
-      this.showGroupConservation = value;
-    }
+        /**
+         * Gets the value of the showGroupConservation property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowGroupConservation() {
+            if (showGroupConservation == null) {
+                return false;
+            } else {
+                return showGroupConservation;
+            }
+        }
 
-    /**
-     * 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 showGroupConservation property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowGroupConservation(Boolean value) {
+            this.showGroupConservation = value;
+        }
 
-    /**
-     * Sets the value of the showGroupConsensus property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowGroupConsensus(Boolean value)
-    {
-      this.showGroupConsensus = value;
-    }
+        /**
+         * Gets the value of the showGroupConsensus property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowGroupConsensus() {
+            if (showGroupConsensus == null) {
+                return false;
+            } else {
+                return showGroupConsensus;
+            }
+        }
 
-    /**
-     * 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 showGroupConsensus property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowGroupConsensus(Boolean value) {
+            this.showGroupConsensus = value;
+        }
 
-    /**
-     * Sets the value of the showConsensusHistogram property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowConsensusHistogram(Boolean value)
-    {
-      this.showConsensusHistogram = value;
-    }
+        /**
+         * Gets the value of the showConsensusHistogram property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowConsensusHistogram() {
+            if (showConsensusHistogram == null) {
+                return true;
+            } else {
+                return showConsensusHistogram;
+            }
+        }
 
-    /**
-     * 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 showConsensusHistogram property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowConsensusHistogram(Boolean value) {
+            this.showConsensusHistogram = value;
+        }
 
-    /**
-     * Sets the value of the showSequenceLogo property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setShowSequenceLogo(Boolean value)
-    {
-      this.showSequenceLogo = value;
-    }
+        /**
+         * Gets the value of the showSequenceLogo property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isShowSequenceLogo() {
+            if (showSequenceLogo == null) {
+                return false;
+            } else {
+                return showSequenceLogo;
+            }
+        }
 
-    /**
-     * 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 showSequenceLogo property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setShowSequenceLogo(Boolean value) {
+            this.showSequenceLogo = value;
+        }
 
-    /**
-     * Sets the value of the normaliseSequenceLogo property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setNormaliseSequenceLogo(Boolean value)
-    {
-      this.normaliseSequenceLogo = value;
-    }
+        /**
+         * Gets the value of the normaliseSequenceLogo property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isNormaliseSequenceLogo() {
+            if (normaliseSequenceLogo == null) {
+                return false;
+            } else {
+                return normaliseSequenceLogo;
+            }
+        }
 
-    /**
-     * 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 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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 charWidth property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getCharWidth()
-    {
-      return charWidth;
-    }
+        /**
+         * Gets the value of the charWidth property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getCharWidth() {
+            return charWidth;
+        }
 
-    /**
-     * Sets the value of the charWidth property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setCharWidth(Integer value)
-    {
-      this.charWidth = value;
-    }
+        /**
+         * Sets the value of the charWidth property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setCharWidth(Integer value) {
+            this.charWidth = value;
+        }
 
-    /**
-     * Gets the value of the charHeight property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getCharHeight()
-    {
-      return charHeight;
-    }
+        /**
+         * Gets the value of the charHeight property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Integer }
+         *     
+         */
+        public Integer getCharHeight() {
+            return charHeight;
+        }
 
-    /**
-     * Sets the value of the charHeight property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setCharHeight(Integer value)
-    {
-      this.charHeight = value;
-    }
+        /**
+         * Sets the value of the charHeight property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setCharHeight(Integer value) {
+            this.charHeight = value;
+        }
 
-    /**
-     * Gets the value of the fontName property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getFontName()
-    {
-      return fontName;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-      }
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
-    }
+        /**
+         * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getId()
-    {
-      return id;
-    }
+        /**
+         * Sets the value of the id property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setId(String value) {
+            this.id = value;
+        }
 
-    /**
-     * Sets the value of the id property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setId(String value)
-    {
-      this.id = value;
-    }
+        /**
+         * Gets the value of the complementId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getComplementId() {
+            return complementId;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+            }
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+            }
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * 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;
+        }
 
-    /**
-     * Gets the value of the ypos property.
-     * 
-     * @return possible object is {@link Integer }
-     * 
-     */
-    public Integer getYpos()
-    {
-      return ypos;
-    }
+        /**
+         * Sets the value of the ypos property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Integer }
+         *     
+         */
+        public void setYpos(Integer value) {
+            this.ypos = value;
+        }
 
-    /**
-     * Sets the value of the ypos property.
-     * 
-     * @param value
-     *          allowed object is {@link Integer }
-     * 
-     */
-    public void setYpos(Integer value)
-    {
-      this.ypos = value;
-    }
 
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
-     *       &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *       &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-     *       &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *     &lt;/extension>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "")
-    public static class CalcIdParam extends WebServiceParameterSet
-    {
-
-      @XmlAttribute(name = "calcId", required = true)
-      protected String calcId;
-
-      @XmlAttribute(name = "needsUpdate")
-      protected Boolean needsUpdate;
-
-      @XmlAttribute(name = "autoUpdate", required = true)
-      protected boolean autoUpdate;
-
-      /**
-       * Gets the value of the calcId property.
-       * 
-       * @return possible object is {@link String }
-       * 
-       */
-      public String getCalcId()
-      {
-        return calcId;
-      }
-
-      /**
-       * Sets the value of the calcId property.
-       * 
-       * @param value
-       *          allowed object is {@link String }
-       * 
-       */
-      public void setCalcId(String value)
-      {
-        this.calcId = value;
-      }
-
-      /**
-       * Gets the value of the needsUpdate property.
-       * 
-       * @return possible object is {@link Boolean }
-       * 
-       */
-      public boolean isNeedsUpdate()
-      {
-        if (needsUpdate == null)
+        /**
+         * &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
         {
-          return false;
+
+            @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;
+            }
+
         }
-        else
-        {
-          return needsUpdate;
-        }
-      }
-
-      /**
-       * Sets the value of the needsUpdate property.
-       * 
-       * @param value
-       *          allowed object is {@link Boolean }
-       * 
-       */
-      public void setNeedsUpdate(Boolean value)
-      {
-        this.needsUpdate = value;
-      }
-
-      /**
-       * Gets the value of the autoUpdate property.
-       * 
-       */
-      public boolean isAutoUpdate()
-      {
-        return autoUpdate;
-      }
-
-      /**
-       * Sets the value of the autoUpdate property.
-       * 
-       */
-      public void setAutoUpdate(boolean value)
-      {
-        this.autoUpdate = value;
-      }
 
-    }
 
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "")
-    public static class HiddenColumns
-    {
-
-      @XmlAttribute(name = "start")
-      protected Integer start;
-
-      @XmlAttribute(name = "end")
-      protected Integer end;
-
-      /**
-       * Gets the value of the start property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getStart()
-      {
-        return start;
-      }
-
-      /**
-       * Sets the value of the start property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setStart(Integer value)
-      {
-        this.start = value;
-      }
-
-      /**
-       * Gets the value of the end property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getEnd()
-      {
-        return end;
-      }
-
-      /**
-       * Sets the value of the end property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setEnd(Integer value)
-      {
-        this.end = value;
-      }
+        /**
+         * &lt;p&gt;Java class for anonymous complex type.
+         * 
+         * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+         * 
+         * &lt;pre&gt;
+         * &amp;lt;complexType&amp;gt;
+         *   &amp;lt;complexContent&amp;gt;
+         *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+         *       &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+         *       &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+         *     &amp;lt;/restriction&amp;gt;
+         *   &amp;lt;/complexContent&amp;gt;
+         * &amp;lt;/complexType&amp;gt;
+         * &lt;/pre&gt;
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "")
+        public static class HiddenColumns {
+
+            @XmlAttribute(name = "start")
+            protected Integer start;
+            @XmlAttribute(name = "end")
+            protected Integer end;
+
+            /**
+             * Gets the value of the start property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getStart() {
+                return start;
+            }
+
+            /**
+             * Sets the value of the start property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setStart(Integer value) {
+                this.start = value;
+            }
+
+            /**
+             * Gets the value of the end property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getEnd() {
+                return end;
+            }
+
+            /**
+             * Sets the value of the end property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setEnd(Integer value) {
+                this.end = value;
+            }
 
-    }
+        }
 
-    /**
-     * <p>
-     * Java class for anonymous complex type.
-     * 
-     * <p>
-     * The following schema fragment specifies the expected content contained
-     * within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-     *       &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-     *       &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "")
-    public static class Overview
-    {
-
-      @XmlAttribute(name = "showHidden")
-      protected Boolean showHidden;
-
-      @XmlAttribute(name = "residueColour")
-      protected Integer residueColour;
-
-      @XmlAttribute(name = "gapColour")
-      protected Integer gapColour;
-
-      @XmlAttribute(name = "hiddenColour")
-      protected Integer hiddenColour;
-
-      @XmlAttribute(name = "title")
-      protected String title;
-
-      @XmlAttribute(name = "width")
-      protected Integer width;
-
-      @XmlAttribute(name = "height")
-      protected Integer height;
-
-      @XmlAttribute(name = "xpos")
-      protected Integer xpos;
-
-      @XmlAttribute(name = "ypos")
-      protected Integer ypos;
-
-      /**
-       * Gets the value of the showHidden property.
-       * 
-       * @return possible object is {@link Boolean }
-       * 
-       */
-      public Boolean isShowHidden()
-      {
-        return showHidden;
-      }
-
-      /**
-       * Sets the value of the showHidden property.
-       * 
-       * @param value
-       *          allowed object is {@link Boolean }
-       * 
-       */
-      public void setShowHidden(Boolean value)
-      {
-        this.showHidden = value;
-      }
-
-      /**
-       * Gets the value of the residueColour property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getResidueColour()
-      {
-        return residueColour;
-      }
-
-      /**
-       * Sets the value of the residueColour property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setResidueColour(Integer value)
-      {
-        this.residueColour = value;
-      }
-
-      /**
-       * Gets the value of the gapColour property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getGapColour()
-      {
-        return gapColour;
-      }
-
-      /**
-       * Sets the value of the gapColour property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setGapColour(Integer value)
-      {
-        this.gapColour = value;
-      }
-
-      /**
-       * Gets the value of the hiddenColour property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getHiddenColour()
-      {
-        return hiddenColour;
-      }
-
-      /**
-       * Sets the value of the hiddenColour property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setHiddenColour(Integer value)
-      {
-        this.hiddenColour = value;
-      }
-
-      /**
-       * Gets the value of the title property.
-       * 
-       * @return possible object is {@link String }
-       * 
-       */
-      public String getTitle()
-      {
-        return title;
-      }
-
-      /**
-       * Sets the value of the title property.
-       * 
-       * @param value
-       *          allowed object is {@link String }
-       * 
-       */
-      public void setTitle(String value)
-      {
-        this.title = value;
-      }
-
-      /**
-       * Gets the value of the width property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getWidth()
-      {
-        return width;
-      }
-
-      /**
-       * Sets the value of the width property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setWidth(Integer value)
-      {
-        this.width = value;
-      }
-
-      /**
-       * Gets the value of the height property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getHeight()
-      {
-        return height;
-      }
-
-      /**
-       * Sets the value of the height property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setHeight(Integer value)
-      {
-        this.height = value;
-      }
-
-      /**
-       * Gets the value of the xpos property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getXpos()
-      {
-        return xpos;
-      }
-
-      /**
-       * Sets the value of the xpos property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setXpos(Integer value)
-      {
-        this.xpos = value;
-      }
-
-      /**
-       * Gets the value of the ypos property.
-       * 
-       * @return possible object is {@link Integer }
-       * 
-       */
-      public Integer getYpos()
-      {
-        return ypos;
-      }
-
-      /**
-       * Sets the value of the ypos property.
-       * 
-       * @param value
-       *          allowed object is {@link Integer }
-       * 
-       */
-      public void setYpos(Integer value)
-      {
-        this.ypos = value;
-      }
 
-    }
+        /**
+         * &lt;p&gt;Java class for anonymous complex type.
+         * 
+         * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+         * 
+         * &lt;pre&gt;
+         * &amp;lt;complexType&amp;gt;
+         *   &amp;lt;complexContent&amp;gt;
+         *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+         *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
+         *       &amp;lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+         *       &amp;lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+         *       &amp;lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+         *       &amp;lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+         *       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+         *     &amp;lt;/restriction&amp;gt;
+         *   &amp;lt;/complexContent&amp;gt;
+         * &amp;lt;/complexType&amp;gt;
+         * &lt;/pre&gt;
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "")
+        public static class Overview {
+
+            @XmlAttribute(name = "showHidden")
+            protected Boolean showHidden;
+            @XmlAttribute(name = "residueColour")
+            protected Integer residueColour;
+            @XmlAttribute(name = "gapColour")
+            protected Integer gapColour;
+            @XmlAttribute(name = "hiddenColour")
+            protected Integer hiddenColour;
+            @XmlAttribute(name = "title")
+            protected String title;
+            @XmlAttribute(name = "width")
+            protected Integer width;
+            @XmlAttribute(name = "height")
+            protected Integer height;
+            @XmlAttribute(name = "xpos")
+            protected Integer xpos;
+            @XmlAttribute(name = "ypos")
+            protected Integer ypos;
+
+            /**
+             * Gets the value of the showHidden property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Boolean }
+             *     
+             */
+            public Boolean isShowHidden() {
+                return showHidden;
+            }
+
+            /**
+             * Sets the value of the showHidden property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Boolean }
+             *     
+             */
+            public void setShowHidden(Boolean value) {
+                this.showHidden = value;
+            }
+
+            /**
+             * Gets the value of the residueColour property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getResidueColour() {
+                return residueColour;
+            }
+
+            /**
+             * Sets the value of the residueColour property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setResidueColour(Integer value) {
+                this.residueColour = value;
+            }
+
+            /**
+             * Gets the value of the gapColour property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getGapColour() {
+                return gapColour;
+            }
+
+            /**
+             * Sets the value of the gapColour property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setGapColour(Integer value) {
+                this.gapColour = value;
+            }
+
+            /**
+             * Gets the value of the hiddenColour property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getHiddenColour() {
+                return hiddenColour;
+            }
+
+            /**
+             * Sets the value of the hiddenColour property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setHiddenColour(Integer value) {
+                this.hiddenColour = value;
+            }
+
+            /**
+             * Gets the value of the title property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getTitle() {
+                return title;
+            }
+
+            /**
+             * Sets the value of the title property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setTitle(String value) {
+                this.title = value;
+            }
+
+            /**
+             * Gets the value of the width property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getWidth() {
+                return width;
+            }
+
+            /**
+             * Sets the value of the width property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setWidth(Integer value) {
+                this.width = value;
+            }
+
+            /**
+             * Gets the value of the height property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getHeight() {
+                return height;
+            }
+
+            /**
+             * Sets the value of the height property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setHeight(Integer value) {
+                this.height = value;
+            }
+
+            /**
+             * Gets the value of the xpos property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getXpos() {
+                return xpos;
+            }
+
+            /**
+             * Sets the value of the xpos property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setXpos(Integer value) {
+                this.xpos = value;
+            }
+
+            /**
+             * Gets the value of the ypos property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Integer }
+             *     
+             */
+            public Integer getYpos() {
+                return ypos;
+            }
+
+            /**
+             * Sets the value of the ypos property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Integer }
+             *     
+             */
+            public void setYpos(Integer value) {
+                this.ypos = value;
+            }
+
+        }
 
-  }
+    }
 
 }
index e4b160f..1c0af33 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,613 +16,597 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for JalviewUserColours complex type.
+ * &lt;p&gt;Java class for JalviewUserColours complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="JalviewUserColours">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         &lt;element name="colour" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;sequence>
- *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
- *                 &lt;/sequence>
- *                 &lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
- *                 &lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" />
- *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
- *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *         &lt;element name="filter" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;sequence>
- *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/>
- *                 &lt;/sequence>
- *                 &lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *       &lt;/sequence>
- *       &lt;attribute name="schemeName" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="JalviewUserColours"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="colour" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;sequence&amp;gt;
+ *                   &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
+ *                 &amp;lt;/sequence&amp;gt;
+ *                 &amp;lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
+ *                 &amp;lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" /&amp;gt;
+ *                 &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                 &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                 &amp;lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+ *                 &amp;lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *                 &amp;lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *         &amp;lt;element name="filter" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;sequence&amp;gt;
+ *                   &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/&amp;gt;
+ *                 &amp;lt;/sequence&amp;gt;
+ *                 &amp;lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="schemeName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "JalviewUserColours",
-  namespace = "www.jalview.org/colours",
-  propOrder =
-  { "version", "colour", "filter" })
-public class JalviewUserColours
-{
-
-  @XmlElement(name = "Version", namespace = "")
-  protected String version;
-
-  @XmlElement(namespace = "")
-  protected List<JalviewUserColours.Colour> colour;
-
-  @XmlElement(namespace = "")
-  protected List<JalviewUserColours.Filter> filter;
-
-  @XmlAttribute(name = "schemeName")
-  protected String schemeName;
-
-  /**
-   * Gets the value of the version property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getVersion()
-  {
-    return version;
-  }
-
-  /**
-   * Sets the value of the version property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setVersion(String value)
-  {
-    this.version = value;
-  }
-
-  /**
-   * Gets the value of the colour property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the colour property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getColour().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link JalviewUserColours.Colour }
-   * 
-   * 
-   */
-  public List<JalviewUserColours.Colour> getColour()
-  {
-    if (colour == null)
-    {
-      colour = new ArrayList<JalviewUserColours.Colour>();
-    }
-    return this.colour;
-  }
-
-  /**
-   * Gets the value of the filter property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the filter property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getFilter().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link JalviewUserColours.Filter }
-   * 
-   * 
-   */
-  public List<JalviewUserColours.Filter> getFilter()
-  {
-    if (filter == null)
-    {
-      filter = new ArrayList<JalviewUserColours.Filter>();
-    }
-    return this.filter;
-  }
-
-  /**
-   * Gets the value of the schemeName property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getSchemeName()
-  {
-    return schemeName;
-  }
-
-  /**
-   * Sets the value of the schemeName property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setSchemeName(String value)
-  {
-    this.schemeName = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
-   *       &lt;/sequence>
-   *       &lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
-   *       &lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" />
-   *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
-   *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "attributeName" })
-  public static class Colour
-  {
-
+@XmlType(name = "JalviewUserColours", namespace = "www.jalview.org/colours", propOrder = {
+    "version",
+    "colour",
+    "filter"
+})
+public class JalviewUserColours {
+
+    @XmlElement(name = "Version", namespace = "")
+    protected String version;
     @XmlElement(namespace = "")
-    protected List<String> attributeName;
-
-    @XmlAttribute(name = "Name")
-    protected String name;
-
-    @XmlAttribute(name = "RGB", required = true)
-    protected String rgb;
-
-    @XmlAttribute(name = "minRGB")
-    protected String minRGB;
-
-    @XmlAttribute(name = "noValueColour")
-    protected NoValueColour noValueColour;
-
-    @XmlAttribute(name = "threshType")
-    protected ThresholdType threshType;
-
-    @XmlAttribute(name = "threshold")
-    protected Float threshold;
-
-    @XmlAttribute(name = "max")
-    protected Float max;
-
-    @XmlAttribute(name = "min")
-    protected Float min;
-
-    @XmlAttribute(name = "colourByLabel")
-    protected Boolean colourByLabel;
-
-    @XmlAttribute(name = "autoScale")
-    protected Boolean autoScale;
-
-    /**
-     * Gets the value of the attributeName property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the attributeName property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getAttributeName().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list {@link String }
-     * 
-     * 
-     */
-    public List<String> getAttributeName()
-    {
-      if (attributeName == null)
-      {
-        attributeName = new ArrayList<String>();
-      }
-      return this.attributeName;
-    }
-
-    /**
-     * Gets the value of the name property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getName()
-    {
-      return name;
-    }
-
-    /**
-     * Sets the value of the name property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setName(String value)
-    {
-      this.name = value;
-    }
-
-    /**
-     * Gets the value of the rgb property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getRGB()
-    {
-      return rgb;
-    }
-
-    /**
-     * Sets the value of the rgb property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setRGB(String value)
-    {
-      this.rgb = value;
-    }
-
-    /**
-     * Gets the value of the minRGB property.
-     * 
-     * @return possible object is {@link String }
-     * 
-     */
-    public String getMinRGB()
-    {
-      return minRGB;
-    }
-
-    /**
-     * Sets the value of the minRGB property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setMinRGB(String value)
-    {
-      this.minRGB = value;
-    }
+    protected List<JalviewUserColours.Colour> colour;
+    @XmlElement(namespace = "")
+    protected List<JalviewUserColours.Filter> filter;
+    @XmlAttribute(name = "schemeName")
+    protected String schemeName;
 
     /**
-     * Gets the value of the noValueColour property.
-     * 
-     * @return possible object is {@link NoValueColour }
+     * Gets the value of the version property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public NoValueColour getNoValueColour()
-    {
-      if (noValueColour == null)
-      {
-        return NoValueColour.MIN;
-      }
-      else
-      {
-        return noValueColour;
-      }
+    public String getVersion() {
+        return version;
     }
 
     /**
-     * Sets the value of the noValueColour property.
+     * Sets the value of the version property.
      * 
      * @param value
-     *          allowed object is {@link NoValueColour }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setNoValueColour(NoValueColour value)
-    {
-      this.noValueColour = value;
+    public void setVersion(String value) {
+        this.version = value;
     }
 
     /**
-     * Gets the value of the threshType property.
+     * Gets the value of the colour property.
      * 
-     * @return possible object is {@link ThresholdType }
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the colour property.
      * 
-     */
-    public ThresholdType getThreshType()
-    {
-      return threshType;
-    }
-
-    /**
-     * Sets the value of the threshType property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getColour().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @param value
-     *          allowed object is {@link ThresholdType }
      * 
-     */
-    public void setThreshType(ThresholdType value)
-    {
-      this.threshType = value;
-    }
-
-    /**
-     * Gets the value of the threshold property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewUserColours.Colour }
      * 
-     * @return possible object is {@link Float }
      * 
      */
-    public Float getThreshold()
-    {
-      return threshold;
+    public List<JalviewUserColours.Colour> getColour() {
+        if (colour == null) {
+            colour = new ArrayList<JalviewUserColours.Colour>();
+        }
+        return this.colour;
     }
 
     /**
-     * Sets the value of the threshold property.
+     * Gets the value of the filter property.
      * 
-     * @param value
-     *          allowed object is {@link Float }
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the filter property.
      * 
-     */
-    public void setThreshold(Float value)
-    {
-      this.threshold = value;
-    }
-
-    /**
-     * Gets the value of the max property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getFilter().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link Float }
      * 
-     */
-    public Float getMax()
-    {
-      return max;
-    }
-
-    /**
-     * Sets the value of the max property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link JalviewUserColours.Filter }
      * 
-     * @param value
-     *          allowed object is {@link Float }
      * 
      */
-    public void setMax(Float value)
-    {
-      this.max = value;
+    public List<JalviewUserColours.Filter> getFilter() {
+        if (filter == null) {
+            filter = new ArrayList<JalviewUserColours.Filter>();
+        }
+        return this.filter;
     }
 
     /**
-     * Gets the value of the min property.
-     * 
-     * @return possible object is {@link Float }
+     * Gets the value of the schemeName property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public Float getMin()
-    {
-      return min;
+    public String getSchemeName() {
+        return schemeName;
     }
 
     /**
-     * Sets the value of the min property.
+     * Sets the value of the schemeName property.
      * 
      * @param value
-     *          allowed object is {@link Float }
-     * 
-     */
-    public void setMin(Float value)
-    {
-      this.min = value;
-    }
-
-    /**
-     * Gets the value of the colourByLabel property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public Boolean isColourByLabel()
-    {
-      return colourByLabel;
+    public void setSchemeName(String value) {
+        this.schemeName = value;
     }
 
-    /**
-     * 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.
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;sequence&amp;gt;
+     *         &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
+     *       &amp;lt;/sequence&amp;gt;
+     *       &amp;lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
+     *       &amp;lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" /&amp;gt;
+     *       &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+     *       &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+     *       &amp;lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
+     *       &amp;lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *       &amp;lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link Boolean }
      * 
      */
-    public Boolean isAutoScale()
-    {
-      return autoScale;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "attributeName"
+    })
+    public static class Colour {
+
+        @XmlElement(namespace = "")
+        protected List<String> attributeName;
+        @XmlAttribute(name = "Name")
+        protected String name;
+        @XmlAttribute(name = "RGB", required = true)
+        protected String rgb;
+        @XmlAttribute(name = "minRGB")
+        protected String minRGB;
+        @XmlAttribute(name = "noValueColour")
+        protected NoValueColour noValueColour;
+        @XmlAttribute(name = "threshType")
+        protected ThresholdType threshType;
+        @XmlAttribute(name = "threshold")
+        protected Float threshold;
+        @XmlAttribute(name = "max")
+        protected Float max;
+        @XmlAttribute(name = "min")
+        protected Float min;
+        @XmlAttribute(name = "colourByLabel")
+        protected Boolean colourByLabel;
+        @XmlAttribute(name = "autoScale")
+        protected Boolean autoScale;
+
+        /**
+         * 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 name property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getName() {
+            return name;
+        }
+
+        /**
+         * Sets the value of the name property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setName(String value) {
+            this.name = value;
+        }
+
+        /**
+         * Gets the value of the rgb property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRGB() {
+            return rgb;
+        }
+
+        /**
+         * Sets the value of the rgb property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRGB(String value) {
+            this.rgb = value;
+        }
+
+        /**
+         * Gets the value of the minRGB property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMinRGB() {
+            return minRGB;
+        }
+
+        /**
+         * Sets the value of the minRGB property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMinRGB(String value) {
+            this.minRGB = value;
+        }
+
+        /**
+         * Gets the value of the noValueColour property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link NoValueColour }
+         *     
+         */
+        public NoValueColour getNoValueColour() {
+            if (noValueColour == null) {
+                return NoValueColour.MIN;
+            } else {
+                return noValueColour;
+            }
+        }
+
+        /**
+         * Sets the value of the noValueColour property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link NoValueColour }
+         *     
+         */
+        public void setNoValueColour(NoValueColour value) {
+            this.noValueColour = value;
+        }
+
+        /**
+         * Gets the value of the threshType property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link ThresholdType }
+         *     
+         */
+        public ThresholdType getThreshType() {
+            return threshType;
+        }
+
+        /**
+         * Sets the value of the threshType property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link ThresholdType }
+         *     
+         */
+        public void setThreshType(ThresholdType value) {
+            this.threshType = value;
+        }
+
+        /**
+         * Gets the value of the threshold property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getThreshold() {
+            return threshold;
+        }
+
+        /**
+         * Sets the value of the threshold property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Float }
+         *     
+         */
+        public void setThreshold(Float value) {
+            this.threshold = value;
+        }
+
+        /**
+         * Gets the value of the max property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getMax() {
+            return max;
+        }
+
+        /**
+         * Sets the value of the max property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Float }
+         *     
+         */
+        public void setMax(Float value) {
+            this.max = value;
+        }
+
+        /**
+         * Gets the value of the min property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Float }
+         *     
+         */
+        public Float getMin() {
+            return min;
+        }
+
+        /**
+         * Sets the value of the min property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Float }
+         *     
+         */
+        public void setMin(Float value) {
+            this.min = value;
+        }
+
+        /**
+         * Gets the value of the colourByLabel property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isColourByLabel() {
+            return colourByLabel;
+        }
+
+        /**
+         * Sets the value of the colourByLabel property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setColourByLabel(Boolean value) {
+            this.colourByLabel = value;
+        }
+
+        /**
+         * Gets the value of the autoScale property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public Boolean isAutoScale() {
+            return autoScale;
+        }
+
+        /**
+         * Sets the value of the autoScale property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setAutoScale(Boolean value) {
+            this.autoScale = value;
+        }
 
-    /**
-     * Sets the value of the autoScale property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setAutoScale(Boolean value)
-    {
-      this.autoScale = value;
     }
 
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/>
-   *       &lt;/sequence>
-   *       &lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "matcherSet" })
-  public static class Filter
-  {
-
-    @XmlElement(namespace = "", required = true)
-    protected FeatureMatcherSet matcherSet;
-
-    @XmlAttribute(name = "featureType", required = true)
-    protected String featureType;
-
-    /**
-     * Gets the value of the matcherSet property.
-     * 
-     * @return possible object is {@link FeatureMatcherSet }
-     * 
-     */
-    public FeatureMatcherSet getMatcherSet()
-    {
-      return matcherSet;
-    }
 
     /**
-     * Sets the value of the matcherSet property.
+     * &lt;p&gt;Java class for anonymous complex type.
      * 
-     * @param value
-     *          allowed object is {@link FeatureMatcherSet }
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
      * 
-     */
-    public void setMatcherSet(FeatureMatcherSet value)
-    {
-      this.matcherSet = value;
-    }
-
-    /**
-     * Gets the value of the featureType property.
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;sequence&amp;gt;
+     *         &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/&amp;gt;
+     *       &amp;lt;/sequence&amp;gt;
+     *       &amp;lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link String }
      * 
      */
-    public String getFeatureType()
-    {
-      return featureType;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "matcherSet"
+    })
+    public static class Filter {
+
+        @XmlElement(namespace = "", required = true)
+        protected FeatureMatcherSet matcherSet;
+        @XmlAttribute(name = "featureType", required = true)
+        protected String featureType;
+
+        /**
+         * Gets the value of the matcherSet property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link FeatureMatcherSet }
+         *     
+         */
+        public FeatureMatcherSet getMatcherSet() {
+            return matcherSet;
+        }
+
+        /**
+         * Sets the value of the matcherSet property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link FeatureMatcherSet }
+         *     
+         */
+        public void setMatcherSet(FeatureMatcherSet value) {
+            this.matcherSet = value;
+        }
+
+        /**
+         * Gets the value of the featureType property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getFeatureType() {
+            return featureType;
+        }
+
+        /**
+         * Sets the value of the featureType property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setFeatureType(String value) {
+            this.featureType = value;
+        }
 
-    /**
-     * Sets the value of the featureType property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
-     * 
-     */
-    public void setFeatureType(String value)
-    {
-      this.featureType = value;
     }
 
-  }
-
 }
index 1f16680..2bac782 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.math.BigInteger;
@@ -17,319 +18,299 @@ import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
  * 
- * This effectively represents a java.util.MapList object
+ *                             This effectively represents a java.util.MapList
+ *                             object
+ *                     
  * 
+ * &lt;p&gt;Java class for mapListType complex type.
  * 
- * <p>
- * Java class for mapListType complex type.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
- * 
- * <pre>
- * &lt;complexType name="mapListType">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="mapListFrom" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                 &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *         &lt;element name="mapListTo" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *                 &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *       &lt;/sequence>
- *       &lt;attribute name="mapFromUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
- *       &lt;attribute name="mapToUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="mapListType"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="mapListFrom" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                 &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *         &amp;lt;element name="mapListTo" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *                 &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="mapFromUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&amp;gt;
+ *       &amp;lt;attribute name="mapToUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "mapListType", propOrder = { "mapListFrom", "mapListTo" })
-@XmlSeeAlso({ Mapping.class })
-public class MapListType
-{
-
-  protected List<MapListType.MapListFrom> mapListFrom;
-
-  protected List<MapListType.MapListTo> mapListTo;
-
-  @XmlAttribute(name = "mapFromUnit", required = true)
-  @XmlSchemaType(name = "positiveInteger")
-  protected BigInteger mapFromUnit;
-
-  @XmlAttribute(name = "mapToUnit", required = true)
-  @XmlSchemaType(name = "positiveInteger")
-  protected BigInteger mapToUnit;
-
-  /**
-   * Gets the value of the mapListFrom property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the mapListFrom property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getMapListFrom().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link MapListType.MapListFrom }
-   * 
-   * 
-   */
-  public List<MapListType.MapListFrom> getMapListFrom()
-  {
-    if (mapListFrom == null)
-    {
-      mapListFrom = new ArrayList<MapListType.MapListFrom>();
-    }
-    return this.mapListFrom;
-  }
-
-  /**
-   * Gets the value of the mapListTo property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the mapListTo property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getMapListTo().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link MapListType.MapListTo }
-   * 
-   * 
-   */
-  public List<MapListType.MapListTo> getMapListTo()
-  {
-    if (mapListTo == null)
-    {
-      mapListTo = new ArrayList<MapListType.MapListTo>();
-    }
-    return this.mapListTo;
-  }
-
-  /**
-   * Gets the value of the mapFromUnit property.
-   * 
-   * @return possible object is {@link BigInteger }
-   * 
-   */
-  public BigInteger getMapFromUnit()
-  {
-    return mapFromUnit;
-  }
-
-  /**
-   * Sets the value of the mapFromUnit property.
-   * 
-   * @param value
-   *          allowed object is {@link BigInteger }
-   * 
-   */
-  public void setMapFromUnit(BigInteger value)
-  {
-    this.mapFromUnit = value;
-  }
+@XmlType(name = "mapListType", propOrder = {
+    "mapListFrom",
+    "mapListTo"
+})
+@XmlSeeAlso({
+    Mapping.class
+})
+public class MapListType {
 
-  /**
-   * Gets the value of the mapToUnit property.
-   * 
-   * @return possible object is {@link BigInteger }
-   * 
-   */
-  public BigInteger getMapToUnit()
-  {
-    return mapToUnit;
-  }
-
-  /**
-   * Sets the value of the mapToUnit property.
-   * 
-   * @param value
-   *          allowed object is {@link BigInteger }
-   * 
-   */
-  public void setMapToUnit(BigInteger value)
-  {
-    this.mapToUnit = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class MapListFrom
-  {
-
-    @XmlAttribute(name = "start", required = true)
-    protected int start;
-
-    @XmlAttribute(name = "end", required = true)
-    protected int end;
+    protected List<MapListType.MapListFrom> mapListFrom;
+    protected List<MapListType.MapListTo> mapListTo;
+    @XmlAttribute(name = "mapFromUnit", required = true)
+    @XmlSchemaType(name = "positiveInteger")
+    protected BigInteger mapFromUnit;
+    @XmlAttribute(name = "mapToUnit", required = true)
+    @XmlSchemaType(name = "positiveInteger")
+    protected BigInteger mapToUnit;
 
     /**
-     * Gets the value of the start property.
+     * Gets the value of the mapListFrom property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the mapListFrom property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getMapListFrom().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link MapListType.MapListFrom }
+     * 
      * 
      */
-    public int getStart()
-    {
-      return start;
+    public List<MapListType.MapListFrom> getMapListFrom() {
+        if (mapListFrom == null) {
+            mapListFrom = new ArrayList<MapListType.MapListFrom>();
+        }
+        return this.mapListFrom;
     }
 
     /**
-     * Sets the value of the start property.
+     * Gets the value of the mapListTo property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the mapListTo property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getMapListTo().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link MapListType.MapListTo }
+     * 
      * 
      */
-    public void setStart(int value)
-    {
-      this.start = value;
+    public List<MapListType.MapListTo> getMapListTo() {
+        if (mapListTo == null) {
+            mapListTo = new ArrayList<MapListType.MapListTo>();
+        }
+        return this.mapListTo;
     }
 
     /**
-     * Gets the value of the end property.
+     * Gets the value of the mapFromUnit property.
      * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
      */
-    public int getEnd()
-    {
-      return end;
+    public BigInteger getMapFromUnit() {
+        return mapFromUnit;
     }
 
     /**
-     * Sets the value of the end property.
+     * Sets the value of the mapFromUnit property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
      */
-    public void setEnd(int value)
-    {
-      this.end = value;
+    public void setMapFromUnit(BigInteger value) {
+        this.mapFromUnit = value;
     }
 
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class MapListTo
-  {
-
-    @XmlAttribute(name = "start", required = true)
-    protected int start;
-
-    @XmlAttribute(name = "end", required = true)
-    protected int end;
-
     /**
-     * Gets the value of the start property.
+     * Gets the value of the mapToUnit property.
      * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
      */
-    public int getStart()
-    {
-      return start;
+    public BigInteger getMapToUnit() {
+        return mapToUnit;
     }
 
     /**
-     * Sets the value of the start property.
+     * Sets the value of the mapToUnit property.
      * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
      */
-    public void setStart(int value)
-    {
-      this.start = value;
+    public void setMapToUnit(BigInteger value) {
+        this.mapToUnit = value;
     }
 
+
     /**
-     * Gets the value of the end property.
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
+     * 
      * 
      */
-    public int getEnd()
-    {
-      return end;
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class MapListFrom {
+
+        @XmlAttribute(name = "start", required = true)
+        protected int start;
+        @XmlAttribute(name = "end", required = true)
+        protected int end;
+
+        /**
+         * Gets the value of the start property.
+         * 
+         */
+        public int getStart() {
+            return start;
+        }
+
+        /**
+         * Sets the value of the start property.
+         * 
+         */
+        public void setStart(int value) {
+            this.start = value;
+        }
+
+        /**
+         * Gets the value of the end property.
+         * 
+         */
+        public int getEnd() {
+            return end;
+        }
+
+        /**
+         * Sets the value of the end property.
+         * 
+         */
+        public void setEnd(int value) {
+            this.end = value;
+        }
+
     }
 
+
     /**
-     * Sets the value of the end property.
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
+     * 
      * 
      */
-    public void setEnd(int value)
-    {
-      this.end = value;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class MapListTo {
 
-  }
+        @XmlAttribute(name = "start", required = true)
+        protected int start;
+        @XmlAttribute(name = "end", required = true)
+        protected int end;
+
+        /**
+         * Gets the value of the start property.
+         * 
+         */
+        public int getStart() {
+            return start;
+        }
+
+        /**
+         * Sets the value of the start property.
+         * 
+         */
+        public void setStart(int value) {
+            this.start = value;
+        }
+
+        /**
+         * Gets the value of the end property.
+         * 
+         */
+        public int getEnd() {
+            return end;
+        }
+
+        /**
+         * Sets the value of the end property.
+         * 
+         */
+        public void setEnd(int value) {
+            this.end = value;
+        }
+
+    }
 
 }
diff --git a/src/jalview/xml/binding/jalview/MapOnAMatrixType.java b/src/jalview/xml/binding/jalview/MapOnAMatrixType.java
new file mode 100644 (file)
index 0000000..47460a3
--- /dev/null
@@ -0,0 +1,160 @@
+//
+// 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: 2023.09.01 at 02:16:11 PM 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.XmlType;
+
+
+/**
+ * Defines a mapping from the local frame to a matrix
+ *                             and its associated data specified by MatrixType
+ *                     
+ * 
+ * &lt;p&gt;Java class for MapOnAMatrixType complex type.
+ * 
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+ * 
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="MapOnAMatrixType"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="mapping" type="{www.vamsas.ac.uk/jalview/version2}mapListType" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="matrix" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MapOnAMatrixType", propOrder = {
+    "property",
+    "mapping"
+})
+public class MapOnAMatrixType {
+
+    protected List<Property> property;
+    protected MapListType mapping;
+    @XmlAttribute(name = "matrix", required = true)
+    protected String matrix;
+    @XmlAttribute(name = "id")
+    protected String id;
+
+    /**
+     * Gets the value of the property property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getProperty().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Property }
+     * 
+     * 
+     */
+    public List<Property> getProperty() {
+        if (property == null) {
+            property = new ArrayList<Property>();
+        }
+        return this.property;
+    }
+
+    /**
+     * Gets the value of the mapping property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link MapListType }
+     *     
+     */
+    public MapListType getMapping() {
+        return mapping;
+    }
+
+    /**
+     * Sets the value of the mapping property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link MapListType }
+     *     
+     */
+    public void setMapping(MapListType value) {
+        this.mapping = value;
+    }
+
+    /**
+     * Gets the value of the matrix property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMatrix() {
+        return matrix;
+    }
+
+    /**
+     * Sets the value of the matrix property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMatrix(String value) {
+        this.matrix = value;
+    }
+
+    /**
+     * 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;
+    }
+
+}
index 69bf01d..f32c611 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -14,124 +15,130 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
  * 
- * Represent the jalview.datamodel.Mapping object - it also provides a way of
- * storing sequences that are mapped 'to' without adding them to the sequence
- * set (which will mean they are then added to the alignment too).
- * 
+ *                                     Represent the jalview.datamodel.Mapping object -
+ *                                     it also provides
+ *                                     a way of storing sequences that are mapped 'to'
+ *                                     without adding them
+ *                                     to the sequence set (which will mean they are
+ *                                     then added to the alignment too).
+ *                             
  * 
- * <p>
- * Java class for anonymous complex type.
+ * &lt;p&gt;Java class for anonymous complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;extension base="{www.vamsas.ac.uk/jalview/version2}mapListType">
- *       &lt;sequence>
- *         &lt;choice minOccurs="0">
- *           &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence"/>
- *           &lt;element name="dseqFor">
- *             &lt;simpleType>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
- *               &lt;/restriction>
- *             &lt;/simpleType>
- *           &lt;/element>
- *         &lt;/choice>
- *       &lt;/sequence>
- *       &lt;attribute name="mappingType" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/extension>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;extension base="{www.vamsas.ac.uk/jalview/version2}mapListType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;choice minOccurs="0"&amp;gt;
+ *           &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence"/&amp;gt;
+ *           &amp;lt;element name="dseqFor"&amp;gt;
+ *             &amp;lt;simpleType&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/simpleType&amp;gt;
+ *           &amp;lt;/element&amp;gt;
+ *         &amp;lt;/choice&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="mappingType" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/extension&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "sequence", "dseqFor" })
+@XmlType(name = "", propOrder = {
+    "sequence",
+    "dseqFor"
+})
 @XmlRootElement(name = "Mapping")
-public class Mapping extends MapListType
+public class Mapping
+    extends MapListType
 {
 
-  @XmlElement(name = "Sequence")
-  protected Sequence sequence;
-
-  protected String dseqFor;
-
-  @XmlAttribute(name = "mappingType")
-  protected String mappingType;
+    @XmlElement(name = "Sequence")
+    protected Sequence sequence;
+    protected String dseqFor;
+    @XmlAttribute(name = "mappingType")
+    protected String mappingType;
 
-  /**
-   * Gets the value of the sequence property.
-   * 
-   * @return possible object is {@link Sequence }
-   * 
-   */
-  public Sequence getSequence()
-  {
-    return sequence;
-  }
+    /**
+     * Gets the value of the sequence property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Sequence }
+     *     
+     */
+    public Sequence getSequence() {
+        return sequence;
+    }
 
-  /**
-   * Sets the value of the sequence property.
-   * 
-   * @param value
-   *          allowed object is {@link Sequence }
-   * 
-   */
-  public void setSequence(Sequence value)
-  {
-    this.sequence = value;
-  }
+    /**
+     * Sets the value of the sequence property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Sequence }
+     *     
+     */
+    public void setSequence(Sequence value) {
+        this.sequence = value;
+    }
 
-  /**
-   * Gets the value of the dseqFor property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDseqFor()
-  {
-    return dseqFor;
-  }
+    /**
+     * Gets the value of the dseqFor property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDseqFor() {
+        return dseqFor;
+    }
 
-  /**
-   * Sets the value of the dseqFor property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDseqFor(String value)
-  {
-    this.dseqFor = value;
-  }
+    /**
+     * Sets the value of the dseqFor property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDseqFor(String value) {
+        this.dseqFor = value;
+    }
 
-  /**
-   * Gets the value of the mappingType property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getMappingType()
-  {
-    return mappingType;
-  }
+    /**
+     * Gets the value of the mappingType property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMappingType() {
+        return mappingType;
+    }
 
-  /**
-   * Sets the value of the mappingType property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setMappingType(String value)
-  {
-    this.mappingType = value;
-  }
+    /**
+     * Sets the value of the mappingType property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMappingType(String value) {
+        this.mappingType = value;
+    }
 
 }
index c405597..01629b0 100644 (file)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
 
@@ -19,349 +19,319 @@ import javax.xml.bind.annotation.XmlType;
 
 
 /**
- * <p>
- * Java class for MatrixType complex type.
+ * Represents matrix data imported to Jalview, and the
+ *                             results of any derived calculations (independent of a particular
+ *                             view
+ *                             on the matrix).
+ *                     
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;Java class for MatrixType complex type.
  * 
- * <pre>
- * &lt;complexType name="MatrixType">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="elements" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="groups" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="mapping" type="{www.vamsas.ac.uk/jalview/version2}mapListType" minOccurs="0"/>
- *       &lt;/sequence>
- *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="rows" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
- *       &lt;attribute name="cols" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
- *       &lt;attribute name="treeMethod" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="cutHeight" type="{http://www.w3.org/2001/XMLSchema}double" />
- *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+ * 
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="MatrixType"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="elements" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+ *         &amp;lt;element name="groups" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="rows" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
+ *       &amp;lt;attribute name="cols" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
+ *       &amp;lt;attribute name="treeMethod" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="cutHeight" type="{http://www.w3.org/2001/XMLSchema}double" /&amp;gt;
+ *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "MatrixType",
-  propOrder =
-  { "elements", "groups", "newick", "property", "mapping" })
-public class MatrixType
-{
-
-  @XmlElement(required = true)
-  protected String elements;
-
-  protected List<String> groups;
-
-  protected List<String> newick;
-
-  protected List<Property> property;
-
-  protected MapListType mapping;
-
-  @XmlAttribute(name = "type", required = true)
-  protected String type;
-
-  @XmlAttribute(name = "rows", required = true)
-  protected BigInteger rows;
-
-  @XmlAttribute(name = "cols", required = true)
-  protected BigInteger cols;
-
-  @XmlAttribute(name = "treeMethod")
-  protected String treeMethod;
-
-  @XmlAttribute(name = "cutHeight")
-  protected Double cutHeight;
-
-  @XmlAttribute(name = "id")
-  protected String id;
-
-  /**
-   * Gets the value of the elements property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getElements()
-  {
-    return elements;
-  }
-
-  /**
-   * Sets the value of the elements property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setElements(String value)
-  {
-    this.elements = value;
-  }
-
-  /**
-   * Gets the value of the groups property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the groups property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getGroups().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link String }
-   * 
-   * 
-   */
-  public List<String> getGroups()
-  {
-    if (groups == null)
-    {
-      groups = new ArrayList<String>();
+@XmlType(name = "MatrixType", propOrder = {
+    "elements",
+    "groups",
+    "newick",
+    "property"
+})
+public class MatrixType {
+
+    @XmlElement(required = true)
+    protected String elements;
+    protected List<String> groups;
+    protected List<String> newick;
+    protected List<Property> property;
+    @XmlAttribute(name = "type", required = true)
+    protected String type;
+    @XmlAttribute(name = "rows", required = true)
+    protected BigInteger rows;
+    @XmlAttribute(name = "cols", required = true)
+    protected BigInteger cols;
+    @XmlAttribute(name = "treeMethod")
+    protected String treeMethod;
+    @XmlAttribute(name = "cutHeight")
+    protected Double cutHeight;
+    @XmlAttribute(name = "id", required = true)
+    protected String id;
+
+    /**
+     * Gets the value of the elements property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getElements() {
+        return elements;
     }
-    return this.groups;
-  }
 
-  /**
-   * Gets the value of the newick property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the newick property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getNewick().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link String }
-   * 
-   * 
-   */
-  public List<String> getNewick()
-  {
-    if (newick == null)
-    {
-      newick = new ArrayList<String>();
+    /**
+     * Sets the value of the elements property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setElements(String value) {
+        this.elements = value;
     }
-    return this.newick;
-  }
 
-  /**
-   * Gets the value of the property property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the property property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getProperty().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link Property }
-   * 
-   * 
-   */
-  public List<Property> getProperty()
-  {
-    if (property == null)
-    {
-      property = new ArrayList<Property>();
+    /**
+     * Gets the value of the groups property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the groups property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getGroups().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getGroups() {
+        if (groups == null) {
+            groups = new ArrayList<String>();
+        }
+        return this.groups;
     }
-    return this.property;
-  }
 
-  /**
-   * Gets the value of the mapping property.
-   * 
-   * @return possible object is {@link MapListType }
-   * 
-   */
-  public MapListType getMapping()
-  {
-    return mapping;
-  }
+    /**
+     * Gets the value of the newick property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the newick property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getNewick().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getNewick() {
+        if (newick == null) {
+            newick = new ArrayList<String>();
+        }
+        return this.newick;
+    }
 
-  /**
-   * Sets the value of the mapping property.
-   * 
-   * @param value
-   *          allowed object is {@link MapListType }
-   * 
-   */
-  public void setMapping(MapListType value)
-  {
-    this.mapping = value;
-  }
+    /**
+     * Gets the value of the property property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getProperty().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Property }
+     * 
+     * 
+     */
+    public List<Property> getProperty() {
+        if (property == null) {
+            property = new ArrayList<Property>();
+        }
+        return this.property;
+    }
 
-  /**
-   * Gets the value of the type property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getType()
-  {
-    return type;
-  }
+    /**
+     * Gets the value of the type property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getType() {
+        return type;
+    }
 
-  /**
-   * Sets the value of the type property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setType(String value)
-  {
-    this.type = value;
-  }
+    /**
+     * Sets the value of the type property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setType(String value) {
+        this.type = value;
+    }
 
-  /**
-   * Gets the value of the rows property.
-   * 
-   * @return possible object is {@link BigInteger }
-   * 
-   */
-  public BigInteger getRows()
-  {
-    return rows;
-  }
+    /**
+     * Gets the value of the rows property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getRows() {
+        return rows;
+    }
 
-  /**
-   * Sets the value of the rows property.
-   * 
-   * @param value
-   *          allowed object is {@link BigInteger }
-   * 
-   */
-  public void setRows(BigInteger value)
-  {
-    this.rows = value;
-  }
+    /**
+     * Sets the value of the rows property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setRows(BigInteger value) {
+        this.rows = value;
+    }
 
-  /**
-   * Gets the value of the cols property.
-   * 
-   * @return possible object is {@link BigInteger }
-   * 
-   */
-  public BigInteger getCols()
-  {
-    return cols;
-  }
+    /**
+     * Gets the value of the cols property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getCols() {
+        return cols;
+    }
 
-  /**
-   * Sets the value of the cols property.
-   * 
-   * @param value
-   *          allowed object is {@link BigInteger }
-   * 
-   */
-  public void setCols(BigInteger value)
-  {
-    this.cols = value;
-  }
+    /**
+     * Sets the value of the cols property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setCols(BigInteger value) {
+        this.cols = value;
+    }
 
-  /**
-   * Gets the value of the treeMethod property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getTreeMethod()
-  {
-    return treeMethod;
-  }
+    /**
+     * Gets the value of the treeMethod property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTreeMethod() {
+        return treeMethod;
+    }
 
-  /**
-   * Sets the value of the treeMethod property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setTreeMethod(String value)
-  {
-    this.treeMethod = value;
-  }
+    /**
+     * Sets the value of the treeMethod property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTreeMethod(String value) {
+        this.treeMethod = value;
+    }
 
-  /**
-   * Gets the value of the cutHeight property.
-   * 
-   * @return possible object is {@link Double }
-   * 
-   */
-  public Double getCutHeight()
-  {
-    return cutHeight;
-  }
+    /**
+     * Gets the value of the cutHeight property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Double }
+     *     
+     */
+    public Double getCutHeight() {
+        return cutHeight;
+    }
 
-  /**
-   * Sets the value of the cutHeight property.
-   * 
-   * @param value
-   *          allowed object is {@link Double }
-   * 
-   */
-  public void setCutHeight(Double value)
-  {
-    this.cutHeight = value;
-  }
+    /**
+     * Sets the value of the cutHeight property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Double }
+     *     
+     */
+    public void setCutHeight(Double value) {
+        this.cutHeight = value;
+    }
 
-  /**
-   * Gets the value of the id property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getId()
-  {
-    return id;
-  }
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getId() {
+        return id;
+    }
 
-  /**
-   * Sets the value of the id property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setId(String value)
-  {
-    this.id = value;
-  }
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
 
 }
index eeeed22..5b329a9 100644 (file)
@@ -1,68 +1,60 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlEnum;
 import javax.xml.bind.annotation.XmlEnumValue;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for NoValueColour.
+ * &lt;p&gt;Java class for NoValueColour.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
- * <p>
- * 
- * <pre>
- * &lt;simpleType name="NoValueColour">
- *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
- *     &lt;enumeration value="None"/>
- *     &lt;enumeration value="Min"/>
- *     &lt;enumeration value="Max"/>
- *   &lt;/restriction>
- * &lt;/simpleType>
- * </pre>
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+ * &lt;pre&gt;
+ * &amp;lt;simpleType name="NoValueColour"&amp;gt;
+ *   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
+ *     &amp;lt;enumeration value="None"/&amp;gt;
+ *     &amp;lt;enumeration value="Min"/&amp;gt;
+ *     &amp;lt;enumeration value="Max"/&amp;gt;
+ *   &amp;lt;/restriction&amp;gt;
+ * &amp;lt;/simpleType&amp;gt;
+ * &lt;/pre&gt;
  * 
  */
 @XmlType(name = "NoValueColour", namespace = "www.jalview.org/colours")
 @XmlEnum
-public enum NoValueColour
-{
-
-  @XmlEnumValue("None")
-  NONE("None"), @XmlEnumValue("Min")
-  MIN("Min"), @XmlEnumValue("Max")
-  MAX("Max");
-
-  private final String value;
-
-  NoValueColour(String v)
-  {
-    value = v;
-  }
+public enum NoValueColour {
+
+    @XmlEnumValue("None")
+    NONE("None"),
+    @XmlEnumValue("Min")
+    MIN("Min"),
+    @XmlEnumValue("Max")
+    MAX("Max");
+    private final String value;
+
+    NoValueColour(String v) {
+        value = v;
+    }
 
-  public String value()
-  {
-    return value;
-  }
+    public String value() {
+        return value;
+    }
 
-  public static NoValueColour fromValue(String v)
-  {
-    for (NoValueColour c : NoValueColour.values())
-    {
-      if (c.value.equals(v))
-      {
-        return c;
-      }
+    public static NoValueColour fromValue(String v) {
+        for (NoValueColour c: NoValueColour.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
     }
-    throw new IllegalArgumentException(v);
-  }
 
 }
index 993adae..26269ec 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.JAXBElement;
@@ -12,567 +13,512 @@ import javax.xml.bind.annotation.XmlElementDecl;
 import javax.xml.bind.annotation.XmlRegistry;
 import javax.xml.namespace.QName;
 
+
 /**
- * This object contains factory methods for each Java content interface and Java
- * element interface generated in the jalview.xml.binding.jalview package.
- * <p>
- * An ObjectFactory allows you to programatically construct new instances of the
- * Java representation for XML content. The Java representation of XML content
- * can consist of schema derived interfaces and classes representing the binding
- * of schema type definitions, element declarations and model groups. Factory
- * methods for each of these are provided in this class.
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the jalview.xml.binding.jalview package. 
+ * &lt;p&gt;An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
  * 
  */
 @XmlRegistry
-public class ObjectFactory
-{
-
-  private final static QName _WebServiceParameterSet_QNAME = new QName(
-          "www.jalview.org/xml/wsparamset", "WebServiceParameterSet");
-
-  private final static QName _JalviewModel_QNAME = new QName(
-          "www.jalview.org", "JalviewModel");
-
-  private final static QName _JalviewUserColours_QNAME = new QName(
-          "www.jalview.org/colours", "JalviewUserColours");
-
-  /**
-   * Create a new ObjectFactory that can be used to create new instances of
-   * schema derived classes for package: jalview.xml.binding.jalview
-   * 
-   */
-  public ObjectFactory()
-  {
-  }
-
-  /**
-   * Create an instance of {@link AlcodonFrame }
-   * 
-   */
-  public AlcodonFrame createAlcodonFrame()
-  {
-    return new AlcodonFrame();
-  }
-
-  /**
-   * Create an instance of {@link MapListType }
-   * 
-   */
-  public MapListType createMapListType()
-  {
-    return new MapListType();
-  }
-
-  /**
-   * Create an instance of {@link Sequence }
-   * 
-   */
-  public Sequence createSequence()
-  {
-    return new Sequence();
-  }
-
-  /**
-   * Create an instance of {@link Annotation }
-   * 
-   */
-  public Annotation createAnnotation()
-  {
-    return new Annotation();
-  }
-
-  /**
-   * Create an instance of {@link SequenceSet }
-   * 
-   */
-  public SequenceSet createSequenceSet()
-  {
-    return new SequenceSet();
-  }
-
-  /**
-   * Create an instance of {@link FeatureMatcherSet }
-   * 
-   */
-  public FeatureMatcherSet createFeatureMatcherSet()
-  {
-    return new FeatureMatcherSet();
-  }
-
-  /**
-   * Create an instance of {@link JalviewUserColours }
-   * 
-   */
-  public JalviewUserColours createJalviewUserColours()
-  {
-    return new JalviewUserColours();
-  }
-
-  /**
-   * Create an instance of {@link Pdbentry }
-   * 
-   */
-  public Pdbentry createPdbentry()
-  {
-    return new Pdbentry();
-  }
-
-  /**
-   * Create an instance of {@link Feature }
-   * 
-   */
-  public Feature createFeature()
-  {
-    return new Feature();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel }
-   * 
-   */
-  public JalviewModel createJalviewModel()
-  {
-    return new JalviewModel();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.FeatureSettings }
-   * 
-   */
-  public JalviewModel.FeatureSettings createJalviewModelFeatureSettings()
-  {
-    return new JalviewModel.FeatureSettings();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer }
-   * 
-   */
-  public JalviewModel.PcaViewer createJalviewModelPcaViewer()
-  {
-    return new JalviewModel.PcaViewer();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Viewport }
-   * 
-   */
-  public JalviewModel.Viewport createJalviewModelViewport()
-  {
-    return new JalviewModel.Viewport();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JSeq }
-   * 
-   */
-  public JalviewModel.JSeq createJalviewModelJSeq()
-  {
-    return new JalviewModel.JSeq();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JSeq.RnaViewer }
-   * 
-   */
-  public JalviewModel.JSeq.RnaViewer createJalviewModelJSeqRnaViewer()
-  {
-    return new JalviewModel.JSeq.RnaViewer();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JSeq.Pdbids }
-   * 
-   */
-  public JalviewModel.JSeq.Pdbids createJalviewModelJSeqPdbids()
-  {
-    return new JalviewModel.JSeq.Pdbids();
-  }
-
-  /**
-   * Create an instance of {@link DoubleMatrix }
-   * 
-   */
-  public DoubleMatrix createDoubleMatrix()
-  {
-    return new DoubleMatrix();
-  }
-
-  /**
-   * Create an instance of {@link AnnotationColourScheme }
-   * 
-   */
-  public AnnotationColourScheme createAnnotationColourScheme()
-  {
-    return new AnnotationColourScheme();
-  }
-
-  /**
-   * Create an instance of {@link PcaDataType }
-   * 
-   */
-  public PcaDataType createPcaDataType()
-  {
-    return new PcaDataType();
-  }
-
-  /**
-   * Create an instance of {@link DoubleVector }
-   * 
-   */
-  public DoubleVector createDoubleVector()
-  {
-    return new DoubleVector();
-  }
-
-  /**
-   * Create an instance of {@link AlcodonFrame.Alcodon }
-   * 
-   */
-  public AlcodonFrame.Alcodon createAlcodonFrameAlcodon()
-  {
-    return new AlcodonFrame.Alcodon();
-  }
-
-  /**
-   * Create an instance of {@link AlcodonFrame.AlcodMap }
-   * 
-   */
-  public AlcodonFrame.AlcodMap createAlcodonFrameAlcodMap()
-  {
-    return new AlcodonFrame.AlcodMap();
-  }
-
-  /**
-   * Create an instance of {@link AnnotationElement }
-   * 
-   */
-  public AnnotationElement createAnnotationElement()
-  {
-    return new AnnotationElement();
-  }
-
-  /**
-   * Create an instance of {@link Mapping }
-   * 
-   */
-  public Mapping createMapping()
-  {
-    return new Mapping();
-  }
-
-  /**
-   * Create an instance of {@link MapListType.MapListFrom }
-   * 
-   */
-  public MapListType.MapListFrom createMapListTypeMapListFrom()
-  {
-    return new MapListType.MapListFrom();
-  }
-
-  /**
-   * Create an instance of {@link MapListType.MapListTo }
-   * 
-   */
-  public MapListType.MapListTo createMapListTypeMapListTo()
-  {
-    return new MapListType.MapListTo();
-  }
-
-  /**
-   * Create an instance of {@link SequenceType }
-   * 
-   */
-  public SequenceType createSequenceType()
-  {
-    return new SequenceType();
-  }
-
-  /**
-   * Create an instance of {@link Sequence.DBRef }
-   * 
-   */
-  public Sequence.DBRef createSequenceDBRef()
-  {
-    return new Sequence.DBRef();
-  }
-
-  /**
-   * Create an instance of {@link Annotation.ThresholdLine }
-   * 
-   */
-  public Annotation.ThresholdLine createAnnotationThresholdLine()
-  {
-    return new Annotation.ThresholdLine();
-  }
-
-  /**
-   * Create an instance of {@link MatrixType }
-   * 
-   */
-  public MatrixType createMatrixType()
-  {
-    return new MatrixType();
-  }
-
-  /**
-   * Create an instance of {@link jalview.xml.binding.jalview.Property }
-   * 
-   */
-  public jalview.xml.binding.jalview.Property createProperty()
-  {
-    return new jalview.xml.binding.jalview.Property();
-  }
-
-  /**
-   * Create an instance of {@link SequenceSet.SequenceSetProperties }
-   * 
-   */
-  public SequenceSet.SequenceSetProperties createSequenceSetSequenceSetProperties()
-  {
-    return new SequenceSet.SequenceSetProperties();
-  }
-
-  /**
-   * Create an instance of {@link VAMSAS }
-   * 
-   */
-  public VAMSAS createVAMSAS()
-  {
-    return new VAMSAS();
-  }
-
-  /**
-   * Create an instance of {@link FeatureMatcher }
-   * 
-   */
-  public FeatureMatcher createFeatureMatcher()
-  {
-    return new FeatureMatcher();
-  }
-
-  /**
-   * Create an instance of {@link WebServiceParameterSet }
-   * 
-   */
-  public WebServiceParameterSet createWebServiceParameterSet()
-  {
-    return new WebServiceParameterSet();
-  }
-
-  /**
-   * Create an instance of {@link FeatureMatcherSet.CompoundMatcher }
-   * 
-   */
-  public FeatureMatcherSet.CompoundMatcher createFeatureMatcherSetCompoundMatcher()
-  {
-    return new FeatureMatcherSet.CompoundMatcher();
-  }
-
-  /**
-   * Create an instance of {@link JalviewUserColours.Colour }
-   * 
-   */
-  public JalviewUserColours.Colour createJalviewUserColoursColour()
-  {
-    return new JalviewUserColours.Colour();
-  }
-
-  /**
-   * Create an instance of {@link JalviewUserColours.Filter }
-   * 
-   */
-  public JalviewUserColours.Filter createJalviewUserColoursFilter()
-  {
-    return new JalviewUserColours.Filter();
-  }
-
-  /**
-   * Create an instance of {@link Pdbentry.Property }
-   * 
-   */
-  public Pdbentry.Property createPdbentryProperty()
-  {
-    return new Pdbentry.Property();
-  }
-
-  /**
-   * Create an instance of {@link Feature.OtherData }
-   * 
-   */
-  public Feature.OtherData createFeatureOtherData()
-  {
-    return new Feature.OtherData();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JGroup }
-   * 
-   */
-  public JalviewModel.JGroup createJalviewModelJGroup()
-  {
-    return new JalviewModel.JGroup();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.UserColours }
-   * 
-   */
-  public JalviewModel.UserColours createJalviewModelUserColours()
-  {
-    return new JalviewModel.UserColours();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Tree }
-   * 
-   */
-  public JalviewModel.Tree createJalviewModelTree()
-  {
-    return new JalviewModel.Tree();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.FeatureSettings.Setting }
-   * 
-   */
-  public JalviewModel.FeatureSettings.Setting createJalviewModelFeatureSettingsSetting()
-  {
-    return new JalviewModel.FeatureSettings.Setting();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.FeatureSettings.Group }
-   * 
-   */
-  public JalviewModel.FeatureSettings.Group createJalviewModelFeatureSettingsGroup()
-  {
-    return new JalviewModel.FeatureSettings.Group();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer.SequencePoint }
-   * 
-   */
-  public JalviewModel.PcaViewer.SequencePoint createJalviewModelPcaViewerSequencePoint()
-  {
-    return new JalviewModel.PcaViewer.SequencePoint();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer.Axis }
-   * 
-   */
-  public JalviewModel.PcaViewer.Axis createJalviewModelPcaViewerAxis()
-  {
-    return new JalviewModel.PcaViewer.Axis();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMin }
-   * 
-   */
-  public JalviewModel.PcaViewer.SeqPointMin createJalviewModelPcaViewerSeqPointMin()
-  {
-    return new JalviewModel.PcaViewer.SeqPointMin();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMax }
-   * 
-   */
-  public JalviewModel.PcaViewer.SeqPointMax createJalviewModelPcaViewerSeqPointMax()
-  {
-    return new JalviewModel.PcaViewer.SeqPointMax();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Viewport.HiddenColumns }
-   * 
-   */
-  public JalviewModel.Viewport.HiddenColumns createJalviewModelViewportHiddenColumns()
-  {
-    return new JalviewModel.Viewport.HiddenColumns();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Viewport.CalcIdParam }
-   * 
-   */
-  public JalviewModel.Viewport.CalcIdParam createJalviewModelViewportCalcIdParam()
-  {
-    return new JalviewModel.Viewport.CalcIdParam();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.Viewport.Overview }
-   * 
-   */
-  public JalviewModel.Viewport.Overview createJalviewModelViewportOverview()
-  {
-    return new JalviewModel.Viewport.Overview();
-  }
-
-  /**
-   * Create an instance of
-   * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
-   * 
-   */
-  public JalviewModel.JSeq.RnaViewer.SecondaryStructure createJalviewModelJSeqRnaViewerSecondaryStructure()
-  {
-    return new JalviewModel.JSeq.RnaViewer.SecondaryStructure();
-  }
-
-  /**
-   * Create an instance of {@link JalviewModel.JSeq.Pdbids.StructureState }
-   * 
-   */
-  public JalviewModel.JSeq.Pdbids.StructureState createJalviewModelJSeqPdbidsStructureState()
-  {
-    return new JalviewModel.JSeq.Pdbids.StructureState();
-  }
-
-  /**
-   * Create an instance of {@link JAXBElement
-   * }{@code <}{@link WebServiceParameterSet }{@code >}}
-   * 
-   */
-  @XmlElementDecl(
-    namespace = "www.jalview.org/xml/wsparamset",
-    name = "WebServiceParameterSet")
-  public JAXBElement<WebServiceParameterSet> createWebServiceParameterSet(
-          WebServiceParameterSet value)
-  {
-    return new JAXBElement<WebServiceParameterSet>(
-            _WebServiceParameterSet_QNAME, WebServiceParameterSet.class,
-            null, value);
-  }
-
-  /**
-   * Create an instance of {@link JAXBElement }{@code <}{@link JalviewModel
-   * }{@code >}}
-   * 
-   */
-  @XmlElementDecl(namespace = "www.jalview.org", name = "JalviewModel")
-  public JAXBElement<JalviewModel> createJalviewModel(JalviewModel value)
-  {
-    return new JAXBElement<JalviewModel>(_JalviewModel_QNAME,
-            JalviewModel.class, null, value);
-  }
-
-  /**
-   * Create an instance of {@link JAXBElement
-   * }{@code <}{@link JalviewUserColours }{@code >}}
-   * 
-   */
-  @XmlElementDecl(
-    namespace = "www.jalview.org/colours",
-    name = "JalviewUserColours")
-  public JAXBElement<JalviewUserColours> createJalviewUserColours(
-          JalviewUserColours value)
-  {
-    return new JAXBElement<JalviewUserColours>(_JalviewUserColours_QNAME,
-            JalviewUserColours.class, null, value);
-  }
+public class ObjectFactory {
+
+    private final static QName _JalviewModel_QNAME = new QName("www.jalview.org", "JalviewModel");
+    private final static QName _JalviewUserColours_QNAME = new QName("www.jalview.org/colours", "JalviewUserColours");
+    private final static QName _WebServiceParameterSet_QNAME = new QName("www.jalview.org/xml/wsparamset", "WebServiceParameterSet");
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: jalview.xml.binding.jalview
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link MapListType }
+     * 
+     */
+    public MapListType createMapListType() {
+        return new MapListType();
+    }
+
+    /**
+     * Create an instance of {@link Sequence }
+     * 
+     */
+    public Sequence createSequence() {
+        return new Sequence();
+    }
+
+    /**
+     * Create an instance of {@link AlcodonFrame }
+     * 
+     */
+    public AlcodonFrame createAlcodonFrame() {
+        return new AlcodonFrame();
+    }
+
+    /**
+     * Create an instance of {@link Annotation }
+     * 
+     */
+    public Annotation createAnnotation() {
+        return new Annotation();
+    }
+
+    /**
+     * Create an instance of {@link SequenceSet }
+     * 
+     */
+    public SequenceSet createSequenceSet() {
+        return new SequenceSet();
+    }
+
+    /**
+     * Create an instance of {@link FeatureMatcherSet }
+     * 
+     */
+    public FeatureMatcherSet createFeatureMatcherSet() {
+        return new FeatureMatcherSet();
+    }
+
+    /**
+     * Create an instance of {@link JalviewUserColours }
+     * 
+     */
+    public JalviewUserColours createJalviewUserColours() {
+        return new JalviewUserColours();
+    }
+
+    /**
+     * Create an instance of {@link Pdbentry }
+     * 
+     */
+    public Pdbentry createPdbentry() {
+        return new Pdbentry();
+    }
+
+    /**
+     * Create an instance of {@link Feature }
+     * 
+     */
+    public Feature createFeature() {
+        return new Feature();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel }
+     * 
+     */
+    public JalviewModel createJalviewModel() {
+        return new JalviewModel();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.FeatureSettings }
+     * 
+     */
+    public JalviewModel.FeatureSettings createJalviewModelFeatureSettings() {
+        return new JalviewModel.FeatureSettings();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer }
+     * 
+     */
+    public JalviewModel.PcaViewer createJalviewModelPcaViewer() {
+        return new JalviewModel.PcaViewer();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Viewport }
+     * 
+     */
+    public JalviewModel.Viewport createJalviewModelViewport() {
+        return new JalviewModel.Viewport();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq }
+     * 
+     */
+    public JalviewModel.JSeq createJalviewModelJSeq() {
+        return new JalviewModel.JSeq();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq.RnaViewer }
+     * 
+     */
+    public JalviewModel.JSeq.RnaViewer createJalviewModelJSeqRnaViewer() {
+        return new JalviewModel.JSeq.RnaViewer();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq.Pdbids }
+     * 
+     */
+    public JalviewModel.JSeq.Pdbids createJalviewModelJSeqPdbids() {
+        return new JalviewModel.JSeq.Pdbids();
+    }
+
+    /**
+     * Create an instance of {@link AnnotationColourScheme }
+     * 
+     */
+    public AnnotationColourScheme createAnnotationColourScheme() {
+        return new AnnotationColourScheme();
+    }
+
+    /**
+     * Create an instance of {@link PcaDataType }
+     * 
+     */
+    public PcaDataType createPcaDataType() {
+        return new PcaDataType();
+    }
+
+    /**
+     * Create an instance of {@link DoubleVector }
+     * 
+     */
+    public DoubleVector createDoubleVector() {
+        return new DoubleVector();
+    }
+
+    /**
+     * Create an instance of {@link DoubleMatrix }
+     * 
+     */
+    public DoubleMatrix createDoubleMatrix() {
+        return new DoubleMatrix();
+    }
+
+    /**
+     * Create an instance of {@link Mapping }
+     * 
+     */
+    public Mapping createMapping() {
+        return new Mapping();
+    }
+
+    /**
+     * Create an instance of {@link MapListType.MapListFrom }
+     * 
+     */
+    public MapListType.MapListFrom createMapListTypeMapListFrom() {
+        return new MapListType.MapListFrom();
+    }
+
+    /**
+     * Create an instance of {@link MapListType.MapListTo }
+     * 
+     */
+    public MapListType.MapListTo createMapListTypeMapListTo() {
+        return new MapListType.MapListTo();
+    }
+
+    /**
+     * Create an instance of {@link SequenceType }
+     * 
+     */
+    public SequenceType createSequenceType() {
+        return new SequenceType();
+    }
+
+    /**
+     * Create an instance of {@link Sequence.DBRef }
+     * 
+     */
+    public Sequence.DBRef createSequenceDBRef() {
+        return new Sequence.DBRef();
+    }
+
+    /**
+     * Create an instance of {@link AlcodonFrame.Alcodon }
+     * 
+     */
+    public AlcodonFrame.Alcodon createAlcodonFrameAlcodon() {
+        return new AlcodonFrame.Alcodon();
+    }
+
+    /**
+     * Create an instance of {@link AlcodonFrame.AlcodMap }
+     * 
+     */
+    public AlcodonFrame.AlcodMap createAlcodonFrameAlcodMap() {
+        return new AlcodonFrame.AlcodMap();
+    }
+
+    /**
+     * Create an instance of {@link AnnotationElement }
+     * 
+     */
+    public AnnotationElement createAnnotationElement() {
+        return new AnnotationElement();
+    }
+
+    /**
+     * Create an instance of {@link Annotation.ThresholdLine }
+     * 
+     */
+    public Annotation.ThresholdLine createAnnotationThresholdLine() {
+        return new Annotation.ThresholdLine();
+    }
+
+    /**
+     * Create an instance of {@link MapOnAMatrixType }
+     * 
+     */
+    public MapOnAMatrixType createMapOnAMatrixType() {
+        return new MapOnAMatrixType();
+    }
+
+    /**
+     * Create an instance of {@link jalview.xml.binding.jalview.Property }
+     * 
+     */
+    public jalview.xml.binding.jalview.Property createProperty() {
+        return new jalview.xml.binding.jalview.Property();
+    }
+
+    /**
+     * Create an instance of {@link SequenceSet.SequenceSetProperties }
+     * 
+     */
+    public SequenceSet.SequenceSetProperties createSequenceSetSequenceSetProperties() {
+        return new SequenceSet.SequenceSetProperties();
+    }
+
+    /**
+     * Create an instance of {@link MatrixType }
+     * 
+     */
+    public MatrixType createMatrixType() {
+        return new MatrixType();
+    }
+
+    /**
+     * Create an instance of {@link VAMSAS }
+     * 
+     */
+    public VAMSAS createVAMSAS() {
+        return new VAMSAS();
+    }
+
+    /**
+     * Create an instance of {@link FeatureMatcher }
+     * 
+     */
+    public FeatureMatcher createFeatureMatcher() {
+        return new FeatureMatcher();
+    }
+
+    /**
+     * Create an instance of {@link WebServiceParameterSet }
+     * 
+     */
+    public WebServiceParameterSet createWebServiceParameterSet() {
+        return new WebServiceParameterSet();
+    }
+
+    /**
+     * Create an instance of {@link FeatureMatcherSet.CompoundMatcher }
+     * 
+     */
+    public FeatureMatcherSet.CompoundMatcher createFeatureMatcherSetCompoundMatcher() {
+        return new FeatureMatcherSet.CompoundMatcher();
+    }
+
+    /**
+     * Create an instance of {@link JalviewUserColours.Colour }
+     * 
+     */
+    public JalviewUserColours.Colour createJalviewUserColoursColour() {
+        return new JalviewUserColours.Colour();
+    }
+
+    /**
+     * Create an instance of {@link JalviewUserColours.Filter }
+     * 
+     */
+    public JalviewUserColours.Filter createJalviewUserColoursFilter() {
+        return new JalviewUserColours.Filter();
+    }
+
+    /**
+     * Create an instance of {@link Pdbentry.Property }
+     * 
+     */
+    public Pdbentry.Property createPdbentryProperty() {
+        return new Pdbentry.Property();
+    }
+
+    /**
+     * Create an instance of {@link Feature.OtherData }
+     * 
+     */
+    public Feature.OtherData createFeatureOtherData() {
+        return new Feature.OtherData();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JGroup }
+     * 
+     */
+    public JalviewModel.JGroup createJalviewModelJGroup() {
+        return new JalviewModel.JGroup();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.UserColours }
+     * 
+     */
+    public JalviewModel.UserColours createJalviewModelUserColours() {
+        return new JalviewModel.UserColours();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Tree }
+     * 
+     */
+    public JalviewModel.Tree createJalviewModelTree() {
+        return new JalviewModel.Tree();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.FeatureSettings.Setting }
+     * 
+     */
+    public JalviewModel.FeatureSettings.Setting createJalviewModelFeatureSettingsSetting() {
+        return new JalviewModel.FeatureSettings.Setting();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.FeatureSettings.Group }
+     * 
+     */
+    public JalviewModel.FeatureSettings.Group createJalviewModelFeatureSettingsGroup() {
+        return new JalviewModel.FeatureSettings.Group();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer.SequencePoint }
+     * 
+     */
+    public JalviewModel.PcaViewer.SequencePoint createJalviewModelPcaViewerSequencePoint() {
+        return new JalviewModel.PcaViewer.SequencePoint();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer.Axis }
+     * 
+     */
+    public JalviewModel.PcaViewer.Axis createJalviewModelPcaViewerAxis() {
+        return new JalviewModel.PcaViewer.Axis();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMin }
+     * 
+     */
+    public JalviewModel.PcaViewer.SeqPointMin createJalviewModelPcaViewerSeqPointMin() {
+        return new JalviewModel.PcaViewer.SeqPointMin();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMax }
+     * 
+     */
+    public JalviewModel.PcaViewer.SeqPointMax createJalviewModelPcaViewerSeqPointMax() {
+        return new JalviewModel.PcaViewer.SeqPointMax();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Viewport.HiddenColumns }
+     * 
+     */
+    public JalviewModel.Viewport.HiddenColumns createJalviewModelViewportHiddenColumns() {
+        return new JalviewModel.Viewport.HiddenColumns();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Viewport.CalcIdParam }
+     * 
+     */
+    public JalviewModel.Viewport.CalcIdParam createJalviewModelViewportCalcIdParam() {
+        return new JalviewModel.Viewport.CalcIdParam();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.Viewport.Overview }
+     * 
+     */
+    public JalviewModel.Viewport.Overview createJalviewModelViewportOverview() {
+        return new JalviewModel.Viewport.Overview();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
+     * 
+     */
+    public JalviewModel.JSeq.RnaViewer.SecondaryStructure createJalviewModelJSeqRnaViewerSecondaryStructure() {
+        return new JalviewModel.JSeq.RnaViewer.SecondaryStructure();
+    }
+
+    /**
+     * Create an instance of {@link JalviewModel.JSeq.Pdbids.StructureState }
+     * 
+     */
+    public JalviewModel.JSeq.Pdbids.StructureState createJalviewModelJSeqPdbidsStructureState() {
+        return new JalviewModel.JSeq.Pdbids.StructureState();
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link JalviewModel }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link JalviewModel }{@code >}
+     */
+    @XmlElementDecl(namespace = "www.jalview.org", name = "JalviewModel")
+    public JAXBElement<JalviewModel> createJalviewModel(JalviewModel value) {
+        return new JAXBElement<JalviewModel>(_JalviewModel_QNAME, JalviewModel.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link JalviewUserColours }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link JalviewUserColours }{@code >}
+     */
+    @XmlElementDecl(namespace = "www.jalview.org/colours", name = "JalviewUserColours")
+    public JAXBElement<JalviewUserColours> createJalviewUserColours(JalviewUserColours value) {
+        return new JAXBElement<JalviewUserColours>(_JalviewUserColours_QNAME, JalviewUserColours.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link WebServiceParameterSet }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link WebServiceParameterSet }{@code >}
+     */
+    @XmlElementDecl(namespace = "www.jalview.org/xml/wsparamset", name = "WebServiceParameterSet")
+    public JAXBElement<WebServiceParameterSet> createWebServiceParameterSet(WebServiceParameterSet value) {
+        return new JAXBElement<WebServiceParameterSet>(_WebServiceParameterSet_QNAME, WebServiceParameterSet.class, null, value);
+    }
 
 }
index 2ff7a55..a4b2dbe 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -12,119 +13,117 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
  * 
- * The results of a PCA calculation
- * 
+ *                             The results of a PCA calculation
+ *                     
  * 
- * <p>
- * Java class for PcaDataType complex type.
+ * &lt;p&gt;Java class for PcaDataType complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="PcaDataType">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="pairwiseMatrix" type="{www.jalview.org}DoubleMatrix"/>
- *         &lt;element name="tridiagonalMatrix" type="{www.jalview.org}DoubleMatrix"/>
- *         &lt;element name="eigenMatrix" type="{www.jalview.org}DoubleMatrix"/>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="PcaDataType"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="pairwiseMatrix" type="{www.jalview.org}DoubleMatrix"/&amp;gt;
+ *         &amp;lt;element name="tridiagonalMatrix" type="{www.jalview.org}DoubleMatrix"/&amp;gt;
+ *         &amp;lt;element name="eigenMatrix" type="{www.jalview.org}DoubleMatrix"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "PcaDataType",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "pairwiseMatrix", "tridiagonalMatrix", "eigenMatrix" })
-public class PcaDataType
-{
-
-  @XmlElement(required = true)
-  protected DoubleMatrix pairwiseMatrix;
-
-  @XmlElement(required = true)
-  protected DoubleMatrix tridiagonalMatrix;
+@XmlType(name = "PcaDataType", namespace = "www.jalview.org", propOrder = {
+    "pairwiseMatrix",
+    "tridiagonalMatrix",
+    "eigenMatrix"
+})
+public class PcaDataType {
 
-  @XmlElement(required = true)
-  protected DoubleMatrix eigenMatrix;
+    @XmlElement(required = true)
+    protected DoubleMatrix pairwiseMatrix;
+    @XmlElement(required = true)
+    protected DoubleMatrix tridiagonalMatrix;
+    @XmlElement(required = true)
+    protected DoubleMatrix eigenMatrix;
 
-  /**
-   * Gets the value of the pairwiseMatrix property.
-   * 
-   * @return possible object is {@link DoubleMatrix }
-   * 
-   */
-  public DoubleMatrix getPairwiseMatrix()
-  {
-    return pairwiseMatrix;
-  }
+    /**
+     * Gets the value of the pairwiseMatrix property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public DoubleMatrix getPairwiseMatrix() {
+        return pairwiseMatrix;
+    }
 
-  /**
-   * Sets the value of the pairwiseMatrix property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleMatrix }
-   * 
-   */
-  public void setPairwiseMatrix(DoubleMatrix value)
-  {
-    this.pairwiseMatrix = value;
-  }
+    /**
+     * Sets the value of the pairwiseMatrix property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public void setPairwiseMatrix(DoubleMatrix value) {
+        this.pairwiseMatrix = value;
+    }
 
-  /**
-   * Gets the value of the tridiagonalMatrix property.
-   * 
-   * @return possible object is {@link DoubleMatrix }
-   * 
-   */
-  public DoubleMatrix getTridiagonalMatrix()
-  {
-    return tridiagonalMatrix;
-  }
+    /**
+     * Gets the value of the tridiagonalMatrix property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public DoubleMatrix getTridiagonalMatrix() {
+        return tridiagonalMatrix;
+    }
 
-  /**
-   * Sets the value of the tridiagonalMatrix property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleMatrix }
-   * 
-   */
-  public void setTridiagonalMatrix(DoubleMatrix value)
-  {
-    this.tridiagonalMatrix = value;
-  }
+    /**
+     * Sets the value of the tridiagonalMatrix property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public void setTridiagonalMatrix(DoubleMatrix value) {
+        this.tridiagonalMatrix = value;
+    }
 
-  /**
-   * Gets the value of the eigenMatrix property.
-   * 
-   * @return possible object is {@link DoubleMatrix }
-   * 
-   */
-  public DoubleMatrix getEigenMatrix()
-  {
-    return eigenMatrix;
-  }
+    /**
+     * Gets the value of the eigenMatrix property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public DoubleMatrix getEigenMatrix() {
+        return eigenMatrix;
+    }
 
-  /**
-   * Sets the value of the eigenMatrix property.
-   * 
-   * @param value
-   *          allowed object is {@link DoubleMatrix }
-   * 
-   */
-  public void setEigenMatrix(DoubleMatrix value)
-  {
-    this.eigenMatrix = value;
-  }
+    /**
+     * Sets the value of the eigenMatrix property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DoubleMatrix }
+     *     
+     */
+    public void setEigenMatrix(DoubleMatrix value) {
+        this.eigenMatrix = value;
+    }
 
 }
index f0fd2f3..6fabea0 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -15,240 +16,232 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for pdbentry complex type.
+ * &lt;p&gt;Java class for pdbentry complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="pdbentry">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence maxOccurs="unbounded" minOccurs="0">
- *         &lt;element name="property" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *       &lt;/sequence>
- *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="file" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="pdbentry"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *         &amp;lt;element name="property" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="file" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "pdbentry",
-  namespace = "www.jalview.org",
-  propOrder =
-  { "property" })
-@XmlSeeAlso({ jalview.xml.binding.jalview.JalviewModel.JSeq.Pdbids.class })
-public class Pdbentry
-{
-
-  protected List<Pdbentry.Property> property;
-
-  @XmlAttribute(name = "id", required = true)
-  protected String id;
-
-  @XmlAttribute(name = "type")
-  protected String type;
-
-  @XmlAttribute(name = "file")
-  protected String file;
-
-  /**
-   * Gets the value of the property property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the property property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getProperty().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link Pdbentry.Property }
-   * 
-   * 
-   */
-  public List<Pdbentry.Property> getProperty()
-  {
-    if (property == null)
-    {
-      property = new ArrayList<Pdbentry.Property>();
-    }
-    return this.property;
-  }
-
-  /**
-   * Gets the value of the id property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getId()
-  {
-    return id;
-  }
-
-  /**
-   * Sets the value of the id property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setId(String value)
-  {
-    this.id = value;
-  }
-
-  /**
-   * Gets the value of the type property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getType()
-  {
-    return type;
-  }
-
-  /**
-   * Sets the value of the type property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setType(String value)
-  {
-    this.type = value;
-  }
-
-  /**
-   * Gets the value of the file property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getFile()
-  {
-    return file;
-  }
-
-  /**
-   * Sets the value of the file property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setFile(String value)
-  {
-    this.file = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class Property
-  {
-
-    @XmlAttribute(name = "name", required = true)
-    protected String name;
-
-    @XmlAttribute(name = "value", required = true)
-    protected String value;
+@XmlType(name = "pdbentry", namespace = "www.jalview.org", propOrder = {
+    "property"
+})
+@XmlSeeAlso({
+    jalview.xml.binding.jalview.JalviewModel.JSeq.Pdbids.class
+})
+public class Pdbentry {
+
+    protected List<Pdbentry.Property> property;
+    @XmlAttribute(name = "id", required = true)
+    protected String id;
+    @XmlAttribute(name = "type")
+    protected String type;
+    @XmlAttribute(name = "file")
+    protected String file;
 
     /**
-     * Gets the value of the name property.
+     * Gets the value of the property property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getProperty().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Pdbentry.Property }
+     * 
      * 
-     * @return possible object is {@link String }
+     */
+    public List<Pdbentry.Property> getProperty() {
+        if (property == null) {
+            property = new ArrayList<Pdbentry.Property>();
+        }
+        return this.property;
+    }
+
+    /**
+     * Gets the value of the id property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getName()
-    {
-      return name;
+    public String getId() {
+        return id;
     }
 
     /**
-     * Sets the value of the name property.
+     * Sets the value of the id property.
      * 
      * @param value
-     *          allowed object is {@link String }
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the type property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setName(String value)
-    {
-      this.name = value;
+    public String getType() {
+        return type;
     }
 
     /**
-     * Gets the value of the value property.
+     * Sets the value of the type property.
      * 
-     * @return possible object is {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setType(String value) {
+        this.type = value;
+    }
+
+    /**
+     * Gets the value of the file property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getValue()
-    {
-      return value;
+    public String getFile() {
+        return file;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the file property.
      * 
      * @param value
-     *          allowed object is {@link String }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setValue(String value)
-    {
-      this.value = value;
+    public void setFile(String value) {
+        this.file = value;
     }
 
-  }
+
+    /**
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class Property {
+
+        @XmlAttribute(name = "name", required = true)
+        protected String name;
+        @XmlAttribute(name = "value", required = true)
+        protected String value;
+
+        /**
+         * Gets the value of the name property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getName() {
+            return name;
+        }
+
+        /**
+         * Sets the value of the name property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setName(String value) {
+            this.name = value;
+        }
+
+        /**
+         * Gets the value of the value property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getValue() {
+            return value;
+        }
+
+        /**
+         * Sets the value of the value property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setValue(String value) {
+            this.value = value;
+        }
+
+    }
 
 }
index b70e665..4c85bc3 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -12,82 +13,80 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for property complex type.
+ * &lt;p&gt;Java class for property complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="property">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="property"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "property")
-public class Property
-{
-
-  @XmlAttribute(name = "name")
-  protected String name;
+public class Property {
 
-  @XmlAttribute(name = "value")
-  protected String value;
+    @XmlAttribute(name = "name")
+    protected String name;
+    @XmlAttribute(name = "value")
+    protected String value;
 
-  /**
-   * Gets the value of the name property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getName()
-  {
-    return name;
-  }
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
 
-  /**
-   * Sets the value of the name property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setName(String value)
-  {
-    this.name = value;
-  }
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
+    }
 
-  /**
-   * Gets the value of the value property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getValue()
-  {
-    return value;
-  }
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getValue() {
+        return value;
+    }
 
-  /**
-   * Sets the value of the value property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setValue(String value)
-  {
-    this.value = value;
-  }
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
 
 }
index a5923e1..76b4f1a 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -16,340 +17,332 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for anonymous complex type.
+ * &lt;p&gt;Java class for anonymous complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;extension base="{www.vamsas.ac.uk/jalview/version2}SequenceType">
- *       &lt;sequence>
- *         &lt;element name="DBRef" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;sequence>
- *                   &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/>
- *                 &lt;/sequence>
- *                 &lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *                 &lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *       &lt;/sequence>
- *       &lt;attribute name="dsseqid" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="biotype" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/extension>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;extension base="{www.vamsas.ac.uk/jalview/version2}SequenceType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="DBRef" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;sequence&amp;gt;
+ *                   &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
+ *                 &amp;lt;/sequence&amp;gt;
+ *                 &amp;lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *                 &amp;lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="dsseqid" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="biotype" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/extension&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "dbRef" })
+@XmlType(name = "", propOrder = {
+    "dbRef"
+})
 @XmlRootElement(name = "Sequence")
-public class Sequence extends SequenceType
+public class Sequence
+    extends SequenceType
 {
 
-  @XmlElement(name = "DBRef")
-  protected List<Sequence.DBRef> dbRef;
-
-  @XmlAttribute(name = "dsseqid")
-  protected String dsseqid;
-
-  @XmlAttribute(name = "biotype")
-  protected String biotype;
-
-  /**
-   * Gets the value of the dbRef property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the dbRef property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getDBRef().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link Sequence.DBRef }
-   * 
-   * 
-   */
-  public List<Sequence.DBRef> getDBRef()
-  {
-    if (dbRef == null)
-    {
-      dbRef = new ArrayList<Sequence.DBRef>();
-    }
-    return this.dbRef;
-  }
-
-  /**
-   * Gets the value of the dsseqid property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDsseqid()
-  {
-    return dsseqid;
-  }
-
-  /**
-   * Sets the value of the dsseqid property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDsseqid(String value)
-  {
-    this.dsseqid = value;
-  }
-
-  /**
-   * Gets the value of the biotype property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getBiotype()
-  {
-    return biotype;
-  }
-
-  /**
-   * Sets the value of the biotype property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setBiotype(String value)
-  {
-    this.biotype = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/>
-   *       &lt;/sequence>
-   *       &lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *       &lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "mapping" })
-  public static class DBRef
-  {
-
-    @XmlElement(name = "Mapping")
-    protected Mapping mapping;
-
-    @XmlAttribute(name = "source")
-    protected String source;
-
-    @XmlAttribute(name = "version")
-    protected String version;
-
-    @XmlAttribute(name = "accessionId")
-    protected String accessionId;
-
-    @XmlAttribute(name = "locus")
-    protected Boolean locus;
-
-    @XmlAttribute(name = "canonical")
-    protected Boolean canonical;
+    @XmlElement(name = "DBRef")
+    protected List<Sequence.DBRef> dbRef;
+    @XmlAttribute(name = "dsseqid")
+    protected String dsseqid;
+    @XmlAttribute(name = "biotype")
+    protected String biotype;
 
     /**
-     * Gets the value of the mapping property.
+     * Gets the value of the dbRef property.
      * 
-     * @return possible object is {@link Mapping }
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the dbRef property.
      * 
-     */
-    public Mapping getMapping()
-    {
-      return mapping;
-    }
-
-    /**
-     * Sets the value of the mapping property.
-     * 
-     * @param value
-     *          allowed object is {@link Mapping }
-     * 
-     */
-    public void setMapping(Mapping value)
-    {
-      this.mapping = value;
-    }
-
-    /**
-     * Gets the value of the source property.
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getDBRef().add(newItem);
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link String }
      * 
-     */
-    public String getSource()
-    {
-      return source;
-    }
-
-    /**
-     * Sets the value of the source property.
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Sequence.DBRef }
      * 
-     * @param value
-     *          allowed object is {@link String }
      * 
      */
-    public void setSource(String value)
-    {
-      this.source = value;
+    public List<Sequence.DBRef> getDBRef() {
+        if (dbRef == null) {
+            dbRef = new ArrayList<Sequence.DBRef>();
+        }
+        return this.dbRef;
     }
 
     /**
-     * Gets the value of the version property.
-     * 
-     * @return possible object is {@link String }
+     * Gets the value of the dsseqid property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getVersion()
-    {
-      return version;
+    public String getDsseqid() {
+        return dsseqid;
     }
 
     /**
-     * Sets the value of the version property.
+     * Sets the value of the dsseqid property.
      * 
      * @param value
-     *          allowed object is {@link String }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setVersion(String value)
-    {
-      this.version = value;
+    public void setDsseqid(String value) {
+        this.dsseqid = value;
     }
 
     /**
-     * Gets the value of the accessionId property.
-     * 
-     * @return possible object is {@link String }
+     * Gets the value of the biotype property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getAccessionId()
-    {
-      return accessionId;
+    public String getBiotype() {
+        return biotype;
     }
 
     /**
-     * Sets the value of the accessionId property.
+     * Sets the value of the biotype property.
      * 
      * @param value
-     *          allowed object is {@link String }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setAccessionId(String value)
-    {
-      this.accessionId = value;
+    public void setBiotype(String value) {
+        this.biotype = value;
     }
 
-    /**
-     * Gets the value of the locus property.
-     * 
-     * @return possible object is {@link Boolean }
-     * 
-     */
-    public boolean isLocus()
-    {
-      if (locus == null)
-      {
-        return false;
-      }
-      else
-      {
-        return locus;
-      }
-    }
 
     /**
-     * Sets the value of the locus property.
+     * &lt;p&gt;Java class for anonymous complex type.
      * 
-     * @param value
-     *          allowed object is {@link Boolean }
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
      * 
-     */
-    public void setLocus(Boolean value)
-    {
-      this.locus = value;
-    }
-
-    /**
-     * Gets the value of the canonical property.
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;sequence&amp;gt;
+     *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
+     *       &amp;lt;/sequence&amp;gt;
+     *       &amp;lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *       &amp;lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
      * 
-     * @return possible object is {@link Boolean }
      * 
      */
-    public boolean isCanonical()
-    {
-      if (canonical == null)
-      {
-        return false;
-      }
-      else
-      {
-        return canonical;
-      }
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "mapping"
+    })
+    public static class DBRef {
+
+        @XmlElement(name = "Mapping")
+        protected Mapping mapping;
+        @XmlAttribute(name = "source")
+        protected String source;
+        @XmlAttribute(name = "version")
+        protected String version;
+        @XmlAttribute(name = "accessionId")
+        protected String accessionId;
+        @XmlAttribute(name = "locus")
+        protected Boolean locus;
+        @XmlAttribute(name = "canonical")
+        protected Boolean canonical;
+
+        /**
+         * Gets the value of the mapping property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Mapping }
+         *     
+         */
+        public Mapping getMapping() {
+            return mapping;
+        }
+
+        /**
+         * Sets the value of the mapping property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Mapping }
+         *     
+         */
+        public void setMapping(Mapping value) {
+            this.mapping = value;
+        }
+
+        /**
+         * Gets the value of the source property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getSource() {
+            return source;
+        }
+
+        /**
+         * Sets the value of the source property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setSource(String value) {
+            this.source = value;
+        }
+
+        /**
+         * Gets the value of the version property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getVersion() {
+            return version;
+        }
+
+        /**
+         * Sets the value of the version property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setVersion(String value) {
+            this.version = value;
+        }
+
+        /**
+         * Gets the value of the accessionId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAccessionId() {
+            return accessionId;
+        }
+
+        /**
+         * Sets the value of the accessionId property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAccessionId(String value) {
+            this.accessionId = value;
+        }
+
+        /**
+         * Gets the value of the locus property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isLocus() {
+            if (locus == null) {
+                return false;
+            } else {
+                return locus;
+            }
+        }
+
+        /**
+         * Sets the value of the locus property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setLocus(Boolean value) {
+            this.locus = value;
+        }
+
+        /**
+         * Gets the value of the canonical property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isCanonical() {
+            if (canonical == null) {
+                return false;
+            } else {
+                return canonical;
+            }
+        }
+
+        /**
+         * Sets the value of the canonical property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setCanonical(Boolean value) {
+            this.canonical = value;
+        }
 
-    /**
-     * Sets the value of the canonical property.
-     * 
-     * @param value
-     *          allowed object is {@link Boolean }
-     * 
-     */
-    public void setCanonical(Boolean value)
-    {
-      this.canonical = value;
     }
 
-  }
-
 }
index f08b225..ce80b9c 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -16,319 +17,335 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for anonymous complex type.
+ * &lt;p&gt;Java class for anonymous complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="sequenceSetProperties" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *       &lt;attribute name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="datasetId" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="sequenceSetProperties" maxOccurs="unbounded" minOccurs="0"&amp;gt;
+ *           &amp;lt;complexType&amp;gt;
+ *             &amp;lt;complexContent&amp;gt;
+ *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *                 &amp;lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *                 &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *               &amp;lt;/restriction&amp;gt;
+ *             &amp;lt;/complexContent&amp;gt;
+ *           &amp;lt;/complexType&amp;gt;
+ *         &amp;lt;/element&amp;gt;
+ *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="Matrix" type="{www.vamsas.ac.uk/jalview/version2}MatrixType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="datasetId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "",
-  propOrder =
-  { "sequence", "annotation", "sequenceSetProperties", "alcodonFrame" })
+@XmlType(name = "", propOrder = {
+    "sequence",
+    "annotation",
+    "sequenceSetProperties",
+    "alcodonFrame",
+    "matrix"
+})
 @XmlRootElement(name = "SequenceSet")
-public class SequenceSet
-{
-
-  @XmlElement(name = "Sequence")
-  protected List<Sequence> sequence;
-
-  @XmlElement(name = "Annotation")
-  protected List<Annotation> annotation;
-
-  protected List<SequenceSet.SequenceSetProperties> sequenceSetProperties;
+public class SequenceSet {
 
-  @XmlElement(name = "AlcodonFrame")
-  protected List<AlcodonFrame> alcodonFrame;
+    @XmlElement(name = "Sequence")
+    protected List<Sequence> sequence;
+    @XmlElement(name = "Annotation")
+    protected List<Annotation> annotation;
+    protected List<SequenceSet.SequenceSetProperties> sequenceSetProperties;
+    @XmlElement(name = "AlcodonFrame")
+    protected List<AlcodonFrame> alcodonFrame;
+    @XmlElement(name = "Matrix")
+    protected List<MatrixType> matrix;
+    @XmlAttribute(name = "gapChar", required = true)
+    protected String gapChar;
+    @XmlAttribute(name = "datasetId")
+    protected String datasetId;
 
-  @XmlAttribute(name = "gapChar", required = true)
-  protected String gapChar;
-
-  @XmlAttribute(name = "datasetId")
-  protected String datasetId;
-
-  /**
-   * Gets the value of the sequence property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the sequence property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getSequence().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link Sequence }
-   * 
-   * 
-   */
-  public List<Sequence> getSequence()
-  {
-    if (sequence == null)
-    {
-      sequence = new ArrayList<Sequence>();
+    /**
+     * Gets the value of the sequence property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the sequence property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getSequence().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Sequence }
+     * 
+     * 
+     */
+    public List<Sequence> getSequence() {
+        if (sequence == null) {
+            sequence = new ArrayList<Sequence>();
+        }
+        return this.sequence;
     }
-    return this.sequence;
-  }
 
-  /**
-   * Gets the value of the annotation property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the annotation property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getAnnotation().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link Annotation
-   * }
-   * 
-   * 
-   */
-  public List<Annotation> getAnnotation()
-  {
-    if (annotation == null)
-    {
-      annotation = new ArrayList<Annotation>();
+    /**
+     * Gets the value of the annotation property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the annotation property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getAnnotation().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link Annotation }
+     * 
+     * 
+     */
+    public List<Annotation> getAnnotation() {
+        if (annotation == null) {
+            annotation = new ArrayList<Annotation>();
+        }
+        return this.annotation;
     }
-    return this.annotation;
-  }
 
-  /**
-   * Gets the value of the sequenceSetProperties property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the sequenceSetProperties property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getSequenceSetProperties().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link SequenceSet.SequenceSetProperties }
-   * 
-   * 
-   */
-  public List<SequenceSet.SequenceSetProperties> getSequenceSetProperties()
-  {
-    if (sequenceSetProperties == null)
-    {
-      sequenceSetProperties = new ArrayList<SequenceSet.SequenceSetProperties>();
+    /**
+     * Gets the value of the sequenceSetProperties property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the sequenceSetProperties property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getSequenceSetProperties().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link SequenceSet.SequenceSetProperties }
+     * 
+     * 
+     */
+    public List<SequenceSet.SequenceSetProperties> getSequenceSetProperties() {
+        if (sequenceSetProperties == null) {
+            sequenceSetProperties = new ArrayList<SequenceSet.SequenceSetProperties>();
+        }
+        return this.sequenceSetProperties;
     }
-    return this.sequenceSetProperties;
-  }
 
-  /**
-   * Gets the value of the alcodonFrame property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the alcodonFrame property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getAlcodonFrame().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link AlcodonFrame }
-   * 
-   * 
-   */
-  public List<AlcodonFrame> getAlcodonFrame()
-  {
-    if (alcodonFrame == null)
-    {
-      alcodonFrame = new ArrayList<AlcodonFrame>();
+    /**
+     * Gets the value of the alcodonFrame property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodonFrame property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getAlcodonFrame().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link AlcodonFrame }
+     * 
+     * 
+     */
+    public List<AlcodonFrame> getAlcodonFrame() {
+        if (alcodonFrame == null) {
+            alcodonFrame = new ArrayList<AlcodonFrame>();
+        }
+        return this.alcodonFrame;
     }
-    return this.alcodonFrame;
-  }
-
-  /**
-   * Gets the value of the gapChar property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getGapChar()
-  {
-    return gapChar;
-  }
-
-  /**
-   * Sets the value of the gapChar property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setGapChar(String value)
-  {
-    this.gapChar = value;
-  }
-
-  /**
-   * Gets the value of the datasetId property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDatasetId()
-  {
-    return datasetId;
-  }
-
-  /**
-   * Sets the value of the datasetId property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDatasetId(String value)
-  {
-    this.datasetId = value;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "")
-  public static class SequenceSetProperties
-  {
-
-    @XmlAttribute(name = "key")
-    protected String key;
-
-    @XmlAttribute(name = "value")
-    protected String value;
 
     /**
-     * Gets the value of the key property.
+     * Gets the value of the matrix property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the matrix property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getMatrix().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link MatrixType }
      * 
-     * @return possible object is {@link String }
      * 
      */
-    public String getKey()
-    {
-      return key;
+    public List<MatrixType> getMatrix() {
+        if (matrix == null) {
+            matrix = new ArrayList<MatrixType>();
+        }
+        return this.matrix;
     }
 
     /**
-     * Sets the value of the key property.
-     * 
-     * @param value
-     *          allowed object is {@link String }
+     * Gets the value of the gapChar property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public void setKey(String value)
-    {
-      this.key = value;
+    public String getGapChar() {
+        return gapChar;
     }
 
     /**
-     * Gets the value of the value property.
+     * Sets the value of the gapChar property.
      * 
-     * @return possible object is {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setGapChar(String value) {
+        this.gapChar = value;
+    }
+
+    /**
+     * Gets the value of the datasetId property.
      * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
-    public String getValue()
-    {
-      return value;
+    public String getDatasetId() {
+        return datasetId;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the datasetId property.
      * 
      * @param value
-     *          allowed object is {@link String }
-     * 
+     *     allowed object is
+     *     {@link String }
+     *     
      */
-    public void setValue(String value)
-    {
-      this.value = value;
+    public void setDatasetId(String value) {
+        this.datasetId = value;
     }
 
-  }
+
+    /**
+     * &lt;p&gt;Java class for anonymous complex type.
+     * 
+     * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+     * 
+     * &lt;pre&gt;
+     * &amp;lt;complexType&amp;gt;
+     *   &amp;lt;complexContent&amp;gt;
+     *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+     *       &amp;lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *       &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+     *     &amp;lt;/restriction&amp;gt;
+     *   &amp;lt;/complexContent&amp;gt;
+     * &amp;lt;/complexType&amp;gt;
+     * &lt;/pre&gt;
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "")
+    public static class SequenceSetProperties {
+
+        @XmlAttribute(name = "key")
+        protected String key;
+        @XmlAttribute(name = "value")
+        protected String value;
+
+        /**
+         * Gets the value of the key property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getKey() {
+            return key;
+        }
+
+        /**
+         * Sets the value of the key property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setKey(String value) {
+            this.key = value;
+        }
+
+        /**
+         * Gets the value of the value property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getValue() {
+            return value;
+        }
+
+        /**
+         * Sets the value of the value property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setValue(String value) {
+            this.value = value;
+        }
+
+    }
 
 }
index 44e606d..dbcefe8 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -13,137 +14,140 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for SequenceType complex type.
+ * &lt;p&gt;Java class for SequenceType complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="SequenceType">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *       &lt;/sequence>
- *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="SequenceType"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *       &amp;lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SequenceType", propOrder = { "sequence", "name" })
-@XmlSeeAlso({ Sequence.class })
-public class SequenceType
-{
-
-  protected String sequence;
-
-  protected String name;
-
-  @XmlAttribute(name = "id")
-  protected String id;
-
-  @XmlAttribute(name = "description")
-  protected String description;
-
-  /**
-   * Gets the value of the sequence property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getSequence()
-  {
-    return sequence;
-  }
-
-  /**
-   * Sets the value of the sequence property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setSequence(String value)
-  {
-    this.sequence = value;
-  }
-
-  /**
-   * Gets the value of the name property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * Sets the value of the name property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setName(String value)
-  {
-    this.name = value;
-  }
-
-  /**
-   * Gets the value of the id property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getId()
-  {
-    return id;
-  }
-
-  /**
-   * Sets the value of the id property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setId(String value)
-  {
-    this.id = value;
-  }
-
-  /**
-   * Gets the value of the description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
+@XmlType(name = "SequenceType", propOrder = {
+    "sequence",
+    "name"
+})
+@XmlSeeAlso({
+    Sequence.class
+})
+public class SequenceType {
+
+    protected String sequence;
+    protected String name;
+    @XmlAttribute(name = "id")
+    protected String id;
+    @XmlAttribute(name = "description")
+    protected String description;
+
+    /**
+     * Gets the value of the sequence property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSequence() {
+        return sequence;
+    }
+
+    /**
+     * Sets the value of the sequence property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSequence(String value) {
+        this.sequence = value;
+    }
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
+    }
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
 
 }
index ad0ea1e..a467506 100644 (file)
@@ -1,50 +1,46 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import javax.xml.bind.annotation.XmlEnum;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for ThresholdType.
- * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
- * <p>
+ * &lt;p&gt;Java class for ThresholdType.
  * 
- * <pre>
- * &lt;simpleType name="ThresholdType">
- *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
- *     &lt;enumeration value="NONE"/>
- *     &lt;enumeration value="ABOVE"/>
- *     &lt;enumeration value="BELOW"/>
- *   &lt;/restriction>
- * &lt;/simpleType>
- * </pre>
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
+ * &lt;pre&gt;
+ * &amp;lt;simpleType name="ThresholdType"&amp;gt;
+ *   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
+ *     &amp;lt;enumeration value="NONE"/&amp;gt;
+ *     &amp;lt;enumeration value="ABOVE"/&amp;gt;
+ *     &amp;lt;enumeration value="BELOW"/&amp;gt;
+ *   &amp;lt;/restriction&amp;gt;
+ * &amp;lt;/simpleType&amp;gt;
+ * &lt;/pre&gt;
  * 
  */
 @XmlType(name = "ThresholdType", namespace = "www.jalview.org/colours")
 @XmlEnum
-public enum ThresholdType
-{
+public enum ThresholdType {
 
-  NONE, ABOVE, BELOW;
+    NONE,
+    ABOVE,
+    BELOW;
 
-  public String value()
-  {
-    return name();
-  }
+    public String value() {
+        return name();
+    }
 
-  public static ThresholdType fromValue(String v)
-  {
-    return valueOf(v);
-  }
+    public static ThresholdType fromValue(String v) {
+        return valueOf(v);
+    }
 
 }
index 099af84..f1eab2b 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -14,101 +15,95 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for VAMSAS complex type.
+ * &lt;p&gt;Java class for VAMSAS complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="VAMSAS">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="Tree" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}SequenceSet" maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="VAMSAS"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="Tree" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}SequenceSet" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "VAMSAS", propOrder = { "tree", "sequenceSet" })
-public class VAMSAS
-{
-
-  @XmlElement(name = "Tree")
-  protected List<String> tree;
+@XmlType(name = "VAMSAS", propOrder = {
+    "tree",
+    "sequenceSet"
+})
+public class VAMSAS {
 
-  @XmlElement(name = "SequenceSet")
-  protected List<SequenceSet> sequenceSet;
+    @XmlElement(name = "Tree")
+    protected List<String> tree;
+    @XmlElement(name = "SequenceSet")
+    protected List<SequenceSet> sequenceSet;
 
-  /**
-   * Gets the value of the tree property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the tree property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getTree().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link String }
-   * 
-   * 
-   */
-  public List<String> getTree()
-  {
-    if (tree == null)
-    {
-      tree = new ArrayList<String>();
+    /**
+     * Gets the value of the tree property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the tree property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getTree().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getTree() {
+        if (tree == null) {
+            tree = new ArrayList<String>();
+        }
+        return this.tree;
     }
-    return this.tree;
-  }
 
-  /**
-   * Gets the value of the sequenceSet property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the sequenceSet property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getSequenceSet().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link SequenceSet
-   * }
-   * 
-   * 
-   */
-  public List<SequenceSet> getSequenceSet()
-  {
-    if (sequenceSet == null)
-    {
-      sequenceSet = new ArrayList<SequenceSet>();
+    /**
+     * Gets the value of the sequenceSet property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the sequenceSet property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getSequenceSet().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link SequenceSet }
+     * 
+     * 
+     */
+    public List<SequenceSet> getSequenceSet() {
+        if (sequenceSet == null) {
+            sequenceSet = new ArrayList<SequenceSet>();
+        }
+        return this.sequenceSet;
     }
-    return this.sequenceSet;
-  }
 
 }
index 4374c83..577c9a4 100644 (file)
@@ -1,10 +1,11 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
+
 package jalview.xml.binding.jalview;
 
 import java.util.ArrayList;
@@ -17,180 +18,177 @@ import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * <p>
- * Java class for WebServiceParameterSet complex type.
+ * &lt;p&gt;Java class for WebServiceParameterSet complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
  * 
- * <pre>
- * &lt;complexType name="WebServiceParameterSet">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         &lt;element name="serviceURL" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded"/>
- *         &lt;element name="parameters" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *       &lt;/sequence>
- *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &lt;pre&gt;
+ * &amp;lt;complexType name="WebServiceParameterSet"&amp;gt;
+ *   &amp;lt;complexContent&amp;gt;
+ *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
+ *       &amp;lt;sequence&amp;gt;
+ *         &amp;lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
+ *         &amp;lt;element name="serviceURL" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded"/&amp;gt;
+ *         &amp;lt;element name="parameters" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
+ *       &amp;lt;/sequence&amp;gt;
+ *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ *     &amp;lt;/restriction&amp;gt;
+ *   &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt;
+ * &lt;/pre&gt;
  * 
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "WebServiceParameterSet",
-  namespace = "www.jalview.org/xml/wsparamset",
-  propOrder =
-  { "version", "description", "serviceURL", "parameters" })
+@XmlType(name = "WebServiceParameterSet", namespace = "www.jalview.org/xml/wsparamset", propOrder = {
+    "version",
+    "description",
+    "serviceURL",
+    "parameters"
+})
 @XmlSeeAlso({
-    jalview.xml.binding.jalview.JalviewModel.Viewport.CalcIdParam.class })
-public class WebServiceParameterSet
-{
-
-  @XmlElement(name = "Version", namespace = "")
-  protected String version;
-
-  @XmlElement(namespace = "")
-  protected String description;
-
-  @XmlElement(namespace = "", required = true)
-  @XmlSchemaType(name = "anyURI")
-  protected List<String> serviceURL;
-
-  @XmlElement(namespace = "", required = true)
-  protected String parameters;
-
-  @XmlAttribute(name = "name", required = true)
-  protected String name;
-
-  /**
-   * Gets the value of the version property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getVersion()
-  {
-    return version;
-  }
-
-  /**
-   * Sets the value of the version property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setVersion(String value)
-  {
-    this.version = value;
-  }
-
-  /**
-   * Gets the value of the description property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getDescription()
-  {
-    return description;
-  }
-
-  /**
-   * Sets the value of the description property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setDescription(String value)
-  {
-    this.description = value;
-  }
-
-  /**
-   * Gets the value of the serviceURL property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the serviceURL property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getServiceURL().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link String }
-   * 
-   * 
-   */
-  public List<String> getServiceURL()
-  {
-    if (serviceURL == null)
-    {
-      serviceURL = new ArrayList<String>();
+    jalview.xml.binding.jalview.JalviewModel.Viewport.CalcIdParam.class
+})
+public class WebServiceParameterSet {
+
+    @XmlElement(name = "Version", namespace = "")
+    protected String version;
+    @XmlElement(namespace = "")
+    protected String description;
+    @XmlElement(namespace = "", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected List<String> serviceURL;
+    @XmlElement(namespace = "", required = true)
+    protected String parameters;
+    @XmlAttribute(name = "name", required = true)
+    protected String name;
+
+    /**
+     * Gets the value of the version property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getVersion() {
+        return version;
+    }
+
+    /**
+     * Sets the value of the version property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setVersion(String value) {
+        this.version = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the serviceURL property.
+     * 
+     * &lt;p&gt;
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a &lt;CODE&gt;set&lt;/CODE&gt; method for the serviceURL property.
+     * 
+     * &lt;p&gt;
+     * For example, to add a new item, do as follows:
+     * &lt;pre&gt;
+     *    getServiceURL().add(newItem);
+     * &lt;/pre&gt;
+     * 
+     * 
+     * &lt;p&gt;
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getServiceURL() {
+        if (serviceURL == null) {
+            serviceURL = new ArrayList<String>();
+        }
+        return this.serviceURL;
+    }
+
+    /**
+     * Gets the value of the parameters property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getParameters() {
+        return parameters;
+    }
+
+    /**
+     * Sets the value of the parameters property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setParameters(String value) {
+        this.parameters = value;
+    }
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
     }
-    return this.serviceURL;
-  }
-
-  /**
-   * Gets the value of the parameters property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getParameters()
-  {
-    return parameters;
-  }
-
-  /**
-   * Sets the value of the parameters property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setParameters(String value)
-  {
-    this.parameters = value;
-  }
-
-  /**
-   * Gets the value of the name property.
-   * 
-   * @return possible object is {@link String }
-   * 
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * Sets the value of the name property.
-   * 
-   * @param value
-   *          allowed object is {@link String }
-   * 
-   */
-  public void setName(String value)
-  {
-    this.name = value;
-  }
 
 }
index 65d49d5..21a46db 100644 (file)
@@ -1,11 +1,9 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.09.01 at 02:16:11 PM BST 
 //
 
-@javax.xml.bind.annotation.XmlSchema(
-  namespace = "www.vamsas.ac.uk/jalview/version2",
-  elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+@javax.xml.bind.annotation.XmlSchema(namespace = "www.vamsas.ac.uk/jalview/version2", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
 package jalview.xml.binding.jalview;
index 3839065..00e7b21 100644 (file)
@@ -824,6 +824,11 @@ public class PDBFTSRestClientTest
                           + "        \"resolution\":2.2,\n"
                           + "        \"title\":\"Crystal structure of the complex between maize sulfite reductase and ferredoxin in the form-2 crystal\"}]\n"
                           + "  }}" });
+      mocks.add(new String[] { 
+          "https://www.ebi.ac.uk/pdbe/search/pdb/select?wt=json&fl=pdb_id,title,experimental_method,resolution&rows=500&start=0&q=(4gs9+OR+6bvb+OR+8ck8+OR+8ck3+OR+6x3d+OR+8ck4+OR+6x28+OR+6i7r+OR+3h82+OR+6i7q+OR+6x21+OR+4xt2+OR+5kiz+OR+7q5v+OR+6x2h+OR+7q5x+OR+3f1n+OR+3f1o+OR+2a24+OR+3f1p+OR+1p97+OR+4ghi+OR+3h7w+OR+6d09+OR+6czw+OR+7ujv+OR+5tbm+OR+5ufp+OR+4pky+OR+6d0b+OR+6d0c+OR+6x37)+AND+molecule_sequence:%5B''+TO+*%5D+AND+status:REL&sort="
+           ,
+          readJsonStringFromFile(
+                  "test/jalview/fts/threedbeacons/q99814_tdb_pdbfts_query_resp.txt")});
     } catch (Throwable e)
     {
       Assert.fail("Couldn't read mock data.", e);
index c37058a..40e29d3 100644 (file)
@@ -39,14 +39,20 @@ import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import jalview.datamodel.Sequence;
+import jalview.fts.api.FTSData;
 import jalview.fts.api.FTSDataColumnI;
 import jalview.fts.api.FTSDataColumnI.FTSDataColumnGroupI;
 import jalview.fts.core.FTSRestClient;
 import jalview.fts.core.FTSRestRequest;
 import jalview.fts.core.FTSRestResponse;
 import jalview.fts.service.pdb.PDBFTSRestClientTest;
+import jalview.fts.service.threedbeacons.TDB_FTSData;
 import jalview.fts.service.threedbeacons.TDBeaconsFTSRestClient;
 import jalview.gui.JvOptionPane;
+import jalview.gui.structurechooser.PDBStructureChooserQuerySource;
+import jalview.gui.structurechooser.TDBResultAnalyser;
+import jalview.gui.structurechooser.ThreeDBStructureChooserQuerySource;
 
 public class TDBeaconsFTSRestClientTest
 {
@@ -301,7 +307,8 @@ public class TDBeaconsFTSRestClientTest
   private static String[][] mocks = { { "P38398.json", null },
       { "P01308.json", null },
       { "P0DTD1.json", null },
-      { "P27787.json", null }
+      { "P27787.json", null },
+      { "Q99814.json", null }
 
       // , { "P0DTD3.json", "{}" } actually results in 404, but {} is in body
   };
@@ -321,6 +328,8 @@ public class TDBeaconsFTSRestClientTest
 
       mocks[3][1] = PDBFTSRestClientTest.readJsonStringFromFile(
               "test/jalview/fts/threedbeacons/p27787_tdb_fts_query_resp.txt");
+      mocks[4][1] = PDBFTSRestClientTest.readJsonStringFromFile(
+              "test/jalview/fts/threedbeacons/q99814_tdb_fts_query_resp.txt");
 
     } catch (IOException e)
     {
@@ -491,4 +500,5 @@ public class TDBeaconsFTSRestClientTest
     System.out.println("Search summary : \n" + response.getSearchSummary());
     // System.out.println(response.getSearchSummary().size());
   }
+  
 }
diff --git a/test/jalview/fts/threedbeacons/q99814_tdb_fts_query.txt b/test/jalview/fts/threedbeacons/q99814_tdb_fts_query.txt
new file mode 100644 (file)
index 0000000..774b719
--- /dev/null
@@ -0,0 +1 @@
+https://www.ebi.ac.uk/pdbe/pdbe-kb/3dbeacons/api/uniprot/summary/Q99814.json
diff --git a/test/jalview/fts/threedbeacons/q99814_tdb_fts_query_resp.txt b/test/jalview/fts/threedbeacons/q99814_tdb_fts_query_resp.txt
new file mode 100644 (file)
index 0000000..17ef5e2
--- /dev/null
@@ -0,0 +1 @@
+{"uniprot_entry":{"ac":"Q99814","id":"EPAS1_HUMAN","uniprot_checksum":"4838989598234FC1","sequence_length":870,"segment_start":8,"segment_end":359},"structures":[{"summary":{"model_identifier":"3f1p","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/3f1p_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/3f1p","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2008-10-28","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.17,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]}]}},{"summary":{"model_identifier":"7q5v","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/7q5v_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/7q5v","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2021-11-04","sequence_identity":100.0,"uniprot_start":523,"uniprot_end":542,"coverage":0.023,"experimental_method":"X-RAY DIFFRACTION","resolution":1.17,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q9GZT9","identifier_category":"UNIPROT","description":"Egl nine homolog 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"GOL","identifier_category":"CCD","description":"GLYCEROL","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"FMT","identifier_category":"CCD","description":"FORMIC ACID","chain_ids":["A","B"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"CL","identifier_category":"CCD","description":"CHLORIDE ION","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"MG","identifier_category":"CCD","description":"MAGNESIUM ION","chain_ids":["A","B"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"OGA","identifier_category":"CCD","description":"N-OXALYLGLYCINE","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"MN","identifier_category":"CCD","description":"MANGANESE (II) ION","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"PEG","identifier_category":"CCD","description":"DI(HYDROXYETHYL)ETHER","chain_ids":["A"]}]}},{"summary":{"model_identifier":"7q5x","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/7q5x_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/7q5x","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2021-11-04","sequence_identity":100.0,"uniprot_start":523,"uniprot_end":542,"coverage":0.023,"experimental_method":"X-RAY DIFFRACTION","resolution":1.21,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q9GZT9","identifier_category":"UNIPROT","description":"Egl nine homolog 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"GOL","identifier_category":"CCD","description":"GLYCEROL","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"FMT","identifier_category":"CCD","description":"FORMIC ACID","chain_ids":["A","B"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"CL","identifier_category":"CCD","description":"CHLORIDE ION","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"MG","identifier_category":"CCD","description":"MAGNESIUM ION","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"AKG","identifier_category":"CCD","description":"2-OXOGLUTARIC ACID","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"MN","identifier_category":"CCD","description":"MANGANESE (II) ION","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"PEG","identifier_category":"CCD","description":"DI(HYDROXYETHYL)ETHER","chain_ids":["A"]}]}},{"summary":{"model_identifier":"3f1n","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/3f1n_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/3f1n","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2008-10-28","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.479,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"EDO","identifier_category":"CCD","description":"1,2-ETHANEDIOL","chain_ids":["A"]}]}},{"summary":{"model_identifier":"4ghi","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/4ghi_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/4ghi","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2012-08-07","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.5,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"0X3","identifier_category":"CCD","description":"N-(3-chloro-5-fluorophenyl)-4-nitro-2,1,3-benzoxadiazol-5-amine","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6d0c","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6d0c_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6d0c","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2018-04-10","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.5,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]}]}},{"summary":{"model_identifier":"3h82","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/3h82_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/3h82","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2009-04-28","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.5,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"020","identifier_category":"CCD","description":"N-(furan-2-ylmethyl)-2-nitro-4-(trifluoromethyl)aniline","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6x21","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6x21_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6x21","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2020-05-19","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":348,"coverage":0.126,"experimental_method":"X-RAY DIFFRACTION","resolution":1.54,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"UKJ","identifier_category":"CCD","description":"1-(3-bromo-5-fluorophenoxy)-4-[(difluoromethyl)sulfonyl]-2-nitrobenzene","chain_ids":["A"]}]}},{"summary":{"model_identifier":"3f1o","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/3f1o_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/3f1o","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2008-10-28","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.598,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"EDO","identifier_category":"CCD","description":"1,2-ETHANEDIOL","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"2XY","identifier_category":"CCD","description":"N-[2-nitro-4-(trifluoromethyl)phenyl]morpholin-4-amine","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6czw","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6czw_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6czw","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2018-04-09","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.6,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"FO7","identifier_category":"CCD","description":"{2-bromo-3-(3-chloro-5-fluorophenoxy)-6-[(difluoromethyl)sulfonyl]phenyl}methanol","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6d0b","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6d0b_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6d0b","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2018-04-10","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.6,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"FOV","identifier_category":"CCD","description":"N-(3-chloro-5-fluorophenyl)-2-nitro-4-[(trifluoromethyl)sulfonyl]aniline","chain_ids":["A"]}]}},{"summary":{"model_identifier":"3h7w","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/3h7w_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/3h7w","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2009-04-28","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.65,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"018","identifier_category":"CCD","description":"2-nitro-N-(thiophen-3-ylmethyl)-4-(trifluoromethyl)aniline","chain_ids":["A"]}]}},{"summary":{"model_identifier":"4xt2","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/4xt2_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/4xt2","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2015-01-22","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.698,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["D","B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A","C"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"43L","identifier_category":"CCD","description":"(5S,7R)-5,7-bis(3-bromophenyl)-4,5,6,7-tetrahydrotetrazolo[1,5-a]pyrimidine","chain_ids":["A","C"]}]}},{"summary":{"model_identifier":"8ck3","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/8ck3_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/8ck3","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2023-02-14","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.707,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"DMS","identifier_category":"CCD","description":"DIMETHYL SULFOXIDE","chain_ids":["B"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"UXU","identifier_category":"CCD","description":"(4~{S})-1-[3,5-bis(fluoranyl)phenyl]-5,5-bis(fluoranyl)-3-methylsulfonyl-4,6-dihydrocyclopenta[c]thiophen-4-ol","chain_ids":["A"]}]}},{"summary":{"model_identifier":"4gs9","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/4gs9_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/4gs9","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2012-08-27","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.72,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"PE8","identifier_category":"CCD","description":"3,6,9,12,15,18,21-HEPTAOXATRICOSANE-1,23-DIOL","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"0XB","identifier_category":"CCD","description":"N-(3-fluorophenyl)-4-nitro-2,1,3-benzoxadiazol-5-amine","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6i7q","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6i7q_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6i7q","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2018-11-17","sequence_identity":95.0,"uniprot_start":523,"uniprot_end":542,"coverage":0.023,"experimental_method":"X-RAY DIFFRACTION","resolution":1.798,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P40337","identifier_category":"UNIPROT","description":"von Hippel-Lindau disease tumor suppressor","chain_ids":["V"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q15370","identifier_category":"UNIPROT","description":"Elongin-B","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q2KII4","identifier_category":"UNIPROT","description":"Elongin-C","chain_ids":["C"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["H"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"GOL","identifier_category":"CCD","description":"GLYCEROL","chain_ids":["V"]}]}},{"summary":{"model_identifier":"7ujv","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/7ujv_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/7ujv","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2022-03-31","sequence_identity":100.0,"uniprot_start":523,"uniprot_end":542,"coverage":0.023,"experimental_method":"X-RAY DIFFRACTION","resolution":1.8,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q9GZT9","identifier_category":"UNIPROT","description":"Egl nine homolog 1","chain_ids":["B"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"GOL","identifier_category":"CCD","description":"GLYCEROL","chain_ids":["B"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"FE","identifier_category":"CCD","description":"FE (III) ION","chain_ids":["B"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"OGA","identifier_category":"CCD","description":"N-OXALYLGLYCINE","chain_ids":["B"]}]}},{"summary":{"model_identifier":"6d09","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6d09_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6d09","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2018-04-10","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.85,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"FOJ","identifier_category":"CCD","description":"3-{[(3R)-4-(difluoromethyl)-2,2-difluoro-3-hydroxy-1,1-dioxo-2,3-dihydro-1H-1-benzothiophen-5-yl]oxy}-5-fluorobenzonitrile","chain_ids":["A"]}]}},{"summary":{"model_identifier":"5tbm","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/5tbm_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/5tbm","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2016-09-12","sequence_identity":97.0,"uniprot_start":237,"uniprot_end":348,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":1.85,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"79A","identifier_category":"CCD","description":"3-{[(1S)-2,2-difluoro-1-hydroxy-7-(methylsulfonyl)-2,3-dihydro-1H-inden-4-yl]oxy}-5-fluorobenzonitrile","chain_ids":["A"]}]}},{"summary":{"model_identifier":"5ufp","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/5ufp_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/5ufp","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2017-01-05","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":348,"coverage":0.126,"experimental_method":"X-RAY DIFFRACTION","resolution":1.9,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"86D","identifier_category":"CCD","description":"3-({(1S)-7-[(difluoromethyl)sulfonyl]-2,2-difluoro-1-hydroxy-2,3-dihydro-1H-inden-4-yl}oxy)-5-fluorobenzonitrile","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6x28","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6x28_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6x28","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2020-05-20","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":348,"coverage":0.126,"experimental_method":"X-RAY DIFFRACTION","resolution":1.92,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"ULG","identifier_category":"CCD","description":"(1R)-4-(3,5-difluorophenoxy)-7-(trifluoromethyl)-2,3-dihydro-1H-inden-1-ol","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6x37","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6x37_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6x37","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2020-05-21","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":348,"coverage":0.126,"experimental_method":"X-RAY DIFFRACTION","resolution":1.94,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"ULS","identifier_category":"CCD","description":"3-fluoro-5-{[(7R)-7-hydroxy-1-(trifluoromethyl)-6,7-dihydro-5H-cyclopenta[c]pyridin-4-yl]oxy}benzonitrile","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6i7r","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6i7r_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6i7r","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2018-11-17","sequence_identity":95.0,"uniprot_start":523,"uniprot_end":542,"coverage":0.023,"experimental_method":"X-RAY DIFFRACTION","resolution":1.949,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P40337","identifier_category":"UNIPROT","description":"von Hippel-Lindau disease tumor suppressor","chain_ids":["V"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q15369","identifier_category":"UNIPROT","description":"Elongin-C","chain_ids":["C"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q15370","identifier_category":"UNIPROT","description":"Elongin-B","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["H"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"FMT","identifier_category":"CCD","description":"FORMIC ACID","chain_ids":["V"]}]}},{"summary":{"model_identifier":"6x2h","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6x2h_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6x2h","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2020-05-20","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":348,"coverage":0.126,"experimental_method":"X-RAY DIFFRACTION","resolution":2.0,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"ULD","identifier_category":"CCD","description":"cis-3-({(1S)-7-[dihydroxy(trifluoromethyl)-lambda~4~-sulfanyl]-2,2-difluoro-1-hydroxy-2,3-dihydro-1H-inden-4-yl}oxy)cyclobutane-1-carbonitrile","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6x3d","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6x3d_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6x3d","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2020-05-21","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":348,"coverage":0.126,"experimental_method":"X-RAY DIFFRACTION","resolution":2.0,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"ULM","identifier_category":"CCD","description":"(6R,7S)-4-[(3,3-difluorocyclobutyl)oxy]-6-fluoro-1-(trifluoromethyl)-6,7-dihydro-5H-cyclopenta[c]pyridin-7-ol","chain_ids":["A"]}]}},{"summary":{"model_identifier":"6bvb","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/6bvb_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/6bvb","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2017-12-12","sequence_identity":100.0,"uniprot_start":523,"uniprot_end":540,"coverage":0.021,"experimental_method":"X-RAY DIFFRACTION","resolution":2.002,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P40337","identifier_category":"UNIPROT","description":"von Hippel-Lindau disease tumor suppressor","chain_ids":["V"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q15369","identifier_category":"UNIPROT","description":"Elongin-C","chain_ids":["C"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q15370","identifier_category":"UNIPROT","description":"Elongin-B","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Hypoxia-Inducible Factor 2 alpha","chain_ids":["H"]}]}},{"summary":{"model_identifier":"8ck4","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/8ck4_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/8ck4","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2023-02-14","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":2.29,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"UY3","identifier_category":"CCD","description":"(4~{S})-1-[3,5-bis(fluoranyl)phenyl]-5,5-bis(fluoranyl)-3-methylsulfonyl-6,7-dihydro-4~{H}-2-benzothiophen-4-ol","chain_ids":["A"]}]}},{"summary":{"model_identifier":"8ck8","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/8ck8_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/8ck8","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2023-02-14","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":2.302,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"UYF","identifier_category":"CCD","description":"(4~{S})-1-cyclohexyloxy-5,5-bis(fluoranyl)-3-methylsulfonyl-4,6-dihydrocyclopenta[c]thiophen-4-ol","chain_ids":["A"]}]}},{"summary":{"model_identifier":"4pky","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/4pky_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/4pky","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2014-05-15","sequence_identity":97.0,"uniprot_start":239,"uniprot_end":350,"coverage":0.129,"experimental_method":"X-RAY DIFFRACTION","resolution":3.2,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["A","D"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["G"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q9JJ11","identifier_category":"UNIPROT","description":"Transforming acidic coiled-coil-containing protein 3","chain_ids":["E","F","C","B"]},{"entity_type":"NON-POLYMER","entity_poly_type":null,"identifier":"SO4","identifier_category":"CCD","description":"SULFATE ION","chain_ids":["B"]}]}},{"summary":{"model_identifier":"1p97","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/1p97_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/1p97","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2003-05-09","sequence_identity":100.0,"uniprot_start":240,"uniprot_end":350,"coverage":0.128,"experimental_method":"SOLUTION NMR","resolution":null,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain protein 1","chain_ids":["A"]}]}},{"summary":{"model_identifier":"5kiz","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/5kiz_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/5kiz","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2016-06-17","sequence_identity":94.0,"uniprot_start":239,"uniprot_end":349,"coverage":0.128,"experimental_method":"SOLUTION NMR","resolution":null,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]}]}},{"summary":{"model_identifier":"2a24","model_category":"EXPERIMENTALLY DETERMINED","model_url":"https://www.ebi.ac.uk/pdbe/static/entry/2a24_updated.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://www.ebi.ac.uk/pdbe/entry/pdb/2a24","provider":"PDBe","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2005-06-21","sequence_identity":100.0,"uniprot_start":242,"uniprot_end":348,"coverage":0.123,"experimental_method":"SOLUTION NMR","resolution":null,"confidence_type":null,"confidence_version":null,"confidence_avg_local_score":null,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"P27540","identifier_category":"UNIPROT","description":"Aryl hydrocarbon receptor nuclear translocator","chain_ids":["B"]},{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain protein 1","chain_ids":["A"]}]}},{"summary":{"model_identifier":"Q99814_8-359:4zpk.1.B","model_category":"TEMPLATE-BASED","model_url":"https://swissmodel.expasy.org/3d-beacons/uniprot/Q99814.pdb?range=8-359&template=4zpk.1.B&provider=swissmodel","model_format":"PDB","model_type":"ATOMIC","model_page_url":"https://swissmodel.expasy.org/repository/uniprot/Q99814?range=8-359&template=4zpk.1.B","provider":"SWISS-MODEL","created":"2023-10-21","sequence_identity":1.0,"uniprot_start":8,"uniprot_end":359,"coverage":0.405,"confidence_type":"QMEANDisCo","confidence_version":"4.3.1","confidence_avg_local_score":0.676,"oligomeric_state":"MONOMER","entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"model based on template 4zpk.1.B: Endothelial PAS domain-containing protein 1","chain_ids":["B"]}]}},{"summary":{"model_identifier":"Q99814_26-342:7w80.1.A","model_category":"TEMPLATE-BASED","model_url":"https://swissmodel.expasy.org/3d-beacons/uniprot/Q99814.pdb?range=26-342&template=7w80.1.A&provider=swissmodel","model_format":"PDB","model_type":"ATOMIC","model_page_url":"https://swissmodel.expasy.org/repository/uniprot/Q99814?range=26-342&template=7w80.1.A","provider":"SWISS-MODEL","created":"2023-10-21","sequence_identity":1.0,"uniprot_start":26,"uniprot_end":342,"coverage":0.364,"confidence_type":"QMEANDisCo","confidence_version":"4.3.1","confidence_avg_local_score":0.586,"oligomeric_state":"MONOMER","entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"model based on template 7w80.1.A: Aryl hydrocarbon receptor nuclear translocator","chain_ids":["A"]}]}},{"summary":{"model_identifier":"AF-Q99814-F1","model_category":"AB-INITIO","model_url":"https://alphafold.ebi.ac.uk/files/AF-Q99814-F1-model_v4.cif","model_format":"MMCIF","model_type":null,"model_page_url":"https://alphafold.ebi.ac.uk/entry/Q99814","provider":"AlphaFold DB","number_of_conformers":null,"ensemble_sample_url":null,"ensemble_sample_format":null,"created":"2022-06-01","sequence_identity":1.0,"uniprot_start":1,"uniprot_end":870,"coverage":1.0,"experimental_method":null,"resolution":null,"confidence_type":"pLDDT","confidence_version":null,"confidence_avg_local_score":58.6,"oligomeric_state":null,"preferred_assembly_id":null,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]}]}},{"summary":{"model_identifier":"Q99814","model_category":"TEMPLATE-BASED","model_url":"https://alphafill.eu/v1/aff/Q99814","model_format":"MMCIF","model_page_url":"https://alphafill.eu/model?id=Q99814","provider":"AlphaFill","created":"2022-05-07","sequence_identity":1.0,"uniprot_start":1,"uniprot_end":870,"coverage":1.0,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]},{"entity_type":"NON-POLYMER","description":"PROFLAVIN","chain_ids":["B","C"]},{"entity_type":"NON-POLYMER","description":"ERBIUM (III) ION","chain_ids":["D","E","F","G","H","I","J","K"]}]}},{"summary":{"model_identifier":"CHS.29392.1","model_category":"AB-INITIO","model_url":"https://storage.googleapis.com/isoform.io/pdb/CHS.29392.1.pdb","model_format":"PDB","provider":"isoform.io","created":"2022-06-05","sequence_identity":1.0,"uniprot_start":1,"uniprot_end":870,"coverage":1.0,"entities":[{"entity_type":"POLYMER","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A"]}]}},{"summary":{"model_identifier":"Q99814_V1_5","model_category":"AB-INITIO","model_url":"https://shmoo.weizmann.ac.il/elevy/HomAtlas/Q99814_V1_5.pdb","model_format":"PDB","model_type":"ATOMIC","provider":"levylab","created":"2023-09-14","sequence_identity":1.0,"uniprot_start":1,"uniprot_end":870,"coverage":1.0,"confidence_type":"pLDDT","confidence_version":"AlphaFold2","confidence_avg_local_score":50.9166,"oligomeric_state":"HOMODIMER","oligomeric_state_confidence":0.6276,"entities":[{"entity_type":"POLYMER","entity_poly_type":"POLYPEPTIDE(L)","identifier":"Q99814","identifier_category":"UNIPROT","description":"Endothelial PAS domain-containing protein 1","chain_ids":["A","B"]}]}}]}
\ No newline at end of file
diff --git a/test/jalview/fts/threedbeacons/q99814_tdb_pdbfts_query_resp.txt b/test/jalview/fts/threedbeacons/q99814_tdb_pdbfts_query_resp.txt
new file mode 100644 (file)
index 0000000..a69d63a
--- /dev/null
@@ -0,0 +1,354 @@
+{
+  "responseHeader":{
+    "status":0,
+    "QTime":0,
+    "params":{
+      "q":"(4gs9 OR 6bvb OR 8ck8 OR 8ck3 OR 6x3d OR 8ck4 OR 6x28 OR 6i7r OR 3h82 OR 6i7q OR 6x21 OR 4xt2 OR 5kiz OR 7q5v OR 6x2h OR 7q5x OR 3f1n OR 3f1o OR 2a24 OR 3f1p OR 1p97 OR 4ghi OR 3h7w OR 6d09 OR 6czw OR 7ujv OR 5tbm OR 5ufp OR 4pky OR 6d0b OR 6d0c OR 6x37) AND molecule_sequence:['' TO *] AND status:REL",
+      "fl":"pdb_id,title,experimental_method,resolution",
+      "start":"0",
+      "sort":"",
+      "rows":"500",
+      "wt":"json"}},
+  "response":{"numFound":69,"start":0,"docs":[
+      {
+        "experimental_method":["Solution NMR"],
+        "pdb_id":"1p97",
+        "title":"NMR structure of the C-terminal PAS domain of HIF2a"},
+      {
+        "experimental_method":["Solution NMR"],
+        "pdb_id":"5kiz",
+        "title":"Solution Structure of a repacked version of HIF-2 alpha PAS-B"},
+      {
+        "experimental_method":["Solution NMR"],
+        "pdb_id":"2a24",
+        "title":"HADDOCK Structure of HIF-2a/ARNT PAS-B Heterodimer"},
+      {
+        "experimental_method":["Solution NMR"],
+        "pdb_id":"2a24",
+        "title":"HADDOCK Structure of HIF-2a/ARNT PAS-B Heterodimer"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x28",
+        "resolution":1.92,
+        "title":"Crystal structure of PT2243 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x2h",
+        "resolution":2.0,
+        "title":"Crystal structure of PT2863 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6d0c",
+        "resolution":1.5,
+        "title":"Crystal structure of HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6d0c",
+        "resolution":1.5,
+        "title":"Crystal structure of HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x28",
+        "resolution":1.92,
+        "title":"Crystal structure of PT2243 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x3d",
+        "resolution":2.0,
+        "title":"Crystal structure of PT3388 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x3d",
+        "resolution":2.0,
+        "title":"Crystal structure of PT3388 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x37",
+        "resolution":1.94,
+        "title":"Crystal structure of PT3245 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x37",
+        "resolution":1.94,
+        "title":"Crystal structure of PT3245 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x21",
+        "resolution":1.54,
+        "title":"Crystal structure of PT1673 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x21",
+        "resolution":1.54,
+        "title":"Crystal structure of PT1673 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6x2h",
+        "resolution":2.0,
+        "title":"Crystal structure of PT2863 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6d0b",
+        "resolution":1.6,
+        "title":"Crystal structure of PT1614 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6d09",
+        "resolution":1.85,
+        "title":"Crystal structure of PT2440 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6czw",
+        "resolution":1.6,
+        "title":"Crystal structure of PT1940 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"8ck8",
+        "resolution":2.302,
+        "title":"STRUCTURE OF HIF2A-ARNT HETERODIMER IN COMPLEX WITH (S)-1-Cyclohexyloxy-5,5-difluoro-3-methanesulfonyl-5,6-dihydro-4H-cyclopenta[c]thiophen-4-ol"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"8ck4",
+        "resolution":2.29,
+        "title":"STRUCTURE OF HIF2A-ARNT HETERODIMER IN COMPLEX WITH (4S)-1-(3,5-difluorophenyl)-5,5-difluoro-3-methanesulfonyl-4,5,6,7-tetrahydro-2-benzothiophen-4-ol"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"8ck4",
+        "resolution":2.29,
+        "title":"STRUCTURE OF HIF2A-ARNT HETERODIMER IN COMPLEX WITH (4S)-1-(3,5-difluorophenyl)-5,5-difluoro-3-methanesulfonyl-4,5,6,7-tetrahydro-2-benzothiophen-4-ol"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"8ck8",
+        "resolution":2.302,
+        "title":"STRUCTURE OF HIF2A-ARNT HETERODIMER IN COMPLEX WITH (S)-1-Cyclohexyloxy-5,5-difluoro-3-methanesulfonyl-5,6-dihydro-4H-cyclopenta[c]thiophen-4-ol"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4xt2",
+        "resolution":1.698,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains in complex with a tetrazole-containing antagonist"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3h82",
+        "resolution":1.5,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains with the artificial ligand THS020"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3h7w",
+        "resolution":1.65,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains with the artificial ligand THS017"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3f1p",
+        "resolution":1.17,
+        "title":"Crystal structure of a high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3f1p",
+        "resolution":1.17,
+        "title":"Crystal structure of a high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6d0b",
+        "resolution":1.6,
+        "title":"Crystal structure of PT1614 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6d09",
+        "resolution":1.85,
+        "title":"Crystal structure of PT2440 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6czw",
+        "resolution":1.6,
+        "title":"Crystal structure of PT1940 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4xt2",
+        "resolution":1.698,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains in complex with a tetrazole-containing antagonist"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"5tbm",
+        "resolution":1.85,
+        "title":"Crystal structure of PT2385 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3h82",
+        "resolution":1.5,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains with the artificial ligand THS020"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4gs9",
+        "resolution":1.72,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains in complex with an inactive benzoxadiazole antagonist"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4ghi",
+        "resolution":1.5,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains in complex with a benzoxadiazole antagonist"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4ghi",
+        "resolution":1.5,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains in complex with a benzoxadiazole antagonist"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3h7w",
+        "resolution":1.65,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains with the artificial ligand THS017"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3f1n",
+        "resolution":1.479,
+        "title":"Crystal structure of a high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains, with internally bound ethylene glycol."},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3f1n",
+        "resolution":1.479,
+        "title":"Crystal structure of a high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains, with internally bound ethylene glycol."},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3f1o",
+        "resolution":1.598,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains, with an internally-bound artificial ligand"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"3f1o",
+        "resolution":1.598,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains, with an internally-bound artificial ligand"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"7ujv",
+        "resolution":1.8,
+        "title":"Structure of PHD2 in complex with HIF2a-CODD"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"8ck3",
+        "resolution":1.707,
+        "title":"STRUCTURE OF HIF2A-ARNT HETERODIMER IN COMPLEX WITH (S)-1-(3,5-Difluoro-phenyl)-5,5-difluoro-3-methanesulfonyl-5,6-dihydro-4H-cyclopenta[c]thiophen-4-ol"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"8ck3",
+        "resolution":1.707,
+        "title":"STRUCTURE OF HIF2A-ARNT HETERODIMER IN COMPLEX WITH (S)-1-(3,5-Difluoro-phenyl)-5,5-difluoro-3-methanesulfonyl-5,6-dihydro-4H-cyclopenta[c]thiophen-4-ol"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4gs9",
+        "resolution":1.72,
+        "title":"Crystal structure of the high affinity heterodimer of HIF2 alpha and ARNT C-terminal PAS domains in complex with an inactive benzoxadiazole antagonist"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"5tbm",
+        "resolution":1.85,
+        "title":"Crystal structure of PT2385 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"5ufp",
+        "resolution":1.9,
+        "title":"Crystal structure of PT2399 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"5ufp",
+        "resolution":1.9,
+        "title":"Crystal structure of PT2399 bound to HIF2a-B*:ARNT-B* complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4pky",
+        "resolution":3.2,
+        "title":"ARNT/HIF transcription factor/coactivator complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6bvb",
+        "resolution":2.002,
+        "title":"Crystal structure of HIF-2alpha-pVHL-elongin B-elongin C"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4pky",
+        "resolution":3.2,
+        "title":"ARNT/HIF transcription factor/coactivator complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"4pky",
+        "resolution":3.2,
+        "title":"ARNT/HIF transcription factor/coactivator complex"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6i7q",
+        "resolution":1.798,
+        "title":"Structure of pVHL-elongin B-elongin C (VCB) in complex with hydroxylated-HIF-2alpha (523-542) in the C2221 form"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6i7r",
+        "resolution":1.949,
+        "title":"Structure of pVHL-elongin B-elongin C (VCB) in complex with hydroxylated-HIF-2alpha (523-542) in the P43212 form"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"7ujv",
+        "resolution":1.8,
+        "title":"Structure of PHD2 in complex with HIF2a-CODD"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"7q5v",
+        "resolution":1.17,
+        "title":"HIF PROLYL HYDROXYLASE 2 (PHD2/EGLN1) IN COMPLEX WITH N-OXALYLGLYCINE (NOG) AND HIF-2 ALPHA CODD (523-542)"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"7q5x",
+        "resolution":1.21,
+        "title":"HIF PROLYL HYDROXYLASE 2 (PHD2/EGLN1) IN COMPLEX WITH 2-OXOGLUTARATE (2OG) AND HIF-2 ALPHA CODD (523-542)"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"7q5v",
+        "resolution":1.17,
+        "title":"HIF PROLYL HYDROXYLASE 2 (PHD2/EGLN1) IN COMPLEX WITH N-OXALYLGLYCINE (NOG) AND HIF-2 ALPHA CODD (523-542)"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6bvb",
+        "resolution":2.002,
+        "title":"Crystal structure of HIF-2alpha-pVHL-elongin B-elongin C"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"7q5x",
+        "resolution":1.21,
+        "title":"HIF PROLYL HYDROXYLASE 2 (PHD2/EGLN1) IN COMPLEX WITH 2-OXOGLUTARATE (2OG) AND HIF-2 ALPHA CODD (523-542)"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6i7r",
+        "resolution":1.949,
+        "title":"Structure of pVHL-elongin B-elongin C (VCB) in complex with hydroxylated-HIF-2alpha (523-542) in the P43212 form"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6i7q",
+        "resolution":1.798,
+        "title":"Structure of pVHL-elongin B-elongin C (VCB) in complex with hydroxylated-HIF-2alpha (523-542) in the C2221 form"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6bvb",
+        "resolution":2.002,
+        "title":"Crystal structure of HIF-2alpha-pVHL-elongin B-elongin C"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6i7r",
+        "resolution":1.949,
+        "title":"Structure of pVHL-elongin B-elongin C (VCB) in complex with hydroxylated-HIF-2alpha (523-542) in the P43212 form"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6i7q",
+        "resolution":1.798,
+        "title":"Structure of pVHL-elongin B-elongin C (VCB) in complex with hydroxylated-HIF-2alpha (523-542) in the C2221 form"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6bvb",
+        "resolution":2.002,
+        "title":"Crystal structure of HIF-2alpha-pVHL-elongin B-elongin C"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6i7q",
+        "resolution":1.798,
+        "title":"Structure of pVHL-elongin B-elongin C (VCB) in complex with hydroxylated-HIF-2alpha (523-542) in the C2221 form"},
+      {
+        "experimental_method":["X-ray diffraction"],
+        "pdb_id":"6i7r",
+        "resolution":1.949,
+        "title":"Structure of pVHL-elongin B-elongin C (VCB) in complex with hydroxylated-HIF-2alpha (523-542) in the P43212 form"}]
+  }}
index c21add1..4579b9c 100644 (file)
@@ -22,7 +22,9 @@ package jalview.gui.structurechooser;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.fail;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Vector;
 
@@ -39,8 +41,13 @@ import jalview.datamodel.DBRefSource;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceI;
+import jalview.fts.api.FTSData;
+import jalview.fts.api.FTSDataColumnI;
+import jalview.fts.core.FTSRestRequest;
 import jalview.fts.core.FTSRestResponse;
 import jalview.fts.service.pdb.PDBFTSRestClientTest;
+import jalview.fts.service.threedbeacons.TDB_FTSData;
+import jalview.fts.service.threedbeacons.TDBeaconsFTSRestClient;
 import jalview.fts.threedbeacons.TDBeaconsFTSRestClientTest;
 import jalview.gui.JvOptionPane;
 import jalview.gui.StructureChooser;
@@ -60,6 +67,8 @@ public class StructureChooserQuerySourceTest
 
   private Sequence upSeq_fer1_maize;
 
+  private Sequence upSeq_epas1_human;
+
   // same set up as for structurechooser test
 
   @BeforeMethod(alwaysRun = true)
@@ -237,7 +246,24 @@ public class StructureChooserQuerySourceTest
     upSeq_fer1_maize
             .addDBRef(new DBRefEntry("UNIPROT", "0", "P27787", null, true));
     upSeq_fer1_maize.createDatasetSequence();
-
+    
+    upSeq_epas1_human = new Sequence("EPAS1_HUMAN","MTADKEKKRSSSERRKEKSRDAARCRRSKETEVFYELAHELPLPHSVSSHLDKASIMRLAISFLRTHKLLSS\n"
+            + "VCSENESEAEADQQMDNLYLKALEGFIAVVTQDGDMIFLSENISKFMGLTQVELTGHSIFDFTHPCDHEEIR\n"
+            + "ENLSLKNGSGFGKKSKDMSTERDFFMRMKCTVTNRGRTVNLKSATWKVLHCTGQVKVYNNCPPHNSLCGYKE\n"
+            + "PLLSCLIIMCEPIQHPSHMDIPLDSKTFLSRHSMDMKFTYCDDRITELIGYHPEELLGRSAYEFYHALDSEN\n"
+            + "MTKSHQNLCTKGQVVSGQYRMLAKHGGYVWLETQGTVIYNPRNLQPQCIMCVNYVLSEIEKNDVVFSMDQTE\n"
+            + "SLFKPHLMAMNSIFDSSGKGAVSEKSNFLFTKLKEEPEELAQLAPTPGDAIISLDFGNQNFEESSAYGKAIL\n"
+            + "PPSQPWATELRSHSTQSEAGSLPAFTVPQAAAPGSTTPSATSSSSSCSTPNSPEDYYTSLDNDLKIEVIEKL\n"
+            + "FAMDTEAKDQCSTQTDFNELDLETLAPYIPMDGEDFQLSPICPEERLLAENPQSTPQHCFSAMTNIFQPLAP\n"
+            + "VAPHSPFLLDKFQQQLESKKTEPEHRPMSSIFFDAGSKASLPPCCGQASTPLSSMGGRSNTQWPPDPPLHFG\n"
+            + "PTKWAVGDQRTEFLGAAPLGPPVSPPHVSTFKTRSAKGFGARGPDVLSPAMVALSNKLKLKRQLEYEEQAFQ\n"
+            + "DLSGGDPPGGSTSHLMWKRMKNLRGGSCPLMPDKPLSANVPNDKFTQNPMRGLGHPLRHLPLPQPPSAISPG\n"
+            + "ENSKSRFPPQCYATQYQDYSLSSAHKVSGMASRLLGPSFESYLLPELTRYDCEVNVPVLGSSTLLQGGDLLR\n"
+            + "ALDQAT");
+    upSeq_epas1_human.setDescription("Endothelial PAS domain-containing protein 1");
+    upSeq_epas1_human
+    .addDBRef(new DBRefEntry("UNIPROT", "0", "Q99814", null, true));
+    upSeq_epas1_human.createDatasetSequence();
   }
 
   @AfterMethod(alwaysRun = true)
@@ -247,6 +273,7 @@ public class StructureChooserQuerySourceTest
     upSeq = null;
     upSeq_r1ab = null;
     upSeq_fer1_maize = null;
+    upSeq_epas1_human=null;
   }
 
   @SuppressWarnings("deprecation")
@@ -438,6 +465,31 @@ public class StructureChooserQuerySourceTest
               pdbResponse);
       assertEquals(upResponse.getNumberOfItemsFound(),
               joinedResp.getNumberOfItemsFound());
+      
+      // Special data test case
+      if (testUpSeq.getDisplayId(true)
+              .equals(upSeq_epas1_human.getDisplayId(true)))
+      {
+
+        TDBResultAnalyser tDBResultAnalyz = new TDBResultAnalyser(testUpSeq,
+                joinedResp.getSearchSummary(), tdbquery.lastTdbRequest,
+                ThreeDBStructureChooserQuerySource.FILTER_FIRST_BEST_COVERAGE,
+                tdbquery.remove_prefix(
+                        ThreeDBStructureChooserQuerySource.FILTER_FIRST_BEST_COVERAGE));
+        List<FTSData> ordered = tDBResultAnalyz.getFilteredResponse();
+        List<FTSData> selected = tDBResultAnalyz.selectStructures(ordered);
+        assertEquals(((TDB_FTSData) selected.get(0)).getProvider(),
+                "AlphaFold DB");
+        // to be sufficient, should also
+        // test that adjacent ordered structure in ordered is levyLab
+        // TDB_FTSData first = (TDB_FTSData) ordered.get(0),
+        // second = (TDB_FTSData) ordered.get(1),
+        // third = (TDB_FTSData) ordered.get(2);
+        // Assert.assertEquals("pLDDT", first.getConfidenceScoreType());
+        // Assert.assertTrue(first.getConfidenceScoreType()
+        // .equals(second.getConfidenceScoreType())); // pLDDT first and
+        // // second
+      }
 
     } catch (
 
@@ -458,7 +510,7 @@ public class StructureChooserQuerySourceTest
   {
     setUp();
     return new Object[][] { { upSeq }, { upSeq_insulin }, { upSeq_r1ab },
-        { upSeq_fer1_maize } };
+        { upSeq_fer1_maize },{upSeq_epas1_human} };
   }
 
   @Test(groups = { "Functional" })
@@ -481,5 +533,5 @@ public class StructureChooserQuerySourceTest
     name = "abcde12[345a]fg";
     AssertJUnit.assertEquals("abcde12345afg",
             PDBStructureChooserQuerySource.sanitizeSeqName(name));
-  }
+  }  
 }
index aa4be3d..9c1b32f 100644 (file)
@@ -47,6 +47,7 @@ import org.testng.AssertJUnit;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
+import jalview.analysis.AlignmentUtils;
 import jalview.analysis.scoremodels.SimilarityParams;
 import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
@@ -66,6 +67,7 @@ import jalview.datamodel.HiddenSequences;
 import jalview.datamodel.Mapping;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.PDBEntry.Type;
+import jalview.datamodel.Sequence;
 import jalview.datamodel.Sequence.DBModList;
 import jalview.datamodel.SequenceCollectionI;
 import jalview.datamodel.SequenceFeature;
@@ -1546,6 +1548,44 @@ public class Jalview2xmlTests extends Jalview2xmlBase
   }
 
   @Test(groups = { "Functional" })
+  public void testMatrixToFloatsAndBack()
+  {
+    int imax=2000;
+    int i=imax;
+    SequenceI sq = new Sequence("dummy","SEQ");
+    while (sq.getLength()<i)
+    {
+      sq.setSequence(sq.getSequenceAsString()+'Q');
+    }
+    float[][] paevals = new float[i][i];
+    for (i = imax - 1; i >= 0; i--)
+    {
+      for (int j = 0; j <= i; j++)
+      {
+        paevals[i][j] = ((i - j < 2)
+                || ((i > 1 && i < 5) && (j > 1 && i < 5))) ? 1 : 0f;
+        paevals[j][i] = -paevals[i][j];
+      }
+    }
+    PAEContactMatrix dummyMat = new PAEContactMatrix(sq, paevals);
+    String content = ContactMatrix.contactToFloatString(dummyMat);
+    Assert.assertTrue(content.contains("\t1.")); // at least one element must be
+                                                 // 1
+    float[][] vals = ContactMatrix.fromFloatStringToContacts(content,
+            sq.getLength(), sq.getLength());
+    assertEquals(vals[3][4], paevals[3][4]);
+    assertEquals(vals[4][3], paevals[4][3]);
+    
+    // test recovery
+    for (i=0;i<imax;i++)
+    {
+      for (int j=0;j<imax;j++)
+      {
+        assertEquals(vals[i][j],paevals[i][j]);
+      }
+    }
+  }
+  @Test(groups = { "Functional" })
   public void testPAEsaveRestore() throws Exception
   {
     Desktop.instance.closeAll_actionPerformed(null);
@@ -1646,6 +1686,56 @@ public class Jalview2xmlTests extends Jalview2xmlBase
     Assert.assertEquals(restoredMat.getGroups(), dummyMat.getGroups());
     Assert.assertEquals(restoredMat.hasTree(), dummyMat.hasTree());
     Assert.assertEquals(restoredMat.getNewick(), dummyMat.getNewick());
+
+    // verify no duplicate PAE matrix data when new view created and saved
+    
+    // add reference annotations to view first, then copy
+    AlignmentUtils.addReferenceAnnotationTo(newAl, newAl.getSequenceAt(0), newSeq.getAnnotation()[0],null);
+    
+    AlignmentViewPanel newview = af.newView("copy of PAE", true);
+    
+    // redundant asserts here check all is good with the new view firest...
+    AlignmentI newviewAl = newview.getAlignment();
+    SequenceI newviewSeq = newviewAl.getSequenceAt(0);
+    // check annotation of the expected type exists
+    Assert.assertEquals(newviewSeq.getAnnotation().length, 1);
+    Assert.assertEquals(newviewSeq.getAnnotation()[0].graph, paeCm.graph);
+    // check we have just one contact matrix mapping
+    Assert.assertEquals(newviewSeq.getContactMaps().size(), 1);
+    
+    // and can be found for the annotation on the sequence
+    ContactMatrixI newviewMat = newviewSeq
+            .getContactMatrixFor(newviewSeq.getAnnotation()[0]);
+    Assert.assertNotNull(newviewMat);
+
+    Assert.assertTrue(newviewMat == restoredMat);
+    
+    // save the two views and restore. Now look at visible annotation to check all views have shared refs.
+    
+    tfile = File.createTempFile("testStoreAndRecoverPAEmatrixTwoViews",
+            ".jvp");
+    new Jalview2XML(false).saveState(tfile);
+    Desktop.instance.closeAll_actionPerformed(null);
+
+    af = new FileLoader().LoadFileWaitTillLoaded(tfile.getAbsolutePath(),
+            DataSourceType.FILE);
+    newAl = af.getAlignPanels().get(0).getAlignment();
+    AlignmentAnnotation view1aa = newAl.getSequenceAt(0).getAnnotation()[0];
+
+    newviewAl = af.getAlignPanels().get(1).getAlignment();
+    AlignmentAnnotation view2aa = newviewAl.getSequenceAt(0).getAnnotation()[0];
+
+    // annotations are shared across alignment views - so should still have an identical pair of annotations.
+    Assert.assertTrue(view1aa==view2aa);
+    // identical annotations means identical contact matrix mappings
+    Assert.assertEquals(newAl.getDataset().getSequenceAt(0).getContactMaps().size(), 1);
+
+    // TODO Verify when distinct mappable PAEs are created, only one PAE dataset is actually held.
+    // Assert.assertTrue(view1aa!=view2aa);
+    // restoredMat = newAl.getContactMatrixFor(view1aa);
+    // newviewMat = newviewAl.getContactMatrixFor(view2aa);
+    // Assert.assertTrue(restoredMat!=newviewMat);
+    
   }
 
 }