JAL-1479 added SIFTS XSD and generated JAXB bindings from it
authortcofoegbu <tcnofoegbu@dundee.ac.uk>
Tue, 13 Oct 2015 15:08:29 +0000 (16:08 +0100)
committertcofoegbu <tcnofoegbu@dundee.ac.uk>
Tue, 13 Oct 2015 15:08:29 +0000 (16:08 +0100)
schemas/sifts/alignment.xsd [new file with mode: 0644]
schemas/sifts/dataTypes.xsd [new file with mode: 0644]
schemas/sifts/eFamily.xsd [new file with mode: 0644]
src/jalview/xml/binding/sifts/Alignment.java [new file with mode: 0644]
src/jalview/xml/binding/sifts/EntityType.java [new file with mode: 0644]
src/jalview/xml/binding/sifts/Entry.java [new file with mode: 0644]
src/jalview/xml/binding/sifts/ObjectFactory.java [new file with mode: 0644]
src/jalview/xml/binding/sifts/package-info.java [new file with mode: 0644]

diff --git a/schemas/sifts/alignment.xsd b/schemas/sifts/alignment.xsd
new file mode 100644 (file)
index 0000000..7731048
--- /dev/null
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="http://www.ebi.ac.uk/pdbe/docs/sifts/eFamily.xsd"
+       elementFormDefault="qualified" attributeFormDefault="unqualified"
+       xmlns:data="http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns="http://www.ebi.ac.uk/pdbe/docs/sifts/alignment.xsd" version="1.1">
+       <xsd:import namespace="http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd"
+               schemaLocation="dataTypes.xsd"/>
+       <xsd:element name="alignment">
+               <xsd:annotation>
+                       <xsd:documentation>This section of the schema deals with alignments.  The alignment can be either a sequence alignment or a structural alignment.</xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element name="alignObject" maxOccurs="unbounded">
+                                       <xsd:annotation>
+                                               <xsd:documentation>description of object. id e.g. 1tim.A,8tim.B, P001228, ...; type: type of object e.g.: protein, dna. version: last time this object has been changed (sometimes not so easy to know ...)</xsd:documentation>
+                                       </xsd:annotation>
+                                       <xsd:complexType>
+                                               <xsd:sequence>
+                                                       <xsd:element name="alignObjectDetail" minOccurs="0"
+                                                               maxOccurs="unbounded">
+                                                               <xsd:complexType mixed="true">
+                                                                       <xsd:attributeGroup ref="data:detail"/>
+                                                               </xsd:complexType>
+                                                       </xsd:element>
+                                                       <xsd:element name="sequence" minOccurs="0">
+                                                               <xsd:complexType mixed="true">
+                                                                       <xsd:attributeGroup ref="data:region"/>
+                                                               </xsd:complexType>
+                                                       </xsd:element>
+                                               </xsd:sequence>
+                                               <xsd:attribute name="objectVersion" type="xsd:string" use="required"/>
+                                               <xsd:attribute name="intObjectId" type="xsd:string" use="required"/>
+                                               <xsd:attribute name="type" type="xsd:string" use="optional"/>
+                                               <xsd:attributeGroup ref="data:dbRef"/>
+                                       </xsd:complexType>
+                               </xsd:element>
+                               <xsd:element name="score" minOccurs="0" maxOccurs="unbounded">
+                                       <xsd:annotation>
+                                               <xsd:documentation>e.g.: number of identical residues, % id residues, aligmnent score, e-value, p-value, etc.</xsd:documentation>
+                                       </xsd:annotation>
+                                       <xsd:complexType>
+                                               <xsd:attribute name="methodName" type="xsd:string" use="required"/>
+                                               <xsd:attribute name="scoreValue" type="xsd:string" use="required"/>
+                                       </xsd:complexType>
+                               </xsd:element>
+                               <xsd:element name="block" maxOccurs="unbounded">
+                                       <xsd:complexType>
+                                               <xsd:sequence>
+                                                       <xsd:element name="segment" maxOccurs="unbounded">
+                                                               <xsd:annotation>
+                                                                       <xsd:documentation>the alignment given for a single object</xsd:documentation>
+                                                                       <xsd:documentation>the alignment given for a single object</xsd:documentation>
+                                                               </xsd:annotation>
+                                                               <xsd:complexType>
+                                                                       <xsd:sequence minOccurs="0">
+                                                                               <xsd:element name="cigar" type="data:cigarstring">
+                                                                                       <xsd:annotation>
+                                                                                               <xsd:documentation>e.g. 2D23M4I</xsd:documentation>
+                                                                                       </xsd:annotation>
+                                                                               </xsd:element>
+                                                                       </xsd:sequence>
+                                                                       <xsd:attributeGroup ref="data:region"/>
+                                                                       <xsd:attribute name="intObjectId" use="required"/>
+                                                                       <xsd:attribute name="strand" use="optional"/>
+                                                               </xsd:complexType>
+                                                       </xsd:element>
+                                               </xsd:sequence>
+                                               <xsd:attribute name="blockScore" type="xsd:string" use="optional"/>
+                                               <xsd:attribute name="blockOrder" type="xsd:integer" use="required"/>
+                                       </xsd:complexType>
+                               </xsd:element>
+                               <xsd:element name="geo3d" minOccurs="0" maxOccurs="unbounded">
+                                       <xsd:annotation>
+                                               <xsd:documentation>geometrical operation to perform on 3D object</xsd:documentation>
+                                       </xsd:annotation>
+                                       <xsd:complexType>
+                                               <xsd:sequence>
+                                                       <xsd:element name="vector">
+                                                               <xsd:complexType>
+                                                                       <xsd:attribute name="x" type="xsd:float" use="required"/>
+                                                                       <xsd:attribute name="y" type="xsd:float" use="required"/>
+                                                                       <xsd:attribute name="z" type="xsd:float" use="required"/>
+                                                               </xsd:complexType>
+                                                       </xsd:element>
+                                                       <xsd:element name="matrix" maxOccurs="unbounded">
+                                                               <xsd:complexType>
+                                                                       <xsd:sequence>
+                                                                               <xsd:element name="max11">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="max12">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="max13">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="max21">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="max22">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="max23">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="max31">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="max32">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="max33">
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:attribute name="coord" type="xsd:float"
+                                                                                               use="required"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                       </xsd:sequence>
+                                                               </xsd:complexType>
+                                                       </xsd:element>
+                                               </xsd:sequence>
+                                               <xsd:attribute name="intObjectId" type="xsd:string" use="required"/>
+                                       </xsd:complexType>
+                               </xsd:element>
+                       </xsd:sequence>
+                       <xsd:attribute name="alignType" type="xsd:string" use="required"/>
+               </xsd:complexType>
+       </xsd:element>
+</xsd:schema>
\ No newline at end of file
diff --git a/schemas/sifts/dataTypes.xsd b/schemas/sifts/dataTypes.xsd
new file mode 100644 (file)
index 0000000..f0947b4
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd"
+       elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns="http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd">
+       <xsd:simpleType name="entityType">
+               <xsd:restriction base="xsd:string">
+                       <xsd:enumeration value="protein"/>
+                       <xsd:enumeration value="RNA"/>
+                       <xsd:enumeration value="DNA"/>
+                       <xsd:enumeration value="domain"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+       <xsd:simpleType name="dbChainId">
+               <xsd:restriction base="xsd:string">
+                       <xsd:minLength value="1"/>
+                       <xsd:maxLength value="2"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+       <xsd:simpleType name="chainId">
+               <xsd:restriction base="xsd:string">
+                       <xsd:minLength value="1"/>
+                       <xsd:maxLength value="1"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+       <xsd:simpleType name="cigarstring">
+               <xsd:restriction base="xsd:string">
+                       <xsd:minLength value="1"/>
+                       <xsd:whiteSpace value="collapse"/>
+                       <xsd:pattern value="(\d{0,5}\w{1})*"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+       <xsd:attributeGroup name="dbRef">
+               <xsd:attribute name="dbSource" use="required">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:enumeration value="PDBe"/>
+                                       <xsd:enumeration value="UniProt"/>
+                                       <xsd:enumeration value="Pfam"/>
+                                       <xsd:enumeration value="CATH"/>
+                                       <xsd:enumeration value="SCOP"/>
+                                       <xsd:enumeration value="InterPro"/>
+                                       <xsd:enumeration value="PDB"/>
+                                       <xsd:enumeration value="NCBI"/>
+                                       <xsd:enumeration value="EC"/>
+                                       <xsd:enumeration value="GO"/>
+                                       <xsd:enumeration value="Astral"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+               <xsd:attribute name="dbCoordSys" use="required">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:enumeration value="PDBe"/>
+                                       <xsd:enumeration value="PDBseqres"/>
+                                       <xsd:enumeration value="PDBresnum"/>
+                                       <xsd:enumeration value="UniProt"/>
+                                       <xsd:enumeration value="Astral"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+               <xsd:attribute name="dbAccessionId" type="xsd:string" use="required"/>
+               <xsd:attribute name="dbEvidence" type="xsd:string"/>
+               <xsd:attribute name="dbVersion" type="xsd:string" use="optional"/>
+       </xsd:attributeGroup>
+       <xsd:attributeGroup name="resRef">
+               <xsd:attribute name="dbResNum" use="required">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:minLength value="1"/>
+                                       <xsd:pattern value="-?\d+(\S+)?"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+               <xsd:attribute name="dbResName" use="required">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:minLength value="1"/>
+                                       <xsd:maxLength value="3"/>
+                                       <xsd:pattern value="\w{1,3}"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+       </xsd:attributeGroup>
+       <xsd:attributeGroup name="detail">
+               <xsd:attribute name="dbSource" use="optional">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:enumeration value="PDBe"/>
+                                       <xsd:enumeration value="UniProt"/>
+                                       <xsd:enumeration value="Pfam"/>
+                                       <xsd:enumeration value="CATH"/>
+                                       <xsd:enumeration value="SCOP"/>
+                                       <xsd:enumeration value="InterPro"/>
+                                       <xsd:enumeration value="PDB"/>
+                                       <xsd:enumeration value="NCBI"/>
+                                       <xsd:enumeration value="EC"/>
+                                       <xsd:enumeration value="GO"/>
+                                       <xsd:enumeration value="Astral"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+               <xsd:attribute name="property" type="xsd:string" use="required"/>
+       </xsd:attributeGroup>
+       <xsd:attributeGroup name="region">
+               <xsd:attribute name="start" use="optional">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:minLength value="1"/>
+                                       <xsd:pattern value="-?\d+(.\S)?"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+               <xsd:attribute name="end" use="optional">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:minLength value="1"/>
+                                       <xsd:pattern value="-?\d+(.\S)?"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+       </xsd:attributeGroup>
+       <xsd:attributeGroup name="listdbRef">
+               <xsd:attribute name="dbVersion" type="xsd:string" use="optional"/>
+               <xsd:attribute name="dbSource" use="required">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:enumeration value="PDBe"/>
+                                       <xsd:enumeration value="UniProt"/>
+                                       <xsd:enumeration value="Pfam"/>
+                                       <xsd:enumeration value="CATH"/>
+                                       <xsd:enumeration value="SCOP"/>
+                                       <xsd:enumeration value="InterPro"/>
+                                       <xsd:enumeration value="PDB"/>
+                                       <xsd:enumeration value="NCBI"/>
+                                       <xsd:enumeration value="EC"/>
+                                       <xsd:enumeration value="GO"/>
+                                       <xsd:enumeration value="Astral"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+               <xsd:attribute name="dbCoordSys" use="required">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:enumeration value="PDBe"/>
+                                       <xsd:enumeration value="PDBseqres"/>
+                                       <xsd:enumeration value="PDBresnum"/>
+                                       <xsd:enumeration value="UniProt"/>
+                                       <xsd:enumeration value="Astral"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+       </xsd:attributeGroup>
+</xsd:schema>
\ No newline at end of file
diff --git a/schemas/sifts/eFamily.xsd b/schemas/sifts/eFamily.xsd
new file mode 100644 (file)
index 0000000..250f1f4
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2016 (http://www.altova.com) by Charles (student) -->
+<xsd:schema xmlns="http://www.ebi.ac.uk/pdbe/docs/sifts/eFamily.xsd" xmlns:data="http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd" xmlns:align="http://www.ebi.ac.uk/pdbe/docs/sifts/alignment.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" targetNamespace="http://www.ebi.ac.uk/pdbe/docs/sifts/eFamily.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0">
+       <xsd:include schemaLocation="alignment.xsd"/>
+       <xsd:import namespace="http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd" schemaLocation="dataTypes.xsd"/>
+       <xsd:annotation>
+               <xsd:documentation>The eFamily schema is designed to allow the members of the eFamily consortium to exchange domain definitions.  As members of the different databases use different underlying data (languages) so we need a way of getting between the co-ordinates systems. MSD are to provide the mapping between the co-ordinates (translator), hence the reason for the incorporation of the mappings into the core of the schema. 
+               </xsd:documentation>
+       </xsd:annotation>
+       <xsd:element name="entry">
+               <xsd:annotation>
+                       <xsd:documentation>The entry represents a database entry.  This schema is currently designed for domain and mapping entires.</xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element name="listDB" minOccurs="1" maxOccurs="1">
+                                       <xsd:complexType mixed="false">
+                                               <xsd:sequence minOccurs="1" maxOccurs="unbounded">
+                                                       <xsd:element name="db">
+                                                               <xsd:complexType>
+                                                                       <xsd:attributeGroup ref="data:listdbRef"/>
+                                                               </xsd:complexType>
+                                                       </xsd:element>
+                                               </xsd:sequence>
+                                       </xsd:complexType>
+                               </xsd:element>
+                               <xsd:element name="entryDetail" minOccurs="0" maxOccurs="unbounded">
+                                       <xsd:annotation>
+                                               <xsd:documentation>This is a free text field that allows someone to attach some sort of documentation to the entry</xsd:documentation>
+                                       </xsd:annotation>
+                                       <xsd:complexType mixed="true">
+                                               <xsd:attributeGroup ref="data:detail"/>
+                                       </xsd:complexType>
+                               </xsd:element>
+                               <xsd:element name="entity" maxOccurs="unbounded">
+                                       <xsd:annotation>
+                                               <xsd:documentation> An entity is a single domain definition.  In the case of SCOP, there is only one entity per entry, but in the case of Pfam, an entry is a collection of domains/entities.</xsd:documentation>
+                                       </xsd:annotation>
+                                       <xsd:complexType>
+                                               <xsd:sequence>
+                                                       <xsd:element name="entityDetail" minOccurs="0" maxOccurs="unbounded">
+                                                               <xsd:annotation>
+                                                                       <xsd:documentation>This is a free text field that allows someone to attach some sort of documentation to the entity</xsd:documentation>
+                                                               </xsd:annotation>
+                                                               <xsd:complexType mixed="true">
+                                                                       <xsd:attributeGroup ref="data:detail"/>
+                                                               </xsd:complexType>
+                                                       </xsd:element>
+                                                       <xsd:element name="segment" maxOccurs="unbounded">
+                                                               <xsd:annotation>
+                                                                       <xsd:documentation>An entity may not comprise of a single continuous region. This may be used to a chimeric structure or a discontinuous domain</xsd:documentation>
+                                                               </xsd:annotation>
+                                                               <xsd:complexType>
+                                                                       <xsd:sequence>
+                                                                               <xsd:element name="listResidue" minOccurs="0">
+                                                                                       <xsd:annotation>
+                                                                                               <xsd:documentation>Contains a set of residues objects</xsd:documentation>
+                                                                                       </xsd:annotation>
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:sequence>
+                                                                                                       <xsd:element name="residue" maxOccurs="unbounded">
+                                                                                                               <xsd:annotation>
+                                                                                                                       <xsd:documentation>A single residue object.  This object can contain information on what the residue is,  general annotation, the numbering system and co-ordinate mapping </xsd:documentation>
+                                                                                                               </xsd:annotation>
+                                                                                                               <xsd:complexType>
+                                                                                                                       <xsd:sequence>
+                                                                                                                               <xsd:element name="crossRefDb" minOccurs="0" maxOccurs="unbounded">
+                                                                                                                                       <xsd:annotation>
+                                                                                                                                               <xsd:documentation>Allows the linking between different co-ordinate systems</xsd:documentation>
+                                                                                                                                       </xsd:annotation>
+                                                                                                                                       <xsd:complexType>
+                                                                                                                                               <xsd:attributeGroup ref="data:dbRef"/>
+                                                                                                                                               <xsd:attributeGroup ref="data:resRef"/>
+                                                                                                                                               <xsd:attribute name="dbChainId" type="data:chainId" use="optional"/>
+                                                                                                                                       </xsd:complexType>
+                                                                                                                               </xsd:element>
+                                                                                                                               <xsd:element name="residueDetail" minOccurs="0" maxOccurs="unbounded">
+                                                                                                                                       <xsd:annotation>
+                                                                                                                                               <xsd:documentation>This allows one to add information to the residues.  For example whether it is observed or whether it is an active site residue</xsd:documentation>
+                                                                                                                                       </xsd:annotation>
+                                                                                                                                       <xsd:complexType mixed="true">
+                                                                                                                                               <xsd:attributeGroup ref="data:detail"/>
+                                                                                                                                       </xsd:complexType>
+                                                                                                                               </xsd:element>
+                                                                                                                       </xsd:sequence>
+                                                                                                                       <xsd:attributeGroup ref="data:resRef"/>
+                                                                                                                       <xsd:attributeGroup ref="data:listdbRef"/>
+                                                                                                               </xsd:complexType>
+                                                                                                       </xsd:element>
+                                                                                               </xsd:sequence>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="listMapRegion" minOccurs="0">
+                                                                                       <xsd:annotation>
+                                                                                               <xsd:documentation>Allows cross referencing to another database.  For example, one may wish to include which the taxon that a mapping or sequence corresponds</xsd:documentation>
+                                                                                       </xsd:annotation>
+                                                                                       <xsd:complexType>
+                                                                                               <xsd:sequence>
+                                                                                                       <xsd:element name="mapRegion" maxOccurs="unbounded">
+                                                                                                               <xsd:annotation>
+                                                                                                                       <xsd:documentation>Defines the database that is being cross mapped to</xsd:documentation>
+                                                                                                               </xsd:annotation>
+                                                                                                               <xsd:complexType>
+                                                                                                                       <xsd:sequence>
+                                                                                                                               <xsd:element name="db">
+                                                                                                                                       <xsd:annotation>
+                                                                                                                                               <xsd:documentation>Contains the mapping coordinates.  The start end tags refer to the master databse co-ordinates.  The tags prefixed with sys refer to the database being mapped to.</xsd:documentation>
+                                                                                                                                       </xsd:annotation>
+                                                                                                                                       <xsd:complexType>
+                                                                                                                                               <xsd:sequence>
+                                                                                                                                                       <xsd:element name="dbDetail" minOccurs="0" maxOccurs="unbounded">
+                                                                                                                                                               <xsd:complexType mixed="true">
+                                                                                                                                                                       <xsd:attributeGroup ref="data:detail"/>
+                                                                                                                                                               </xsd:complexType>
+                                                                                                                                                       </xsd:element>
+                                                                                                                                               </xsd:sequence>
+                                                                                                                                               <xsd:attributeGroup ref="data:dbRef"/>
+                                                                                                                                               <xsd:attribute name="dbChainId" type="data:dbChainId" use="optional"/>
+                                                                                                                                               <xsd:attributeGroup ref="data:region"/>
+                                                                                                                                       </xsd:complexType>
+                                                                                                                               </xsd:element>
+                                                                                                                       </xsd:sequence>
+                                                                                                                       <xsd:attributeGroup ref="data:region"/>
+                                                                                                               </xsd:complexType>
+                                                                                                       </xsd:element>
+                                                                                               </xsd:sequence>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                               <xsd:element name="segmentDetail" minOccurs="0" maxOccurs="unbounded">
+                                                                                       <xsd:annotation>
+                                                                                               <xsd:documentation>This is a free text field that allows someone to attach some sort of documentation to the segment</xsd:documentation>
+                                                                                       </xsd:annotation>
+                                                                                       <xsd:complexType mixed="true">
+                                                                                               <xsd:attributeGroup ref="data:detail"/>
+                                                                                       </xsd:complexType>
+                                                                               </xsd:element>
+                                                                       </xsd:sequence>
+                                                                       <xsd:attribute name="segId" type="xsd:string" use="required"/>
+                                                                       <xsd:attributeGroup ref="data:region"/>
+                                                               </xsd:complexType>
+                                                       </xsd:element>
+                                               </xsd:sequence>
+                                               <xsd:attribute name="type" type="data:entityType" use="required"/>
+                                               <xsd:attribute name="entityId" type="xsd:string" use="required"/>
+                                       </xsd:complexType>
+                               </xsd:element>
+                               <xsd:element ref="alignment" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="data:dbRef"/>
+                       <xsd:attribute name="date" type="xsd:date" use="required"/>
+                       <xsd:attribute name="dbEntryVersion" type="xsd:date" use="required"/>
+               </xsd:complexType>
+       </xsd:element>
+</xsd:schema>
diff --git a/src/jalview/xml/binding/sifts/Alignment.java b/src/jalview/xml/binding/sifts/Alignment.java
new file mode 100644 (file)
index 0000000..650ea19
--- /dev/null
@@ -0,0 +1,2310 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.10.09 at 03:18:33 PM BST 
+//
+
+
+package jalview.xml.binding.sifts;
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * <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="alignObject" maxOccurs="unbounded">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;sequence>
+ *                   &lt;element name="alignObjectDetail" maxOccurs="unbounded" minOccurs="0">
+ *                     &lt;complexType>
+ *                       &lt;complexContent>
+ *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+ *                         &lt;/restriction>
+ *                       &lt;/complexContent>
+ *                     &lt;/complexType>
+ *                   &lt;/element>
+ *                   &lt;element name="sequence" minOccurs="0">
+ *                     &lt;complexType>
+ *                       &lt;complexContent>
+ *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+ *                         &lt;/restriction>
+ *                       &lt;/complexContent>
+ *                     &lt;/complexType>
+ *                   &lt;/element>
+ *                 &lt;/sequence>
+ *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+ *                 &lt;attribute name="objectVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *                 &lt;attribute name="intObjectId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *                 &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *         &lt;element name="score" maxOccurs="unbounded" minOccurs="0">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;attribute name="methodName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *                 &lt;attribute name="scoreValue" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *         &lt;element name="block" maxOccurs="unbounded">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;sequence>
+ *                   &lt;element name="segment" maxOccurs="unbounded">
+ *                     &lt;complexType>
+ *                       &lt;complexContent>
+ *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                           &lt;sequence minOccurs="0">
+ *                             &lt;element name="cigar" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}cigarstring"/>
+ *                           &lt;/sequence>
+ *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+ *                           &lt;attribute name="intObjectId" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
+ *                           &lt;attribute name="strand" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
+ *                         &lt;/restriction>
+ *                       &lt;/complexContent>
+ *                     &lt;/complexType>
+ *                   &lt;/element>
+ *                 &lt;/sequence>
+ *                 &lt;attribute name="blockScore" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *                 &lt;attribute name="blockOrder" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *         &lt;element name="geo3d" maxOccurs="unbounded" minOccurs="0">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;sequence>
+ *                   &lt;element name="vector">
+ *                     &lt;complexType>
+ *                       &lt;complexContent>
+ *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                           &lt;attribute name="x" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                           &lt;attribute name="y" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                           &lt;attribute name="z" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                         &lt;/restriction>
+ *                       &lt;/complexContent>
+ *                     &lt;/complexType>
+ *                   &lt;/element>
+ *                   &lt;element name="matrix" maxOccurs="unbounded">
+ *                     &lt;complexType>
+ *                       &lt;complexContent>
+ *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                           &lt;sequence>
+ *                             &lt;element name="max11">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="max12">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="max13">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="max21">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="max22">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="max23">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="max31">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="max32">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="max33">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                           &lt;/sequence>
+ *                         &lt;/restriction>
+ *                       &lt;/complexContent>
+ *                     &lt;/complexType>
+ *                   &lt;/element>
+ *                 &lt;/sequence>
+ *                 &lt;attribute name="intObjectId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *       &lt;/sequence>
+ *       &lt;attribute name="alignType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+    "alignObject",
+    "score",
+    "block",
+    "geo3D"
+})
+@XmlRootElement(name = "alignment")
+public class Alignment {
+
+    @XmlElement(required = true)
+    protected List<Alignment.AlignObject> alignObject;
+    protected List<Alignment.Score> score;
+    @XmlElement(required = true)
+    protected List<Alignment.Block> block;
+    @XmlElement(name = "geo3d")
+    protected List<Alignment.Geo3D> geo3D;
+    @XmlAttribute(name = "alignType", required = true)
+    protected String alignType;
+
+    /**
+     * Gets the value of the alignObject 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 alignObject property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAlignObject().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Alignment.AlignObject }
+     * 
+     * 
+     */
+    public List<Alignment.AlignObject> getAlignObject() {
+        if (alignObject == null) {
+            alignObject = new ArrayList<Alignment.AlignObject>();
+        }
+        return this.alignObject;
+    }
+
+    /**
+     * Gets the value of the score 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 score property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getScore().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Alignment.Score }
+     * 
+     * 
+     */
+    public List<Alignment.Score> getScore() {
+        if (score == null) {
+            score = new ArrayList<Alignment.Score>();
+        }
+        return this.score;
+    }
+
+    /**
+     * Gets the value of the block 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 block property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getBlock().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Alignment.Block }
+     * 
+     * 
+     */
+    public List<Alignment.Block> getBlock() {
+        if (block == null) {
+            block = new ArrayList<Alignment.Block>();
+        }
+        return this.block;
+    }
+
+    /**
+     * Gets the value of the geo3D 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 geo3D property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getGeo3D().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Alignment.Geo3D }
+     * 
+     * 
+     */
+    public List<Alignment.Geo3D> getGeo3D() {
+        if (geo3D == null) {
+            geo3D = new ArrayList<Alignment.Geo3D>();
+        }
+        return this.geo3D;
+    }
+
+    /**
+     * Gets the value of the alignType property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAlignType() {
+        return alignType;
+    }
+
+    /**
+     * Sets the value of the alignType property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAlignType(String value) {
+        this.alignType = 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="alignObjectDetail" maxOccurs="unbounded" minOccurs="0">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *         &lt;element name="sequence" minOccurs="0">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *       &lt;/sequence>
+     *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+     *       &lt;attribute name="objectVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="intObjectId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "alignObjectDetail",
+        "sequence"
+    })
+    public static class AlignObject {
+
+        protected List<Alignment.AlignObject.AlignObjectDetail> alignObjectDetail;
+        protected Alignment.AlignObject.Sequence sequence;
+        @XmlAttribute(name = "objectVersion", required = true)
+        protected String objectVersion;
+        @XmlAttribute(name = "intObjectId", required = true)
+        protected String intObjectId;
+        @XmlAttribute(name = "type")
+        protected String type;
+        @XmlAttribute(name = "dbSource", required = true)
+        protected String dbSource;
+        @XmlAttribute(name = "dbCoordSys", required = true)
+        protected String dbCoordSys;
+        @XmlAttribute(name = "dbAccessionId", required = true)
+        protected String dbAccessionId;
+        @XmlAttribute(name = "dbEvidence")
+        protected String dbEvidence;
+        @XmlAttribute(name = "dbVersion")
+        protected String dbVersion;
+
+        /**
+         * Gets the value of the alignObjectDetail 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 alignObjectDetail property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getAlignObjectDetail().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link Alignment.AlignObject.AlignObjectDetail }
+         * 
+         * 
+         */
+        public List<Alignment.AlignObject.AlignObjectDetail> getAlignObjectDetail() {
+            if (alignObjectDetail == null) {
+                alignObjectDetail = new ArrayList<Alignment.AlignObject.AlignObjectDetail>();
+            }
+            return this.alignObjectDetail;
+        }
+
+        /**
+         * Gets the value of the sequence property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Alignment.AlignObject.Sequence }
+         *     
+         */
+        public Alignment.AlignObject.Sequence getSequence() {
+            return sequence;
+        }
+
+        /**
+         * Sets the value of the sequence property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Alignment.AlignObject.Sequence }
+         *     
+         */
+        public void setSequence(Alignment.AlignObject.Sequence value) {
+            this.sequence = value;
+        }
+
+        /**
+         * Gets the value of the objectVersion property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getObjectVersion() {
+            return objectVersion;
+        }
+
+        /**
+         * Sets the value of the objectVersion property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setObjectVersion(String value) {
+            this.objectVersion = value;
+        }
+
+        /**
+         * Gets the value of the intObjectId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getIntObjectId() {
+            return intObjectId;
+        }
+
+        /**
+         * Sets the value of the intObjectId property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setIntObjectId(String value) {
+            this.intObjectId = 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 dbSource property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getDbSource() {
+            return dbSource;
+        }
+
+        /**
+         * Sets the value of the dbSource property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setDbSource(String value) {
+            this.dbSource = value;
+        }
+
+        /**
+         * Gets the value of the dbCoordSys property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getDbCoordSys() {
+            return dbCoordSys;
+        }
+
+        /**
+         * Sets the value of the dbCoordSys property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setDbCoordSys(String value) {
+            this.dbCoordSys = value;
+        }
+
+        /**
+         * Gets the value of the dbAccessionId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getDbAccessionId() {
+            return dbAccessionId;
+        }
+
+        /**
+         * Sets the value of the dbAccessionId property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setDbAccessionId(String value) {
+            this.dbAccessionId = value;
+        }
+
+        /**
+         * Gets the value of the dbEvidence property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getDbEvidence() {
+            return dbEvidence;
+        }
+
+        /**
+         * Sets the value of the dbEvidence property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setDbEvidence(String value) {
+            this.dbEvidence = value;
+        }
+
+        /**
+         * Gets the value of the dbVersion property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getDbVersion() {
+            return dbVersion;
+        }
+
+        /**
+         * Sets the value of the dbVersion property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setDbVersion(String value) {
+            this.dbVersion = 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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+         *     &lt;/restriction>
+         *   &lt;/complexContent>
+         * &lt;/complexType>
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "", propOrder = {
+            "content"
+        })
+        public static class AlignObjectDetail {
+
+            @XmlValue
+            protected String content;
+            @XmlAttribute(name = "dbSource")
+            protected String dbSource;
+            @XmlAttribute(name = "property", required = true)
+            protected String property;
+
+            /**
+             * Gets the value of the content property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getContent() {
+                return content;
+            }
+
+            /**
+             * Sets the value of the content property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setContent(String value) {
+                this.content = value;
+            }
+
+            /**
+             * Gets the value of the dbSource property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getDbSource() {
+                return dbSource;
+            }
+
+            /**
+             * Sets the value of the dbSource property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setDbSource(String value) {
+                this.dbSource = value;
+            }
+
+            /**
+             * Gets the value of the property property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getProperty() {
+                return property;
+            }
+
+            /**
+             * Sets the value of the property property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setProperty(String value) {
+                this.property = 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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+         *     &lt;/restriction>
+         *   &lt;/complexContent>
+         * &lt;/complexType>
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "", propOrder = {
+            "content"
+        })
+        public static class Sequence {
+
+            @XmlValue
+            protected String content;
+            @XmlAttribute(name = "start")
+            protected String start;
+            @XmlAttribute(name = "end")
+            protected String end;
+
+            /**
+             * Gets the value of the content property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getContent() {
+                return content;
+            }
+
+            /**
+             * Sets the value of the content property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setContent(String value) {
+                this.content = value;
+            }
+
+            /**
+             * Gets the value of the start property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getStart() {
+                return start;
+            }
+
+            /**
+             * Sets the value of the start property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setStart(String value) {
+                this.start = value;
+            }
+
+            /**
+             * Gets the value of the end property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getEnd() {
+                return end;
+            }
+
+            /**
+             * Sets the value of the end property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setEnd(String 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;sequence>
+     *         &lt;element name="segment" maxOccurs="unbounded">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;sequence minOccurs="0">
+     *                   &lt;element name="cigar" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}cigarstring"/>
+     *                 &lt;/sequence>
+     *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+     *                 &lt;attribute name="intObjectId" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
+     *                 &lt;attribute name="strand" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *       &lt;/sequence>
+     *       &lt;attribute name="blockScore" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="blockOrder" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "segment"
+    })
+    public static class Block {
+
+        @XmlElement(required = true)
+        protected List<Alignment.Block.Segment> segment;
+        @XmlAttribute(name = "blockScore")
+        protected String blockScore;
+        @XmlAttribute(name = "blockOrder", required = true)
+        protected BigInteger blockOrder;
+
+        /**
+         * Gets the value of the segment 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 segment property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getSegment().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link Alignment.Block.Segment }
+         * 
+         * 
+         */
+        public List<Alignment.Block.Segment> getSegment() {
+            if (segment == null) {
+                segment = new ArrayList<Alignment.Block.Segment>();
+            }
+            return this.segment;
+        }
+
+        /**
+         * Gets the value of the blockScore property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBlockScore() {
+            return blockScore;
+        }
+
+        /**
+         * Sets the value of the blockScore property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBlockScore(String value) {
+            this.blockScore = value;
+        }
+
+        /**
+         * Gets the value of the blockOrder property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link BigInteger }
+         *     
+         */
+        public BigInteger getBlockOrder() {
+            return blockOrder;
+        }
+
+        /**
+         * Sets the value of the blockOrder property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link BigInteger }
+         *     
+         */
+        public void setBlockOrder(BigInteger value) {
+            this.blockOrder = 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="cigar" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}cigarstring"/>
+         *       &lt;/sequence>
+         *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+         *       &lt;attribute name="intObjectId" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
+         *       &lt;attribute name="strand" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
+         *     &lt;/restriction>
+         *   &lt;/complexContent>
+         * &lt;/complexType>
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "", propOrder = {
+            "cigar"
+        })
+        public static class Segment {
+
+            protected String cigar;
+            @XmlAttribute(name = "intObjectId", required = true)
+            @XmlSchemaType(name = "anySimpleType")
+            protected String intObjectId;
+            @XmlAttribute(name = "strand")
+            @XmlSchemaType(name = "anySimpleType")
+            protected String strand;
+            @XmlAttribute(name = "start")
+            protected String start;
+            @XmlAttribute(name = "end")
+            protected String end;
+
+            /**
+             * Gets the value of the cigar property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getCigar() {
+                return cigar;
+            }
+
+            /**
+             * Sets the value of the cigar property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setCigar(String value) {
+                this.cigar = value;
+            }
+
+            /**
+             * Gets the value of the intObjectId property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getIntObjectId() {
+                return intObjectId;
+            }
+
+            /**
+             * Sets the value of the intObjectId property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setIntObjectId(String value) {
+                this.intObjectId = value;
+            }
+
+            /**
+             * Gets the value of the strand property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getStrand() {
+                return strand;
+            }
+
+            /**
+             * Sets the value of the strand property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setStrand(String value) {
+                this.strand = value;
+            }
+
+            /**
+             * Gets the value of the start property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getStart() {
+                return start;
+            }
+
+            /**
+             * Sets the value of the start property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setStart(String value) {
+                this.start = value;
+            }
+
+            /**
+             * Gets the value of the end property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getEnd() {
+                return end;
+            }
+
+            /**
+             * Sets the value of the end property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setEnd(String 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;sequence>
+     *         &lt;element name="vector">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;attribute name="x" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                 &lt;attribute name="y" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                 &lt;attribute name="z" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *         &lt;element name="matrix" maxOccurs="unbounded">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;sequence>
+     *                   &lt;element name="max11">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="max12">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="max13">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="max21">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="max22">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="max23">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="max31">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="max32">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="max33">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                 &lt;/sequence>
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *       &lt;/sequence>
+     *       &lt;attribute name="intObjectId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "vector",
+        "matrix"
+    })
+    public static class Geo3D {
+
+        @XmlElement(required = true)
+        protected Alignment.Geo3D.Vector vector;
+        @XmlElement(required = true)
+        protected List<Alignment.Geo3D.Matrix> matrix;
+        @XmlAttribute(name = "intObjectId", required = true)
+        protected String intObjectId;
+
+        /**
+         * Gets the value of the vector property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Alignment.Geo3D.Vector }
+         *     
+         */
+        public Alignment.Geo3D.Vector getVector() {
+            return vector;
+        }
+
+        /**
+         * Sets the value of the vector property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Alignment.Geo3D.Vector }
+         *     
+         */
+        public void setVector(Alignment.Geo3D.Vector value) {
+            this.vector = value;
+        }
+
+        /**
+         * Gets the value of the matrix property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the matrix property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getMatrix().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link Alignment.Geo3D.Matrix }
+         * 
+         * 
+         */
+        public List<Alignment.Geo3D.Matrix> getMatrix() {
+            if (matrix == null) {
+                matrix = new ArrayList<Alignment.Geo3D.Matrix>();
+            }
+            return this.matrix;
+        }
+
+        /**
+         * Gets the value of the intObjectId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getIntObjectId() {
+            return intObjectId;
+        }
+
+        /**
+         * Sets the value of the intObjectId property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setIntObjectId(String value) {
+            this.intObjectId = 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="max11">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="max12">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="max13">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="max21">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="max22">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="max23">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="max31">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="max32">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="max33">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attribute name="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *       &lt;/sequence>
+         *     &lt;/restriction>
+         *   &lt;/complexContent>
+         * &lt;/complexType>
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "", propOrder = {
+            "max11",
+            "max12",
+            "max13",
+            "max21",
+            "max22",
+            "max23",
+            "max31",
+            "max32",
+            "max33"
+        })
+        public static class Matrix {
+
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max11 max11;
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max12 max12;
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max13 max13;
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max21 max21;
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max22 max22;
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max23 max23;
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max31 max31;
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max32 max32;
+            @XmlElement(required = true)
+            protected Alignment.Geo3D.Matrix.Max33 max33;
+
+            /**
+             * Gets the value of the max11 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max11 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max11 getMax11() {
+                return max11;
+            }
+
+            /**
+             * Sets the value of the max11 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max11 }
+             *     
+             */
+            public void setMax11(Alignment.Geo3D.Matrix.Max11 value) {
+                this.max11 = value;
+            }
+
+            /**
+             * Gets the value of the max12 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max12 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max12 getMax12() {
+                return max12;
+            }
+
+            /**
+             * Sets the value of the max12 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max12 }
+             *     
+             */
+            public void setMax12(Alignment.Geo3D.Matrix.Max12 value) {
+                this.max12 = value;
+            }
+
+            /**
+             * Gets the value of the max13 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max13 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max13 getMax13() {
+                return max13;
+            }
+
+            /**
+             * Sets the value of the max13 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max13 }
+             *     
+             */
+            public void setMax13(Alignment.Geo3D.Matrix.Max13 value) {
+                this.max13 = value;
+            }
+
+            /**
+             * Gets the value of the max21 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max21 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max21 getMax21() {
+                return max21;
+            }
+
+            /**
+             * Sets the value of the max21 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max21 }
+             *     
+             */
+            public void setMax21(Alignment.Geo3D.Matrix.Max21 value) {
+                this.max21 = value;
+            }
+
+            /**
+             * Gets the value of the max22 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max22 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max22 getMax22() {
+                return max22;
+            }
+
+            /**
+             * Sets the value of the max22 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max22 }
+             *     
+             */
+            public void setMax22(Alignment.Geo3D.Matrix.Max22 value) {
+                this.max22 = value;
+            }
+
+            /**
+             * Gets the value of the max23 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max23 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max23 getMax23() {
+                return max23;
+            }
+
+            /**
+             * Sets the value of the max23 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max23 }
+             *     
+             */
+            public void setMax23(Alignment.Geo3D.Matrix.Max23 value) {
+                this.max23 = value;
+            }
+
+            /**
+             * Gets the value of the max31 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max31 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max31 getMax31() {
+                return max31;
+            }
+
+            /**
+             * Sets the value of the max31 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max31 }
+             *     
+             */
+            public void setMax31(Alignment.Geo3D.Matrix.Max31 value) {
+                this.max31 = value;
+            }
+
+            /**
+             * Gets the value of the max32 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max32 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max32 getMax32() {
+                return max32;
+            }
+
+            /**
+             * Sets the value of the max32 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max32 }
+             *     
+             */
+            public void setMax32(Alignment.Geo3D.Matrix.Max32 value) {
+                this.max32 = value;
+            }
+
+            /**
+             * Gets the value of the max33 property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Alignment.Geo3D.Matrix.Max33 }
+             *     
+             */
+            public Alignment.Geo3D.Matrix.Max33 getMax33() {
+                return max33;
+            }
+
+            /**
+             * Sets the value of the max33 property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Alignment.Geo3D.Matrix.Max33 }
+             *     
+             */
+            public void setMax33(Alignment.Geo3D.Matrix.Max33 value) {
+                this.max33 = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max11 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max12 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max13 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max21 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max22 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max23 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max31 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max32 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="coord" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "")
+            public static class Max33 {
+
+                @XmlAttribute(name = "coord", required = true)
+                protected float coord;
+
+                /**
+                 * Gets the value of the coord property.
+                 * 
+                 */
+                public float getCoord() {
+                    return coord;
+                }
+
+                /**
+                 * Sets the value of the coord property.
+                 * 
+                 */
+                public void setCoord(float value) {
+                    this.coord = 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="x" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *       &lt;attribute name="y" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *       &lt;attribute name="z" use="required" type="{http://www.w3.org/2001/XMLSchema}float" />
+         *     &lt;/restriction>
+         *   &lt;/complexContent>
+         * &lt;/complexType>
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "")
+        public static class Vector {
+
+            @XmlAttribute(name = "x", required = true)
+            protected float x;
+            @XmlAttribute(name = "y", required = true)
+            protected float y;
+            @XmlAttribute(name = "z", required = true)
+            protected float z;
+
+            /**
+             * Gets the value of the x property.
+             * 
+             */
+            public float getX() {
+                return x;
+            }
+
+            /**
+             * Sets the value of the x property.
+             * 
+             */
+            public void setX(float value) {
+                this.x = value;
+            }
+
+            /**
+             * Gets the value of the y property.
+             * 
+             */
+            public float getY() {
+                return y;
+            }
+
+            /**
+             * Sets the value of the y property.
+             * 
+             */
+            public void setY(float value) {
+                this.y = value;
+            }
+
+            /**
+             * Gets the value of the z property.
+             * 
+             */
+            public float getZ() {
+                return z;
+            }
+
+            /**
+             * Sets the value of the z property.
+             * 
+             */
+            public void setZ(float value) {
+                this.z = 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="methodName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="scoreValue" 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 Score {
+
+        @XmlAttribute(name = "methodName", required = true)
+        protected String methodName;
+        @XmlAttribute(name = "scoreValue", required = true)
+        protected String scoreValue;
+
+        /**
+         * Gets the value of the methodName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMethodName() {
+            return methodName;
+        }
+
+        /**
+         * Sets the value of the methodName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMethodName(String value) {
+            this.methodName = value;
+        }
+
+        /**
+         * Gets the value of the scoreValue property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getScoreValue() {
+            return scoreValue;
+        }
+
+        /**
+         * Sets the value of the scoreValue property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setScoreValue(String value) {
+            this.scoreValue = value;
+        }
+
+    }
+
+}
diff --git a/src/jalview/xml/binding/sifts/EntityType.java b/src/jalview/xml/binding/sifts/EntityType.java
new file mode 100644 (file)
index 0000000..f74da5a
--- /dev/null
@@ -0,0 +1,62 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.10.09 at 03:18:33 PM BST 
+//
+
+
+package jalview.xml.binding.sifts;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for entityType.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="entityType">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="protein"/>
+ *     &lt;enumeration value="RNA"/>
+ *     &lt;enumeration value="DNA"/>
+ *     &lt;enumeration value="domain"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "entityType", namespace = "http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd")
+@XmlEnum
+public enum EntityType {
+
+    @XmlEnumValue("protein")
+    PROTEIN("protein"),
+    RNA("RNA"),
+    DNA("DNA"),
+    @XmlEnumValue("domain")
+    DOMAIN("domain");
+    private final String value;
+
+    EntityType(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static EntityType fromValue(String v) {
+        for (EntityType c: EntityType.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
+    }
+
+}
diff --git a/src/jalview/xml/binding/sifts/Entry.java b/src/jalview/xml/binding/sifts/Entry.java
new file mode 100644 (file)
index 0000000..7429059
--- /dev/null
@@ -0,0 +1,2818 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.10.09 at 03:18:33 PM BST 
+//
+
+
+package jalview.xml.binding.sifts;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <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="listDB">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;sequence maxOccurs="unbounded">
+ *                   &lt;element name="db">
+ *                     &lt;complexType>
+ *                       &lt;complexContent>
+ *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}listdbRef"/>
+ *                         &lt;/restriction>
+ *                       &lt;/complexContent>
+ *                     &lt;/complexType>
+ *                   &lt;/element>
+ *                 &lt;/sequence>
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *         &lt;element name="entryDetail" maxOccurs="unbounded" minOccurs="0">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *         &lt;element name="entity" maxOccurs="unbounded">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;sequence>
+ *                   &lt;element name="entityDetail" maxOccurs="unbounded" minOccurs="0">
+ *                     &lt;complexType>
+ *                       &lt;complexContent>
+ *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+ *                         &lt;/restriction>
+ *                       &lt;/complexContent>
+ *                     &lt;/complexType>
+ *                   &lt;/element>
+ *                   &lt;element name="segment" maxOccurs="unbounded">
+ *                     &lt;complexType>
+ *                       &lt;complexContent>
+ *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                           &lt;sequence>
+ *                             &lt;element name="listResidue" minOccurs="0">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;sequence>
+ *                                       &lt;element name="residue" maxOccurs="unbounded">
+ *                                         &lt;complexType>
+ *                                           &lt;complexContent>
+ *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                               &lt;sequence>
+ *                                                 &lt;element name="crossRefDb" maxOccurs="unbounded" minOccurs="0">
+ *                                                   &lt;complexType>
+ *                                                     &lt;complexContent>
+ *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                                         &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+ *                                                         &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+ *                                                         &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}chainId" />
+ *                                                       &lt;/restriction>
+ *                                                     &lt;/complexContent>
+ *                                                   &lt;/complexType>
+ *                                                 &lt;/element>
+ *                                                 &lt;element name="residueDetail" maxOccurs="unbounded" minOccurs="0">
+ *                                                   &lt;complexType>
+ *                                                     &lt;complexContent>
+ *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                                         &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+ *                                                       &lt;/restriction>
+ *                                                     &lt;/complexContent>
+ *                                                   &lt;/complexType>
+ *                                                 &lt;/element>
+ *                                               &lt;/sequence>
+ *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+ *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}listdbRef"/>
+ *                                             &lt;/restriction>
+ *                                           &lt;/complexContent>
+ *                                         &lt;/complexType>
+ *                                       &lt;/element>
+ *                                     &lt;/sequence>
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="listMapRegion" minOccurs="0">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;sequence>
+ *                                       &lt;element name="mapRegion" maxOccurs="unbounded">
+ *                                         &lt;complexType>
+ *                                           &lt;complexContent>
+ *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                               &lt;sequence>
+ *                                                 &lt;element name="db">
+ *                                                   &lt;complexType>
+ *                                                     &lt;complexContent>
+ *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                                         &lt;sequence>
+ *                                                           &lt;element name="dbDetail" maxOccurs="unbounded" minOccurs="0">
+ *                                                             &lt;complexType>
+ *                                                               &lt;complexContent>
+ *                                                                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                                                   &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+ *                                                                 &lt;/restriction>
+ *                                                               &lt;/complexContent>
+ *                                                             &lt;/complexType>
+ *                                                           &lt;/element>
+ *                                                         &lt;/sequence>
+ *                                                         &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+ *                                                         &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+ *                                                         &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbChainId" />
+ *                                                       &lt;/restriction>
+ *                                                     &lt;/complexContent>
+ *                                                   &lt;/complexType>
+ *                                                 &lt;/element>
+ *                                               &lt;/sequence>
+ *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+ *                                             &lt;/restriction>
+ *                                           &lt;/complexContent>
+ *                                         &lt;/complexType>
+ *                                       &lt;/element>
+ *                                     &lt;/sequence>
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                             &lt;element name="segmentDetail" maxOccurs="unbounded" minOccurs="0">
+ *                               &lt;complexType>
+ *                                 &lt;complexContent>
+ *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+ *                                   &lt;/restriction>
+ *                                 &lt;/complexContent>
+ *                               &lt;/complexType>
+ *                             &lt;/element>
+ *                           &lt;/sequence>
+ *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+ *                           &lt;attribute name="segId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *                         &lt;/restriction>
+ *                       &lt;/complexContent>
+ *                     &lt;/complexType>
+ *                   &lt;/element>
+ *                 &lt;/sequence>
+ *                 &lt;attribute name="type" use="required" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}entityType" />
+ *                 &lt;attribute name="entityId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *         &lt;element ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/eFamily.xsd}alignment" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+ *       &lt;attribute name="date" use="required" type="{http://www.w3.org/2001/XMLSchema}date" />
+ *       &lt;attribute name="dbEntryVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}date" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+    "listDB",
+    "entryDetail",
+    "entity",
+    "alignment"
+})
+@XmlRootElement(name = "entry")
+public class Entry {
+
+    @XmlElement(required = true)
+    protected Entry.ListDB listDB;
+    protected List<Entry.EntryDetail> entryDetail;
+    @XmlElement(required = true)
+    protected List<Entry.Entity> entity;
+    protected List<Alignment> alignment;
+    @XmlAttribute(name = "date", required = true)
+    @XmlSchemaType(name = "date")
+    protected XMLGregorianCalendar date;
+    @XmlAttribute(name = "dbEntryVersion", required = true)
+    @XmlSchemaType(name = "date")
+    protected XMLGregorianCalendar dbEntryVersion;
+    @XmlAttribute(name = "dbSource", required = true)
+    protected String dbSource;
+    @XmlAttribute(name = "dbCoordSys", required = true)
+    protected String dbCoordSys;
+    @XmlAttribute(name = "dbAccessionId", required = true)
+    protected String dbAccessionId;
+    @XmlAttribute(name = "dbEvidence")
+    protected String dbEvidence;
+    @XmlAttribute(name = "dbVersion")
+    protected String dbVersion;
+
+    /**
+     * Gets the value of the listDB property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Entry.ListDB }
+     *     
+     */
+    public Entry.ListDB getListDB() {
+        return listDB;
+    }
+
+    /**
+     * Sets the value of the listDB property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Entry.ListDB }
+     *     
+     */
+    public void setListDB(Entry.ListDB value) {
+        this.listDB = value;
+    }
+
+    /**
+     * Gets the value of the entryDetail 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 entryDetail property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getEntryDetail().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Entry.EntryDetail }
+     * 
+     * 
+     */
+    public List<Entry.EntryDetail> getEntryDetail() {
+        if (entryDetail == null) {
+            entryDetail = new ArrayList<Entry.EntryDetail>();
+        }
+        return this.entryDetail;
+    }
+
+    /**
+     * Gets the value of the entity 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 entity property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getEntity().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Entry.Entity }
+     * 
+     * 
+     */
+    public List<Entry.Entity> getEntity() {
+        if (entity == null) {
+            entity = new ArrayList<Entry.Entity>();
+        }
+        return this.entity;
+    }
+
+    /**
+     * Gets the value of the alignment 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 alignment property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAlignment().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Alignment }
+     * 
+     * 
+     */
+    public List<Alignment> getAlignment() {
+        if (alignment == null) {
+            alignment = new ArrayList<Alignment>();
+        }
+        return this.alignment;
+    }
+
+    /**
+     * Gets the value of the date property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getDate() {
+        return date;
+    }
+
+    /**
+     * Sets the value of the date property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setDate(XMLGregorianCalendar value) {
+        this.date = value;
+    }
+
+    /**
+     * Gets the value of the dbEntryVersion property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getDbEntryVersion() {
+        return dbEntryVersion;
+    }
+
+    /**
+     * Sets the value of the dbEntryVersion property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setDbEntryVersion(XMLGregorianCalendar value) {
+        this.dbEntryVersion = value;
+    }
+
+    /**
+     * Gets the value of the dbSource property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDbSource() {
+        return dbSource;
+    }
+
+    /**
+     * Sets the value of the dbSource property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDbSource(String value) {
+        this.dbSource = value;
+    }
+
+    /**
+     * Gets the value of the dbCoordSys property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDbCoordSys() {
+        return dbCoordSys;
+    }
+
+    /**
+     * Sets the value of the dbCoordSys property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDbCoordSys(String value) {
+        this.dbCoordSys = value;
+    }
+
+    /**
+     * Gets the value of the dbAccessionId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDbAccessionId() {
+        return dbAccessionId;
+    }
+
+    /**
+     * Sets the value of the dbAccessionId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDbAccessionId(String value) {
+        this.dbAccessionId = value;
+    }
+
+    /**
+     * Gets the value of the dbEvidence property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDbEvidence() {
+        return dbEvidence;
+    }
+
+    /**
+     * Sets the value of the dbEvidence property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDbEvidence(String value) {
+        this.dbEvidence = value;
+    }
+
+    /**
+     * Gets the value of the dbVersion property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDbVersion() {
+        return dbVersion;
+    }
+
+    /**
+     * Sets the value of the dbVersion property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDbVersion(String value) {
+        this.dbVersion = 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="entityDetail" maxOccurs="unbounded" minOccurs="0">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *         &lt;element name="segment" maxOccurs="unbounded">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;sequence>
+     *                   &lt;element name="listResidue" minOccurs="0">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;sequence>
+     *                             &lt;element name="residue" maxOccurs="unbounded">
+     *                               &lt;complexType>
+     *                                 &lt;complexContent>
+     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                                     &lt;sequence>
+     *                                       &lt;element name="crossRefDb" maxOccurs="unbounded" minOccurs="0">
+     *                                         &lt;complexType>
+     *                                           &lt;complexContent>
+     *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+     *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+     *                                               &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}chainId" />
+     *                                             &lt;/restriction>
+     *                                           &lt;/complexContent>
+     *                                         &lt;/complexType>
+     *                                       &lt;/element>
+     *                                       &lt;element name="residueDetail" maxOccurs="unbounded" minOccurs="0">
+     *                                         &lt;complexType>
+     *                                           &lt;complexContent>
+     *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+     *                                             &lt;/restriction>
+     *                                           &lt;/complexContent>
+     *                                         &lt;/complexType>
+     *                                       &lt;/element>
+     *                                     &lt;/sequence>
+     *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+     *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}listdbRef"/>
+     *                                   &lt;/restriction>
+     *                                 &lt;/complexContent>
+     *                               &lt;/complexType>
+     *                             &lt;/element>
+     *                           &lt;/sequence>
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="listMapRegion" minOccurs="0">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;sequence>
+     *                             &lt;element name="mapRegion" maxOccurs="unbounded">
+     *                               &lt;complexType>
+     *                                 &lt;complexContent>
+     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                                     &lt;sequence>
+     *                                       &lt;element name="db">
+     *                                         &lt;complexType>
+     *                                           &lt;complexContent>
+     *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                                               &lt;sequence>
+     *                                                 &lt;element name="dbDetail" maxOccurs="unbounded" minOccurs="0">
+     *                                                   &lt;complexType>
+     *                                                     &lt;complexContent>
+     *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                                                         &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+     *                                                       &lt;/restriction>
+     *                                                     &lt;/complexContent>
+     *                                                   &lt;/complexType>
+     *                                                 &lt;/element>
+     *                                               &lt;/sequence>
+     *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+     *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+     *                                               &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbChainId" />
+     *                                             &lt;/restriction>
+     *                                           &lt;/complexContent>
+     *                                         &lt;/complexType>
+     *                                       &lt;/element>
+     *                                     &lt;/sequence>
+     *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+     *                                   &lt;/restriction>
+     *                                 &lt;/complexContent>
+     *                               &lt;/complexType>
+     *                             &lt;/element>
+     *                           &lt;/sequence>
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                   &lt;element name="segmentDetail" maxOccurs="unbounded" minOccurs="0">
+     *                     &lt;complexType>
+     *                       &lt;complexContent>
+     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+     *                         &lt;/restriction>
+     *                       &lt;/complexContent>
+     *                     &lt;/complexType>
+     *                   &lt;/element>
+     *                 &lt;/sequence>
+     *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+     *                 &lt;attribute name="segId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *       &lt;/sequence>
+     *       &lt;attribute name="type" use="required" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}entityType" />
+     *       &lt;attribute name="entityId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "entityDetail",
+        "segment"
+    })
+    public static class Entity {
+
+        protected List<Entry.Entity.EntityDetail> entityDetail;
+        @XmlElement(required = true)
+        protected List<Entry.Entity.Segment> segment;
+        @XmlAttribute(name = "type", required = true)
+        protected EntityType type;
+        @XmlAttribute(name = "entityId", required = true)
+        protected String entityId;
+
+        /**
+         * Gets the value of the entityDetail 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 entityDetail property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getEntityDetail().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link Entry.Entity.EntityDetail }
+         * 
+         * 
+         */
+        public List<Entry.Entity.EntityDetail> getEntityDetail() {
+            if (entityDetail == null) {
+                entityDetail = new ArrayList<Entry.Entity.EntityDetail>();
+            }
+            return this.entityDetail;
+        }
+
+        /**
+         * Gets the value of the segment 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 segment property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getSegment().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link Entry.Entity.Segment }
+         * 
+         * 
+         */
+        public List<Entry.Entity.Segment> getSegment() {
+            if (segment == null) {
+                segment = new ArrayList<Entry.Entity.Segment>();
+            }
+            return this.segment;
+        }
+
+        /**
+         * Gets the value of the type property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link EntityType }
+         *     
+         */
+        public EntityType getType() {
+            return type;
+        }
+
+        /**
+         * Sets the value of the type property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link EntityType }
+         *     
+         */
+        public void setType(EntityType value) {
+            this.type = value;
+        }
+
+        /**
+         * Gets the value of the entityId property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getEntityId() {
+            return entityId;
+        }
+
+        /**
+         * Sets the value of the entityId property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setEntityId(String value) {
+            this.entityId = 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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+         *     &lt;/restriction>
+         *   &lt;/complexContent>
+         * &lt;/complexType>
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "", propOrder = {
+            "content"
+        })
+        public static class EntityDetail {
+
+            @XmlValue
+            protected String content;
+            @XmlAttribute(name = "dbSource")
+            protected String dbSource;
+            @XmlAttribute(name = "property", required = true)
+            protected String property;
+
+            /**
+             * Gets the value of the content property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getContent() {
+                return content;
+            }
+
+            /**
+             * Sets the value of the content property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setContent(String value) {
+                this.content = value;
+            }
+
+            /**
+             * Gets the value of the dbSource property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getDbSource() {
+                return dbSource;
+            }
+
+            /**
+             * Sets the value of the dbSource property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setDbSource(String value) {
+                this.dbSource = value;
+            }
+
+            /**
+             * Gets the value of the property property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getProperty() {
+                return property;
+            }
+
+            /**
+             * Sets the value of the property property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setProperty(String value) {
+                this.property = 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="listResidue" minOccurs="0">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;sequence>
+         *                   &lt;element name="residue" maxOccurs="unbounded">
+         *                     &lt;complexType>
+         *                       &lt;complexContent>
+         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                           &lt;sequence>
+         *                             &lt;element name="crossRefDb" maxOccurs="unbounded" minOccurs="0">
+         *                               &lt;complexType>
+         *                                 &lt;complexContent>
+         *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+         *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+         *                                     &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}chainId" />
+         *                                   &lt;/restriction>
+         *                                 &lt;/complexContent>
+         *                               &lt;/complexType>
+         *                             &lt;/element>
+         *                             &lt;element name="residueDetail" maxOccurs="unbounded" minOccurs="0">
+         *                               &lt;complexType>
+         *                                 &lt;complexContent>
+         *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+         *                                   &lt;/restriction>
+         *                                 &lt;/complexContent>
+         *                               &lt;/complexType>
+         *                             &lt;/element>
+         *                           &lt;/sequence>
+         *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+         *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}listdbRef"/>
+         *                         &lt;/restriction>
+         *                       &lt;/complexContent>
+         *                     &lt;/complexType>
+         *                   &lt;/element>
+         *                 &lt;/sequence>
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="listMapRegion" minOccurs="0">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;sequence>
+         *                   &lt;element name="mapRegion" maxOccurs="unbounded">
+         *                     &lt;complexType>
+         *                       &lt;complexContent>
+         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                           &lt;sequence>
+         *                             &lt;element name="db">
+         *                               &lt;complexType>
+         *                                 &lt;complexContent>
+         *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                                     &lt;sequence>
+         *                                       &lt;element name="dbDetail" maxOccurs="unbounded" minOccurs="0">
+         *                                         &lt;complexType>
+         *                                           &lt;complexContent>
+         *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                                               &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+         *                                             &lt;/restriction>
+         *                                           &lt;/complexContent>
+         *                                         &lt;/complexType>
+         *                                       &lt;/element>
+         *                                     &lt;/sequence>
+         *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+         *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+         *                                     &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbChainId" />
+         *                                   &lt;/restriction>
+         *                                 &lt;/complexContent>
+         *                               &lt;/complexType>
+         *                             &lt;/element>
+         *                           &lt;/sequence>
+         *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+         *                         &lt;/restriction>
+         *                       &lt;/complexContent>
+         *                     &lt;/complexType>
+         *                   &lt;/element>
+         *                 &lt;/sequence>
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *         &lt;element name="segmentDetail" maxOccurs="unbounded" minOccurs="0">
+         *           &lt;complexType>
+         *             &lt;complexContent>
+         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+         *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+         *               &lt;/restriction>
+         *             &lt;/complexContent>
+         *           &lt;/complexType>
+         *         &lt;/element>
+         *       &lt;/sequence>
+         *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+         *       &lt;attribute name="segId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+         *     &lt;/restriction>
+         *   &lt;/complexContent>
+         * &lt;/complexType>
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "", propOrder = {
+            "listResidue",
+            "listMapRegion",
+            "segmentDetail"
+        })
+        public static class Segment {
+
+            protected Entry.Entity.Segment.ListResidue listResidue;
+            protected Entry.Entity.Segment.ListMapRegion listMapRegion;
+            protected List<Entry.Entity.Segment.SegmentDetail> segmentDetail;
+            @XmlAttribute(name = "segId", required = true)
+            protected String segId;
+            @XmlAttribute(name = "start")
+            protected String start;
+            @XmlAttribute(name = "end")
+            protected String end;
+
+            /**
+             * Gets the value of the listResidue property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Entry.Entity.Segment.ListResidue }
+             *     
+             */
+            public Entry.Entity.Segment.ListResidue getListResidue() {
+                return listResidue;
+            }
+
+            /**
+             * Sets the value of the listResidue property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Entry.Entity.Segment.ListResidue }
+             *     
+             */
+            public void setListResidue(Entry.Entity.Segment.ListResidue value) {
+                this.listResidue = value;
+            }
+
+            /**
+             * Gets the value of the listMapRegion property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link Entry.Entity.Segment.ListMapRegion }
+             *     
+             */
+            public Entry.Entity.Segment.ListMapRegion getListMapRegion() {
+                return listMapRegion;
+            }
+
+            /**
+             * Sets the value of the listMapRegion property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link Entry.Entity.Segment.ListMapRegion }
+             *     
+             */
+            public void setListMapRegion(Entry.Entity.Segment.ListMapRegion value) {
+                this.listMapRegion = value;
+            }
+
+            /**
+             * Gets the value of the segmentDetail 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 segmentDetail property.
+             * 
+             * <p>
+             * For example, to add a new item, do as follows:
+             * <pre>
+             *    getSegmentDetail().add(newItem);
+             * </pre>
+             * 
+             * 
+             * <p>
+             * Objects of the following type(s) are allowed in the list
+             * {@link Entry.Entity.Segment.SegmentDetail }
+             * 
+             * 
+             */
+            public List<Entry.Entity.Segment.SegmentDetail> getSegmentDetail() {
+                if (segmentDetail == null) {
+                    segmentDetail = new ArrayList<Entry.Entity.Segment.SegmentDetail>();
+                }
+                return this.segmentDetail;
+            }
+
+            /**
+             * Gets the value of the segId property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getSegId() {
+                return segId;
+            }
+
+            /**
+             * Sets the value of the segId property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setSegId(String value) {
+                this.segId = value;
+            }
+
+            /**
+             * Gets the value of the start property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getStart() {
+                return start;
+            }
+
+            /**
+             * Sets the value of the start property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setStart(String value) {
+                this.start = value;
+            }
+
+            /**
+             * Gets the value of the end property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getEnd() {
+                return end;
+            }
+
+            /**
+             * Sets the value of the end property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setEnd(String 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;sequence>
+             *         &lt;element name="mapRegion" maxOccurs="unbounded">
+             *           &lt;complexType>
+             *             &lt;complexContent>
+             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+             *                 &lt;sequence>
+             *                   &lt;element name="db">
+             *                     &lt;complexType>
+             *                       &lt;complexContent>
+             *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+             *                           &lt;sequence>
+             *                             &lt;element name="dbDetail" maxOccurs="unbounded" minOccurs="0">
+             *                               &lt;complexType>
+             *                                 &lt;complexContent>
+             *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+             *                                     &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+             *                                   &lt;/restriction>
+             *                                 &lt;/complexContent>
+             *                               &lt;/complexType>
+             *                             &lt;/element>
+             *                           &lt;/sequence>
+             *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+             *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+             *                           &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbChainId" />
+             *                         &lt;/restriction>
+             *                       &lt;/complexContent>
+             *                     &lt;/complexType>
+             *                   &lt;/element>
+             *                 &lt;/sequence>
+             *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+             *               &lt;/restriction>
+             *             &lt;/complexContent>
+             *           &lt;/complexType>
+             *         &lt;/element>
+             *       &lt;/sequence>
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "", propOrder = {
+                "mapRegion"
+            })
+            public static class ListMapRegion {
+
+                @XmlElement(required = true)
+                protected List<Entry.Entity.Segment.ListMapRegion.MapRegion> mapRegion;
+
+                /**
+                 * Gets the value of the mapRegion 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 mapRegion property.
+                 * 
+                 * <p>
+                 * For example, to add a new item, do as follows:
+                 * <pre>
+                 *    getMapRegion().add(newItem);
+                 * </pre>
+                 * 
+                 * 
+                 * <p>
+                 * Objects of the following type(s) are allowed in the list
+                 * {@link Entry.Entity.Segment.ListMapRegion.MapRegion }
+                 * 
+                 * 
+                 */
+                public List<Entry.Entity.Segment.ListMapRegion.MapRegion> getMapRegion() {
+                    if (mapRegion == null) {
+                        mapRegion = new ArrayList<Entry.Entity.Segment.ListMapRegion.MapRegion>();
+                    }
+                    return this.mapRegion;
+                }
+
+
+                /**
+                 * <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="db">
+                 *           &lt;complexType>
+                 *             &lt;complexContent>
+                 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+                 *                 &lt;sequence>
+                 *                   &lt;element name="dbDetail" maxOccurs="unbounded" minOccurs="0">
+                 *                     &lt;complexType>
+                 *                       &lt;complexContent>
+                 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+                 *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+                 *                         &lt;/restriction>
+                 *                       &lt;/complexContent>
+                 *                     &lt;/complexType>
+                 *                   &lt;/element>
+                 *                 &lt;/sequence>
+                 *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+                 *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+                 *                 &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbChainId" />
+                 *               &lt;/restriction>
+                 *             &lt;/complexContent>
+                 *           &lt;/complexType>
+                 *         &lt;/element>
+                 *       &lt;/sequence>
+                 *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+                 *     &lt;/restriction>
+                 *   &lt;/complexContent>
+                 * &lt;/complexType>
+                 * </pre>
+                 * 
+                 * 
+                 */
+                @XmlAccessorType(XmlAccessType.FIELD)
+                @XmlType(name = "", propOrder = {
+                    "db"
+                })
+                public static class MapRegion {
+
+                    @XmlElement(required = true)
+                    protected Entry.Entity.Segment.ListMapRegion.MapRegion.Db db;
+                    @XmlAttribute(name = "start")
+                    protected String start;
+                    @XmlAttribute(name = "end")
+                    protected String end;
+
+                    /**
+                     * Gets the value of the db property.
+                     * 
+                     * @return
+                     *     possible object is
+                     *     {@link Entry.Entity.Segment.ListMapRegion.MapRegion.Db }
+                     *     
+                     */
+                    public Entry.Entity.Segment.ListMapRegion.MapRegion.Db getDb() {
+                        return db;
+                    }
+
+                    /**
+                     * Sets the value of the db property.
+                     * 
+                     * @param value
+                     *     allowed object is
+                     *     {@link Entry.Entity.Segment.ListMapRegion.MapRegion.Db }
+                     *     
+                     */
+                    public void setDb(Entry.Entity.Segment.ListMapRegion.MapRegion.Db value) {
+                        this.db = value;
+                    }
+
+                    /**
+                     * Gets the value of the start property.
+                     * 
+                     * @return
+                     *     possible object is
+                     *     {@link String }
+                     *     
+                     */
+                    public String getStart() {
+                        return start;
+                    }
+
+                    /**
+                     * Sets the value of the start property.
+                     * 
+                     * @param value
+                     *     allowed object is
+                     *     {@link String }
+                     *     
+                     */
+                    public void setStart(String value) {
+                        this.start = value;
+                    }
+
+                    /**
+                     * Gets the value of the end property.
+                     * 
+                     * @return
+                     *     possible object is
+                     *     {@link String }
+                     *     
+                     */
+                    public String getEnd() {
+                        return end;
+                    }
+
+                    /**
+                     * Sets the value of the end property.
+                     * 
+                     * @param value
+                     *     allowed object is
+                     *     {@link String }
+                     *     
+                     */
+                    public void setEnd(String 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;sequence>
+                     *         &lt;element name="dbDetail" maxOccurs="unbounded" minOccurs="0">
+                     *           &lt;complexType>
+                     *             &lt;complexContent>
+                     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+                     *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+                     *               &lt;/restriction>
+                     *             &lt;/complexContent>
+                     *           &lt;/complexType>
+                     *         &lt;/element>
+                     *       &lt;/sequence>
+                     *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+                     *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}region"/>
+                     *       &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbChainId" />
+                     *     &lt;/restriction>
+                     *   &lt;/complexContent>
+                     * &lt;/complexType>
+                     * </pre>
+                     * 
+                     * 
+                     */
+                    @XmlAccessorType(XmlAccessType.FIELD)
+                    @XmlType(name = "", propOrder = {
+                        "dbDetail"
+                    })
+                    public static class Db {
+
+                        protected List<Entry.Entity.Segment.ListMapRegion.MapRegion.Db.DbDetail> dbDetail;
+                        @XmlAttribute(name = "dbChainId")
+                        protected String dbChainId;
+                        @XmlAttribute(name = "dbSource", required = true)
+                        protected String dbSource;
+                        @XmlAttribute(name = "dbCoordSys", required = true)
+                        protected String dbCoordSys;
+                        @XmlAttribute(name = "dbAccessionId", required = true)
+                        protected String dbAccessionId;
+                        @XmlAttribute(name = "dbEvidence")
+                        protected String dbEvidence;
+                        @XmlAttribute(name = "dbVersion")
+                        protected String dbVersion;
+                        @XmlAttribute(name = "start")
+                        protected String start;
+                        @XmlAttribute(name = "end")
+                        protected String end;
+
+                        /**
+                         * Gets the value of the dbDetail 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 dbDetail property.
+                         * 
+                         * <p>
+                         * For example, to add a new item, do as follows:
+                         * <pre>
+                         *    getDbDetail().add(newItem);
+                         * </pre>
+                         * 
+                         * 
+                         * <p>
+                         * Objects of the following type(s) are allowed in the list
+                         * {@link Entry.Entity.Segment.ListMapRegion.MapRegion.Db.DbDetail }
+                         * 
+                         * 
+                         */
+                        public List<Entry.Entity.Segment.ListMapRegion.MapRegion.Db.DbDetail> getDbDetail() {
+                            if (dbDetail == null) {
+                                dbDetail = new ArrayList<Entry.Entity.Segment.ListMapRegion.MapRegion.Db.DbDetail>();
+                            }
+                            return this.dbDetail;
+                        }
+
+                        /**
+                         * Gets the value of the dbChainId property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbChainId() {
+                            return dbChainId;
+                        }
+
+                        /**
+                         * Sets the value of the dbChainId property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbChainId(String value) {
+                            this.dbChainId = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbSource property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbSource() {
+                            return dbSource;
+                        }
+
+                        /**
+                         * Sets the value of the dbSource property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbSource(String value) {
+                            this.dbSource = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbCoordSys property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbCoordSys() {
+                            return dbCoordSys;
+                        }
+
+                        /**
+                         * Sets the value of the dbCoordSys property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbCoordSys(String value) {
+                            this.dbCoordSys = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbAccessionId property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbAccessionId() {
+                            return dbAccessionId;
+                        }
+
+                        /**
+                         * Sets the value of the dbAccessionId property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbAccessionId(String value) {
+                            this.dbAccessionId = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbEvidence property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbEvidence() {
+                            return dbEvidence;
+                        }
+
+                        /**
+                         * Sets the value of the dbEvidence property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbEvidence(String value) {
+                            this.dbEvidence = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbVersion property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbVersion() {
+                            return dbVersion;
+                        }
+
+                        /**
+                         * Sets the value of the dbVersion property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbVersion(String value) {
+                            this.dbVersion = value;
+                        }
+
+                        /**
+                         * Gets the value of the start property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getStart() {
+                            return start;
+                        }
+
+                        /**
+                         * Sets the value of the start property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setStart(String value) {
+                            this.start = value;
+                        }
+
+                        /**
+                         * Gets the value of the end property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getEnd() {
+                            return end;
+                        }
+
+                        /**
+                         * Sets the value of the end property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setEnd(String 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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+                         *     &lt;/restriction>
+                         *   &lt;/complexContent>
+                         * &lt;/complexType>
+                         * </pre>
+                         * 
+                         * 
+                         */
+                        @XmlAccessorType(XmlAccessType.FIELD)
+                        @XmlType(name = "", propOrder = {
+                            "content"
+                        })
+                        public static class DbDetail {
+
+                            @XmlValue
+                            protected String content;
+                            @XmlAttribute(name = "dbSource")
+                            protected String dbSource;
+                            @XmlAttribute(name = "property", required = true)
+                            protected String property;
+
+                            /**
+                             * Gets the value of the content property.
+                             * 
+                             * @return
+                             *     possible object is
+                             *     {@link String }
+                             *     
+                             */
+                            public String getContent() {
+                                return content;
+                            }
+
+                            /**
+                             * Sets the value of the content property.
+                             * 
+                             * @param value
+                             *     allowed object is
+                             *     {@link String }
+                             *     
+                             */
+                            public void setContent(String value) {
+                                this.content = value;
+                            }
+
+                            /**
+                             * Gets the value of the dbSource property.
+                             * 
+                             * @return
+                             *     possible object is
+                             *     {@link String }
+                             *     
+                             */
+                            public String getDbSource() {
+                                return dbSource;
+                            }
+
+                            /**
+                             * Sets the value of the dbSource property.
+                             * 
+                             * @param value
+                             *     allowed object is
+                             *     {@link String }
+                             *     
+                             */
+                            public void setDbSource(String value) {
+                                this.dbSource = value;
+                            }
+
+                            /**
+                             * Gets the value of the property property.
+                             * 
+                             * @return
+                             *     possible object is
+                             *     {@link String }
+                             *     
+                             */
+                            public String getProperty() {
+                                return property;
+                            }
+
+                            /**
+                             * Sets the value of the property property.
+                             * 
+                             * @param value
+                             *     allowed object is
+                             *     {@link String }
+                             *     
+                             */
+                            public void setProperty(String value) {
+                                this.property = 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="residue" maxOccurs="unbounded">
+             *           &lt;complexType>
+             *             &lt;complexContent>
+             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+             *                 &lt;sequence>
+             *                   &lt;element name="crossRefDb" maxOccurs="unbounded" minOccurs="0">
+             *                     &lt;complexType>
+             *                       &lt;complexContent>
+             *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+             *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+             *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+             *                           &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}chainId" />
+             *                         &lt;/restriction>
+             *                       &lt;/complexContent>
+             *                     &lt;/complexType>
+             *                   &lt;/element>
+             *                   &lt;element name="residueDetail" maxOccurs="unbounded" minOccurs="0">
+             *                     &lt;complexType>
+             *                       &lt;complexContent>
+             *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+             *                           &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+             *                         &lt;/restriction>
+             *                       &lt;/complexContent>
+             *                     &lt;/complexType>
+             *                   &lt;/element>
+             *                 &lt;/sequence>
+             *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+             *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}listdbRef"/>
+             *               &lt;/restriction>
+             *             &lt;/complexContent>
+             *           &lt;/complexType>
+             *         &lt;/element>
+             *       &lt;/sequence>
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "", propOrder = {
+                "residue"
+            })
+            public static class ListResidue {
+
+                @XmlElement(required = true)
+                protected List<Entry.Entity.Segment.ListResidue.Residue> residue;
+
+                /**
+                 * Gets the value of the residue 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 residue property.
+                 * 
+                 * <p>
+                 * For example, to add a new item, do as follows:
+                 * <pre>
+                 *    getResidue().add(newItem);
+                 * </pre>
+                 * 
+                 * 
+                 * <p>
+                 * Objects of the following type(s) are allowed in the list
+                 * {@link Entry.Entity.Segment.ListResidue.Residue }
+                 * 
+                 * 
+                 */
+                public List<Entry.Entity.Segment.ListResidue.Residue> getResidue() {
+                    if (residue == null) {
+                        residue = new ArrayList<Entry.Entity.Segment.ListResidue.Residue>();
+                    }
+                    return this.residue;
+                }
+
+
+                /**
+                 * <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="crossRefDb" maxOccurs="unbounded" minOccurs="0">
+                 *           &lt;complexType>
+                 *             &lt;complexContent>
+                 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+                 *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+                 *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+                 *                 &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}chainId" />
+                 *               &lt;/restriction>
+                 *             &lt;/complexContent>
+                 *           &lt;/complexType>
+                 *         &lt;/element>
+                 *         &lt;element name="residueDetail" maxOccurs="unbounded" minOccurs="0">
+                 *           &lt;complexType>
+                 *             &lt;complexContent>
+                 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+                 *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+                 *               &lt;/restriction>
+                 *             &lt;/complexContent>
+                 *           &lt;/complexType>
+                 *         &lt;/element>
+                 *       &lt;/sequence>
+                 *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+                 *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}listdbRef"/>
+                 *     &lt;/restriction>
+                 *   &lt;/complexContent>
+                 * &lt;/complexType>
+                 * </pre>
+                 * 
+                 * 
+                 */
+                @XmlAccessorType(XmlAccessType.FIELD)
+                @XmlType(name = "", propOrder = {
+                    "crossRefDb",
+                    "residueDetail"
+                })
+                public static class Residue {
+
+                    protected List<Entry.Entity.Segment.ListResidue.Residue.CrossRefDb> crossRefDb;
+                    protected List<Entry.Entity.Segment.ListResidue.Residue.ResidueDetail> residueDetail;
+                    @XmlAttribute(name = "dbResNum", required = true)
+                    protected String dbResNum;
+                    @XmlAttribute(name = "dbResName", required = true)
+                    protected String dbResName;
+                    @XmlAttribute(name = "dbVersion")
+                    protected String dbVersion;
+                    @XmlAttribute(name = "dbSource", required = true)
+                    protected String dbSource;
+                    @XmlAttribute(name = "dbCoordSys", required = true)
+                    protected String dbCoordSys;
+
+                    /**
+                     * Gets the value of the crossRefDb 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 crossRefDb property.
+                     * 
+                     * <p>
+                     * For example, to add a new item, do as follows:
+                     * <pre>
+                     *    getCrossRefDb().add(newItem);
+                     * </pre>
+                     * 
+                     * 
+                     * <p>
+                     * Objects of the following type(s) are allowed in the list
+                     * {@link Entry.Entity.Segment.ListResidue.Residue.CrossRefDb }
+                     * 
+                     * 
+                     */
+                    public List<Entry.Entity.Segment.ListResidue.Residue.CrossRefDb> getCrossRefDb() {
+                        if (crossRefDb == null) {
+                            crossRefDb = new ArrayList<Entry.Entity.Segment.ListResidue.Residue.CrossRefDb>();
+                        }
+                        return this.crossRefDb;
+                    }
+
+                    /**
+                     * Gets the value of the residueDetail 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 residueDetail property.
+                     * 
+                     * <p>
+                     * For example, to add a new item, do as follows:
+                     * <pre>
+                     *    getResidueDetail().add(newItem);
+                     * </pre>
+                     * 
+                     * 
+                     * <p>
+                     * Objects of the following type(s) are allowed in the list
+                     * {@link Entry.Entity.Segment.ListResidue.Residue.ResidueDetail }
+                     * 
+                     * 
+                     */
+                    public List<Entry.Entity.Segment.ListResidue.Residue.ResidueDetail> getResidueDetail() {
+                        if (residueDetail == null) {
+                            residueDetail = new ArrayList<Entry.Entity.Segment.ListResidue.Residue.ResidueDetail>();
+                        }
+                        return this.residueDetail;
+                    }
+
+                    /**
+                     * Gets the value of the dbResNum property.
+                     * 
+                     * @return
+                     *     possible object is
+                     *     {@link String }
+                     *     
+                     */
+                    public String getDbResNum() {
+                        return dbResNum;
+                    }
+
+                    /**
+                     * Sets the value of the dbResNum property.
+                     * 
+                     * @param value
+                     *     allowed object is
+                     *     {@link String }
+                     *     
+                     */
+                    public void setDbResNum(String value) {
+                        this.dbResNum = value;
+                    }
+
+                    /**
+                     * Gets the value of the dbResName property.
+                     * 
+                     * @return
+                     *     possible object is
+                     *     {@link String }
+                     *     
+                     */
+                    public String getDbResName() {
+                        return dbResName;
+                    }
+
+                    /**
+                     * Sets the value of the dbResName property.
+                     * 
+                     * @param value
+                     *     allowed object is
+                     *     {@link String }
+                     *     
+                     */
+                    public void setDbResName(String value) {
+                        this.dbResName = value;
+                    }
+
+                    /**
+                     * Gets the value of the dbVersion property.
+                     * 
+                     * @return
+                     *     possible object is
+                     *     {@link String }
+                     *     
+                     */
+                    public String getDbVersion() {
+                        return dbVersion;
+                    }
+
+                    /**
+                     * Sets the value of the dbVersion property.
+                     * 
+                     * @param value
+                     *     allowed object is
+                     *     {@link String }
+                     *     
+                     */
+                    public void setDbVersion(String value) {
+                        this.dbVersion = value;
+                    }
+
+                    /**
+                     * Gets the value of the dbSource property.
+                     * 
+                     * @return
+                     *     possible object is
+                     *     {@link String }
+                     *     
+                     */
+                    public String getDbSource() {
+                        return dbSource;
+                    }
+
+                    /**
+                     * Sets the value of the dbSource property.
+                     * 
+                     * @param value
+                     *     allowed object is
+                     *     {@link String }
+                     *     
+                     */
+                    public void setDbSource(String value) {
+                        this.dbSource = value;
+                    }
+
+                    /**
+                     * Gets the value of the dbCoordSys property.
+                     * 
+                     * @return
+                     *     possible object is
+                     *     {@link String }
+                     *     
+                     */
+                    public String getDbCoordSys() {
+                        return dbCoordSys;
+                    }
+
+                    /**
+                     * Sets the value of the dbCoordSys property.
+                     * 
+                     * @param value
+                     *     allowed object is
+                     *     {@link String }
+                     *     
+                     */
+                    public void setDbCoordSys(String value) {
+                        this.dbCoordSys = 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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}dbRef"/>
+                     *       &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}resRef"/>
+                     *       &lt;attribute name="dbChainId" type="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}chainId" />
+                     *     &lt;/restriction>
+                     *   &lt;/complexContent>
+                     * &lt;/complexType>
+                     * </pre>
+                     * 
+                     * 
+                     */
+                    @XmlAccessorType(XmlAccessType.FIELD)
+                    @XmlType(name = "")
+                    public static class CrossRefDb {
+
+                        @XmlAttribute(name = "dbChainId")
+                        protected String dbChainId;
+                        @XmlAttribute(name = "dbSource", required = true)
+                        protected String dbSource;
+                        @XmlAttribute(name = "dbCoordSys", required = true)
+                        protected String dbCoordSys;
+                        @XmlAttribute(name = "dbAccessionId", required = true)
+                        protected String dbAccessionId;
+                        @XmlAttribute(name = "dbEvidence")
+                        protected String dbEvidence;
+                        @XmlAttribute(name = "dbVersion")
+                        protected String dbVersion;
+                        @XmlAttribute(name = "dbResNum", required = true)
+                        protected String dbResNum;
+                        @XmlAttribute(name = "dbResName", required = true)
+                        protected String dbResName;
+
+                        /**
+                         * Gets the value of the dbChainId property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbChainId() {
+                            return dbChainId;
+                        }
+
+                        /**
+                         * Sets the value of the dbChainId property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbChainId(String value) {
+                            this.dbChainId = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbSource property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbSource() {
+                            return dbSource;
+                        }
+
+                        /**
+                         * Sets the value of the dbSource property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbSource(String value) {
+                            this.dbSource = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbCoordSys property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbCoordSys() {
+                            return dbCoordSys;
+                        }
+
+                        /**
+                         * Sets the value of the dbCoordSys property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbCoordSys(String value) {
+                            this.dbCoordSys = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbAccessionId property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbAccessionId() {
+                            return dbAccessionId;
+                        }
+
+                        /**
+                         * Sets the value of the dbAccessionId property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbAccessionId(String value) {
+                            this.dbAccessionId = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbEvidence property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbEvidence() {
+                            return dbEvidence;
+                        }
+
+                        /**
+                         * Sets the value of the dbEvidence property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbEvidence(String value) {
+                            this.dbEvidence = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbVersion property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbVersion() {
+                            return dbVersion;
+                        }
+
+                        /**
+                         * Sets the value of the dbVersion property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbVersion(String value) {
+                            this.dbVersion = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbResNum property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbResNum() {
+                            return dbResNum;
+                        }
+
+                        /**
+                         * Sets the value of the dbResNum property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbResNum(String value) {
+                            this.dbResNum = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbResName property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbResName() {
+                            return dbResName;
+                        }
+
+                        /**
+                         * Sets the value of the dbResName property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbResName(String value) {
+                            this.dbResName = 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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+                     *     &lt;/restriction>
+                     *   &lt;/complexContent>
+                     * &lt;/complexType>
+                     * </pre>
+                     * 
+                     * 
+                     */
+                    @XmlAccessorType(XmlAccessType.FIELD)
+                    @XmlType(name = "", propOrder = {
+                        "content"
+                    })
+                    public static class ResidueDetail {
+
+                        @XmlValue
+                        protected String content;
+                        @XmlAttribute(name = "dbSource")
+                        protected String dbSource;
+                        @XmlAttribute(name = "property", required = true)
+                        protected String property;
+
+                        /**
+                         * Gets the value of the content property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getContent() {
+                            return content;
+                        }
+
+                        /**
+                         * Sets the value of the content property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setContent(String value) {
+                            this.content = value;
+                        }
+
+                        /**
+                         * Gets the value of the dbSource property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getDbSource() {
+                            return dbSource;
+                        }
+
+                        /**
+                         * Sets the value of the dbSource property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setDbSource(String value) {
+                            this.dbSource = value;
+                        }
+
+                        /**
+                         * Gets the value of the property property.
+                         * 
+                         * @return
+                         *     possible object is
+                         *     {@link String }
+                         *     
+                         */
+                        public String getProperty() {
+                            return property;
+                        }
+
+                        /**
+                         * Sets the value of the property property.
+                         * 
+                         * @param value
+                         *     allowed object is
+                         *     {@link String }
+                         *     
+                         */
+                        public void setProperty(String value) {
+                            this.property = 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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+             *     &lt;/restriction>
+             *   &lt;/complexContent>
+             * &lt;/complexType>
+             * </pre>
+             * 
+             * 
+             */
+            @XmlAccessorType(XmlAccessType.FIELD)
+            @XmlType(name = "", propOrder = {
+                "content"
+            })
+            public static class SegmentDetail {
+
+                @XmlValue
+                protected String content;
+                @XmlAttribute(name = "dbSource")
+                protected String dbSource;
+                @XmlAttribute(name = "property", required = true)
+                protected String property;
+
+                /**
+                 * Gets the value of the content property.
+                 * 
+                 * @return
+                 *     possible object is
+                 *     {@link String }
+                 *     
+                 */
+                public String getContent() {
+                    return content;
+                }
+
+                /**
+                 * Sets the value of the content property.
+                 * 
+                 * @param value
+                 *     allowed object is
+                 *     {@link String }
+                 *     
+                 */
+                public void setContent(String value) {
+                    this.content = value;
+                }
+
+                /**
+                 * Gets the value of the dbSource property.
+                 * 
+                 * @return
+                 *     possible object is
+                 *     {@link String }
+                 *     
+                 */
+                public String getDbSource() {
+                    return dbSource;
+                }
+
+                /**
+                 * Sets the value of the dbSource property.
+                 * 
+                 * @param value
+                 *     allowed object is
+                 *     {@link String }
+                 *     
+                 */
+                public void setDbSource(String value) {
+                    this.dbSource = value;
+                }
+
+                /**
+                 * Gets the value of the property property.
+                 * 
+                 * @return
+                 *     possible object is
+                 *     {@link String }
+                 *     
+                 */
+                public String getProperty() {
+                    return property;
+                }
+
+                /**
+                 * Sets the value of the property property.
+                 * 
+                 * @param value
+                 *     allowed object is
+                 *     {@link String }
+                 *     
+                 */
+                public void setProperty(String value) {
+                    this.property = 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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}detail"/>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "content"
+    })
+    public static class EntryDetail {
+
+        @XmlValue
+        protected String content;
+        @XmlAttribute(name = "dbSource")
+        protected String dbSource;
+        @XmlAttribute(name = "property", required = true)
+        protected String property;
+
+        /**
+         * Gets the value of the content property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getContent() {
+            return content;
+        }
+
+        /**
+         * Sets the value of the content property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setContent(String value) {
+            this.content = value;
+        }
+
+        /**
+         * Gets the value of the dbSource property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getDbSource() {
+            return dbSource;
+        }
+
+        /**
+         * Sets the value of the dbSource property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setDbSource(String value) {
+            this.dbSource = value;
+        }
+
+        /**
+         * Gets the value of the property property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getProperty() {
+            return property;
+        }
+
+        /**
+         * Sets the value of the property property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setProperty(String value) {
+            this.property = 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 maxOccurs="unbounded">
+     *         &lt;element name="db">
+     *           &lt;complexType>
+     *             &lt;complexContent>
+     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *                 &lt;attGroup ref="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}listdbRef"/>
+     *               &lt;/restriction>
+     *             &lt;/complexContent>
+     *           &lt;/complexType>
+     *         &lt;/element>
+     *       &lt;/sequence>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "db"
+    })
+    public static class ListDB {
+
+        @XmlElement(required = true)
+        protected List<Entry.ListDB.Db> db;
+
+        /**
+         * Gets the value of the db 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 db property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getDb().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link Entry.ListDB.Db }
+         * 
+         * 
+         */
+        public List<Entry.ListDB.Db> getDb() {
+            if (db == null) {
+                db = new ArrayList<Entry.ListDB.Db>();
+            }
+            return this.db;
+        }
+
+
+        /**
+         * <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="{http://www.ebi.ac.uk/pdbe/docs/sifts/dataTypes.xsd}listdbRef"/>
+         *     &lt;/restriction>
+         *   &lt;/complexContent>
+         * &lt;/complexType>
+         * </pre>
+         * 
+         * 
+         */
+        @XmlAccessorType(XmlAccessType.FIELD)
+        @XmlType(name = "")
+        public static class Db {
+
+            @XmlAttribute(name = "dbVersion")
+            protected String dbVersion;
+            @XmlAttribute(name = "dbSource", required = true)
+            protected String dbSource;
+            @XmlAttribute(name = "dbCoordSys", required = true)
+            protected String dbCoordSys;
+
+            /**
+             * Gets the value of the dbVersion property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getDbVersion() {
+                return dbVersion;
+            }
+
+            /**
+             * Sets the value of the dbVersion property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setDbVersion(String value) {
+                this.dbVersion = value;
+            }
+
+            /**
+             * Gets the value of the dbSource property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getDbSource() {
+                return dbSource;
+            }
+
+            /**
+             * Sets the value of the dbSource property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setDbSource(String value) {
+                this.dbSource = value;
+            }
+
+            /**
+             * Gets the value of the dbCoordSys property.
+             * 
+             * @return
+             *     possible object is
+             *     {@link String }
+             *     
+             */
+            public String getDbCoordSys() {
+                return dbCoordSys;
+            }
+
+            /**
+             * Sets the value of the dbCoordSys property.
+             * 
+             * @param value
+             *     allowed object is
+             *     {@link String }
+             *     
+             */
+            public void setDbCoordSys(String value) {
+                this.dbCoordSys = value;
+            }
+
+        }
+
+    }
+
+}
diff --git a/src/jalview/xml/binding/sifts/ObjectFactory.java b/src/jalview/xml/binding/sifts/ObjectFactory.java
new file mode 100644 (file)
index 0000000..7b74e13
--- /dev/null
@@ -0,0 +1,319 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.10.09 at 03:18:33 PM BST 
+//
+
+
+package jalview.xml.binding.sifts;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the jalview.xml.binding.sifts package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: jalview.xml.binding.sifts
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link Entry }
+     * 
+     */
+    public Entry createEntry() {
+        return new Entry();
+    }
+
+    /**
+     * Create an instance of {@link Alignment }
+     * 
+     */
+    public Alignment createAlignment() {
+        return new Alignment();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D }
+     * 
+     */
+    public Alignment.Geo3D createAlignmentGeo3D() {
+        return new Alignment.Geo3D();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix }
+     * 
+     */
+    public Alignment.Geo3D.Matrix createAlignmentGeo3DMatrix() {
+        return new Alignment.Geo3D.Matrix();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Block }
+     * 
+     */
+    public Alignment.Block createAlignmentBlock() {
+        return new Alignment.Block();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.AlignObject }
+     * 
+     */
+    public Alignment.AlignObject createAlignmentAlignObject() {
+        return new Alignment.AlignObject();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity }
+     * 
+     */
+    public Entry.Entity createEntryEntity() {
+        return new Entry.Entity();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment }
+     * 
+     */
+    public Entry.Entity.Segment createEntryEntitySegment() {
+        return new Entry.Entity.Segment();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.ListMapRegion }
+     * 
+     */
+    public Entry.Entity.Segment.ListMapRegion createEntryEntitySegmentListMapRegion() {
+        return new Entry.Entity.Segment.ListMapRegion();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.ListMapRegion.MapRegion }
+     * 
+     */
+    public Entry.Entity.Segment.ListMapRegion.MapRegion createEntryEntitySegmentListMapRegionMapRegion() {
+        return new Entry.Entity.Segment.ListMapRegion.MapRegion();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.ListMapRegion.MapRegion.Db }
+     * 
+     */
+    public Entry.Entity.Segment.ListMapRegion.MapRegion.Db createEntryEntitySegmentListMapRegionMapRegionDb() {
+        return new Entry.Entity.Segment.ListMapRegion.MapRegion.Db();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.ListResidue }
+     * 
+     */
+    public Entry.Entity.Segment.ListResidue createEntryEntitySegmentListResidue() {
+        return new Entry.Entity.Segment.ListResidue();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.ListResidue.Residue }
+     * 
+     */
+    public Entry.Entity.Segment.ListResidue.Residue createEntryEntitySegmentListResidueResidue() {
+        return new Entry.Entity.Segment.ListResidue.Residue();
+    }
+
+    /**
+     * Create an instance of {@link Entry.ListDB }
+     * 
+     */
+    public Entry.ListDB createEntryListDB() {
+        return new Entry.ListDB();
+    }
+
+    /**
+     * Create an instance of {@link Entry.EntryDetail }
+     * 
+     */
+    public Entry.EntryDetail createEntryEntryDetail() {
+        return new Entry.EntryDetail();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Score }
+     * 
+     */
+    public Alignment.Score createAlignmentScore() {
+        return new Alignment.Score();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Vector }
+     * 
+     */
+    public Alignment.Geo3D.Vector createAlignmentGeo3DVector() {
+        return new Alignment.Geo3D.Vector();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max11 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max11 createAlignmentGeo3DMatrixMax11() {
+        return new Alignment.Geo3D.Matrix.Max11();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max12 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max12 createAlignmentGeo3DMatrixMax12() {
+        return new Alignment.Geo3D.Matrix.Max12();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max13 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max13 createAlignmentGeo3DMatrixMax13() {
+        return new Alignment.Geo3D.Matrix.Max13();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max21 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max21 createAlignmentGeo3DMatrixMax21() {
+        return new Alignment.Geo3D.Matrix.Max21();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max22 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max22 createAlignmentGeo3DMatrixMax22() {
+        return new Alignment.Geo3D.Matrix.Max22();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max23 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max23 createAlignmentGeo3DMatrixMax23() {
+        return new Alignment.Geo3D.Matrix.Max23();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max31 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max31 createAlignmentGeo3DMatrixMax31() {
+        return new Alignment.Geo3D.Matrix.Max31();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max32 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max32 createAlignmentGeo3DMatrixMax32() {
+        return new Alignment.Geo3D.Matrix.Max32();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Geo3D.Matrix.Max33 }
+     * 
+     */
+    public Alignment.Geo3D.Matrix.Max33 createAlignmentGeo3DMatrixMax33() {
+        return new Alignment.Geo3D.Matrix.Max33();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.Block.Segment }
+     * 
+     */
+    public Alignment.Block.Segment createAlignmentBlockSegment() {
+        return new Alignment.Block.Segment();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.AlignObject.AlignObjectDetail }
+     * 
+     */
+    public Alignment.AlignObject.AlignObjectDetail createAlignmentAlignObjectAlignObjectDetail() {
+        return new Alignment.AlignObject.AlignObjectDetail();
+    }
+
+    /**
+     * Create an instance of {@link Alignment.AlignObject.Sequence }
+     * 
+     */
+    public Alignment.AlignObject.Sequence createAlignmentAlignObjectSequence() {
+        return new Alignment.AlignObject.Sequence();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.EntityDetail }
+     * 
+     */
+    public Entry.Entity.EntityDetail createEntryEntityEntityDetail() {
+        return new Entry.Entity.EntityDetail();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.SegmentDetail }
+     * 
+     */
+    public Entry.Entity.Segment.SegmentDetail createEntryEntitySegmentSegmentDetail() {
+        return new Entry.Entity.Segment.SegmentDetail();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.ListMapRegion.MapRegion.Db.DbDetail }
+     * 
+     */
+    public Entry.Entity.Segment.ListMapRegion.MapRegion.Db.DbDetail createEntryEntitySegmentListMapRegionMapRegionDbDbDetail() {
+        return new Entry.Entity.Segment.ListMapRegion.MapRegion.Db.DbDetail();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.ListResidue.Residue.CrossRefDb }
+     * 
+     */
+    public Entry.Entity.Segment.ListResidue.Residue.CrossRefDb createEntryEntitySegmentListResidueResidueCrossRefDb() {
+        return new Entry.Entity.Segment.ListResidue.Residue.CrossRefDb();
+    }
+
+    /**
+     * Create an instance of {@link Entry.Entity.Segment.ListResidue.Residue.ResidueDetail }
+     * 
+     */
+    public Entry.Entity.Segment.ListResidue.Residue.ResidueDetail createEntryEntitySegmentListResidueResidueResidueDetail() {
+        return new Entry.Entity.Segment.ListResidue.Residue.ResidueDetail();
+    }
+
+    /**
+     * Create an instance of {@link Entry.ListDB.Db }
+     * 
+     */
+    public Entry.ListDB.Db createEntryListDBDb() {
+        return new Entry.ListDB.Db();
+    }
+
+}
diff --git a/src/jalview/xml/binding/sifts/package-info.java b/src/jalview/xml/binding/sifts/package-info.java
new file mode 100644 (file)
index 0000000..aac24fe
--- /dev/null
@@ -0,0 +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> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.10.09 at 03:18:33 PM BST 
+//
+
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.ebi.ac.uk/pdbe/docs/sifts/eFamily.xsd", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package jalview.xml.binding.sifts;