JAL-4356 release notes for JAL-3978 patch
[jalview.git] / schemas / vamsas.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
4  * Copyright (C) $$Year-Rel$$ The Jalview Authors
5  * 
6  * This file is part of Jalview.
7  * 
8  * Jalview is free software: you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License 
10  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
18  * The Jalview Authors are detailed in the 'AUTHORS' file.
19 -->
20 <!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
21 <!-- 
22         Java JAXB binding classes are generated by running command line tool xjc:
23             xjc schemas/jalview.xsd -d src -p jalview.xml.binding.jalview
24         Note this also generates code for included schemas
25 -->
26 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
27         xmlns:vamsas="www.vamsas.ac.uk/jalview/version2"
28         targetNamespace="www.vamsas.ac.uk/jalview/version2"
29         elementFormDefault="qualified" attributeFormDefault="unqualified">
30         <xs:complexType name="VAMSAS">
31                 <xs:sequence>
32                         <xs:element name="Tree" type="xs:string" minOccurs="0"
33                                 maxOccurs="unbounded" />
34                         <xs:element ref="vamsas:SequenceSet" minOccurs="0"
35                                 maxOccurs="unbounded" />
36                 </xs:sequence>
37         </xs:complexType>
38         <xs:complexType name="mapListType">
39                 <xs:annotation>
40                         <xs:documentation>
41                                 developed after mapRangeType from
42                                 http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes
43                         </xs:documentation>
44                         <xs:documentation>
45                                 This effectively represents a java.util.MapList
46                                 object
47                         </xs:documentation>
48                 </xs:annotation>
49                 <xs:sequence>
50                         <xs:element name="mapListFrom" minOccurs="0"
51                                 maxOccurs="unbounded">
52                                 <xs:annotation>
53                                         <xs:documentation> a region from start to end inclusive
54                                         </xs:documentation>
55                                 </xs:annotation>
56                                 <xs:complexType>
57                                         <xs:attribute name="start" type="xs:int"
58                                                 use="required" />
59                                         <xs:attribute name="end" type="xs:int" use="required" />
60                                 </xs:complexType>
61                         </xs:element>
62                         <xs:element name="mapListTo" minOccurs="0"
63                                 maxOccurs="unbounded">
64                                 <xs:annotation>
65                                         <xs:documentation> a region from start to end inclusive
66                                         </xs:documentation>
67                                 </xs:annotation>
68                                 <xs:complexType>
69                                         <xs:attribute name="start" type="xs:int"
70                                                 use="required" />
71                                         <xs:attribute name="end" type="xs:int" use="required" />
72                                 </xs:complexType>
73                         </xs:element>
74                 </xs:sequence>
75                 <xs:attribute name="mapFromUnit"
76                         type="xs:positiveInteger" use="required">
77                         <xs:annotation>
78                                 <xs:documentation>number of dictionary symbol widths involved in
79                                         each
80                                         mapped position on this sequence (for example, 3 for a dna
81                                         sequence exon
82                                         region that is being mapped to a protein sequence).
83                                         This is optional,
84                                         since the unit can be usually be inferred from the
85                                         dictionary type of
86                                         each sequence involved in the mapping.
87                                 </xs:documentation>
88                         </xs:annotation>
89                 </xs:attribute>
90                 <xs:attribute name="mapToUnit" type="xs:positiveInteger"
91                         use="required">
92                         <xs:annotation>
93                                 <xs:documentation>number of dictionary symbol widths involved in
94                                         each
95                                         mapped position on this sequence (for example, 3 for a dna
96                                         sequence exon
97                                         region that is being mapped to a protein sequence).
98                                         This is optional,
99                                         since the unit can be usually be inferred from the
100                                         dictionary type of
101                                         each sequence involved in the mapping.
102                                 </xs:documentation>
103                         </xs:annotation>
104                 </xs:attribute>
105         </xs:complexType>
106         <xs:element name="Mapping">
107                 <xs:complexType>
108                         <xs:annotation>
109                                 <xs:documentation>
110                                         Represent the jalview.datamodel.Mapping object -
111                                         it also provides
112                                         a way of storing sequences that are mapped 'to'
113                                         without adding them
114                                         to the sequence set (which will mean they are
115                                         then added to the alignment too).
116                                 </xs:documentation>
117                         </xs:annotation>
118                         <xs:complexContent>
119                                 <xs:extension base="vamsas:mapListType">
120                                         <xs:sequence>
121                                                 <xs:choice minOccurs="0" maxOccurs="1">
122                                                         <xs:element ref="vamsas:Sequence" />
123                                                         <xs:element name="dseqFor">
124                                                                 <xs:simpleType>
125                                                                         <xs:restriction base="xs:string">
126                                                                                 <xs:annotation>
127                                                                                         <xs:documentation>The sequence whose dataset sequence is to
128                                                                                                 be referenced here
129                                                                                         </xs:documentation>
130                                                                                 </xs:annotation>
131                                                                         </xs:restriction>
132                                                                 </xs:simpleType>
133                                                         </xs:element>
134                                                 </xs:choice>
135                                         </xs:sequence>
136                                         <xs:attribute name="mappingType" type="xs:string"
137                                                 use="optional">
138                                                 <xs:annotation>
139                                                         <xs:documentation>Biotype of the mapping e.g. CdsToPeptide
140                                                         </xs:documentation>
141                                                 </xs:annotation>
142                                         </xs:attribute>
143                                 </xs:extension>
144                         </xs:complexContent>
145                 </xs:complexType>
146         </xs:element>
147         <xs:element name="AlcodonFrame">
148                 <xs:complexType>
149                         <xs:sequence>
150                                 <xs:element name="alcodon" minOccurs="0"
151                                         maxOccurs="unbounded">
152                                         <xs:complexType>
153                                                 <xs:annotation>
154                                                         <xs:documentation>
155                                                                 specifies a series of aligned codons from an
156                                                                 associated DNA sequence alignment that when translated
157                                                                 correspond to columns of a peptide alignment.
158                                                                 Element may have
159                                                                 either all pos1,2,3 attributes specified, or none at all
160                                                                 (indicating a gapped column with no translated peptide).
161                                                         </xs:documentation>
162                                                 </xs:annotation>
163                                                 <xs:attribute name="pos1" type="xs:integer"
164                                                         use="optional" />
165                                                 <xs:attribute name="pos2" type="xs:integer"
166                                                         use="optional" />
167                                                 <xs:attribute name="pos3" type="xs:integer"
168                                                         use="optional" />
169                                         </xs:complexType>
170                                 </xs:element>
171                                 <xs:element name="alcodMap" minOccurs="0"
172                                         maxOccurs="unbounded">
173                                         <xs:complexType>
174                                                 <xs:sequence>
175                                                         <xs:element ref="vamsas:Mapping" maxOccurs="1"
176                                                                 minOccurs="1">
177                                                                 <xs:annotation>
178                                                                         <xs:documentation>
179                                                                                 a Mapping entry and an associated protein
180                                                                                 sequence
181                                                                         </xs:documentation>
182                                                                 </xs:annotation>
183                                                         </xs:element>
184                                                 </xs:sequence>
185                                                 <xs:attribute name="dnasq" type="xs:string"
186                                                         use="required">
187                                                         <xs:annotation>
188                                                                 <xs:documentation>
189                                                                         internal jalview id for the dnasq for this
190                                                                         mapping.
191                                                                 </xs:documentation>
192                                                         </xs:annotation>
193                                                 </xs:attribute>
194                                         </xs:complexType>
195
196                                 </xs:element>
197
198                         </xs:sequence>
199                 </xs:complexType>
200         </xs:element>
201         <xs:element name="Sequence">
202                 <xs:complexType>
203                         <xs:complexContent>
204                                 <xs:extension base="vamsas:SequenceType">
205                                         <xs:sequence>
206                                                 <xs:element name="DBRef" minOccurs="0"
207                                                         maxOccurs="unbounded">
208                                                         <xs:complexType>
209                                                                 <xs:sequence>
210                                                                         <xs:element ref="vamsas:Mapping" minOccurs="0"
211                                                                                 maxOccurs="1" />
212                                                                 </xs:sequence>
213                                                                 <xs:attribute name="source" type="xs:string" />
214                                                                 <xs:attribute name="version" type="xs:string" />
215                                                                 <xs:attribute name="accessionId" type="xs:string" />
216                                                                 <xs:attribute name="locus" type="xs:boolean"
217                                                                         default="false">
218                                                                         <xs:annotation>
219                                                                                 <xs:documentation>
220                                                                                         true for gene locus mapping, source=species,
221                                                                                         version=assembly, accession=chromosome
222                                                                                 </xs:documentation>
223                                                                         </xs:annotation>
224                                                                 </xs:attribute>
225                                                                 <xs:attribute name="canonical" type="xs:boolean"
226                                                                         default="false">
227                                                                         <xs:annotation>
228                                                                                 <xs:documentation>
229                                                                                         true for the representative accession for
230                                                                                         databases where multiple accessions map to the same entry
231                                                                                         (eg. Uniprot)
232                                                                                 </xs:documentation>
233                                                                         </xs:annotation>
234                                                                 </xs:attribute>
235                                                         </xs:complexType>
236                                                 </xs:element>
237                                         </xs:sequence>
238                                         <xs:attribute name="dsseqid" type="xs:string"
239                                                 use="optional">
240                                                 <xs:annotation>
241                                                         <xs:documentation>
242                                                                 dataset sequence id for this sequence. Will be
243                                                                 created as union of sequences.
244                                                         </xs:documentation>
245                                                 </xs:annotation>
246                                         </xs:attribute>
247                                         <xs:attribute name="biotype" type="xs:string"
248                                                 use="optional">
249                                                 <xs:annotation>
250                                                         <xs:documentation>
251                                                                 Biotype of the sequence (if known)
252                                                         </xs:documentation>
253                                                 </xs:annotation>
254                                         </xs:attribute>
255                                 </xs:extension>
256                         </xs:complexContent>
257                 </xs:complexType>
258         </xs:element>
259         <xs:element name="Annotation">
260                 <xs:complexType>
261                         <xs:sequence>
262                                 <xs:element ref="vamsas:annotationElement" minOccurs="0"
263                                         maxOccurs="unbounded" />
264                                 <xs:element name="label" type="xs:string" />
265                                 <xs:element name="description" type="xs:string"
266                                         minOccurs="0" />
267                                 <xs:element name="thresholdLine" minOccurs="0">
268                                         <xs:complexType>
269                                                 <xs:attribute name="label" type="xs:string" />
270                                                 <xs:attribute name="value" type="xs:float" />
271                                                 <xs:attribute name="colour" type="xs:int" />
272                                         </xs:complexType>
273                                 </xs:element>
274                                 <xs:element name="contactmatrix"
275                                         type="vamsas:MapOnAMatrixType" maxOccurs="unbounded" minOccurs="0">
276                                 </xs:element>
277                                 <xs:element name="property" type="vamsas:property"
278                                         minOccurs="0" maxOccurs="unbounded" />
279                         </xs:sequence>
280                         <xs:attribute name="graph" type="xs:boolean"
281                                 use="required" />
282                         <xs:attribute name="graphType" type="xs:int"
283                                 use="optional" />
284                         <xs:attribute name="sequenceRef" type="xs:string"
285                                 use="optional" />
286                         <xs:attribute name="groupRef" type="xs:string"
287                                 use="optional" />
288                         <xs:attribute name="graphColour" type="xs:int"
289                                 use="optional" />
290                         <xs:attribute name="graphGroup" type="xs:int"
291                                 use="optional" />
292                         <xs:attribute name="graphHeight" type="xs:int"
293                                 use="optional">
294                                 <xs:annotation>
295                                         <xs:documentation>height in pixels for the graph if this is a
296                                                 graph-type annotation.
297                                         </xs:documentation>
298                                 </xs:annotation>
299                         </xs:attribute>
300                         <xs:attribute name="id" type="xs:string" use="optional" />
301                         <xs:attribute name="scoreOnly" type="xs:boolean"
302                                 use="optional" default="false" />
303                         <xs:attribute name="score" type="xs:double"
304                                 use="optional" />
305                         <xs:attribute name="visible" type="xs:boolean"
306                                 use="optional" />
307                         <xs:attribute name="centreColLabels" type="xs:boolean"
308                                 use="optional" />
309                         <xs:attribute name="scaleColLabels" type="xs:boolean"
310                                 use="optional" />
311                         <xs:attribute name="showAllColLabels" type="xs:boolean"
312                                 use="optional" />
313
314
315                         <xs:attribute name="autoCalculated" type="xs:boolean"
316                                 use="optional" default="false">
317                                 <xs:annotation>
318                                         <xs:documentation>is an autocalculated annotation row
319                                         </xs:documentation>
320                                 </xs:annotation>
321                         </xs:attribute>
322                         <xs:attribute name="belowAlignment" type="xs:boolean"
323                                 use="optional" default="true">
324                                 <xs:annotation>
325                                         <xs:documentation>is to be shown below the alignment - introduced
326                                                 in Jalview 2.8 for visualizing T-COFFEE alignment scores
327                                         </xs:documentation>
328                                 </xs:annotation>
329                         </xs:attribute>
330                         <xs:attribute name="calcId" type="xs:string"
331                                 use="optional">
332                                 <xs:annotation>
333                                         <xs:documentation>Optional string identifier used to group sets of
334                                                 annotation produced by a particular calculation. Values are opaque
335                                                 strings but have semantic meaning to Jalview's renderer, data
336                                                 importer and calculation system.
337                                         </xs:documentation>
338                                 </xs:annotation>
339                         </xs:attribute>
340                 </xs:complexType>
341         </xs:element>
342         <xs:element name="SequenceSet">
343                 <xs:complexType>
344                         <xs:sequence>
345                                 <xs:element ref="vamsas:Sequence" minOccurs="0"
346                                         maxOccurs="unbounded" />
347                                 <xs:element ref="vamsas:Annotation" minOccurs="0"
348                                         maxOccurs="unbounded" />
349                                 <xs:element name="sequenceSetProperties" minOccurs="0"
350                                         maxOccurs="unbounded">
351                                         <xs:complexType>
352                                                 <xs:attribute name="key" type="xs:string" />
353                                                 <xs:attribute name="value" type="xs:string" />
354                                         </xs:complexType>
355                                 </xs:element>
356                                 <xs:element ref="vamsas:AlcodonFrame" minOccurs="0"
357                                         maxOccurs="unbounded" />
358                                 <xs:element name="Matrix" type="vamsas:MatrixType"
359                                         minOccurs="0" maxOccurs="unbounded">
360                                         <xs:annotation>
361                                                 <xs:documentation>Matrices referred to by this set of sequences.
362                                                 </xs:documentation>
363                                         </xs:annotation>
364                                 </xs:element>
365                         </xs:sequence>
366                         <xs:attribute name="gapChar" type="xs:string"
367                                 use="required" />
368                         <xs:attribute name="datasetId" type="xs:string"
369                                 use="optional">
370                                 <xs:annotation>
371                                         <xs:documentation>
372                                                 reference to set where jalview will gather the
373                                                 dataset sequences for all sequences in the set.
374                                         </xs:documentation>
375                                 </xs:annotation>
376                         </xs:attribute>
377                 </xs:complexType>
378         </xs:element>
379         <xs:element name="annotationElement">
380                 <xs:complexType>
381                         <xs:sequence>
382                                 <xs:element name="displayCharacter" type="xs:string"
383                                         minOccurs="0" />
384                                 <xs:element name="description" type="xs:string"
385                                         minOccurs="0" />
386                                 <xs:element name="secondaryStructure" minOccurs="0">
387                                         <xs:simpleType>
388                                                 <xs:restriction base="xs:string">
389                                                         <xs:length value="1" />
390                                                 </xs:restriction>
391                                         </xs:simpleType>
392                                 </xs:element>
393                                 <xs:element name="value" type="xs:float" minOccurs="0" />
394                         </xs:sequence>
395                         <xs:attribute name="position" type="xs:int"
396                                 use="required" />
397                         <xs:attribute name="colour" type="xs:int" use="optional" />
398                 </xs:complexType>
399         </xs:element>
400         <xs:complexType name="SequenceType">
401                 <xs:sequence>
402                         <xs:element name="sequence" type="xs:string" minOccurs="0" />
403                         <xs:element name="name" type="xs:string" minOccurs="0" />
404                 </xs:sequence>
405                 <xs:attribute name="id" type="xs:string" />
406                 <xs:attribute name="description" type="xs:string" />
407         </xs:complexType>
408         <xs:complexType name="MatrixType">
409                 <xs:annotation>
410                         <xs:documentation>Represents matrix data imported to Jalview, and the
411                                 results of any derived calculations (independent of a particular
412                                 view
413                                 on the matrix).
414                         </xs:documentation>
415                 </xs:annotation>
416                 <xs:sequence>
417                         <xs:element name="elements" type="xs:string" minOccurs="1"
418                                 maxOccurs="1">
419                                 <xs:annotation>
420                                         <xs:documentation>serialised representation of matrix as one or
421                                                 more sets of comma separated values
422                                         </xs:documentation>
423                                 </xs:annotation>
424                         </xs:element>
425                         <xs:element name="groups" type="xs:string" minOccurs="0"
426                                 maxOccurs="unbounded">
427                                 <xs:annotation>
428                                         <xs:documentation>Comma separated series of longs formed from
429                                                 bitsets defining partitions on the rows/columns of the matrix
430                                         </xs:documentation>
431                                 </xs:annotation>
432                         </xs:element>
433                         <xs:element name="newick" type="xs:string" minOccurs="0"
434                                 maxOccurs="unbounded">
435                                 <xs:annotation>
436                                         <xs:documentation>tree computed for this</xs:documentation>
437                                 </xs:annotation>
438                         </xs:element>
439                         <xs:element name="property" type="vamsas:property"
440                                 minOccurs="0" maxOccurs="unbounded" />
441                 </xs:sequence>
442
443                 <xs:attribute name="type" type="xs:string" use="required" />
444                 <xs:attribute name="rows" type="xs:integer"
445                         use="required" />
446                 <xs:attribute name="cols" type="xs:integer"
447                         use="required" />
448                 <xs:attribute name="treeMethod" type="xs:string"
449                         use="optional" />
450                 <xs:attribute name="cutHeight" type="xs:double"
451                         use="optional" />
452                 <xs:attribute name="id" type="xs:string" use="required" />
453
454         </xs:complexType>
455         <xs:complexType name="MapOnAMatrixType">
456                 <xs:annotation>
457                         <xs:documentation>Defines a mapping from the local frame to a matrix
458                                 and its associated data specified by MatrixType
459                         </xs:documentation>
460                 </xs:annotation>
461                 <xs:sequence>
462                         <xs:element name="property" type="vamsas:property"
463                                 minOccurs="0" maxOccurs="unbounded" />
464                         <xs:element name="mapping" type="vamsas:mapListType"
465                                 minOccurs="0" maxOccurs="1">
466                                 <xs:annotation>
467                                         <xs:documentation>mapping from the matrix row and column positions
468                                                 to
469                                                 associated reference frame
470                                         </xs:documentation>
471                                 </xs:annotation>
472                         </xs:element>
473                 </xs:sequence>
474
475                 <xs:attribute name="matrix" type="xs:string"
476                         use="required">
477
478                         <xs:annotation>
479                                 <xs:documentation>reference to the matrix type this Map refers to
480                                 </xs:documentation>
481                         </xs:annotation>
482                 </xs:attribute>
483                 <xs:attribute name="id" type="xs:string" use="optional" />
484         </xs:complexType>
485         <xs:complexType name="property">
486                 <xs:attribute name="name" type="xs:string" />
487                 <xs:attribute name="value" type="xs:string" />
488         </xs:complexType>
489
490
491 </xs:schema>