sequencetable / data /uniprot.xsd
tonigi's picture
initial
c1300a3
<?xml version="1.0" encoding="UTF-8"?>
<!-- *****************************************************************************
UniProt Knowledgebase Version: $Revision$ Date: $Date$ Copyright (c) 2011
UniProt consortium All rights reserved. ******************************************************************************* -->
<xs:schema targetNamespace="http://uniprot.org/uniprot"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://uniprot.org/uniprot" elementFormDefault="qualified">
<!-- XML Schema definition for the UniProtKB XML format Tested with: -XSV
(XML Schema Validator), http://www.w3.org/2001/03/webdata/xsv -->
<!-- Root element definition begins -->
<xs:element name="uniprot">
<xs:annotation>
<xs:documentation>Describes a collection of UniProtKB entries.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="entry" maxOccurs="unbounded" />
<xs:element ref="copyright" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Root element definition ends -->
<!-- Entry definition begins -->
<xs:element name="entry">
<xs:annotation>
<xs:documentation>Describes a UniProtKB entry.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="accession" type="xs:string"
maxOccurs="unbounded" />
<xs:element name="name" type="xs:string"
maxOccurs="unbounded" />
<xs:element name="protein" type="proteinType" />
<xs:element name="gene" type="geneType" minOccurs="0"
maxOccurs="unbounded" />
<xs:element name="organism" type="organismType" />
<xs:element name="organismHost" type="organismType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="geneLocation" type="geneLocationType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="reference" type="referenceType"
maxOccurs="unbounded" />
<xs:element name="comment" type="commentType"
nillable="true" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="dbReference" type="dbReferenceType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="proteinExistence"
type="proteinExistenceType" />
<xs:element name="keyword" type="keywordType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="feature" type="featureType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="evidence" type="evidenceType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="sequence" type="sequenceType" />
</xs:sequence>
<xs:attribute name="dataset" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Swiss-Prot" />
<xs:enumeration value="TrEMBL" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="created" type="xs:date"
use="required" />
<xs:attribute name="modified" type="xs:date"
use="required" />
<xs:attribute name="version" type="xs:int"
use="required" />
</xs:complexType>
</xs:element>
<!-- Entry definition ends -->
<xs:element name="copyright" type="xs:string" />
<!-- Protein names definition begins -->
<xs:complexType name="proteinType">
<xs:annotation>
<xs:documentation>Describes the names for the protein and parts
thereof.
Equivalent to the flat file DE-line.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="proteinNameGroup" />
<xs:element name="domain" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes names of "domains".
Equivalent to the
flat file DE-line Includes: section.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:group ref="proteinNameGroup" />
</xs:complexType>
</xs:element>
<xs:element name="component" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes names of processed products.
Equivalent
to the flat file DE-line Contains: section.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:group ref="proteinNameGroup" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:group name="proteinNameGroup">
<xs:sequence>
<xs:element name="recommendedName" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="fullName" type="evidencedStringType" />
<xs:element name="shortName" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="ecNumber" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<!-- xs:attribute name="ref" type="xs:string" use="optional"/ -->
</xs:complexType>
</xs:element>
<xs:element name="alternativeName" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="fullName" type="evidencedStringType"
minOccurs="0" />
<xs:element name="shortName" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="ecNumber" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<!-- xs:attribute name="ref" type="xs:string" use="optional"/ -->
</xs:complexType>
</xs:element>
<xs:element name="submittedName" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="fullName" type="evidencedStringType" />
<xs:element name="ecNumber" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<!-- xs:attribute name="ref" type="xs:string" use="optional"/ -->
</xs:complexType>
</xs:element>
<xs:element name="allergenName" type="evidencedStringType"
minOccurs="0" />
<xs:element name="biotechName" type="evidencedStringType"
minOccurs="0" />
<xs:element name="cdAntigenName"
type="evidencedStringType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="innName" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:group>
<!-- Protein names definition ends -->
<!-- Gene names definition begins -->
<xs:complexType name="geneType">
<xs:annotation>
<xs:documentation>Describes a gene.
Equivalent to the flat file
GN-line.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="geneNameType"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="geneNameType">
<xs:annotation>
<xs:documentation>Describes different types of gene designations.
Equivalent to the flat file GN-line.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="evidence" type="intListType"
use="optional" />
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="primary" />
<xs:enumeration value="synonym" />
<xs:enumeration value="ordered locus" />
<xs:enumeration value="ORF" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Gene names definition ends -->
<!-- Organism definition begins -->
<xs:complexType name="organismType">
<xs:annotation>
<xs:documentation>Describes the source organism.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="organismNameType"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes the names of the source organism.
Equivalent to the flat file OS-line.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dbReference" type="dbReferenceType"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes a cross-reference to the NCBI taxonomy
database.
Equivalent to the flat file OX-line.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="lineage" minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the lineage of the source organism.
Equivalent to the flat file OC-line.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="taxon" type="xs:string"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:complexType>
<xs:complexType name="organismNameType">
<xs:annotation>
<xs:documentation>Describes different types of source organism names.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="common" />
<xs:enumeration value="full" />
<xs:enumeration value="scientific" />
<xs:enumeration value="synonym" />
<xs:enumeration value="abbreviation" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Organism definition ends -->
<!-- Gene location definition begins -->
<xs:complexType name="geneLocationType">
<xs:annotation>
<xs:documentation>Describes non-nuclear gene locations (organelles
and plasmids).
Equivalent to the flat file OG-line.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="statusType" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="apicoplast" />
<xs:enumeration value="chloroplast" />
<xs:enumeration value="organellar chromatophore" />
<xs:enumeration value="cyanelle" />
<xs:enumeration value="hydrogenosome" />
<xs:enumeration value="mitochondrion" />
<xs:enumeration value="non-photosynthetic plastid" />
<xs:enumeration value="nucleomorph" />
<xs:enumeration value="plasmid" />
<xs:enumeration value="plastid" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:complexType>
<xs:complexType name="statusType">
<xs:annotation>
<xs:documentation>Indicates whether the name of a plasmid is known or
unknown.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="status" use="optional"
default="known">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="known" />
<xs:enumeration value="unknown" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Gene location definition ends -->
<!-- Reference definition begins -->
<xs:complexType name="referenceType">
<xs:annotation>
<xs:documentation>Describes a citation and a summary of its content.
Equivalent to the flat file RN-, RP-, RC-, RX-, RG-, RA-, RT- and
RL-lines.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="citation" type="citationType" />
<xs:group ref="sptrCitationGroup" />
</xs:sequence>
<xs:attribute name="evidence" type="intListType"
use="optional" />
<xs:attribute name="key" type="xs:string" use="required" />
</xs:complexType>
<!-- Reference definition ends -->
<!-- Citation definition begins -->
<xs:complexType name="citationType">
<xs:annotation>
<xs:documentation>Describes different types of citations.
Equivalent
to the flat file RX-, RG-, RA-, RT- and RL-lines.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the title of a citation.
Equivalent to
the flat file RT-line.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="editorList" type="nameListType"
minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the editors of a book (only used for
books).
Equivalent to part of the flat file RL-line of books.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="authorList" type="nameListType"
minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the authors of a citation.
Equivalent to
the flat file RA-line.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="locator" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the location (URL) of an online journal
article.
No flat file equivalent.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dbReference" type="dbReferenceType"
minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes cross-references to bibliography
databases (MEDLINE, PubMed, AGRICOLA) or other online resources
(DOI).
Equivalent to the flat file RX-line.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="type" use="required">
<xs:annotation>
<xs:documentation>Describes the type of a citation.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="book" />
<xs:enumeration value="journal article" />
<xs:enumeration value="online journal article" />
<xs:enumeration value="patent" />
<xs:enumeration value="submission" />
<xs:enumeration value="thesis" />
<xs:enumeration value="unpublished observations" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="date" use="optional">
<xs:simpleType>
<xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
</xs:simpleType>
</xs:attribute>
<xs:attribute name="name" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Describes the name of an (online) journal or book.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="volume" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes the volume of a journal or book.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="first" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes the first page of an article.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="last" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Describes the last page of an article.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="publisher" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes the publisher of a book.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="city" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Describes the city where a book was published.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="db" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Describes the database name of submissions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="number" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes a patent number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="institute" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes the institute where a thesis was made.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="country" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes the country where a thesis was made.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="consortiumType">
<xs:annotation>
<xs:documentation>Describes the authors of a citation when these are
represented by a consortium.
Equivalent to the flat file RG-line.</xs:documentation>
</xs:annotation>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="personType">
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="nameListType">
<xs:choice maxOccurs="unbounded">
<xs:element name="consortium" type="consortiumType" />
<xs:element name="person" type="personType" />
</xs:choice>
</xs:complexType>
<!-- Citation definition ends -->
<!-- Citation summary definition begins -->
<xs:group name="sptrCitationGroup">
<xs:annotation>
<xs:documentation>Groups a citation's scope and source descriptions.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="scope" type="xs:string"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes the scope of a citation.
Equivalent to
the flat file RP-line.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="source" type="sourceDataType"
minOccurs="0" />
</xs:sequence>
</xs:group>
<xs:complexType name="sourceDataType">
<xs:annotation>
<xs:documentation>Describes the source of the sequence according to
the citation.
Equivalent to the flat file RC-line.</xs:documentation>
</xs:annotation>
<xs:choice maxOccurs="unbounded">
<xs:element name="strain">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="plasmid">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="transposon">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="tissue">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<!-- Citation summary definition ends -->
<!-- Comment definition begins -->
<xs:complexType name="commentType">
<xs:annotation>
<xs:documentation>Describes different types of general annotations.
Equivalent to the flat file CC-line.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="molecule" type="moleculeType"
minOccurs="0" />
<xs:choice minOccurs="0">
<xs:group ref="bpcCommentGroup" />
<xs:sequence>
<xs:annotation>
<xs:documentation>Used in 'catalytic activity' annotations.</xs:documentation>
</xs:annotation>
<xs:element name="reaction" type="reactionType" />
<xs:element name="physiologicalReaction"
type="physiologicalReactionType" minOccurs="0" maxOccurs="2" />
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>Used in 'cofactor' annotations.</xs:documentation>
</xs:annotation>
<xs:element name="cofactor" type="cofactorType"
maxOccurs="unbounded" />
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>Used in 'subcellular location' annotations.</xs:documentation>
</xs:annotation>
<xs:element name="subcellularLocation"
type="subcellularLocationType" maxOccurs="unbounded" />
</xs:sequence>
<xs:element name="conflict">
<xs:annotation>
<xs:documentation>Used in 'sequence caution' annotations.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="sequence" minOccurs="0">
<xs:complexType>
<xs:attribute name="resource" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="EMBL-CDS" />
<xs:enumeration value="EMBL" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="id" type="xs:string"
use="required" />
<xs:attribute name="version" type="xs:int"
use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="frameshift" />
<xs:enumeration value="erroneous initiation" />
<xs:enumeration value="erroneous termination" />
<xs:enumeration
value="erroneous gene model prediction" />
<xs:enumeration value="erroneous translation" />
<xs:enumeration
value="miscellaneous discrepancy" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ref" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Refers to the 'key' attribute of a 'reference'
element.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:sequence>
<xs:element name="link" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Used in 'online information' annotations.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="uri" type="xs:anyURI"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>Used in 'alternative products' annotations.</xs:documentation>
</xs:annotation>
<xs:element name="event" type="eventType" maxOccurs="4" />
<xs:element name="isoform" type="isoformType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>Used in 'interaction' annotations.</xs:documentation>
</xs:annotation>
<xs:element name="interactant" type="interactantType"
minOccurs="2" maxOccurs="2" />
<xs:element name="organismsDiffer" type="xs:boolean"
default="false" />
<xs:element name="experiments" type="xs:int" />
</xs:sequence>
<xs:element name="disease">
<xs:annotation>
<xs:documentation>Used in 'disease' annotations.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="acronym" type="xs:string" />
<xs:element name="description" type="xs:string" />
<xs:element name="dbReference" type="dbReferenceType" />
</xs:sequence>
<xs:attribute name="id" type="xs:string"
use="required" />
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="location" type="locationType"
minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Used in 'mass spectrometry' and 'sequence
caution' annotations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="text" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" use="required">
<xs:annotation>
<xs:documentation>Describes the type of a general annotation.
Equivalent to the flat file CC comment topics (except for
"DATABASE" which is translated to "online information").</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="allergen" />
<xs:enumeration value="alternative products" />
<xs:enumeration value="biotechnology" />
<xs:enumeration
value="biophysicochemical properties" />
<xs:enumeration value="catalytic activity" />
<xs:enumeration value="caution" />
<xs:enumeration value="cofactor" />
<xs:enumeration value="developmental stage" />
<xs:enumeration value="disease" />
<xs:enumeration value="domain" />
<xs:enumeration value="disruption phenotype" />
<xs:enumeration value="activity regulation" />
<xs:enumeration value="function" />
<xs:enumeration value="induction" />
<xs:enumeration value="miscellaneous" />
<xs:enumeration value="pathway" />
<xs:enumeration value="pharmaceutical" />
<xs:enumeration value="polymorphism" />
<xs:enumeration value="PTM" />
<xs:enumeration value="RNA editing" />
<xs:enumeration value="similarity" />
<xs:enumeration value="subcellular location" />
<xs:enumeration value="sequence caution" />
<xs:enumeration value="subunit" />
<xs:enumeration value="tissue specificity" />
<xs:enumeration value="toxic dose" />
<xs:enumeration value="online information" />
<xs:enumeration value="mass spectrometry" />
<xs:enumeration value="interaction" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="locationType" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes the type of sequence location in 'RNA
editing' annotations. Common values are "Not_applicable" and
"Undetermined".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="name" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Describes an optional name for an 'online
information'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="mass" type="xs:float" use="optional">
<xs:annotation>
<xs:documentation>Describes the molecular mass in 'mass
spectrometry' annotations.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="error" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes the error of the mass measurement in
'mass spectrometry' annotations.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="method" type="xs:string"
use="optional">
<xs:annotation>
<xs:documentation>Describes the experimental method in 'mass
spectrometry' annotations.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:complexType>
<xs:group name="bpcCommentGroup">
<xs:annotation>
<xs:documentation>Describes different types of biophysicochemical
properties.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="absorption" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="max" type="evidencedStringType"
minOccurs="0" />
<xs:element name="text" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="kinetics" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="KM" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Vmax" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="text" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="phDependence" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="text" type="evidencedStringType"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="redoxPotential" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="text" type="evidencedStringType"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="temperatureDependence" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="text" type="evidencedStringType"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="reactionType">
<xs:annotation>
<xs:documentation>Describes a chemical reaction.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="text" type="xs:string" />
<xs:element name="dbReference" type="dbReferenceType"
minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:complexType>
<xs:complexType name="physiologicalReactionType">
<xs:annotation>
<xs:documentation>Describes a physiological reaction.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="dbReference" type="dbReferenceType" />
</xs:sequence>
<xs:attribute name="direction" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="left-to-right" />
<xs:enumeration value="right-to-left" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:complexType>
<xs:complexType name="cofactorType">
<xs:annotation>
<xs:documentation>Describes a cofactor.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="dbReference" type="dbReferenceType" />
</xs:sequence>
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:complexType>
<xs:complexType name="subcellularLocationType">
<xs:annotation>
<xs:documentation>Describes the subcellular location and optionally
the topology and orientation of a molecule.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="location" type="evidencedStringType"
maxOccurs="unbounded" />
<xs:element name="topology" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="orientation" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="eventType">
<xs:annotation>
<xs:documentation>Describes the type of events that cause alternative
products.</xs:documentation>
</xs:annotation>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="alternative splicing" />
<xs:enumeration value="alternative initiation" />
<xs:enumeration value="alternative promoter" />
<xs:enumeration value="ribosomal frameshifting" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="isoformType">
<xs:annotation>
<xs:documentation>Describes isoforms in 'alternative products'
annotations.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="id" type="xs:string"
maxOccurs="unbounded" />
<xs:element name="name" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="sequence">
<xs:complexType>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="not described" />
<xs:enumeration value="described" />
<xs:enumeration value="displayed" />
<xs:enumeration value="external" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ref" type="xs:string"
use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="text" type="evidencedStringType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:group name="interactantGroup">
<xs:sequence>
<xs:element name="id" type="xs:string" />
<xs:element name="label" type="xs:string" minOccurs="0" />
<xs:element name="dbReference" type="dbReferenceType"
minOccurs="0" />
</xs:sequence>
</xs:group>
<xs:complexType name="interactantType">
<xs:group ref="interactantGroup" minOccurs="0" />
<xs:attribute name="intactId" type="xs:string"
use="required" />
</xs:complexType>
<!-- Comment definition ends -->
<!-- Database cross-reference definition begins -->
<xs:complexType name="dbReferenceType">
<xs:annotation>
<xs:documentation>Describes a database cross-reference.
Equivalent to
the flat file DR-line.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="molecule" type="moleculeType"
minOccurs="0" />
<xs:element name="property" type="propertyType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Describes the name of the database.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Describes a unique database identifier.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="evidence" type="intListType"
use="optional" />
<!-- xs:attribute name="key" type="xs:string" use="optional"/ -->
</xs:complexType>
<xs:complexType name="propertyType">
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string"
use="required" />
</xs:complexType>
<!-- Database cross-reference definition ends -->
<!-- Protein existence definition begins -->
<xs:complexType name="proteinExistenceType">
<xs:annotation>
<xs:documentation>Describes the evidence for the protein's existence.
Equivalent to the flat file PE-line.</xs:documentation>
</xs:annotation>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="evidence at protein level" />
<xs:enumeration value="evidence at transcript level" />
<xs:enumeration value="inferred from homology" />
<xs:enumeration value="predicted" />
<xs:enumeration value="uncertain" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<!-- Protein existence definition ends -->
<!-- Keyword definition begins -->
<xs:complexType name="keywordType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="evidence" type="intListType"
use="optional" />
<xs:attribute name="id" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Keyword definition ends -->
<!-- Feature definition begins -->
<xs:complexType name="featureType">
<xs:annotation>
<xs:documentation>Describes different types of sequence annotations.
Equivalent to the flat file FT-line.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="original" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the original sequence in annotations
that describe natural or artifical sequence variations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="variation" type="xs:string"
minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes the variant sequence in annotations
that describe natural or artifical sequence variations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="location" type="locationType">
<xs:annotation>
<xs:documentation>Describes the sequence coordinates of the
annotation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ligand" type="ligandType" minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the chemical entity that is bound in
annotations that describe binding sites.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ligandPart" type="ligandPartType"
minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the specific part of a molecule that is
bound in annotations that describe binding sites.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="type" use="required">
<xs:annotation>
<xs:documentation>Describes the type of a sequence annotation.
Equivalent to the flat file FT feature keys, but using full terms
instead of acronyms.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="active site" />
<xs:enumeration value="binding site" />
<xs:enumeration value="calcium-binding region" />
<xs:enumeration value="chain" />
<xs:enumeration value="coiled-coil region" />
<xs:enumeration
value="compositionally biased region" />
<xs:enumeration value="cross-link" />
<xs:enumeration value="disulfide bond" />
<xs:enumeration value="DNA-binding region" />
<xs:enumeration value="domain" />
<xs:enumeration value="glycosylation site" />
<xs:enumeration value="helix" />
<xs:enumeration value="initiator methionine" />
<xs:enumeration value="lipid moiety-binding region" />
<xs:enumeration value="metal ion-binding site" />
<xs:enumeration value="modified residue" />
<xs:enumeration value="mutagenesis site" />
<xs:enumeration value="non-consecutive residues" />
<xs:enumeration value="non-terminal residue" />
<xs:enumeration
value="nucleotide phosphate-binding region" />
<xs:enumeration value="peptide" />
<xs:enumeration value="propeptide" />
<xs:enumeration value="region of interest" />
<xs:enumeration value="repeat" />
<xs:enumeration value="non-standard amino acid" />
<xs:enumeration value="sequence conflict" />
<xs:enumeration value="sequence variant" />
<xs:enumeration value="short sequence motif" />
<xs:enumeration value="signal peptide" />
<xs:enumeration value="site" />
<xs:enumeration value="splice variant" />
<xs:enumeration value="strand" />
<xs:enumeration value="topological domain" />
<xs:enumeration value="transit peptide" />
<xs:enumeration value="transmembrane region" />
<xs:enumeration value="turn" />
<xs:enumeration value="unsure residue" />
<xs:enumeration value="zinc finger region" />
<xs:enumeration value="intramembrane region" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="id" type="xs:string" use="optional" />
<xs:attribute name="description" type="xs:string"
use="optional" />
<xs:attribute name="evidence" type="intListType"
use="optional" />
<xs:attribute name="ref" type="xs:string" use="optional" />
</xs:complexType>
<xs:complexType name="locationType">
<xs:annotation>
<xs:documentation>Describes a sequence location as either a range
with a begin and end or as a position. The 'sequence' attribute is
only used when the location is not on the canonical sequence
displayed in the current entry.</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:sequence>
<xs:element name="begin" type="positionType" />
<xs:element name="end" type="positionType" />
</xs:sequence>
<xs:element name="position" type="positionType" />
</xs:choice>
<xs:attribute name="sequence" type="xs:string"
use="optional" />
</xs:complexType>
<xs:complexType name="positionType">
<xs:attribute name="position" type="xs:unsignedLong"
use="optional" />
<xs:attribute name="status" use="optional"
default="certain">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="certain" />
<xs:enumeration value="uncertain" />
<xs:enumeration value="less than" />
<xs:enumeration value="greater than" />
<xs:enumeration value="unknown" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:complexType>
<xs:complexType name="ligandType">
<xs:annotation>
<xs:documentation>Describes a ligand.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="dbReference" type="dbReferenceType"
minOccurs="0" />
<xs:element name="label" type="xs:string" minOccurs="0" />
<xs:element name="note" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ligandPartType">
<xs:annotation>
<xs:documentation>Describes a ligand part.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="dbReference" type="dbReferenceType"
minOccurs="0" />
<xs:element name="label" type="xs:string" minOccurs="0" />
<xs:element name="note" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<!-- Feature definition ends -->
<!-- Sequence definition begins -->
<xs:complexType name="sequenceType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="length" type="xs:int"
use="required" />
<xs:attribute name="mass" type="xs:int" use="required" />
<xs:attribute name="checksum" type="xs:string"
use="required" />
<xs:attribute name="modified" type="xs:date"
use="required" />
<xs:attribute name="version" type="xs:int"
use="required" />
<xs:attribute name="precursor" type="xs:boolean"
use="optional" />
<xs:attribute name="fragment" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="single" />
<xs:enumeration value="multiple" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Sequence definition ends -->
<!-- Molecule definition begins -->
<xs:complexType name="moleculeType">
<xs:annotation>
<xs:documentation>Describes a molecule by name or unique identifier.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Molecule definition ends -->
<!-- Evidence definition begins -->
<xs:complexType name="evidenceType">
<xs:annotation>
<xs:documentation>Describes the evidence for an annotation.
No flat
file equivalent.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="source" type="sourceType" minOccurs="0" />
<xs:element name="importedFrom" type="importedFromType"
minOccurs="0" />
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Describes the type of an evidence using the
Evidence Code Ontology
(http://www.obofoundry.org/cgi-bin/detail.cgi?id=evidence_code).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="key" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>A unique key to link annotations (via 'evidence'
attributes) to evidences.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="sourceType">
<xs:annotation>
<xs:documentation>Describes the source of the data using a database
cross-reference (or a 'ref' attribute when the source cannot be
found in a public data source, such as PubMed, and is cited only
within the UniProtKB entry).</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="dbReference" type="dbReferenceType"
minOccurs="0" />
</xs:sequence>
<xs:attribute name="ref" type="xs:integer" use="optional" />
</xs:complexType>
<xs:complexType name="importedFromType">
<xs:annotation>
<xs:documentation>Describes the source of the evidence, when it is
not assigned by UniProt, but imported from an external database.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="dbReference" type="dbReferenceType" />
</xs:sequence>
</xs:complexType>
<!-- Evidence definition ends -->
<xs:complexType name="evidencedStringType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="evidence" type="intListType"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="intListType">
<xs:list itemType="xs:int" />
</xs:simpleType>
</xs:schema>