1 <?xml version="1.0" encoding="UTF-8"?>
3 * This file is part of the Vamsas Client version 0.2.
4 * Copyright 2010 by Jim Procter, Iain Milne, Pierre Marguerite,
5 * Andrew Waterhouse and Dominik Lindner.
7 * Earlier versions have also been incorporated into Jalview version 2.4
8 * since 2008, and TOPALi version 2 since 2007.
10 * The Vamsas Client is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU Lesser General Public License as published by
12 * the Free Software Foundation, either version 3 of the License, or
13 * (at your option) any later version.
15 * The Vamsas Client is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public License
21 * along with the Vamsas Client. If not, see <http://www.gnu.org/licenses/>.
23 <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by MSD (EMBL OUTSTATION THE EBI WELLCOME TRUST GENOME CAMPUS) -->
24 <!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
25 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
26 xmlns:vamsas="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes"
27 targetNamespace="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes" elementFormDefault="qualified"
28 attributeFormDefault="unqualified">
30 <xs:documentation> Vorba ID - Vamsas Object Request Broker Address ID (name needs to be
31 worked on): Suggest it could be of the form documentRoot/datasetName/SequenceUID for a
32 dataset sequence. Alignment sequence: documentRoot/datasetName/AlignmentId/SequenceUID
33 for an aligned form of a dataset sequence </xs:documentation>
35 <xs:element name="VAMSAS">
37 <xs:documentation> contains unassociated trees and a number of analysis sets
42 <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
43 <xs:element ref="vamsas:DataSet" minOccurs="0" maxOccurs="unbounded"/>
45 <xs:attribute name="id" type="xs:ID" use="optional">
47 <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
50 <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
54 <xs:documentation> Properties. Generally, these are mutable so an application should check
55 them each time. This may change depending on the context of the property
58 <xs:element name="Tree">
61 <xs:documentation> Contains a named collection of trees </xs:documentation>
62 <xs:documentation> TODO: define way of referencing leaves of global tree for any
63 sequence/alignment object. SUggestion 1: Each named tree leafnode has a unique
64 id (which may be unique in combination with trees own vorba ID). Dataset
65 sequences can be tagged with a property "vamsas:tree_leaf" </xs:documentation>
68 <xs:element name="title" type="xs:string" minOccurs="0"/>
69 <xs:element name="newick" maxOccurs="unbounded">
72 <xs:extension base="xs:string">
73 <xs:attribute name="title" type="xs:string" use="optional"/>
74 <xs:attribute name="id" type="xs:ID" use="optional">
76 <xs:documentation> Primary Key for vamsas object referencing
80 <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
85 <xs:element name="treenode" minOccurs="0" maxOccurs="unbounded">
87 <xs:documentation> node identity and mapping data between tree
88 representations and vamsas document objects </xs:documentation>
92 <xs:extension base="vamsas:nodeType">
93 <xs:attribute name="treeId" type="xs:IDREFS">
95 <xs:documentation> reference to one or more trees containing
96 the node being described. </xs:documentation>
99 <xs:attribute name="nodespec" type="xs:string">
101 <xs:documentation> String uniquely identifying a particular
102 node in the referenced tree according to the format of
103 the tree representation that is referenced.
112 <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
113 <xs:element ref="vamsas:Provenance"/>
115 <xs:attribute name="id" type="xs:ID" use="optional">
117 <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
120 <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
123 <xs:complexType name="referenceType">
125 <xs:documentation> base type for citing arbitrary links between vamsas objects
129 <xs:extension base="xs:string">
131 <xs:documentation> Optional human readable description of the relationship
134 <xs:attribute name="id" type="xs:ID" use="optional">
136 <xs:documentation> Primary Key for vamsas object referencing
140 <xs:attribute name="refs" type="xs:IDREFS">
142 <xs:documentation>List of one or more vamsas object
143 references</xs:documentation>
149 <xs:complexType name="nodeType">
151 <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1">
153 <xs:documentation>Short name for this node</xs:documentation>
156 <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1">
158 <xs:documentation>Descriptive text for this node</xs:documentation>
161 <xs:element name="vref" type="vamsas:referenceType" minOccurs="0" maxOccurs="unbounded">
163 <xs:documentation>Direct associations between this node and any vamsas
164 objects</xs:documentation>
167 <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
169 <xs:attribute name="id" type="xs:ID" use="optional">
171 <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
174 <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
176 <xs:element name="property">
180 <xs:documentation> Named and typed property string </xs:documentation>
182 <xs:extension base="xs:string">
183 <xs:attribute name="name" type="xs:string" use="required"/>
184 <xs:attribute name="type" type="xs:string" use="required">
186 <xs:documentation> The type specifies how the property will be parsed.
187 Empty property strings are allowed, and can be used to prototype the
188 input to a document. TODO: specify allowed types </xs:documentation>
195 <xs:element name="link">
198 <xs:documentation> Primitive labelled URI object </xs:documentation>
201 <xs:extension base="xs:string">
202 <xs:attribute name="href" type="xs:anyURI">
204 <xs:documentation>The URI</xs:documentation>
211 <xs:complexType name="rangeType" abstract="true">
213 <xs:documentation> Specify an ordered set of positions and/or regions on the principle
214 dimension of some associated vamsas object </xs:documentation>
215 <xs:documentation> Keeping to jaxb-1.0 specification for the moment - this choice should
216 become a substitution group when we use jaxb-2.0 capable bindings
220 <xs:element name="pos" maxOccurs="unbounded">
222 <xs:documentation> a position within the associated object's coordinate system
226 <xs:attribute name="i" type="xs:int" use="required"/>
229 <xs:element name="seg" maxOccurs="unbounded">
231 <xs:documentation> a region from start to end, with flag for inclusivity of
232 terminii </xs:documentation>
235 <xs:attribute name="start" type="xs:int" use="required"/>
236 <xs:attribute name="end" type="xs:int" use="required"/>
237 <xs:attribute name="inclusive" type="xs:boolean" use="required">
239 <xs:documentation> when false, a consecutive range like 'start=1, end=2'
240 means the region lying after position 1 and before position 2
247 <!-- Do we really need this - a position could be just a seg with start=end and inclusive=true -->
249 <xs:complexType name="rangeAnnotation">
251 <xs:documentation> Annotation for a rangeSpec - values can be attached for the whole
252 specification, and to each position within the spec. following the orientation
253 specified by the ordered set of rangeSpec (pos, seg) elements. </xs:documentation>
256 <xs:extension base="vamsas:rangeType">
258 <xs:element name="label" type="xs:string" minOccurs="0">
260 <xs:documentation> Short, meaningful name for the annotation - if this
261 is absent, then the type string should be used in its place.
265 <xs:element name="description" type="xs:string" minOccurs="0">
267 <xs:documentation> Human readable description of the annotation
271 <xs:element name="status" type="xs:string" minOccurs="0">
273 <xs:documentation> TODO: specify this - we have considered taking the GO
274 evidence codes as a model for assessing a measure of quality to an
275 annotation. </xs:documentation>
278 <xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded">
280 <xs:documentation> Annotation Element position maps to ordered positions
281 defined by the sequence of rangeType pos positions or concatenated
282 seg start/end segments. </xs:documentation>
285 <xs:element name="score" minOccurs="0" maxOccurs="unbounded">
287 <xs:documentation> Ordered set of optionally named float values for the
288 whole annotation </xs:documentation>
292 <xs:extension base="xs:float">
293 <xs:attribute name="name" type="xs:string" use="optional"
299 <xs:element ref="vamsas:link" minOccurs="0" maxOccurs="unbounded"/>
300 <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
302 <xs:documentation> Note:These are mutable so an application should check
303 them each time. </xs:documentation>
307 <xs:attribute name="id" type="xs:ID" use="optional">
309 <xs:documentation> Primary Key for vamsas object referencing
313 <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
314 <xs:attribute name="group" type="xs:string" use="optional" default="">
316 <xs:documentation> Annotation with the same non-empty group name are grouped
317 together </xs:documentation>
320 <xs:attribute name="type" type="xs:string" use="required">
322 <xs:documentation> A Das Feature has both a type and a Type ID. We go the
323 route of requiring the type string to be taken from a controlled
324 vocabulary if an application expects others to make sense of it. The
325 type may qualified - so uniprot:CHAIN is a valid type name, and
326 considered distinct from someotherDB:CHAIN </xs:documentation>
332 <xs:element name="param">
335 <xs:documentation> Specifies a named and typed value used to perform some data
336 transformation. </xs:documentation>
337 <xs:documentation> LATER: experiment with xml validation of property set prototypes
338 for services </xs:documentation>
342 <xs:documentation> Named and typed property string </xs:documentation>
344 <xs:extension base="xs:string">
345 <xs:attribute name="name" type="xs:string" use="required"/>
346 <xs:attribute name="type" type="xs:string" use="required">
348 <xs:documentation> The type specifies how the property will be parsed.
349 Empty property strings are allowed, and can be used to prototype the
350 input to a document. TODO: specify allowed types </xs:documentation>
357 <xs:element name="input">
360 <xs:documentation> Selects all or part of a collection of vamsas objects as a named
361 input to some transformation process. Many inputs with the same name imply a
362 group input (such as a collection of sequences) </xs:documentation>
365 <xs:extension base="vamsas:rangeType">
366 <xs:attribute name="name" type="xs:string" use="required"/>
367 <xs:attribute name="objRef" type="xs:IDREFS" use="optional">
369 <xs:documentation> Reference Frame for rangeType specfication
377 <xs:element name="Provenance">
380 <xs:documentation> Defines the origin and series of operations applied directly to
381 the object that references it. </xs:documentation>
384 <xs:element name="entry" maxOccurs="unbounded">
387 <xs:element name="User" type="xs:string">
389 <xs:documentation> Who </xs:documentation>
392 <xs:element name="App" type="xs:string">
394 <xs:documentation> With which application </xs:documentation>
397 <xs:element name="Action" type="xs:string">
399 <xs:documentation> Did what </xs:documentation>
402 <xs:element name="Date" type="xs:dateTime">
404 <xs:documentation> When</xs:documentation>
407 <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
409 <xs:documentation> additional information </xs:documentation>
412 <xs:element ref="vamsas:param" minOccurs="0" maxOccurs="unbounded">
414 <xs:documentation> parameter for the action </xs:documentation>
417 <xs:element ref="vamsas:input" minOccurs="0" maxOccurs="unbounded">
419 <xs:documentation> bioinformatic objects input to action
424 <xs:attribute name="id" type="xs:ID" use="optional">
426 <xs:documentation> Primary Key for vamsas object referencing
435 <xs:element name="DataSet">
438 <xs:documentation> A collection of sequences, alignments, trees and other things. </xs:documentation>
439 <xs:documentation> TODO: Add a title field and properties for programs that can
440 present the user with different distinct datasets For the moment, the program
441 just presents them as a list and perhaps lets the user work out which dataset it
442 wants based on the alignments that it contains. (Dominik and Jim 7th June 2007)
446 <xs:element name="Sequence" maxOccurs="unbounded">
449 <xs:documentation> a primary or secondary sequence record from which all
450 other sequences may be derived </xs:documentation>
453 <xs:extension base="vamsas:SequenceType">
455 <xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
457 <xs:documentation> Store a list of database references
458 for this sequence record - with optional mapping
459 from database sequence to the given sequence record </xs:documentation>
465 <xs:element name="map" minOccurs="0"
466 maxOccurs="unbounded">
469 the local mapType maps from the parent
470 sequence coordinate frame to the reference
471 frame defined by the dbRef element.
472 The mapped mapType is the mapped range defined
473 on the dbRef element's reference frame.
474 Conventionally, the unit attribute defaults to 1, or
475 will be inferred from the local sequence's
476 dictionary type and any dictionary type associated
477 with the database being mapped to.
478 However, it may be used to avoid ambiguity.
483 <xs:extension base="vamsas:mapType">
484 <xs:attribute name="id" type="xs:ID"/>
489 <xs:element ref="vamsas:link" minOccurs="0"
490 maxOccurs="unbounded"/>
491 <xs:element ref="vamsas:property" minOccurs="0"
492 maxOccurs="unbounded"/>
494 <xs:attribute name="source" type="xs:string"
497 <xs:documentation> TODO Database Naming
498 Convention: either start using LSID (so
499 change type to URI) or leave this as an
500 uncontrolled/unspecified string ID
504 <xs:attribute name="version" type="xs:string"
507 <xs:documentation> Version must be specified -
511 <xs:attribute name="accessionId" type="xs:string"
514 <xs:documentation> TODO: make some specification
515 of the database field from which this
516 accessionId is taken from - should that be a
517 special property of the dbRef object ?
521 <xs:attribute name="id" type="xs:ID" use="optional">
523 <xs:documentation> Primary Key for vamsas object
524 referencing </xs:documentation>
529 <xs:element name="vxref" type="vamsas:referenceType"
530 minOccurs="0" maxOccurs="unbounded">
532 <xs:documentation> explicitly named cross reference to
533 other objects in the document. </xs:documentation>
537 <xs:attribute name="id" type="xs:ID" use="optional">
539 <xs:documentation> Primary Key for vamsas object referencing
543 <xs:attribute name="dictionary" type="xs:string" use="required">
545 <xs:documentation> symbol class for sequence
553 <xs:element name="sequenceMapping" minOccurs="0" maxOccurs="unbounded">
557 A mapping between the specified 'local' and 'mapped' sequence coordinate frames.
558 The step size between each coordinate frame depends on the sequence
559 dictionary types, or alternatively specified in the optional unit
560 attribute on each range element. </xs:documentation>
563 <xs:extension base="vamsas:mapType">
565 <xs:element ref="vamsas:Provenance"/>
567 <xs:attribute name="loc" type="xs:IDREF" use="required">
569 <xs:documentation> Object on which the local
570 range is defined. </xs:documentation>
573 <xs:attribute name="map" type="xs:IDREF" use="required">
575 <xs:documentation>Object on which the mapped
576 range is defined. </xs:documentation>
579 <xs:attribute name="id" type="xs:ID" use="optional"/>
584 <xs:element name="DataSetAnnotations" minOccurs="0" maxOccurs="unbounded">
587 <xs:documentation> Annotate over positions and regions of a dataset
588 sequence </xs:documentation>
591 <xs:extension base="vamsas:rangeAnnotation">
593 <xs:element ref="vamsas:Provenance"/>
595 <xs:attribute name="seqRef" type="xs:IDREFS" use="required">
597 <xs:documentation> annotation is associated with a
598 particular dataset sequence </xs:documentation>
605 <xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">
608 <xs:element name="AlignmentAnnotation" minOccurs="0"
609 maxOccurs="unbounded">
611 <xs:documentation> This is annotation over the coordinate frame
612 defined by all the columns in the alignment.
617 <xs:extension base="vamsas:rangeAnnotation">
619 <xs:element ref="vamsas:Provenance"/>
621 <xs:attribute name="graph" type="xs:boolean"
624 <xs:documentation> TODO: decide if this flag is
625 redundant - when true it would suggest that
626 the annotationElement values together form a
627 graph </xs:documentation>
630 <xs:attribute name="seqrefs" type="xs:IDREFS"
633 <xs:documentation> annotation is associated with
634 a range on a particular group of alignment
635 sequences</xs:documentation>
643 <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
644 <xs:element name="alignmentSequence" maxOccurs="unbounded">
647 <xs:extension base="vamsas:SequenceType">
649 <xs:element name="AlignmentSequenceAnnotation"
650 minOccurs="0" maxOccurs="unbounded">
653 <xs:documentation> Annotate over
654 positions and regions of the
655 ungapped sequence in the context of
656 the alignment </xs:documentation>
661 base="vamsas:rangeAnnotation">
664 ref="vamsas:Provenance"/>
666 <xs:attribute name="graph"
667 type="xs:boolean" use="required">
669 <xs:documentation> TODO:
670 decide if this flag is
671 redundant - when true it
672 would suggest that the
673 annotationElement values
674 together form a graph
681 This replaces the flat list of sequenceFeatures.
682 <xs:element name="AlignmentFeatures" minOccurs="0" maxOccurs="unbounded"><xs:complexType><xs:annotation>
683 <xs:documentation>Annotate over positions and regions of the alignment</xs:documentation>
684 </xs:annotation><xs:complexContent>
685 <xs:extension base="vamsas:rangeFeature">
686 <xs:attribute name="seqRef" type="xs:IDREF" use="optional">
687 <xs:annotation><xs:documentation>annotation may be associated with a particular sequence lying within the same reference frame as the rangeType's objRef</xs:documentation></xs:annotation>
690 </xs:complexContent></xs:complexType></xs:element> -->
694 <xs:attribute name="id" type="xs:ID" use="optional">
696 <xs:documentation> Primary Key for vamsas object
697 referencing </xs:documentation>
700 <xs:attribute name="refid" type="xs:IDREF"
703 <xs:documentation> Dataset Sequence from which
704 this alignment sequence is taken from
712 <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
714 <xs:documentation> typical properties may be additional
715 alignment score objects </xs:documentation>
718 <xs:element ref="vamsas:Provenance"/>
720 <xs:attribute name="gapChar" type="xs:string" use="required"/>
721 <xs:attribute name="aligned" type="xs:boolean" use="optional"/>
722 <xs:attribute name="id" type="xs:ID" use="optional">
724 <xs:documentation> Primary Key for vamsas object referencing
728 <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
731 <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
732 <xs:element ref="vamsas:Provenance"/>
734 <xs:attribute name="id" type="xs:ID" use="optional">
736 <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
741 <xs:element name="annotationElement">
744 <xs:documentation> per-site symbolic and/or quantitative annotation </xs:documentation>
745 <xs:documentation> SecondaryStructure and display character (from Jalview) have been
746 subsumed into the glyph element </xs:documentation>
749 <xs:element name="description" type="xs:string" minOccurs="0">
751 <xs:documentation> Free text at this position </xs:documentation>
754 <xs:element name="glyph" minOccurs="0" maxOccurs="unbounded">
756 <xs:documentation> Discrete symbol - possibly graphically represented
761 <xs:extension base="xs:string">
762 <xs:attribute name="dict" type="xs:string" use="optional"
765 <xs:documentation> specifies the symbol dictionary for this
766 glyph - eg utf8 (the default), aasecstr_3 or
767 kd_hydrophobicity - the content is not validated so
768 applications must ensure they gracefully deal with
769 invalid entries here </xs:documentation>
770 <xs:documentation> TODO: specify a minimum list of glyph
771 dictionaries to get us started and provide a way for the
772 vamsasClient to validate their content if regexes are
773 specified </xs:documentation>
780 <xs:element name="value" type="xs:float" minOccurs="0" maxOccurs="unbounded">
782 <xs:documentation> Ordered set of float values - an application may treat
783 the values together as a vector with common support for a set of
784 annotation elements - but this is, again, not validated so applications
785 should deal gracefully with varying numbers of dimensions
790 <xs:attribute name="position" type="xs:integer" use="required">
792 <xs:documentation> position with respect to the coordinate frame defined by a
793 rangeType specification </xs:documentation>
796 <xs:attribute name="after" type="xs:boolean" use="optional" default="false">
798 <xs:documentation> true means the annotation element appears between the
799 specified position and the next </xs:documentation>
802 <xs:attribute name="id" type="xs:ID" use="optional">
804 <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
809 <xs:complexType name="SequenceType">
811 <xs:element name="sequence" type="xs:string"/>
812 <xs:element name="name" type="xs:string"/>
813 <xs:element name="description" type="xs:string" minOccurs="0"/>
814 <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
816 <xs:documentation> additional typed properties </xs:documentation>
820 <xs:attribute name="start" type="xs:integer" use="required"/>
821 <xs:attribute name="end" type="xs:integer" use="required"/>
823 <xs:element name="ApplicationData">
826 <xs:documentation> Data specific to a particular type and version of vamsas
827 application </xs:documentation>
830 <xs:extension base="vamsas:appData">
832 <xs:element name="User" minOccurs="0" maxOccurs="unbounded">
835 <xs:extension base="vamsas:appData">
837 <xs:documentation> Data available to just a particular
838 user </xs:documentation>
840 <xs:attribute name="fullname" type="xs:string"
842 <xs:attribute name="organization" type="xs:string"
848 <xs:element name="Common" minOccurs="0">
851 <xs:extension base="vamsas:appData"/>
855 <xs:element name="Instance" minOccurs="0" maxOccurs="unbounded">
858 <xs:extension base="vamsas:appData">
860 <xs:documentation> Data available to just a specific
861 instance of the application </xs:documentation>
862 <xs:documentation> VAMSAS/Pierre: Is this data volatile
863 ? Application instances may not be accessible after
864 the session has closed - the user may have to be
865 presented with the option of picking up the data in
866 that instance </xs:documentation>
868 <xs:attribute name="urn" type="xs:string" use="required"/>
874 <xs:attribute name="version" type="xs:string" use="required">
876 <xs:documentation> Version string describing the application specific
877 data storage version used</xs:documentation>
880 <xs:attribute name="name" type="xs:string" use="required">
882 <xs:documentation> Canonical name of application </xs:documentation>
889 <xs:element name="Attachment">
892 <xs:extension base="vamsas:appData">
894 <xs:documentation> General data container to attach a typed data object to
895 any vamsas object </xs:documentation>
897 <xs:attribute name="compressed" type="xs:boolean" use="optional" default="false">
899 <xs:documentation> true implies data will be decompresses with Zip
900 before presenting to application </xs:documentation>
903 <xs:attribute name="type" type="xs:string" use="required">
905 <xs:documentation> Type of arbitrary data - TODO: decide format - use
906 (extended) MIME types ? </xs:documentation>
909 <xs:attribute name="objectref" type="xs:IDREF" use="required">
911 <xs:documentation> Object the arbitrary data is associated with
915 <xs:attribute name="id" type="xs:ID" use="optional">
917 <xs:documentation> Primary Key for vamsas object referencing
925 <xs:complexType name="appData">
927 <xs:element name="data" type="xs:base64Binary"/>
928 <xs:element name="dataReference" type="xs:string"/>
931 <xs:complexType name="mapType">
933 <xs:documentation> Two sets of ranges defined between objects - usually sequences, indicating which
934 regions on each are mapped. </xs:documentation>
937 <xs:element name="local" type="vamsas:mapRangeType">
944 <xs:element name="mapped" type="vamsas:mapRangeType">
954 <xs:complexType name="mapRangeType">
956 <xs:extension base="vamsas:rangeType">
957 <xs:attribute name="unit" type="xs:positiveInteger" use="optional">
959 <xs:documentation> number of dictionary symbol widths involved in each
960 mapped position on this sequence (for example, 3 for a dna sequence exon
961 region that is being mapped to a protein sequence). This is optional,
962 since the unit can be usually be inferred from the dictionary type of
963 each sequence involved in the mapping. </xs:documentation>
970 <xs:simpleType name="locks">
972 <xs:documentation> Contains lock information: locktype:ApplicationHandle locktype is
973 'local' or 'full' A lock is only valid if the ApplicationHandle resolves to a living
974 application in the vamsas session. A local lock means that the application has
975 locked changes to all local properties on the object. A full lock means that the
976 application has locked changes to all properties on the object, and any objects that
977 it holds references to. </xs:documentation>
979 <xs:restriction base="xs:string"/>