<?xml version="1.0" encoding="UTF-8"?>
<!-- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) 
	* Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of 
	Jalview. * * Jalview is free software: you can redistribute it and/or * modify 
	it under the terms of the GNU General Public License * as published by the 
	Free Software Foundation, either version 3 of the License, or (at your option) 
	any later version. * * Jalview is distributed in the hope that it will be 
	useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of 
	MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General 
	Public License for more details. * * You should have received a copy of the 
	GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>. 
	* The Jalview Authors are detailed in the 'AUTHORS' file. -->
<!-- 
	Java JAXB binding classes are generated by running command line tool xjc:
 	    xjc schemas/jalview.xsd -d src -p jalview.xml.binding.jalview
 	Note this also generates code for included schemas
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" xmlns:jalview="www.jalview.org/colours"
	xmlns:jv="www.jalview.org" xmlns:jvws="www.jalview.org/xml/wsparamset"
	targetNamespace="www.jalview.org" elementFormDefault="qualified"
	attributeFormDefault="unqualified">
	<xs:import namespace="www.vamsas.ac.uk/jalview/version2"
		schemaLocation="vamsas.xsd" />
	<xs:import namespace="www.jalview.org/colours"
		schemaLocation="JalviewUserColours.xsd" />
	<xs:import namespace="www.jalview.org/xml/wsparamset"
		schemaLocation="JalviewWsParamSet.xsd" />
	<xs:element name="JalviewModel" type="jv:JalviewModel" />
	<xs:complexType name="JalviewModel">
		<xs:sequence>
			<xs:element name="creationDate" type="xs:dateTime" />
			<xs:element name="version" type="xs:string" />
			<xs:element name="vamsasModel" type="vamsas:VAMSAS" />
			<xs:sequence>
				<xs:element name="JSeq" maxOccurs="unbounded" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="features" type="jv:feature"
								minOccurs="0" maxOccurs="unbounded" />
							<xs:element name="pdbids" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="jv:pdbentry">
											<xs:sequence>
												<xs:element name="structureState" minOccurs="0"
													maxOccurs="unbounded">
													<xs:complexType>
														<xs:simpleContent>
															<xs:extension base="xs:string">
																<xs:attributeGroup ref="jv:swingwindow" />
																<xs:attribute name="visible" type="xs:boolean" />
																<xs:attribute name="viewId" type="xs:string"
																	use="optional">
																	<xs:annotation>
																		<xs:documentation>
																			additional
																			identifier
																			which
																			properly
																			disambiguates
																			the
																			structure
																			view
																			from
																			any
																			other
																			view
																			with
																			the
																			same
																			attributes.
																			This
																			is
																			not
																			an
																			ID,
																			because
																			it
																			is
																			possible
																			to
																			have
																			many
																			references
																			to
																			the
																			same
																			physical
																			structure
																			view
																			from
																			different
																			sequences
																			in
																			an
																			alignment.
																			A
																			structureState
																			element
																			citing
																			the
																			same
																			viewId
																			will
																			appear
																			for
																			each
																			instance.
																		</xs:documentation>
																	</xs:annotation>
																</xs:attribute>
																<xs:attribute name="alignwithAlignPanel"
																	type="xs:boolean" use="optional" default="true">
																	<xs:annotation>
																		<xs:documentation>
																			Flag
																			set
																			if
																			the
																			alignment
																			panel
																			containing
																			this
																			JSeq
																			should
																			be
																			included
																			in
																			those
																			used
																			to
																			perform
																			a
																			structure
																			superposition
																			(since
																			Jalview
																			2.7).
																		</xs:documentation>
																	</xs:annotation>
																</xs:attribute>
																<xs:attribute name="colourwithAlignPanel"
																	type="xs:boolean" use="optional" default="false">
																	<xs:annotation>
																		<xs:documentation>
																			Flag
																			set
																			if
																			the
																			alignment
																			panel
																			containing
																			this
																			JSeq
																			should
																			be
																			included
																			in
																			those
																			used
																			to
																			colour
																			its
																			associated
																			sequences
																			in
																			this
																			structureState(since
																			Jalview
																			2.7).
																		</xs:documentation>
																	</xs:annotation>
																</xs:attribute>
																<xs:attribute name="colourByJmol" type="xs:boolean"
																	use="optional" default="true">
																	<xs:annotation>
																		<xs:documentation>
																			Flag
																			set
																			if
																			the
																			structure
																			display
																			is
																			coloured
																			by
																			the
																			Jmol
																			state,
																			rather
																			than
																			by
																			one
																			or
																			more
																			linked
																			alignment
																			views.
																		</xs:documentation>
																	</xs:annotation>
																</xs:attribute>
																<xs:attribute name="type" type="xs:string"
																	use="optional">
																	<xs:annotation>
																		<xs:documentation>
																			An
																			identifier
																			for
																			the
																			viewer
																			type,
																			currently
																			either
																			JMOL
																			or
																			CHIMERA
																		</xs:documentation>
																	</xs:annotation>
																</xs:attribute>

															</xs:extension>
														</xs:simpleContent>
													</xs:complexType>
												</xs:element>
											</xs:sequence>
										</xs:extension>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="hiddenSequences" type="xs:int"
								minOccurs="0" maxOccurs="unbounded" />
							<xs:element name="rnaViewer" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Reference to a viewer showing RNA structure
										for this sequence. Schema supports one viewer showing multiple
										annotations for multiple sequences, though currently only one
										annotation for one sequence (gapped or trimmed) is used
									</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="secondaryStructure" minOccurs="1"
											maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute name="title" type="xs:string" />
												<xs:attribute name="annotationId" type="xs:string"
													use="required">
													<xs:annotation>
														<xs:documentation>id attribute of Annotation in
															vamsasModel for
															the secondary structure annotation shown
															in the viewer
														</xs:documentation>
													</xs:annotation>
												</xs:attribute>
												<xs:attribute name="gapped" type="xs:boolean">
													<xs:annotation>
														<xs:documentation>if true the RNA structure is shown with gaps, if false without
														</xs:documentation>
													</xs:annotation>
												</xs:attribute>
												<xs:attribute name="viewerState" type="xs:string">
													<xs:annotation>
														<xs:documentation>name of the project jar entry that holds
															the VARNA viewer state for the structure
														</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attributeGroup ref="jv:swingwindow" />
									<xs:attribute name="title" type="xs:string" />
									<xs:attribute name="viewId" type="xs:string">
										<xs:annotation>
											<xs:documentation>An id unique to the RNA viewer panel
											</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="dividerLocation" type="xs:int">
										<xs:annotation>
											<xs:documentation>horizontal position of split pane divider
											</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="selectedRna" type="xs:int">
										<xs:annotation>
											<xs:documentation>Index of the selected structure in the
												viewer panel
											</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="colour" type="xs:int" use="optional" />
						<xs:attribute name="start" type="xs:int" use="required" />
						<xs:attribute name="end" type="xs:int" use="required" />
						<xs:attribute name="id" type="xs:string" use="required" />
						<xs:attribute name="hidden" type="xs:boolean" />
						<xs:attribute name="viewreference" type="xs:boolean" use="optional"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="seq" type="xs:string" maxOccurs="unbounded" />
							<xs:element name="annotationColours" type="jv:AnnotationColourScheme"
								minOccurs="0" maxOccurs="1" />
						</xs:sequence>
						<xs:attribute name="start" type="xs:int" />
						<xs:attribute name="end" type="xs:int" />
						<xs:attribute name="name" type="xs:string" />
						<xs:attribute name="colour" type="xs:string" />
						<xs:attribute name="consThreshold" type="xs:int" />
						<xs:attribute name="pidThreshold" type="xs:int" />
						<xs:attribute name="outlineColour" type="xs:int" />
						<xs:attribute name="displayBoxes" type="xs:boolean" />
						<xs:attribute name="displayText" type="xs:boolean" />
						<xs:attribute name="colourText" type="xs:boolean" />
						<xs:attribute name="textCol1" type="xs:int" />
						<xs:attribute name="textCol2" type="xs:int" />
						<xs:attribute name="textColThreshold" type="xs:int" />
						<xs:attribute name="showUnconserved" type="xs:boolean"
							use="optional" />
						<xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
							use="optional" default="true" />
						<xs:attribute name="showConsensusHistogram" type="xs:boolean"
							use="optional" default="true" />
						<xs:attribute name="showSequenceLogo" type="xs:boolean"
							use="optional" default="false" />
						<xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
							use="optional" default="false" />
						<xs:attribute name="id" type="xs:string" use="optional">
							<xs:annotation>
								<xs:documentation>
									Optional sequence group ID (only
									needs to be
									unique for this
									alignment)
								</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Viewport" maxOccurs="unbounded"
					minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="AnnotationColours" type="jv:AnnotationColourScheme"
								minOccurs="0" maxOccurs="1">
							</xs:element>
							<xs:element name="hiddenColumns" minOccurs="0"
								maxOccurs="unbounded">
								<xs:complexType>
									<xs:attribute name="start" type="xs:int" />
									<xs:attribute name="end" type="xs:int" />
								</xs:complexType>
							</xs:element>
							<xs:element name="calcIdParam" minOccurs="0"
								maxOccurs="unbounded">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="jvws:WebServiceParameterSet">
											<xs:attribute name="calcId" type="xs:string"
												use="required">
												<xs:annotation>
													<xs:documentation>handle for the calculation which uses
														this parameter set
													</xs:documentation>
												</xs:annotation>
											</xs:attribute>
											<xs:attribute name="needsUpdate" type="xs:boolean"
												use="optional" default="false">
												<xs:annotation>
													<xs:documentation>should the calculation be performed
														immediately after loading in order to refresh results
													</xs:documentation>
												</xs:annotation>
											</xs:attribute>
											<xs:attribute name="autoUpdate" type="xs:boolean"
												use="required">
												<xs:annotation>
													<xs:documentation>should the calculation be automatically
														performed on edits
													</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:extension>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attributeGroup ref="jv:swingwindow" />
						<xs:attribute name="conservationSelected" type="xs:boolean" />
						<xs:attribute name="pidSelected" type="xs:boolean" />
						<xs:attribute name="bgColour" type="xs:string" />
						<xs:attribute name="consThreshold" type="xs:int" />
						<xs:attribute name="pidThreshold" type="xs:int" />
						<xs:attribute name="title" type="xs:string" />
						<xs:attribute name="showFullId" type="xs:boolean" />
						<xs:attribute name="rightAlignIds" type="xs:boolean" />
						<xs:attribute name="showText" type="xs:boolean" />
						<xs:attribute name="showColourText" type="xs:boolean" />
						<xs:attribute name="showUnconserved" type="xs:boolean"
							use="optional" default="false" />
						<xs:attribute name="showBoxes" type="xs:boolean" />
						<xs:attribute name="wrapAlignment" type="xs:boolean" />
						<xs:attribute name="renderGaps" type="xs:boolean" />
						<xs:attribute name="showSequenceFeatures" type="xs:boolean" />
						<xs:attribute name="showNPfeatureTooltip" type="xs:boolean"
							use="optional" />
						<xs:attribute name="showDbRefTooltip" type="xs:boolean"
							use="optional" />
						<xs:attribute name="followHighlight" type="xs:boolean"
							use="optional" default="true" />
						<xs:attribute name="followSelection" type="xs:boolean"
							use="optional" default="true" />
						<xs:attribute name="showAnnotation" type="xs:boolean" />
						<xs:attribute name="centreColumnLabels" type="xs:boolean"
							use="optional" default="false" />
						<xs:attribute name="showGroupConservation" type="xs:boolean"
							use="optional" default="false" />
						<xs:attribute name="showGroupConsensus" type="xs:boolean"
							use="optional" default="false" />
						<xs:attribute name="showConsensusHistogram" type="xs:boolean"
							use="optional" default="true" />
						<xs:attribute name="showSequenceLogo" type="xs:boolean"
							use="optional" default="false" />
						<xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
							use="optional" default="false" />
						<xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
							use="optional" default="true" />
						<xs:attribute name="startRes" type="xs:int" />
						<xs:attribute name="startSeq" type="xs:int" />
						<xs:attribute name="fontName" type="xs:string" />
						<xs:attribute name="fontSize" type="xs:int" />
						<xs:attribute name="fontStyle" type="xs:int" />
						<xs:attribute name="scaleProteinAsCdna" type="xs:boolean" use="optional" default="true" />
						<xs:attribute name="viewName" type="xs:string" />
						<xs:attribute name="sequenceSetId" type="xs:string" />
						<xs:attribute name="gatheredViews" type="xs:boolean" />
						<xs:attribute name="textCol1" type="xs:int" />
						<xs:attribute name="textCol2" type="xs:int" />
						<xs:attribute name="textColThreshold" type="xs:int" />
						<xs:attribute name="id" type="xs:ID" use="optional">
							<xs:annotation>
								<xs:documentation>
									unique id used by jalview to
									synchronize
									between stored and
									instantiated views
								</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="complementId" type="xs:string"
							use="optional">
							<xs:annotation>
								<xs:documentation>
									The viewport id of this viewport's
									(cdna/protein) coding complement, if any
								</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="showComplementFeatures" type="xs:boolean" use="optional" default="false" />
						<xs:attribute name="showComplementFeaturesOnTop" type="xs:boolean" use="optional" default="false" />
					</xs:complexType>
				</xs:element>
				<xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="UserColourScheme" type="jalview:JalviewUserColours" />
						</xs:sequence>
						<xs:attribute name="id" type="xs:string" />
					</xs:complexType>
				</xs:element>
				<xs:element name="tree" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence minOccurs="0">
							<xs:element name="title" type="xs:string" />
							<xs:element name="newick" type="xs:string" />
						</xs:sequence>
						<xs:attribute name="fontName" type="xs:string" />
						<xs:attribute name="fontSize" type="xs:int" />
						<xs:attribute name="fontStyle" type="xs:int" />
						<xs:attribute name="threshold" type="xs:float" />
						<xs:attribute name="showBootstrap" type="xs:boolean" />
						<xs:attribute name="showDistances" type="xs:boolean" />
						<xs:attribute name="markUnlinked" type="xs:boolean" />
						<xs:attribute name="fitToWindow" type="xs:boolean" />
						<xs:attribute name="currentTree" type="xs:boolean" />
						<xs:attribute name="id" type="xs:ID" use="optional">
							<xs:annotation>
								<xs:documentation>
									Tree ID added for binding tree
									visualization
									settings to vamsas
									document trees in jalview 2.4.1
								</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attributeGroup ref="jv:swingwindow" />
						<xs:attribute name="linkToAllViews" use="optional" default="false" type="xs:boolean" />
					</xs:complexType>
				</xs:element>
				<xs:element name="PcaViewer" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="sequencePoint" minOccurs="1" maxOccurs="unbounded">
								<xs:complexType>
									<xs:attribute name="sequenceRef" type="xs:string" />
									<xs:attributeGroup ref="jv:position" />
								</xs:complexType>
							</xs:element>
							<xs:element name="axis" minOccurs="3" maxOccurs="3">
								<xs:annotation>
									<xs:documentation>
										endpoints of X, Y and Z axes in that order
									</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attributeGroup ref="jv:position" />
								</xs:complexType>
							</xs:element>
							<xs:element name="seqPointMin">
								<xs:complexType>
									<xs:attributeGroup ref="jv:position" />
								</xs:complexType>
							</xs:element>
							<xs:element name="seqPointMax">
								<xs:complexType>
									<xs:attributeGroup ref="jv:position" />
								</xs:complexType>
							</xs:element>
							<xs:element name="pcaData" type="jv:PcaDataType" />
						</xs:sequence>
						<xs:attribute name="title" type="xs:string" />
						<xs:attribute name="scoreModelName" type="xs:string" />
						<xs:attribute name="xDim" type="xs:int" />
						<xs:attribute name="yDim" type="xs:int" />
						<xs:attribute name="zDim" type="xs:int" />
						<xs:attribute name="bgColour" type="xs:int" />
						<xs:attribute name="scaleFactor" type="xs:float" />
						<xs:attribute name="showLabels" type="xs:boolean" />
						<xs:attribute name="linkToAllViews" type="xs:boolean" />
						<xs:attributeGroup ref="jv:SimilarityParams" />
						<xs:attributeGroup ref="jv:swingwindow" />
					</xs:complexType>
				</xs:element>
				<xs:element name="FeatureSettings" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="setting" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
									    <xs:element name="attributeName" type="xs:string" minOccurs="0" maxOccurs="2">
										    	<xs:annotation>
										    		<xs:documentation>name of feature attribute to colour by, or attribute and sub-attribute</xs:documentation>
										    	</xs:annotation>
									    </xs:element> 
			    			  		   		<xs:element name="matcherSet" minOccurs="0" type="jalview:FeatureMatcherSet">
										    	<xs:annotation>
										    		<xs:documentation>optional filter(s) applied to the feature type</xs:documentation>
										    	</xs:annotation>
										</xs:element>
								  	</xs:sequence>
									<xs:attribute name="type" type="xs:string" use="required" />
									<xs:attribute name="colour" type="xs:int" use="required" />
									<xs:attribute name="display" type="xs:boolean"
										use="required" />
									<xs:attribute name="order" type="xs:float" use="optional" />
									<xs:attribute name="mincolour" type="xs:int" use="optional">
										<xs:annotation>
											<xs:documentation>
												Optional minimum colour
												for graduated
												feature
												colour
											</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="noValueColour" use="optional" type="jalview:NoValueColour" default="Min" />
									<xs:attribute name="threshold" type="xs:float"
										use="optional">
										<xs:annotation>
											<xs:documentation>
												threshold value for
												graduated feature colour
											</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="threshstate" type="xs:int"
										use="optional">
										<xs:annotation>
											<xs:documentation>
												threshold type for
												graduated feature colour
											</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="max" type="xs:float" use="optional" />
									<xs:attribute name="min" type="xs:float" use="optional" />
									<xs:attribute name="colourByLabel" type="xs:boolean"
										use="optional" />
									<xs:attribute name="autoScale" type="xs:boolean"
										use="optional" />
								</xs:complexType>
							</xs:element>
							<xs:element name="group" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:attribute name="name" type="xs:string" use="required" />
									<xs:attribute name="display" type="xs:boolean"
										use="required" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="feature">
		<xs:sequence>
			<xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="key" type="xs:string" use="required" />
					<xs:attribute name="key2" type="xs:string" use="optional">
						<xs:annotation>
							<xs:documentation>key2 may be used for a sub-attribute of key</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="value" type="xs:string" use="required" />
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="begin" type="xs:int" use="required" />
		<xs:attribute name="end" type="xs:int" use="required" />
		<xs:attribute name="type" type="xs:string" use="required" />
		<xs:attribute name="description" type="xs:string" use="optional" />
		<xs:attribute name="status" type="xs:string" use="optional" />
		<xs:attribute name="featureGroup" type="xs:string" use="optional" />
		<xs:attribute name="score" type="xs:float" use="optional" />
	</xs:complexType>
	<xs:complexType name="pdbentry">
		<xs:sequence minOccurs="0" maxOccurs="unbounded">
			<xs:element name="property" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="name" type="xs:string" use="required" />
					<xs:attribute name="value" type="xs:string" use="required" />
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required" />
		<xs:attribute name="type" type="xs:string" use="optional" />
		<xs:attribute name="file" type="xs:string" />
	</xs:complexType>
	<!-- <xs:complexType name="reportWindow"> <xs:annotation> <xs:documentation>Generic 
		type for windows containing mime-typed data associated with other jalview 
		windows</xs:documentation> </xs:annotation> <xs:sequence> </xs:sequence> 
		<xs:attribute name="id" type="xs:string" use="required"/> <xs:attribute name="type" 
		type="xs:string" use="optional"/> <xs:attribute name="file" type="xs:string" 
		use="optional"/> </xs:complexType> -->
	<xs:attributeGroup name="swingwindow">
		<xs:annotation>
			<xs:documentation>
				base attributes for windows displayed in Jalview
				desktop.
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="width" type="xs:int" />
		<xs:attribute name="height" type="xs:int" />
		<xs:attribute name="xpos" type="xs:int" />
		<xs:attribute name="ypos" type="xs:int" />
	</xs:attributeGroup>
	<xs:complexType name="AnnotationColourScheme">
		<xs:attribute name="aboveThreshold" type="xs:int" />
		<xs:attribute name="annotation" type="xs:string" />
		<xs:attribute name="minColour" type="xs:int" />
		<xs:attribute name="maxColour" type="xs:int" />
		<xs:attribute name="colourScheme" type="xs:string" />
		<xs:attribute name="threshold" type="xs:float" />
		<xs:attribute name="perSequence" type="xs:boolean" use="optional" />
		<xs:attribute name="predefinedColours" type="xs:boolean"
			use="optional" />
	</xs:complexType>
	<xs:attributeGroup name="SimilarityParams">
		<xs:annotation>
			<xs:documentation>
				parameters that condition a similarity score calculation
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="includeGaps" type="xs:boolean" />
		<xs:attribute name="matchGaps" type="xs:boolean" />
		<xs:attribute name="includeGappedColumns" type="xs:boolean" />
		<xs:attribute name="denominateByShortestLength" type="xs:boolean" />
	</xs:attributeGroup>
	<xs:attributeGroup name="position">
		<xs:attribute name="xPos" type="xs:float" />
		<xs:attribute name="yPos" type="xs:float" />
		<xs:attribute name="zPos" type="xs:float" />
	</xs:attributeGroup>
	<xs:complexType name="PcaDataType">
		<xs:annotation>
			<xs:documentation>
				The results of a PCA calculation
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="pairwiseMatrix" type="jv:DoubleMatrix" />
			<xs:element name="tridiagonalMatrix" type="jv:DoubleMatrix" />
			<xs:element name="eigenMatrix" type="jv:DoubleMatrix" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DoubleVector">
		<xs:sequence>
			<xs:element name="v" type="xs:double" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DoubleMatrix">
		<xs:sequence>
			<xs:element name="row" type="jv:DoubleVector" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="D" minOccurs="0" type="jv:DoubleVector" />
			<xs:element name="E" minOccurs="0" type="jv:DoubleVector" />
		</xs:sequence>
		<xs:attribute name="rows"  type="xs:int" />
		<xs:attribute name="columns" type="xs:int" />
	</xs:complexType>
</xs:schema>
