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