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