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