<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by MSD (EMBL OUTSTATION THE EBI WELLCOME TRUST GENOME CAMPUS) -->
<!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="http://www.vamsas.org" targetNamespace="http://www.vamsas.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="http://www.vamsas.org"
+ targetNamespace="http://www.vamsas.org" elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
<xs:annotation>
- <xs:documentation>
- Vorba ID - Vamsas Object Request Broker Address ID (name
- needs to be worked on): Suggest it could be of the form
- documentRoot/datasetName/SequenceUID for a dataset sequence.
- Alignment sequence:
- documentRoot/datasetName/AlignmentId/SequenceUID for an
- aligned form of a dataset sequence
-
- </xs:documentation>
+ <xs:documentation> Vorba ID - Vamsas Object Request Broker Address ID (name needs to be
+ worked on): Suggest it could be of the form documentRoot/datasetName/SequenceUID for a
+ dataset sequence. Alignment sequence: documentRoot/datasetName/AlignmentId/SequenceUID
+ for an aligned form of a dataset sequence </xs:documentation>
</xs:annotation>
<xs:element name="VAMSAS">
<xs:annotation>
- <xs:documentation>
- contains unassociated trees and a number of analysis
- sets
+ <xs:documentation> contains unassociated trees and a number of analysis sets
</xs:documentation>
</xs:annotation>
<xs:complexType>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas object referencing
- </xs:documentation>
+ <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
<xs:annotation>
- <xs:documentation>
- objects with modifiable=false will not be
- modified by a vamsas client update
- </xs:documentation>
+ <xs:documentation> objects with modifiable=false will not be modified by a
+ vamsas client update </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:annotation>
- <xs:documentation>
- Properties. Generally, these are mutable so an application
- should check them each time. This may change depending on
- the context of the property
+ <xs:documentation> Properties. Generally, these are mutable so an application should check
+ them each time. This may change depending on the context of the property
</xs:documentation>
</xs:annotation>
<xs:element name="Tree">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- Contains a named collection of trees
- </xs:documentation>
- <xs:documentation>
- TODO: define
- way of referencing leaves of global tree for any
- sequence/alignment object.
- SUggestion 1: Each named tree leafnode has a unique id (which may be unique in combination with trees own vorba ID).
- Dataset sequences can be tagged with a property "vamsas:tree_leaf"
- </xs:documentation>
+ <xs:documentation> Contains a named collection of trees </xs:documentation>
+ <xs:documentation> TODO: define way of referencing leaves of global tree for any
+ sequence/alignment object. SUggestion 1: Each named tree leafnode has a unique
+ id (which may be unique in combination with trees own vorba ID). Dataset
+ sequences can be tagged with a property "vamsas:tree_leaf" </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:attribute name="title" type="xs:string" use="optional"/>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas
- object referencing
+ <xs:documentation> Primary Key for vamsas object referencing
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
+ <xs:attribute name="modifiable" type="xs:boolean" use="optional"
+ default="true">
<xs:annotation>
- <xs:documentation>
- objects with
- modifiable=false will not be
- modified by a vamsas client
- update
- </xs:documentation>
+ <xs:documentation> objects with modifiable=false will not be
+ modified by a vamsas client update </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas object referencing
- </xs:documentation>
+ <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
<xs:annotation>
- <xs:documentation>
- objects with modifiable=false will not be
- modified by a vamsas client update
- </xs:documentation>
+ <xs:documentation> objects with modifiable=false will not be modified by a
+ vamsas client update </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType>
<xs:simpleContent>
<xs:annotation>
- <xs:documentation>
- Named and typed property string
- </xs:documentation>
+ <xs:documentation> Named and typed property string </xs:documentation>
</xs:annotation>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation>
- The type specifies how the property will
- be parsed. Empty property strings are
- allowed, and can be used to prototype
- the input to a document. TODO: specify
- allowed types
- </xs:documentation>
+ <xs:documentation> The type specifies how the property will be parsed.
+ Empty property strings are allowed, and can be used to prototype the
+ input to a document. TODO: specify allowed types </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
<xs:element name="link">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- Primitive labelled URI object
- </xs:documentation>
+ <xs:documentation> Primitive labelled URI object </xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
</xs:element>
<xs:complexType name="rangeType" abstract="true">
<xs:annotation>
- <xs:documentation>
- Specify an ordered set of positions and/or regions on the principle
- dimension of some associated vamsas object
- </xs:documentation>
- <xs:documentation>
- Keeping to jaxb-1.0 specification for the moment - this
- choice should become a substitution group when we use
- jaxb-2.0 capable bindings
+ <xs:documentation> Specify an ordered set of positions and/or regions on the principle
+ dimension of some associated vamsas object </xs:documentation>
+ <xs:documentation> Keeping to jaxb-1.0 specification for the moment - this choice should
+ become a substitution group when we use jaxb-2.0 capable bindings
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="pos" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- a position within the associated object's
- coordinate system
+ <xs:documentation> a position within the associated object's coordinate system
</xs:documentation>
</xs:annotation>
<xs:complexType>
</xs:element>
<xs:element name="seg" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- a region from start to end, with flag for
- inclusivity of terminii
- </xs:documentation>
+ <xs:documentation> a region from start to end, with flag for inclusivity of
+ terminii </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="start" type="xs:int" use="required"/>
<xs:attribute name="end" type="xs:int" use="required"/>
<xs:attribute name="inclusive" type="xs:boolean" use="required">
<xs:annotation>
- <xs:documentation>
- when false, a consecutive range like
- 'start=1, end=2' means the region lying
- after position 1 and before position 2
+ <xs:documentation> when false, a consecutive range like 'start=1, end=2'
+ means the region lying after position 1 and before position 2
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="rangeAnnotation">
<xs:annotation>
- <xs:documentation>
- Annotation for a rangeSpec - values can be attached for the whole specification, and to each position within the spec. following the orientation specified by the ordered set of rangeSpec (pos, seg) elements.
- </xs:documentation>
+ <xs:documentation> Annotation for a rangeSpec - values can be attached for the whole
+ specification, and to each position within the spec. following the orientation
+ specified by the ordered set of rangeSpec (pos, seg) elements. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="vamsas:rangeType">
<xs:sequence>
<xs:element name="label" type="xs:string" minOccurs="0">
<xs:annotation>
- <xs:documentation>
- Short, meaningful name for the annotation - if this is absent, then the type string should be used in its place.
- </xs:documentation>
+ <xs:documentation> Short, meaningful name for the annotation - if this
+ is absent, then the type string should be used in its place.
+ </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="description" type="xs:string" minOccurs="0">
<xs:annotation>
- <xs:documentation>
- Human readable description of the annotation
- </xs:documentation>
+ <xs:documentation> Human readable description of the annotation
+ </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="status" type="xs:string" minOccurs="0">
<xs:annotation>
- <xs:documentation>
- TODO: specify this - we have considered taking the GO evidence codes as a model for assessing a measure of quality to an annotation.
- </xs:documentation>
+ <xs:documentation> TODO: specify this - we have considered taking the GO
+ evidence codes as a model for assessing a measure of quality to an
+ annotation. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- Annotation Element position maps to
- ordered positions defined by the
- sequence of rangeType pos positions or
- concatenated seg start/end segments.
- </xs:documentation>
+ <xs:documentation> Annotation Element position maps to ordered positions
+ defined by the sequence of rangeType pos positions or concatenated
+ seg start/end segments. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="score" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- Ordered set of optionally named float
- values for the whole annotation
- </xs:documentation>
+ <xs:documentation> Ordered set of optionally named float values for the
+ whole annotation </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
- <xs:attribute name="name" type="xs:string" use="optional" default="score"/>
+ <xs:attribute name="name" type="xs:string" use="optional"
+ default="score"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element ref="vamsas:link" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- Note:These are mutable so an application
- should check them each time.
- </xs:documentation>
+ <xs:documentation> Note:These are mutable so an application should check
+ them each time. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas object referencing
+ <xs:documentation> Primary Key for vamsas object referencing
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
<xs:annotation>
- <xs:documentation>
- objects with modifiable=false will not be
- modified by a vamsas client update
- </xs:documentation>
+ <xs:documentation> objects with modifiable=false will not be modified by a
+ vamsas client update </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="group" type="xs:string" use="optional" default="">
<xs:annotation>
- <xs:documentation>
- Annotation with the same non-empty group
- name are grouped together
- </xs:documentation>
+ <xs:documentation> Annotation with the same non-empty group name are grouped
+ together </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation>
- A Das Feature has both a type and a Type ID.
- We go the route of requiring the type string
- to be taken from a controlled vocabulary if
- an application expects others to make sense
- of it.
- The type may qualified - so uniprot:CHAIN is a valid type name,
- and considered distinct from someotherDB:CHAIN
- </xs:documentation>
+ <xs:documentation> A Das Feature has both a type and a Type ID. We go the
+ route of requiring the type string to be taken from a controlled
+ vocabulary if an application expects others to make sense of it. The
+ type may qualified - so uniprot:CHAIN is a valid type name, and
+ considered distinct from someotherDB:CHAIN </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
<xs:element name="param">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- Specifies a named and typed value used to perform
- some data transformation.
- </xs:documentation>
- <xs:documentation>
- LATER: experiment with xml validation of property
- set prototypes for services
- </xs:documentation>
+ <xs:documentation> Specifies a named and typed value used to perform some data
+ transformation. </xs:documentation>
+ <xs:documentation> LATER: experiment with xml validation of property set prototypes
+ for services </xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:annotation>
- <xs:documentation>
- Named and typed property string
- </xs:documentation>
+ <xs:documentation> Named and typed property string </xs:documentation>
</xs:annotation>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation>
- The type specifies how the property will
- be parsed. Empty property strings are
- allowed, and can be used to prototype
- the input to a document. TODO: specify
- allowed types
- </xs:documentation>
+ <xs:documentation> The type specifies how the property will be parsed.
+ Empty property strings are allowed, and can be used to prototype the
+ input to a document. TODO: specify allowed types </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
<xs:element name="input">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- Selects all or part of a collection of vamsas
- objects as a named input to some transformation
- process. Many inputs with the same name imply a
- group input (such as a collection of sequences)
- </xs:documentation>
+ <xs:documentation> Selects all or part of a collection of vamsas objects as a named
+ input to some transformation process. Many inputs with the same name imply a
+ group input (such as a collection of sequences) </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="vamsas:rangeType">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="objRef" type="xs:IDREF" use="optional">
<xs:annotation>
- <xs:documentation>
- Reference Frame for rangeType
- specfication
+ <xs:documentation> Reference Frame for rangeType specfication
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:element name="Provenance">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- Defines the origin and series of operations applied
- directly to the object that references it.
- </xs:documentation>
+ <xs:documentation> Defines the origin and series of operations applied directly to
+ the object that references it. </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="entry" maxOccurs="unbounded">
<xs:sequence>
<xs:element name="User" type="xs:string">
<xs:annotation>
- <xs:documentation>
- Who
- </xs:documentation>
+ <xs:documentation> Who </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="App" type="xs:string">
<xs:annotation>
- <xs:documentation>
- With which application
- </xs:documentation>
+ <xs:documentation> With which application </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Action" type="xs:string">
<xs:annotation>
- <xs:documentation>
- Did what
- </xs:documentation>
+ <xs:documentation> Did what </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Date" type="xs:date">
<xs:annotation>
- <xs:documentation>
- When
- </xs:documentation>
+ <xs:documentation> When </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- additional information
- </xs:documentation>
+ <xs:documentation> additional information </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="vamsas:param" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- parameter for the action
- </xs:documentation>
+ <xs:documentation> parameter for the action </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="vamsas:input" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- bioinformatic objects input to
- action
+ <xs:documentation> bioinformatic objects input to action
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas object
- referencing
+ <xs:documentation> Primary Key for vamsas object referencing
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:element name="DataSet">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- A collection of sequences, alignments, trees and
- other things.
+ <xs:documentation> A collection of sequences, alignments, trees and other things.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Sequence" maxOccurs="unbounded">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- a primary or secondary sequence record
- from which all other sequences may be
- derived
- </xs:documentation>
+ <xs:documentation> a primary or secondary sequence record from which all
+ other sequences may be derived </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="vamsas:SequenceType">
<xs:sequence>
<xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- Store a list of database
- references for this
- sequence record - with
- optional mapping from
- database sequence to the
- given sequence record
- </xs:documentation>
+ <xs:documentation> Store a list of database references
+ for this sequence record - with optional mapping
+ from database sequence to the given sequence record </xs:documentation>
<xs:documentation/>
<xs:documentation/>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="map" minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="map"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation> From: Offset to first
+ position in dataset sequence record that
+ this database entry maps to To: Offset
+ to last position in dataset sequence
+ record that this database entry maps to
+ Start: Offset to first last position in
+ database entry that first (or offset)
+ position in sequence maps to End: Offset
+ to last position in database entry that
+ last (offset) position in sequence maps
+ to </xs:documentation>
+ </xs:annotation>
<xs:complexType>
- <xs:attribute name="from" type="xs:integer" use="optional" default="0">
- <xs:annotation>
- <xs:documentation>
- Offset
- to
- first
- position
- in
- dataset
- sequence
- record
- that
- this
- database
- entry
- maps
- to
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="to" type="xs:integer" use="optional" default="0">
- <xs:annotation>
- <xs:documentation>
- Offset
- to
- last
- position
- in
- dataset
- sequence
- record
- that
- this
- database
- entry
- maps
- to
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="start" type="xs:integer" use="required">
- <xs:annotation>
- <xs:documentation>
- Offset
- to first
- last
- position
- in
- database
- entry
- that
- first
- (or
- offset)
- position
- in
- sequence
- maps to
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="end" type="xs:integer" use="required">
- <xs:annotation>
- <xs:documentation>
- Offset
- to last
- position
- in
- database
- entry
- that
- last
- (offset)
- position
- in
- sequence
- maps to
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="vamsas:mapList">
+
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
</xs:element>
- <xs:element ref="vamsas:link" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="vamsas:link" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element ref="vamsas:property" minOccurs="0"
+ maxOccurs="unbounded"/>
</xs:sequence>
- <xs:attribute name="source" type="xs:string" use="required">
+ <xs:attribute name="source" type="xs:string"
+ use="required">
<xs:annotation>
- <xs:documentation>
- TODO Database
- Naming
- Convention:
- either start
- using LSID (so
- change type to
- URI) or leave
- this as an
- uncontrolled/unspecified
- string ID
- </xs:documentation>
+ <xs:documentation> TODO Database Naming
+ Convention: either start using LSID (so
+ change type to URI) or leave this as an
+ uncontrolled/unspecified string ID
+ </xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="version" type="xs:string" use="required">
+ <xs:attribute name="version" type="xs:string"
+ use="required">
<xs:annotation>
- <xs:documentation>
- Version must be
- specified -
- </xs:documentation>
+ <xs:documentation> Version must be specified -
+ </xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="accessionId" type="xs:string" use="required">
+ <xs:attribute name="accessionId" type="xs:string"
+ use="required">
<xs:annotation>
- <xs:documentation>
- TODO: make some
- specification of
- the database
- field from which
- this accessionId
- is taken from -
- should that be a
- special property
- of the dbRef
- object ?
- </xs:documentation>
+ <xs:documentation> TODO: make some specification
+ of the database field from which this
+ accessionId is taken from - should that be a
+ special property of the dbRef object ?
+ </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for
- vamsas object
- referencing
- </xs:documentation>
+ <xs:documentation> Primary Key for vamsas object
+ referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas
- object referencing
+ <xs:documentation> Primary Key for vamsas object referencing
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="dictionary" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation>
- symbol class for sequence
+ <xs:documentation> symbol class for sequence
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:element name="DataSetAnnotations" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- Annotate over positions and regions of a
- dataset sequence
- </xs:documentation>
+ <xs:documentation> Annotate over positions and regions of a dataset
+ sequence </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="vamsas:rangeAnnotation">
</xs:sequence>
<xs:attribute name="seqRef" type="xs:IDREF" use="required">
<xs:annotation>
- <xs:documentation>
- annotation is associated
- with a particular dataset
- sequence
- </xs:documentation>
+ <xs:documentation> annotation is associated with a
+ particular dataset sequence </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
<xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
- <xs:element name="AlignmentAnnotation" minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="AlignmentAnnotation" minOccurs="0"
+ maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- This is annotation over the
- coordinate frame defined by all
- the columns in the alignment.
+ <xs:documentation> This is annotation over the coordinate frame
+ defined by all the columns in the alignment.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="vamsas:Provenance"/>
</xs:sequence>
- <xs:attribute name="graph" type="xs:boolean" use="required">
+ <xs:attribute name="graph" type="xs:boolean"
+ use="required">
<xs:annotation>
- <xs:documentation>
- TODO: decide if
- this flag is
- redundant - when
- true it would
- suggest that the
- annotationElement
- values together
- form a graph
- </xs:documentation>
+ <xs:documentation> TODO: decide if this flag is
+ redundant - when true it would suggest that
+ the annotationElement values together form a
+ graph </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
<xs:complexContent>
<xs:extension base="vamsas:SequenceType">
<xs:sequence>
- <xs:element name="AlignmentSequenceAnnotation" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation>
- Annotate
- over
- positions
- and
- regions
- of the
- ungapped
- sequence
- in the
- context
- of the
- alignment
- </xs:documentation>
- <xs:documentation/>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="vamsas:rangeAnnotation">
- <xs:sequence>
- <xs:element ref="vamsas:Provenance"/>
- </xs:sequence>
- <xs:attribute name="graph" type="xs:boolean" use="required">
- <xs:annotation>
- <xs:documentation>
- TODO:
- decide
- if
- this
- flag
- is
- redundant
- -
- when
- true
- it
- would
- suggest
- that
- the
- annotationElement
- values
- together
- form
- a
- graph
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- <!--
+ <xs:element name="AlignmentSequenceAnnotation"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation> Annotate over
+ positions and regions of the
+ ungapped sequence in the context of
+ the alignment </xs:documentation>
+ <xs:documentation/>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension
+ base="vamsas:rangeAnnotation">
+ <xs:sequence>
+ <xs:element
+ ref="vamsas:Provenance"/>
+ </xs:sequence>
+ <xs:attribute name="graph"
+ type="xs:boolean" use="required">
+ <xs:annotation>
+ <xs:documentation> TODO:
+ decide if this flag is
+ redundant - when true it
+ would suggest that the
+ annotationElement values
+ together form a graph
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ <!--
This replaces the flat list of sequenceFeatures.
<xs:element name="AlignmentFeatures" minOccurs="0" maxOccurs="unbounded"><xs:complexType><xs:annotation>
<xs:documentation>Annotate over positions and regions of the alignment</xs:documentation>
</xs:attribute>
</xs:extension>
</xs:complexContent></xs:complexType></xs:element> -->
- </xs:complexType>
+ </xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for
- vamsas object
- referencing
- </xs:documentation>
+ <xs:documentation> Primary Key for vamsas object
+ referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="refid" type="xs:IDREF" use="required">
+ <xs:attribute name="refid" type="xs:IDREF"
+ use="required">
<xs:annotation>
- <xs:documentation>
- Dataset Sequence
- from which this
- alignment
- sequence is
- taken from
- </xs:documentation>
+ <xs:documentation> Dataset Sequence from which
+ this alignment sequence is taken from
+ </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:element>
<xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- typical properties may be
- additional alignment score
- objects
- </xs:documentation>
+ <xs:documentation> typical properties may be additional
+ alignment score objects </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="vamsas:Provenance"/>
<xs:attribute name="aligned" type="xs:boolean" use="optional"/>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas object
- referencing
+ <xs:documentation> Primary Key for vamsas object referencing
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
+ <xs:attribute name="modifiable" type="xs:boolean" use="optional"
+ default="true">
<xs:annotation>
- <xs:documentation>
- objects with modifiable=false will
- not be modified by a vamsas client
- update
- </xs:documentation>
+ <xs:documentation> objects with modifiable=false will not be
+ modified by a vamsas client update </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas object referencing
- </xs:documentation>
+ <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:element name="annotationElement">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- per-site symbolic and/or quantitative annotation
- </xs:documentation>
- <xs:documentation>
- SecondaryStructure and display character (from
- Jalview) have been subsumed into the glyph element
- </xs:documentation>
+ <xs:documentation> per-site symbolic and/or quantitative annotation </xs:documentation>
+ <xs:documentation> SecondaryStructure and display character (from Jalview) have been
+ subsumed into the glyph element </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="description" type="xs:string" minOccurs="0">
<xs:annotation>
- <xs:documentation>
- Free text at this position
- </xs:documentation>
+ <xs:documentation> Free text at this position </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="glyph" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- Discrete symbol - possibly graphically
- represented
+ <xs:documentation> Discrete symbol - possibly graphically represented
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
- <xs:attribute name="dict" type="xs:string" use="optional" default="utf8">
+ <xs:attribute name="dict" type="xs:string" use="optional"
+ default="utf8">
<xs:annotation>
- <xs:documentation>
- specifies the symbol
- dictionary for this glyph -
- eg utf8 (the default),
- aasecstr_3 or
- kd_hydrophobicity - the
- content is not validated so
- applications must ensure
- they gracefully deal with
- invalid entries here
- </xs:documentation>
- <xs:documentation>
- TODO: specify a minimum list
- of glyph dictionaries to get
- us started and provide a way
- for the vamsasClient to
- validate their content if
- regexes are specified
- </xs:documentation>
+ <xs:documentation> specifies the symbol dictionary for this
+ glyph - eg utf8 (the default), aasecstr_3 or
+ kd_hydrophobicity - the content is not validated so
+ applications must ensure they gracefully deal with
+ invalid entries here </xs:documentation>
+ <xs:documentation> TODO: specify a minimum list of glyph
+ dictionaries to get us started and provide a way for the
+ vamsasClient to validate their content if regexes are
+ specified </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:element>
<xs:element name="value" type="xs:float" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- Ordered set of float values - an application
- may treat the values together as a vector
- with common support for a set of annotation
- elements - but this is, again, not validated
- so applications should deal gracefully with
- varying numbers of dimensions
+ <xs:documentation> Ordered set of float values - an application may treat
+ the values together as a vector with common support for a set of
+ annotation elements - but this is, again, not validated so applications
+ should deal gracefully with varying numbers of dimensions
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="position" type="xs:integer" use="required">
<xs:annotation>
- <xs:documentation>
- position with respect to the coordinate frame
- defined by a rangeType specification
- </xs:documentation>
+ <xs:documentation> position with respect to the coordinate frame defined by a
+ rangeType specification </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="after" type="xs:boolean" use="optional" default="false">
<xs:annotation>
- <xs:documentation>
- true means the annotation element appears
- between the specified position and the next
- </xs:documentation>
+ <xs:documentation> true means the annotation element appears between the
+ specified position and the next </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas object referencing
- </xs:documentation>
+ <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation>
- additional typed properties
- </xs:documentation>
+ <xs:documentation> additional typed properties </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element ref="vamsas:mapping" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="mapping" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="vamsas:mapList">
+ <xs:attribute name="onto" type="xs:IDREF" use="required">
+ <xs:annotation>
+ <xs:documentation> object to which the mapping is being mapped
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
</xs:sequence>
<xs:attribute name="start" type="xs:integer" use="required"/>
<xs:attribute name="end" type="xs:integer" use="required"/>
<xs:element name="ApplicationData">
<xs:complexType>
<xs:annotation>
- <xs:documentation>
- Data specific to a particular type and version of
- vamsas application
- </xs:documentation>
+ <xs:documentation> Data specific to a particular type and version of vamsas
+ application </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="vamsas:appData">
<xs:complexContent>
<xs:extension base="vamsas:appData">
<xs:annotation>
- <xs:documentation>
- Data available to just a
- particular user
- </xs:documentation>
+ <xs:documentation> Data available to just a particular
+ user </xs:documentation>
</xs:annotation>
- <xs:attribute name="fullname" type="xs:string" use="required"/>
- <xs:attribute name="organization" type="xs:string" use="required"/>
+ <xs:attribute name="fullname" type="xs:string"
+ use="required"/>
+ <xs:attribute name="organization" type="xs:string"
+ use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexContent>
<xs:extension base="vamsas:appData">
<xs:annotation>
- <xs:documentation>
- Data available to just a
- specific instance of the
- application
- </xs:documentation>
- <xs:documentation>
- VAMSAS/Pierre: Is this
- data volatile ?
- Application instances
- may not be accessible
- after the session has
- closed - the user may
- have to be presented
- with the option of
- picking up the data in
- that instance
- </xs:documentation>
+ <xs:documentation> Data available to just a specific
+ instance of the application </xs:documentation>
+ <xs:documentation> VAMSAS/Pierre: Is this data volatile
+ ? Application instances may not be accessible after
+ the session has closed - the user may have to be
+ presented with the option of picking up the data in
+ that instance </xs:documentation>
</xs:annotation>
<xs:attribute name="urn" type="xs:string" use="required"/>
</xs:extension>
</xs:sequence>
<xs:attribute name="version" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation>
- Version string describing the application specific data storage version used</xs:documentation>
+ <xs:documentation> Version string describing the application specific
+ data storage version used</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="name" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation>
- Canonical name of application
- </xs:documentation>
+ <xs:documentation> Canonical name of application </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
<xs:complexContent>
<xs:extension base="vamsas:appData">
<xs:annotation>
- <xs:documentation>
- General data container to attach a typed
- data object to any vamsas object
- </xs:documentation>
+ <xs:documentation> General data container to attach a typed data object to
+ any vamsas object </xs:documentation>
</xs:annotation>
<xs:attribute name="compressed" type="xs:boolean" use="optional" default="false">
<xs:annotation>
- <xs:documentation>
- true implies data will be decompresses
- with Zip before presenting to
- application
- </xs:documentation>
+ <xs:documentation> true implies data will be decompresses with Zip
+ before presenting to application </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation>
- Type of arbitrary data - TODO: decide
- format - use (extended) MIME types ?
- </xs:documentation>
+ <xs:documentation> Type of arbitrary data - TODO: decide format - use
+ (extended) MIME types ? </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="objectref" type="xs:IDREF" use="required">
<xs:annotation>
- <xs:documentation>
- Object the arbitrary data is associated
- with
+ <xs:documentation> Object the arbitrary data is associated with
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation>
- Primary Key for vamsas object
- referencing
+ <xs:documentation> Primary Key for vamsas object referencing
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:element name="dataReference" type="xs:string"/>
</xs:choice>
</xs:complexType>
- <xs:element name="mapping">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="objectA">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="vamsas:rangeType">
- <xs:attribute name="objRefA" type="xs:IDREF" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="objectB">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="vamsas:rangeType">
- <xs:attribute name="objRefB" type="xs:IDREF" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:complexType name="mapList">
+ <xs:attribute name="from" type="xs:integer" use="optional" default="0">
+ <xs:annotation>
+ <xs:documentation> Offset to first position in dataset sequence record that start
+ position on 'onto' maps to </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="to" type="xs:integer" use="optional" default="0">
+ <xs:annotation>
+ <xs:documentation> Offset to last position in dataset sequence record that end
+ position on 'onto' maps to </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="start" type="xs:integer" use="required">
+ <xs:annotation>
+ <xs:documentation> Offset to first position in database entry that first (or offset)
+ position in sequence maps to </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="end" type="xs:integer" use="required">
+ <xs:annotation>
+ <xs:documentation> Offset to last position in database entry that last (offset)
+ position in sequence maps to </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
</xs:schema>