JAL-4020 class reformatting
[jalview.git] / schemas / jalview.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) 
3         * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of 
4         Jalview. * * Jalview is free software: you can redistribute it and/or * modify 
5         it under the terms of the GNU General Public License * as published by the 
6         Free Software Foundation, either version 3 of the License, or (at your option) 
7         any later version. * * Jalview is distributed in the hope that it will be 
8         useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of 
9         MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General 
10         Public License for more details. * * You should have received a copy of the 
11         GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>. 
12         * The Jalview Authors are detailed in the 'AUTHORS' file. -->
13 <!-- 
14         Java JAXB binding classes are generated by running command line tool xjc:
15             xjc schemas/jalview.xsd -d src -p jalview.xml.binding.jalview
16         Note this also generates code for included schemas
17 -->
18 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
19         xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" xmlns:jalview="www.jalview.org/colours"
20         xmlns:jv="www.jalview.org" xmlns:jvws="www.jalview.org/xml/wsparamset"
21         targetNamespace="www.jalview.org" elementFormDefault="qualified"
22         attributeFormDefault="unqualified">
23         <xs:import namespace="www.vamsas.ac.uk/jalview/version2"
24                 schemaLocation="vamsas.xsd" />
25         <xs:import namespace="www.jalview.org/colours"
26                 schemaLocation="JalviewUserColours.xsd" />
27         <xs:import namespace="www.jalview.org/xml/wsparamset"
28                 schemaLocation="JalviewWsParamSet.xsd" />
29         <xs:element name="JalviewModel" type="jv:JalviewModel" />
30         <xs:complexType name="JalviewModel">
31                 <xs:sequence>
32                         <xs:element name="creationDate" type="xs:dateTime" />
33                         <xs:element name="version" type="xs:string" />
34                         <xs:element name="vamsasModel" type="vamsas:VAMSAS" />
35                         <xs:sequence>
36                                 <xs:element name="JSeq" maxOccurs="unbounded" minOccurs="0">
37                                         <xs:complexType>
38                                                 <xs:sequence>
39                                                         <xs:element name="features" type="jv:feature"
40                                                                 minOccurs="0" maxOccurs="unbounded" />
41                                                         <xs:element name="pdbids" minOccurs="0" maxOccurs="unbounded">
42                                                                 <xs:complexType>
43                                                                         <xs:complexContent>
44                                                                                 <xs:extension base="jv:pdbentry">
45                                                                                         <xs:sequence>
46                                                                                                 <xs:element name="structureState" minOccurs="0"
47                                                                                                         maxOccurs="unbounded">
48                                                                                                         <xs:complexType>
49                                                                                                                 <xs:simpleContent>
50                                                                                                                         <xs:extension base="xs:string">
51                                                                                                                                 <xs:attributeGroup ref="jv:swingwindow" />
52                                                                                                                                 <xs:attribute name="visible" type="xs:boolean" />
53                                                                                                                                 <xs:attribute name="viewId" type="xs:string"
54                                                                                                                                         use="optional">
55                                                                                                                                         <xs:annotation>
56                                                                                                                                                 <xs:documentation>
57                                                                                                                                                         additional
58                                                                                                                                                         identifier
59                                                                                                                                                         which
60                                                                                                                                                         properly
61                                                                                                                                                         disambiguates
62                                                                                                                                                         the
63                                                                                                                                                         structure
64                                                                                                                                                         view
65                                                                                                                                                         from
66                                                                                                                                                         any
67                                                                                                                                                         other
68                                                                                                                                                         view
69                                                                                                                                                         with
70                                                                                                                                                         the
71                                                                                                                                                         same
72                                                                                                                                                         attributes.
73                                                                                                                                                         This
74                                                                                                                                                         is
75                                                                                                                                                         not
76                                                                                                                                                         an
77                                                                                                                                                         ID,
78                                                                                                                                                         because
79                                                                                                                                                         it
80                                                                                                                                                         is
81                                                                                                                                                         possible
82                                                                                                                                                         to
83                                                                                                                                                         have
84                                                                                                                                                         many
85                                                                                                                                                         references
86                                                                                                                                                         to
87                                                                                                                                                         the
88                                                                                                                                                         same
89                                                                                                                                                         physical
90                                                                                                                                                         structure
91                                                                                                                                                         view
92                                                                                                                                                         from
93                                                                                                                                                         different
94                                                                                                                                                         sequences
95                                                                                                                                                         in
96                                                                                                                                                         an
97                                                                                                                                                         alignment.
98                                                                                                                                                         A
99                                                                                                                                                         structureState
100                                                                                                                                                         element
101                                                                                                                                                         citing
102                                                                                                                                                         the
103                                                                                                                                                         same
104                                                                                                                                                         viewId
105                                                                                                                                                         will
106                                                                                                                                                         appear
107                                                                                                                                                         for
108                                                                                                                                                         each
109                                                                                                                                                         instance.
110                                                                                                                                                 </xs:documentation>
111                                                                                                                                         </xs:annotation>
112                                                                                                                                 </xs:attribute>
113                                                                                                                                 <xs:attribute name="alignwithAlignPanel"
114                                                                                                                                         type="xs:boolean" use="optional" default="true">
115                                                                                                                                         <xs:annotation>
116                                                                                                                                                 <xs:documentation>
117                                                                                                                                                         Flag
118                                                                                                                                                         set
119                                                                                                                                                         if
120                                                                                                                                                         the
121                                                                                                                                                         alignment
122                                                                                                                                                         panel
123                                                                                                                                                         containing
124                                                                                                                                                         this
125                                                                                                                                                         JSeq
126                                                                                                                                                         should
127                                                                                                                                                         be
128                                                                                                                                                         included
129                                                                                                                                                         in
130                                                                                                                                                         those
131                                                                                                                                                         used
132                                                                                                                                                         to
133                                                                                                                                                         perform
134                                                                                                                                                         a
135                                                                                                                                                         structure
136                                                                                                                                                         superposition
137                                                                                                                                                         (since
138                                                                                                                                                         Jalview
139                                                                                                                                                         2.7).
140                                                                                                                                                 </xs:documentation>
141                                                                                                                                         </xs:annotation>
142                                                                                                                                 </xs:attribute>
143                                                                                                                                 <xs:attribute name="colourwithAlignPanel"
144                                                                                                                                         type="xs:boolean" use="optional" default="false">
145                                                                                                                                         <xs:annotation>
146                                                                                                                                                 <xs:documentation>
147                                                                                                                                                         Flag
148                                                                                                                                                         set
149                                                                                                                                                         if
150                                                                                                                                                         the
151                                                                                                                                                         alignment
152                                                                                                                                                         panel
153                                                                                                                                                         containing
154                                                                                                                                                         this
155                                                                                                                                                         JSeq
156                                                                                                                                                         should
157                                                                                                                                                         be
158                                                                                                                                                         included
159                                                                                                                                                         in
160                                                                                                                                                         those
161                                                                                                                                                         used
162                                                                                                                                                         to
163                                                                                                                                                         colour
164                                                                                                                                                         its
165                                                                                                                                                         associated
166                                                                                                                                                         sequences
167                                                                                                                                                         in
168                                                                                                                                                         this
169                                                                                                                                                         structureState(since
170                                                                                                                                                         Jalview
171                                                                                                                                                         2.7).
172                                                                                                                                                 </xs:documentation>
173                                                                                                                                         </xs:annotation>
174                                                                                                                                 </xs:attribute>
175                                                                                                                                 <xs:attribute name="colourByJmol" type="xs:boolean"
176                                                                                                                                         use="optional" default="true">
177                                                                                                                                         <xs:annotation>
178                                                                                                                                                 <xs:documentation>
179                                                                                                                                                         Flag
180                                                                                                                                                         set
181                                                                                                                                                         if
182                                                                                                                                                         the
183                                                                                                                                                         structure
184                                                                                                                                                         display
185                                                                                                                                                         is
186                                                                                                                                                         coloured
187                                                                                                                                                         by
188                                                                                                                                                         the
189                                                                                                                                                         Jmol
190                                                                                                                                                         state,
191                                                                                                                                                         rather
192                                                                                                                                                         than
193                                                                                                                                                         by
194                                                                                                                                                         one
195                                                                                                                                                         or
196                                                                                                                                                         more
197                                                                                                                                                         linked
198                                                                                                                                                         alignment
199                                                                                                                                                         views.
200                                                                                                                                                 </xs:documentation>
201                                                                                                                                         </xs:annotation>
202                                                                                                                                 </xs:attribute>
203                                                                                                                                 <xs:attribute name="type" type="xs:string"
204                                                                                                                                         use="optional">
205                                                                                                                                         <xs:annotation>
206                                                                                                                                                 <xs:documentation>
207                                                                                                                                                         An
208                                                                                                                                                         identifier
209                                                                                                                                                         for
210                                                                                                                                                         the
211                                                                                                                                                         viewer
212                                                                                                                                                         type,
213                                                                                                                                                         currently
214                                                                                                                                                         either
215                                                                                                                                                         JMOL
216                                                                                                                                                         or
217                                                                                                                                                         CHIMERA
218                                                                                                                                                 </xs:documentation>
219                                                                                                                                         </xs:annotation>
220                                                                                                                                 </xs:attribute>
221
222                                                                                                                         </xs:extension>
223                                                                                                                 </xs:simpleContent>
224                                                                                                         </xs:complexType>
225                                                                                                 </xs:element>
226                                                                                         </xs:sequence>
227                                                                                 </xs:extension>
228                                                                         </xs:complexContent>
229                                                                 </xs:complexType>
230                                                         </xs:element>
231                                                         <xs:element name="hiddenSequences" type="xs:int"
232                                                                 minOccurs="0" maxOccurs="unbounded" />
233                                                         <xs:element name="rnaViewer" minOccurs="0" maxOccurs="unbounded">
234                                                                 <xs:annotation>
235                                                                         <xs:documentation>Reference to a viewer showing RNA structure
236                                                                                 for this sequence. Schema supports one viewer showing multiple
237                                                                                 annotations for multiple sequences, though currently only one
238                                                                                 annotation for one sequence (gapped or trimmed) is used
239                                                                         </xs:documentation>
240                                                                 </xs:annotation>
241                                                                 <xs:complexType>
242                                                                         <xs:sequence>
243                                                                                 <xs:element name="secondaryStructure" minOccurs="1"
244                                                                                         maxOccurs="unbounded">
245                                                                                         <xs:complexType>
246                                                                                                 <xs:attribute name="title" type="xs:string" />
247                                                                                                 <xs:attribute name="annotationId" type="xs:string"
248                                                                                                         use="required">
249                                                                                                         <xs:annotation>
250                                                                                                                 <xs:documentation>id attribute of Annotation in
251                                                                                                                         vamsasModel for
252                                                                                                                         the secondary structure annotation shown
253                                                                                                                         in the viewer
254                                                                                                                 </xs:documentation>
255                                                                                                         </xs:annotation>
256                                                                                                 </xs:attribute>
257                                                                                                 <xs:attribute name="gapped" type="xs:boolean">
258                                                                                                         <xs:annotation>
259                                                                                                                 <xs:documentation>if true the RNA structure is shown with gaps, if false without
260                                                                                                                 </xs:documentation>
261                                                                                                         </xs:annotation>
262                                                                                                 </xs:attribute>
263                                                                                                 <xs:attribute name="viewerState" type="xs:string">
264                                                                                                         <xs:annotation>
265                                                                                                                 <xs:documentation>name of the project jar entry that holds
266                                                                                                                         the VARNA viewer state for the structure
267                                                                                                                 </xs:documentation>
268                                                                                                         </xs:annotation>
269                                                                                                 </xs:attribute>
270                                                                                         </xs:complexType>
271                                                                                 </xs:element>
272                                                                         </xs:sequence>
273                                                                         <xs:attributeGroup ref="jv:swingwindow" />
274                                                                         <xs:attribute name="title" type="xs:string" />
275                                                                         <xs:attribute name="viewId" type="xs:string">
276                                                                                 <xs:annotation>
277                                                                                         <xs:documentation>An id unique to the RNA viewer panel
278                                                                                         </xs:documentation>
279                                                                                 </xs:annotation>
280                                                                         </xs:attribute>
281                                                                         <xs:attribute name="dividerLocation" type="xs:int">
282                                                                                 <xs:annotation>
283                                                                                         <xs:documentation>horizontal position of split pane divider
284                                                                                         </xs:documentation>
285                                                                                 </xs:annotation>
286                                                                         </xs:attribute>
287                                                                         <xs:attribute name="selectedRna" type="xs:int">
288                                                                                 <xs:annotation>
289                                                                                         <xs:documentation>Index of the selected structure in the
290                                                                                                 viewer panel
291                                                                                         </xs:documentation>
292                                                                                 </xs:annotation>
293                                                                         </xs:attribute>
294                                                                 </xs:complexType>
295                                                         </xs:element>
296                                                 </xs:sequence>
297                                                 <xs:attribute name="colour" type="xs:int" use="optional" />
298                                                 <xs:attribute name="start" type="xs:int" use="required" />
299                                                 <xs:attribute name="end" type="xs:int" use="required" />
300                                                 <xs:attribute name="id" type="xs:string" use="required" />
301                                                 <xs:attribute name="hidden" type="xs:boolean" />
302                                                 <xs:attribute name="viewreference" type="xs:boolean" use="optional"/>
303                                         </xs:complexType>
304                                 </xs:element>
305                                 <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">
306                                         <xs:complexType>
307                                                 <xs:sequence>
308                                                         <xs:element name="seq" type="xs:string" maxOccurs="unbounded" />
309                                                         <xs:element name="annotationColours" type="jv:AnnotationColourScheme"
310                                                                 minOccurs="0" maxOccurs="1" />
311                                                 </xs:sequence>
312                                                 <xs:attribute name="start" type="xs:int" />
313                                                 <xs:attribute name="end" type="xs:int" />
314                                                 <xs:attribute name="name" type="xs:string" />
315                                                 <xs:attribute name="colour" type="xs:string" />
316                                                 <xs:attribute name="consThreshold" type="xs:int" />
317                                                 <xs:attribute name="pidThreshold" type="xs:int" />
318                                                 <xs:attribute name="outlineColour" type="xs:int" />
319                                                 <xs:attribute name="displayBoxes" type="xs:boolean" />
320                                                 <xs:attribute name="displayText" type="xs:boolean" />
321                                                 <xs:attribute name="colourText" type="xs:boolean" />
322                                                 <xs:attribute name="textCol1" type="xs:int" />
323                                                 <xs:attribute name="textCol2" type="xs:int" />
324                                                 <xs:attribute name="textColThreshold" type="xs:int" />
325                                                 <xs:attribute name="showUnconserved" type="xs:boolean"
326                                                         use="optional" />
327                                                 <xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
328                                                         use="optional" default="true" />
329                                                 <xs:attribute name="showConsensusHistogram" type="xs:boolean"
330                                                         use="optional" default="true" />
331                                                 <xs:attribute name="showSequenceLogo" type="xs:boolean"
332                                                         use="optional" default="false" />
333                                                 <xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
334                                                         use="optional" default="false" />
335                                                 <xs:attribute name="id" type="xs:string" use="optional">
336                                                         <xs:annotation>
337                                                                 <xs:documentation>
338                                                                         Optional sequence group ID (only
339                                                                         needs to be
340                                                                         unique for this
341                                                                         alignment)
342                                                                 </xs:documentation>
343                                                         </xs:annotation>
344                                                 </xs:attribute>
345                                         </xs:complexType>
346                                 </xs:element>
347                                 <xs:element name="Viewport" maxOccurs="unbounded"
348                                         minOccurs="0">
349                                         <xs:complexType>
350                                                 <xs:sequence>
351                                                         <xs:element name="AnnotationColours" type="jv:AnnotationColourScheme"
352                                                                 minOccurs="0" maxOccurs="1">
353                                                         </xs:element>
354                                                         <xs:element name="hiddenColumns" minOccurs="0"
355                                                                 maxOccurs="unbounded">
356                                                                 <xs:complexType>
357                                                                         <xs:attribute name="start" type="xs:int" />
358                                                                         <xs:attribute name="end" type="xs:int" />
359                                                                 </xs:complexType>
360                                                         </xs:element>
361                                                         <xs:element name="calcIdParam" minOccurs="0"
362                                                                 maxOccurs="unbounded">
363                                                                 <xs:complexType>
364                                                                         <xs:complexContent>
365                                                                                 <xs:extension base="jvws:WebServiceParameterSet">
366                                                                                         <xs:attribute name="calcId" type="xs:string"
367                                                                                                 use="required">
368                                                                                                 <xs:annotation>
369                                                                                                         <xs:documentation>handle for the calculation which uses
370                                                                                                                 this parameter set
371                                                                                                         </xs:documentation>
372                                                                                                 </xs:annotation>
373                                                                                         </xs:attribute>
374                                                                                         <xs:attribute name="needsUpdate" type="xs:boolean"
375                                                                                                 use="optional" default="false">
376                                                                                                 <xs:annotation>
377                                                                                                         <xs:documentation>should the calculation be performed
378                                                                                                                 immediately after loading in order to refresh results
379                                                                                                         </xs:documentation>
380                                                                                                 </xs:annotation>
381                                                                                         </xs:attribute>
382                                                                                         <xs:attribute name="autoUpdate" type="xs:boolean"
383                                                                                                 use="required">
384                                                                                                 <xs:annotation>
385                                                                                                         <xs:documentation>should the calculation be automatically
386                                                                                                                 performed on edits
387                                                                                                         </xs:documentation>
388                                                                                                 </xs:annotation>
389                                                                                         </xs:attribute>
390                                                                                 </xs:extension>
391                                                                         </xs:complexContent>
392                                                                 </xs:complexType>
393                                                         </xs:element>
394                                                 </xs:sequence>
395                                                 <xs:attributeGroup ref="jv:swingwindow" />
396                                                 <xs:attribute name="conservationSelected" type="xs:boolean" />
397                                                 <xs:attribute name="pidSelected" type="xs:boolean" />
398                                                 <xs:attribute name="bgColour" type="xs:string" />
399                                                 <xs:attribute name="consThreshold" type="xs:int" />
400                                                 <xs:attribute name="pidThreshold" type="xs:int" />
401                                                 <xs:attribute name="title" type="xs:string" />
402                                                 <xs:attribute name="showFullId" type="xs:boolean" />
403                                                 <xs:attribute name="rightAlignIds" type="xs:boolean" />
404                                                 <xs:attribute name="showText" type="xs:boolean" />
405                                                 <xs:attribute name="showColourText" type="xs:boolean" />
406                                                 <xs:attribute name="showUnconserved" type="xs:boolean"
407                                                         use="optional" default="false" />
408                                                 <xs:attribute name="showBoxes" type="xs:boolean" />
409                                                 <xs:attribute name="wrapAlignment" type="xs:boolean" />
410                                                 <xs:attribute name="renderGaps" type="xs:boolean" />
411                                                 <xs:attribute name="showSequenceFeatures" type="xs:boolean" />
412                                                 <xs:attribute name="showNPfeatureTooltip" type="xs:boolean"
413                                                         use="optional" />
414                                                 <xs:attribute name="showDbRefTooltip" type="xs:boolean"
415                                                         use="optional" />
416                                                 <xs:attribute name="followHighlight" type="xs:boolean"
417                                                         use="optional" default="true" />
418                                                 <xs:attribute name="followSelection" type="xs:boolean"
419                                                         use="optional" default="true" />
420                                                 <xs:attribute name="showAnnotation" type="xs:boolean" />
421                                                 <xs:attribute name="centreColumnLabels" type="xs:boolean"
422                                                         use="optional" default="false" />
423                                                 <xs:attribute name="showGroupConservation" type="xs:boolean"
424                                                         use="optional" default="false" />
425                                                 <xs:attribute name="showGroupConsensus" type="xs:boolean"
426                                                         use="optional" default="false" />
427                                                 <xs:attribute name="showConsensusHistogram" type="xs:boolean"
428                                                         use="optional" default="true" />
429                                                 <xs:attribute name="showSequenceLogo" type="xs:boolean"
430                                                         use="optional" default="false" />
431                                                 <xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
432                                                         use="optional" default="false" />
433                                                 <xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
434                                                         use="optional" default="true" />
435                                                 <xs:attribute name="startRes" type="xs:int" />
436                                                 <xs:attribute name="startSeq" type="xs:int" />
437                                                 <xs:attribute name="fontName" type="xs:string" />
438                                                 <xs:attribute name="fontSize" type="xs:int" />
439                                                 <xs:attribute name="fontStyle" type="xs:int" />
440                                                 <xs:attribute name="scaleProteinAsCdna" type="xs:boolean" use="optional" default="true" />
441                                                 <xs:attribute name="viewName" type="xs:string" />
442                                                 <xs:attribute name="sequenceSetId" type="xs:string" />
443                                                 <xs:attribute name="gatheredViews" type="xs:boolean" />
444                                                 <xs:attribute name="textCol1" type="xs:int" />
445                                                 <xs:attribute name="textCol2" type="xs:int" />
446                                                 <xs:attribute name="textColThreshold" type="xs:int" />
447                                                 <xs:attribute name="id" type="xs:ID" use="optional">
448                                                         <xs:annotation>
449                                                                 <xs:documentation>
450                                                                         unique id used by jalview to
451                                                                         synchronize
452                                                                         between stored and
453                                                                         instantiated views
454                                                                 </xs:documentation>
455                                                         </xs:annotation>
456                                                 </xs:attribute>
457                                                 <xs:attribute name="complementId" type="xs:string"
458                                                         use="optional">
459                                                         <xs:annotation>
460                                                                 <xs:documentation>
461                                                                         The viewport id of this viewport's
462                                                                         (cdna/protein) coding complement, if any
463                                                                 </xs:documentation>
464                                                         </xs:annotation>
465                                                 </xs:attribute>
466                                                 <xs:attribute name="showComplementFeatures" type="xs:boolean" use="optional" default="false" />
467                                                 <xs:attribute name="showComplementFeaturesOnTop" type="xs:boolean" use="optional" default="false" />
468                                         </xs:complexType>
469                                 </xs:element>
470                                 <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">
471                                         <xs:complexType>
472                                                 <xs:sequence>
473                                                         <xs:element name="UserColourScheme" type="jalview:JalviewUserColours" />
474                                                 </xs:sequence>
475                                                 <xs:attribute name="id" type="xs:string" />
476                                         </xs:complexType>
477                                 </xs:element>
478                                 <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">
479                                         <xs:complexType>
480                                                 <xs:sequence minOccurs="0">
481                                                         <xs:element name="title" type="xs:string" />
482                                                         <xs:element name="newick" type="xs:string" />
483                                                 </xs:sequence>
484                                                 <xs:attribute name="fontName" type="xs:string" />
485                                                 <xs:attribute name="fontSize" type="xs:int" />
486                                                 <xs:attribute name="fontStyle" type="xs:int" />
487                                                 <xs:attribute name="threshold" type="xs:float" />
488                                                 <xs:attribute name="showBootstrap" type="xs:boolean" />
489                                                 <xs:attribute name="showDistances" type="xs:boolean" />
490                                                 <xs:attribute name="markUnlinked" type="xs:boolean" />
491                                                 <xs:attribute name="fitToWindow" type="xs:boolean" />
492                                                 <xs:attribute name="currentTree" type="xs:boolean" />
493                                                 <xs:attribute name="id" type="xs:ID" use="optional">
494                                                         <xs:annotation>
495                                                                 <xs:documentation>
496                                                                         Tree ID added for binding tree
497                                                                         visualization
498                                                                         settings to vamsas
499                                                                         document trees in jalview 2.4.1
500                                                                 </xs:documentation>
501                                                         </xs:annotation>
502                                                 </xs:attribute>
503                                                 <xs:attributeGroup ref="jv:swingwindow" />
504                                                 <xs:attribute name="linkToAllViews" use="optional" default="false" type="xs:boolean" />
505                                         </xs:complexType>
506                                 </xs:element>
507                                 <xs:element name="PcaViewer" minOccurs="0" maxOccurs="unbounded">
508                                         <xs:complexType>
509                                                 <xs:sequence>
510                                                         <xs:element name="sequencePoint" minOccurs="1" maxOccurs="unbounded">
511                                                                 <xs:complexType>
512                                                                         <xs:attribute name="sequenceRef" type="xs:string" />
513                                                                         <xs:attributeGroup ref="jv:position" />
514                                                                 </xs:complexType>
515                                                         </xs:element>
516                                                         <xs:element name="axis" minOccurs="3" maxOccurs="3">
517                                                                 <xs:annotation>
518                                                                         <xs:documentation>
519                                                                                 endpoints of X, Y and Z axes in that order
520                                                                         </xs:documentation>
521                                                                 </xs:annotation>
522                                                                 <xs:complexType>
523                                                                         <xs:attributeGroup ref="jv:position" />
524                                                                 </xs:complexType>
525                                                         </xs:element>
526                                                         <xs:element name="seqPointMin">
527                                                                 <xs:complexType>
528                                                                         <xs:attributeGroup ref="jv:position" />
529                                                                 </xs:complexType>
530                                                         </xs:element>
531                                                         <xs:element name="seqPointMax">
532                                                                 <xs:complexType>
533                                                                         <xs:attributeGroup ref="jv:position" />
534                                                                 </xs:complexType>
535                                                         </xs:element>
536                                                         <xs:element name="pcaData" type="jv:PcaDataType" />
537                                                 </xs:sequence>
538                                                 <xs:attribute name="title" type="xs:string" />
539                                                 <xs:attribute name="scoreModelName" type="xs:string" />
540                                                 <xs:attribute name="xDim" type="xs:int" />
541                                                 <xs:attribute name="yDim" type="xs:int" />
542                                                 <xs:attribute name="zDim" type="xs:int" />
543                                                 <xs:attribute name="bgColour" type="xs:int" />
544                                                 <xs:attribute name="scaleFactor" type="xs:float" />
545                                                 <xs:attribute name="showLabels" type="xs:boolean" />
546                                                 <xs:attribute name="linkToAllViews" type="xs:boolean" />
547                                                 <xs:attributeGroup ref="jv:SimilarityParams" />
548                                                 <xs:attributeGroup ref="jv:swingwindow" />
549                                         </xs:complexType>
550                                 </xs:element>
551                                 <xs:element name="FeatureSettings" minOccurs="0">
552                                         <xs:complexType>
553                                                 <xs:sequence>
554                                                         <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">
555                                                                 <xs:complexType>
556                                                                         <xs:sequence>
557                                                                             <xs:element name="attributeName" type="xs:string" minOccurs="0" maxOccurs="2">
558                                                                                         <xs:annotation>
559                                                                                                 <xs:documentation>name of feature attribute to colour by, or attribute and sub-attribute</xs:documentation>
560                                                                                         </xs:annotation>
561                                                                             </xs:element> 
562                                                                                 <xs:element name="matcherSet" minOccurs="0" type="jalview:FeatureMatcherSet">
563                                                                                         <xs:annotation>
564                                                                                                 <xs:documentation>optional filter(s) applied to the feature type</xs:documentation>
565                                                                                         </xs:annotation>
566                                                                                 </xs:element>
567                                                                         </xs:sequence>
568                                                                         <xs:attribute name="type" type="xs:string" use="required" />
569                                                                         <xs:attribute name="colour" type="xs:int" use="required" />
570                                                                         <xs:attribute name="display" type="xs:boolean"
571                                                                                 use="required" />
572                                                                         <xs:attribute name="order" type="xs:float" use="optional" />
573                                                                         <xs:attribute name="mincolour" type="xs:int" use="optional">
574                                                                                 <xs:annotation>
575                                                                                         <xs:documentation>
576                                                                                                 Optional minimum colour
577                                                                                                 for graduated
578                                                                                                 feature
579                                                                                                 colour
580                                                                                         </xs:documentation>
581                                                                                 </xs:annotation>
582                                                                         </xs:attribute>
583                                                                         <xs:attribute name="noValueColour" use="optional" type="jalview:NoValueColour" default="Min" />
584                                                                         <xs:attribute name="threshold" type="xs:float"
585                                                                                 use="optional">
586                                                                                 <xs:annotation>
587                                                                                         <xs:documentation>
588                                                                                                 threshold value for
589                                                                                                 graduated feature colour
590                                                                                         </xs:documentation>
591                                                                                 </xs:annotation>
592                                                                         </xs:attribute>
593                                                                         <xs:attribute name="threshstate" type="xs:int"
594                                                                                 use="optional">
595                                                                                 <xs:annotation>
596                                                                                         <xs:documentation>
597                                                                                                 threshold type for
598                                                                                                 graduated feature colour
599                                                                                         </xs:documentation>
600                                                                                 </xs:annotation>
601                                                                         </xs:attribute>
602                                                                         <xs:attribute name="max" type="xs:float" use="optional" />
603                                                                         <xs:attribute name="min" type="xs:float" use="optional" />
604                                                                         <xs:attribute name="colourByLabel" type="xs:boolean"
605                                                                                 use="optional" />
606                                                                         <xs:attribute name="autoScale" type="xs:boolean"
607                                                                                 use="optional" />
608                                                                 </xs:complexType>
609                                                         </xs:element>
610                                                         <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
611                                                                 <xs:complexType>
612                                                                         <xs:attribute name="name" type="xs:string" use="required" />
613                                                                         <xs:attribute name="display" type="xs:boolean"
614                                                                                 use="required" />
615                                                                 </xs:complexType>
616                                                         </xs:element>
617                                                 </xs:sequence>
618                                         </xs:complexType>
619                                 </xs:element>
620                         </xs:sequence>
621                 </xs:sequence>
622         </xs:complexType>
623         <xs:complexType name="feature">
624                 <xs:sequence>
625                         <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">
626                                 <xs:complexType>
627                                         <xs:attribute name="key" type="xs:string" use="required" />
628                                         <xs:attribute name="key2" type="xs:string" use="optional">
629                                                 <xs:annotation>
630                                                         <xs:documentation>key2 may be used for a sub-attribute of key</xs:documentation>
631                                                 </xs:annotation>
632                                         </xs:attribute>
633                                         <xs:attribute name="value" type="xs:string" use="required" />
634                                 </xs:complexType>
635                         </xs:element>
636                 </xs:sequence>
637                 <xs:attribute name="begin" type="xs:int" use="required" />
638                 <xs:attribute name="end" type="xs:int" use="required" />
639                 <xs:attribute name="type" type="xs:string" use="required" />
640                 <xs:attribute name="description" type="xs:string" use="optional" />
641                 <xs:attribute name="status" type="xs:string" use="optional" />
642                 <xs:attribute name="featureGroup" type="xs:string" use="optional" />
643                 <xs:attribute name="score" type="xs:float" use="optional" />
644         </xs:complexType>
645         <xs:complexType name="pdbentry">
646                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
647                         <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
648                                 <xs:complexType>
649                                         <xs:attribute name="name" type="xs:string" use="required" />
650                                         <xs:attribute name="value" type="xs:string" use="required" />
651                                 </xs:complexType>
652                         </xs:element>
653                 </xs:sequence>
654                 <xs:attribute name="id" type="xs:string" use="required" />
655                 <xs:attribute name="type" type="xs:string" use="optional" />
656                 <xs:attribute name="file" type="xs:string" />
657         </xs:complexType>
658         <!-- <xs:complexType name="reportWindow"> <xs:annotation> <xs:documentation>Generic 
659                 type for windows containing mime-typed data associated with other jalview 
660                 windows</xs:documentation> </xs:annotation> <xs:sequence> </xs:sequence> 
661                 <xs:attribute name="id" type="xs:string" use="required"/> <xs:attribute name="type" 
662                 type="xs:string" use="optional"/> <xs:attribute name="file" type="xs:string" 
663                 use="optional"/> </xs:complexType> -->
664         <xs:attributeGroup name="swingwindow">
665                 <xs:annotation>
666                         <xs:documentation>
667                                 base attributes for windows displayed in Jalview
668                                 desktop.
669                         </xs:documentation>
670                 </xs:annotation>
671                 <xs:attribute name="width" type="xs:int" />
672                 <xs:attribute name="height" type="xs:int" />
673                 <xs:attribute name="xpos" type="xs:int" />
674                 <xs:attribute name="ypos" type="xs:int" />
675         </xs:attributeGroup>
676         <xs:complexType name="AnnotationColourScheme">
677                 <xs:attribute name="aboveThreshold" type="xs:int" />
678                 <xs:attribute name="annotation" type="xs:string" />
679                 <xs:attribute name="minColour" type="xs:int" />
680                 <xs:attribute name="maxColour" type="xs:int" />
681                 <xs:attribute name="colourScheme" type="xs:string" />
682                 <xs:attribute name="threshold" type="xs:float" />
683                 <xs:attribute name="perSequence" type="xs:boolean" use="optional" />
684                 <xs:attribute name="predefinedColours" type="xs:boolean"
685                         use="optional" />
686         </xs:complexType>
687         <xs:attributeGroup name="SimilarityParams">
688                 <xs:annotation>
689                         <xs:documentation>
690                                 parameters that condition a similarity score calculation
691                         </xs:documentation>
692                 </xs:annotation>
693                 <xs:attribute name="includeGaps" type="xs:boolean" />
694                 <xs:attribute name="matchGaps" type="xs:boolean" />
695                 <xs:attribute name="includeGappedColumns" type="xs:boolean" />
696                 <xs:attribute name="denominateByShortestLength" type="xs:boolean" />
697         </xs:attributeGroup>
698         <xs:attributeGroup name="position">
699                 <xs:attribute name="xPos" type="xs:float" />
700                 <xs:attribute name="yPos" type="xs:float" />
701                 <xs:attribute name="zPos" type="xs:float" />
702         </xs:attributeGroup>
703         <xs:complexType name="PcaDataType">
704                 <xs:annotation>
705                         <xs:documentation>
706                                 The results of a PCA calculation
707                         </xs:documentation>
708                 </xs:annotation>
709                 <xs:sequence>
710                         <xs:element name="pairwiseMatrix" type="jv:DoubleMatrix" />
711                         <xs:element name="tridiagonalMatrix" type="jv:DoubleMatrix" />
712                         <xs:element name="eigenMatrix" type="jv:DoubleMatrix" />
713                 </xs:sequence>
714         </xs:complexType>
715         <xs:complexType name="DoubleVector">
716                 <xs:sequence>
717                         <xs:element name="v" type="xs:double" minOccurs="0" maxOccurs="unbounded" />
718                 </xs:sequence>
719         </xs:complexType>
720         <xs:complexType name="DoubleMatrix">
721                 <xs:sequence>
722                         <xs:element name="row" type="jv:DoubleVector" minOccurs="0" maxOccurs="unbounded" />
723                         <xs:element name="D" minOccurs="0" type="jv:DoubleVector" />
724                         <xs:element name="E" minOccurs="0" type="jv:DoubleVector" />
725                 </xs:sequence>
726                 <xs:attribute name="rows"  type="xs:int" />
727                 <xs:attribute name="columns" type="xs:int" />
728         </xs:complexType>
729 </xs:schema>