sequenceMapping added
authoramwaterhouse <amwaterhouse@issues.jalview.org>
Fri, 18 May 2007 09:26:55 +0000 (09:26 +0000)
committeramwaterhouse <amwaterhouse@issues.jalview.org>
Fri, 18 May 2007 09:26:55 +0000 (09:26 +0000)
git-svn-id: https://svn.lifesci.dundee.ac.uk/svn/repository/trunk@389 be28352e-c001-0410-b1a7-c7978e42abec

schemas/vamsas.xsd

index 7f01fd2..3b8d42b 100644 (file)
@@ -1,9 +1,7 @@
 <?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.ac.uk/schemas/1.0/vamsasTypes"
-       targetNamespace="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes" elementFormDefault="qualified"
-       attributeFormDefault="unqualified">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes" targetNamespace="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes" 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
@@ -25,8 +23,7 @@
                                        <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
                                </xs:annotation>
                        </xs:attribute>
-                       <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
-                       </xs:attribute>
+                       <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
                </xs:complexType>
        </xs:element>
        <xs:annotation>
@@ -56,8 +53,7 @@
                                                                                </xs:documentation>
                                                                        </xs:annotation>
                                                                </xs:attribute>
-                                                               <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
-                                                               </xs:attribute>
+                                                               <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
                                                        </xs:extension>
                                                </xs:simpleContent>
                                        </xs:complexType>
@@ -70,8 +66,7 @@
                                        <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
                                </xs:annotation>
                        </xs:attribute>
-                       <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
-                       </xs:attribute>
+                       <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="property">
                                                <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:documentation>
                                        </xs:annotation>
                                </xs:attribute>
-                               <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
-                               </xs:attribute>
+                               <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
                                <xs:attribute name="group" type="xs:string" use="optional" default="">
                                        <xs:annotation>
                                                <xs:documentation> Annotation with the same non-empty group name are grouped
                                                                                </xs:annotation>
                                                                                <xs:complexType>
                                                                                        <xs:sequence>
-                                                                                               <xs:element name="map"
-                                                                                                       minOccurs="0" maxOccurs="unbounded">
-                                                                                                       <xs:annotation><xs:documentation> From: Offset to first
+                                                                                               <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
                                                                                                        </xs:annotation>
                                                                                                        <xs:complexType>
                                                                                                                <xs:complexContent>
-                                                                                                                       <xs:extension base="vamsas:mapList">
-                                                                                                                               
-                                                                                                                       </xs:extension>
+                                                                                                                       <xs:extension base="vamsas:mapList"/>
                                                                                                                </xs:complexContent>
-                                                                                                       </xs:complexType>                                                                                               
+                                                                                                       </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
+                                                                                                       <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> 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
+                                                                                                       <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:attribute>
                                                                                        <xs:attribute name="id" type="xs:ID" use="optional">
                                                                                                <xs:annotation>
-                                                                                               <xs:documentation> Primary Key for vamsas object
+                                                                                                       <xs:documentation> Primary Key for vamsas object
                                                                                                referencing </xs:documentation>
                                                                                                </xs:annotation>
                                                                                        </xs:attribute>
                                                </xs:complexContent>
                                        </xs:complexType>
                                </xs:element>
+                               <xs:element name="sequenceMapping" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="range" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="seqAStart" type="xs:int"/>
+                                                                       <xs:attribute name="seqAEnd" type="xs:int"/>
+                                                                       <xs:attribute name="seqBStart" type="xs:int"/>
+                                                                       <xs:attribute name="seqBEnd" type="xs:int"/>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element ref="vamsas:Provenance"/>
+                                               </xs:sequence>
+                                               <xs:attribute name="sequenceA" type="xs:IDREF" use="required"/>
+                                               <xs:attribute name="sequenceB" type="xs:IDREF" use="required"/>
+                                               <xs:attribute name="id" type="xs:ID" use="optional"/>
+                                       </xs:complexType>
+                               </xs:element>
                                <xs:element name="DataSetAnnotations" minOccurs="0" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:annotation>
                                <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: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
+                                                                                                       <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:complexContent>
                                                                                <xs:extension base="vamsas:SequenceType">
                                                                                        <xs:sequence>
-                                                                                               <xs:element name="AlignmentSequenceAnnotation"
-                                                                                               minOccurs="0" maxOccurs="unbounded">
-                                                                                               <xs:complexType>
-                                                                                               <xs:annotation>
-                                                                                               <xs:documentation> Annotate over
+                                                                                               <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:
+                                                                                                                       <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: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
+                                                                                                       <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
+                                                                                                       <xs:documentation> Dataset Sequence from which
                                                                                                this alignment sequence is taken from
                                                                                                </xs:documentation>
                                                                                                </xs:annotation>
                                                                </xs:documentation>
                                                        </xs:annotation>
                                                </xs:attribute>
-                                               <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
-                                               </xs:attribute>
-                                               
+                                               <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
                                        <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
                                        <xs:documentation> additional typed properties </xs:documentation>
                                </xs:annotation>
                        </xs:element>
-                       <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: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>