<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Swiss-Prot (EMBL OUTSTATION THE EBI WELLCOME TRUST GENOME CAMPUS) -->
<xs:schema targetNamespace="net:sf:psidev:mi" xmlns="net:sf:psidev:mi" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
 <xs:element name="entrySet">
  <xs:annotation>
   <xs:documentation>Root element of the Molecular Interaction Format</xs:documentation>
  </xs:annotation>
  <xs:complexType>
   <xs:sequence>
    <xs:element name="entry" maxOccurs="unbounded">
     <xs:annotation>
      <xs:documentation>Describes one or more interactions as a self-contained unit. Multiple entries from different files can be concatenated into a single entrySet.</xs:documentation>
     </xs:annotation>
     <xs:complexType>
      <xs:sequence>
       <xs:element name="source" minOccurs="0">
        <xs:annotation>
         <xs:documentation>Desciption of the source of the entry, usually an organisation</xs:documentation>
        </xs:annotation>
        <xs:complexType>
         <xs:sequence>
          <xs:element name="names" type="namesType" minOccurs="0">
           <xs:annotation>
            <xs:documentation>Name(s) of the data source, for example the organisation name.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="bibref" type="bibrefType" minOccurs="0">
           <xs:annotation>
            <xs:documentation>Bibliographic reference for the data source. Example: A paper which describes all interactions of the entry.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="xref" type="xrefType" minOccurs="0">
           <xs:annotation>
            <xs:documentation>Cross reference for the data source. Example: Entry in a database of databases. </xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="attributeList" type="attributeListType" minOccurs="0">
           <xs:annotation>
            <xs:documentation>Further description of the source.</xs:documentation>
           </xs:annotation>
          </xs:element>
         </xs:sequence>
         <xs:attribute name="release" type="xs:string" use="optional"/>
         <xs:attribute name="releaseDate" type="xs:date" use="optional"/>
        </xs:complexType>
       </xs:element>
       <xs:element name="availabilityList" minOccurs="0">
        <xs:annotation>
         <xs:documentation>Data availability statements, for example copyrights</xs:documentation>
        </xs:annotation>
        <xs:complexType>
         <xs:sequence>
          <xs:element name="availability" type="availabilityType" default="free" minOccurs="0" maxOccurs="unbounded">
           <xs:annotation>
            <xs:documentation>Describes data availability, e.g. through a copyright statement. If no availability is given, the data is assumed to be freely available.</xs:documentation>
           </xs:annotation>
          </xs:element>
         </xs:sequence>
        </xs:complexType>
       </xs:element>
       <xs:element name="experimentList" minOccurs="0">
        <xs:annotation>
         <xs:documentation>All experiments in which the interactions of this entry have been determined</xs:documentation>
        </xs:annotation>
        <xs:complexType>
         <xs:sequence>
          <xs:element name="experimentDescription" type="experimentType" minOccurs="0" maxOccurs="unbounded">
           <xs:annotation>
            <xs:documentation>Describes one set of experimental parameters, usually associated with a single publication.</xs:documentation>
           </xs:annotation>
          </xs:element>
         </xs:sequence>
        </xs:complexType>
       </xs:element>
       <xs:element name="interactorList" minOccurs="0">
        <xs:annotation>
         <xs:documentation>List of all interactors occurring in the entry</xs:documentation>
        </xs:annotation>
        <xs:complexType>
         <xs:sequence>
          <xs:annotation>
           <xs:documentation>Will be extended in future levels to include other interactor types e.g. small molecules.</xs:documentation>
          </xs:annotation>
          <xs:element name="proteinInteractor" type="proteinInteractorType" minOccurs="0" maxOccurs="unbounded">
           <xs:annotation>
            <xs:documentation>A protein object participating in an interaction.</xs:documentation>
           </xs:annotation>
          </xs:element>
         </xs:sequence>
        </xs:complexType>
       </xs:element>
       <xs:element name="interactionList">
        <xs:annotation>
         <xs:documentation>List of interactions</xs:documentation>
        </xs:annotation>
        <xs:complexType>
         <xs:sequence>
          <xs:annotation>
           <xs:documentation>Will be extended in future levels to include other interaction types e.g. biochemical reactions.</xs:documentation>
          </xs:annotation>
          <xs:element name="interaction" type="interactionElementType" maxOccurs="unbounded">
           <xs:annotation>
            <xs:documentation>A set of molecules interacting.</xs:documentation>
           </xs:annotation>
          </xs:element>
         </xs:sequence>
        </xs:complexType>
       </xs:element>
       <xs:element name="attributeList" type="attributeListType" minOccurs="0">
        <xs:annotation>
         <xs:documentation>Semi-structured additional description of the data contained in the entry.</xs:documentation>
        </xs:annotation>
       </xs:element>
      </xs:sequence>
     </xs:complexType>
     <xs:key name="experimentKey">
      <xs:selector xpath="experimentList/experimentDescription"/>
      <xs:field xpath="@id"/>
     </xs:key>
     <xs:keyref name="experimentRef" refer="experimentKey">
      <xs:selector xpath="interactionList/interaction/experimentsList/experimentRef"/>
      <xs:field xpath="@ref"/>
     </xs:keyref>
     <xs:key name="interactorKey">
      <xs:selector xpath="interactorList/proteinInteractor"/>
      <xs:field xpath="@id"/>
     </xs:key>
     <xs:keyref name="interactorRef" refer="interactorKey">
      <xs:selector xpath="interactionList/interaction/participantList/proteinParticipant/proteinInteractorRef"/>
      <xs:field xpath="@ref"/>
     </xs:keyref>
     <xs:key name="availabilityKey">
      <xs:selector xpath="availabilityList/availabilityDescription"/>
      <xs:field xpath="@id"/>
     </xs:key>
     <xs:keyref name="availabilityRef" refer="availabilityKey">
      <xs:selector xpath="availabilityList/availability"/>
      <xs:field xpath="@ref"/>
     </xs:keyref>
    </xs:element>
   </xs:sequence>
   <xs:attribute name="level" type="xs:integer" use="required"/>
   <xs:attribute name="version" type="xs:integer" use="required"/>
  </xs:complexType>
 </xs:element>
 <xs:complexType name="dbReferenceType">
  <xs:annotation>
   <xs:documentation>Refers to a unique object in an external database.</xs:documentation>
  </xs:annotation>
  <xs:attribute name="db" type="xs:string" use="required"/>
  <xs:attribute name="id" type="xs:string" use="required"/>
  <xs:attribute name="secondary" type="xs:string" use="optional"/>
  <xs:attribute name="version" type="xs:string" use="optional"/>
 </xs:complexType>
 <xs:complexType name="labelType">
  <xs:annotation>
   <xs:documentation>A short alphanumeric label identifying an object. Not necessarily unique.</xs:documentation>
  </xs:annotation>
  <xs:simpleContent>
   <xs:extension base="xs:string"/>
  </xs:simpleContent>
 </xs:complexType>
 <xs:complexType name="fullNameType">
  <xs:annotation>
   <xs:documentation>Full, descriptive object name.</xs:documentation>
  </xs:annotation>
  <xs:simpleContent>
   <xs:extension base="xs:string"/>
  </xs:simpleContent>
 </xs:complexType>
 <xs:complexType name="bioSourceType">
  <xs:annotation>
   <xs:documentation>Describes the biological source of an object, in simple form only the NCBI taxid.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="names" type="namesType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>The names of the organism.  The short label should be a common name if it exists.  The full name should be the full name of the species (i.e. genus species).</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="cellType" type="openCvType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Description of the cell type. Currently no species-independent controlled vocabulary for cell types is available, therefore the choice of reference database(s) is open to the data provider.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="compartment" type="openCvType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>The subcellular compartement of the object. It is strongly recommended to refer to the Gene Ontology cellular component in this element.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="tissue" type="openCvType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Description of the source tissue. Currently no species-independent controlled vocabulary for tissues is available, therefore the choice of reference database(s) is open to the data provider.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="featureType">
  <xs:annotation>
   <xs:documentation>A feature, e.g. domain, on a sequence.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="xref" type="xrefType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Reference to an external feature description, for example InterPro entry.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="featureDescription" type="cvType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Description and classification of the feature</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="location" type="baseLocationType">
    <xs:annotation>
     <xs:documentation>Location of the feature on the sequence of the interactor</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="featureDetection" type="cvType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Experimental method used to identify the feature.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="xrefType">
  <xs:annotation>
   <xs:documentation>Crossreference to an external database.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="primaryRef" type="dbReferenceType">
    <xs:annotation>
     <xs:documentation>Primary reference to an external database.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="secondaryRef" type="dbReferenceType" minOccurs="0" maxOccurs="unbounded">
    <xs:annotation>
     <xs:documentation>Further external objects describing the object.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
 <!--  Feature location definition begins  -->
 <xs:complexType name="positionType">
  <xs:annotation>
   <xs:documentation>A specified position a a sequence.</xs:documentation>
  </xs:annotation>
  <xs:attribute name="position" type="xs:unsignedLong" use="required"/>
 </xs:complexType>
 <xs:complexType name="intervalType">
  <xs:annotation>
   <xs:documentation>A interval on a sequence.</xs:documentation>
  </xs:annotation>
  <xs:attribute name="begin" type="xs:unsignedLong" use="required"/>
  <xs:attribute name="end" type="xs:unsignedLong" use="required"/>
 </xs:complexType>
 <xs:complexType name="baseLocationType">
  <xs:annotation>
   <xs:documentation>A location can be either a position, site or have a start and end, only start, only end or is an empty element if the position is unknown.</xs:documentation>
  </xs:annotation>
  <xs:choice>
   <xs:sequence>
    <xs:choice minOccurs="0">
     <xs:element name="begin" type="positionType"/>
     <xs:element name="beginInterval" type="intervalType"/>
    </xs:choice>
    <xs:choice minOccurs="0">
     <xs:element name="end" type="positionType"/>
     <xs:element name="endInterval" type="intervalType"/>
    </xs:choice>
   </xs:sequence>
   <xs:element name="position" type="positionType"/>
   <xs:element name="positionInterval" type="intervalType"/>
   <xs:element name="site" type="positionType"/>
  </xs:choice>
 </xs:complexType>
 <!--  Feature location definition ends  -->
 <xs:complexType name="experimentType">
  <xs:annotation>
   <xs:documentation>Describes one set of experimental parameters.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="names" type="namesType" minOccurs="0"/>
   <xs:element name="bibref" type="bibrefType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Publication describing the experiment.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="xref" type="xrefType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Refers to external database description of the experiment.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="hostOrganism" minOccurs="0">
    <xs:annotation>
     <xs:documentation>The host organism in which the experiment has been performed.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:complexContent>
      <xs:extension base="bioSourceType">
       <xs:attribute name="ncbiTaxId" type="xs:integer" use="required"/>
      </xs:extension>
     </xs:complexContent>
    </xs:complexType>
   </xs:element>
   <xs:element name="interactionDetection" type="cvType">
    <xs:annotation>
     <xs:documentation>Experimental method to determine the interaction. External controlled vocabulary.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="participantDetection" type="cvType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Experimental method to determine the interactors involved in the interaction. External controlled vocabulary.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="featureDetection" type="cvType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Experimental method to determine the features of interactors. External controlled vocabulary.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="confidence" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Confidence in this experiment.  Usually a statistical measure.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:attribute name="unit" type="xs:string" use="required"/>
     <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
   </xs:element>
   <xs:element name="attributeList" type="attributeListType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Semi-structured additional description of the experiment.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID" use="required"/>
 </xs:complexType>
 <xs:complexType name="refType">
  <xs:annotation>
   <xs:documentation>Refers to an object within the same file by its id.</xs:documentation>
  </xs:annotation>
  <xs:attribute name="ref" type="xs:string" use="required"/>
 </xs:complexType>
 <xs:complexType name="attributeListType">
  <xs:annotation>
   <xs:documentation>A list of additional attributes. Open tag-value list to allow the inclusion of additional data.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="attribute" maxOccurs="unbounded">
    <xs:complexType>
     <xs:simpleContent>
      <xs:extension base="xs:string">
       <xs:attribute name="name" type="xs:string" use="required"/>
      </xs:extension>
     </xs:simpleContent>
    </xs:complexType>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="bibrefType">
  <xs:annotation>
   <xs:documentation>Bibliographic reference.</xs:documentation>
  </xs:annotation>
  <xs:choice>
   <xs:element name="xref" type="xrefType">
    <xs:annotation>
     <xs:documentation>Bibliographic reference in external database, usually PubMed.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="attributeList" type="attributeListType">
    <xs:annotation>
     <xs:documentation>Alternative description of bibliographic reference if no external database entry is available.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:choice>
 </xs:complexType>
 <xs:complexType name="namesType">
  <xs:annotation>
   <xs:documentation>Names for an object.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="shortLabel" type="xs:string"/>
   <xs:element name="fullName" type="xs:string" minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="cvType">
  <xs:annotation>
   <xs:documentation>Reference to an external controlled vocabulary.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="names" type="namesType">
    <xs:annotation>
     <xs:documentation>Name of the controlled vocabulary term.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="xref" type="xrefType">
    <xs:annotation>
     <xs:documentation>Source of the controlled vocabulary term.  E.g. the name of the CV and the term ID.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="openCvType">
  <xs:annotation>
   <xs:documentation>Allows to reference an external controlled vocabulary, or to directly include a value if no suitable external definition is available.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="names" type="namesType">
    <xs:annotation>
     <xs:documentation>This contains the controlled vocabulary terms, as a short and optionally as a long form.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="xref" type="xrefType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Refers to the term of the controlled vocabulary in an external database.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="attributeList" type="attributeListType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>If no suitable external controlled vocabulary is available, this attributeList can be used to describe the term. Example: Attribute name: Mouse atlas tissue name; attribute value: spinal cord, day 30.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="proteinInteractorType">
  <xs:annotation>
   <xs:documentation>Describes a protein interactor.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="names" type="namesType">
    <xs:annotation>
     <xs:documentation>Protein name(s).  The short label is typically a short name that could appear as a label on a diagram.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="xref" type="xrefType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>An interactor should have an xref whenever possible. If the interactor is not available in external databases, it must be characterised within this proteinInteractor object e.g. by its sequence.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="organism" minOccurs="0">
    <xs:annotation>
     <xs:documentation>The normal source organism of the interactor. If a human protein has been expressed in yeast, this attribute would describe human.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:complexContent>
      <xs:extension base="bioSourceType">
       <xs:attribute name="ncbiTaxId" type="xs:integer" use="required"/>
      </xs:extension>
     </xs:complexContent>
    </xs:complexType>
   </xs:element>
   <xs:element name="sequence" type="xs:string" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Amino acid sequence in uppercase</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID" use="required"/>
 </xs:complexType>
 <xs:complexType name="availabilityType">
  <xs:annotation>
   <xs:documentation>A text describing the availability of data, e.g. a copyright statement.</xs:documentation>
  </xs:annotation>
  <xs:simpleContent>
   <xs:extension base="xs:string">
    <xs:attribute name="id" type="xs:ID" use="required"/>
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
 <xs:complexType name="interactionElementType">
  <xs:annotation>
   <xs:documentation>A molecular interaction.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="names" type="namesType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Name(s) of the interaction.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:choice minOccurs="0">
    <xs:annotation>
     <xs:documentation>Either refer to an already defined availability statement in this entry or insert description.</xs:documentation>
    </xs:annotation>
    <xs:element name="availabilityRef" type="refType">
     <xs:annotation>
      <xs:documentation>References an availability statement already present in this entry.</xs:documentation>
     </xs:annotation>
    </xs:element>
    <xs:element name="availabilityDescription" type="availabilityType">
     <xs:annotation>
      <xs:documentation>Describes the availability of the interaction data. If no availability is given, the data is assumed to be freely available.</xs:documentation>
     </xs:annotation>
    </xs:element>
   </xs:choice>
   <xs:element name="experimentList">
    <xs:annotation>
     <xs:documentation>List of experiments in which this interaction has been determined.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:choice maxOccurs="unbounded">
      <xs:annotation>
       <xs:documentation>Either refer to an already defined experiment in this entry or insert description.</xs:documentation>
      </xs:annotation>
      <xs:element name="experimentRef" type="refType">
       <xs:annotation>
        <xs:documentation>References an experiment already present in this entry.</xs:documentation>
       </xs:annotation>
      </xs:element>
      <xs:element name="experimentDescription" type="experimentType">
       <xs:annotation>
        <xs:documentation>An experiment in which this interaction has been determined.</xs:documentation>
       </xs:annotation>
      </xs:element>
     </xs:choice>
    </xs:complexType>
   </xs:element>
   <xs:element name="participantList">
    <xs:annotation>
     <xs:documentation>A list of molecules participating in this interaction.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:sequence>
      <xs:annotation>
       <xs:documentation>Will be extended in future levels to include other types of participant molecules.</xs:documentation>
      </xs:annotation>
      <xs:element name="proteinParticipant" type="proteinParticipantType" minOccurs="2" maxOccurs="unbounded">
       <xs:annotation>
        <xs:documentation>An interaction has two or more participants, thereby covering binary and n-ary interactions.</xs:documentation>
       </xs:annotation>
      </xs:element>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name="interactionType" type="cvType" minOccurs="0" maxOccurs="unbounded">
    <xs:annotation>
     <xs:documentation>External controlled vocabulary characterising the interaction type, for example "aggregation".</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="confidence" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Confidence in this interaction.  Usually a statistical measure.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:attribute name="unit" type="xs:string" use="required"/>
     <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
   </xs:element>
   <xs:element name="xref" type="xrefType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Interaction database ID</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="attributeList" type="attributeListType" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Semi-structured additional description of the data contained in the entry.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="proteinParticipantType">
  <xs:annotation>
   <xs:documentation>A protein participating in an interaction.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:choice>
    <xs:annotation>
     <xs:documentation>Either refer to an already defined protein interactor in this entry or insert description.</xs:documentation>
    </xs:annotation>
    <xs:element name="proteinInteractorRef" type="refType">
     <xs:annotation>
      <xs:documentation>References an interactor described in the interactorList of the entry</xs:documentation>
     </xs:annotation>
    </xs:element>
    <xs:element name="proteinInteractor" type="proteinInteractorType">
     <xs:annotation>
      <xs:documentation>Fully describes an interactor</xs:documentation>
     </xs:annotation>
    </xs:element>
   </xs:choice>
   <xs:element name="featureList" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Sequence features relevant for the interaction, for example binding domains</xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:sequence>
      <xs:element name="feature" type="featureType" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name="confidence" minOccurs="0">
    <xs:annotation>
     <xs:documentation>Confidence in participant detection.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:attribute name="unit" type="xs:string" use="required"/>
     <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
   </xs:element>
   <xs:element name="role" minOccurs="0">
    <xs:annotation>
     <xs:documentation>The role of the participant in the interaction, e.g. "bait".  Choose an enumerated value.</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
     <xs:restriction base="xs:string">
      <xs:enumeration value="bait"/>
      <xs:enumeration value="prey"/>
      <xs:enumeration value="neutral"/>
      <xs:enumeration value="unspecified"/>
     </xs:restriction>
    </xs:simpleType>
   </xs:element>
   <xs:element name="isTaggedProtein" type="xs:boolean" minOccurs="0">
    <xs:annotation>
     <xs:documentation>True if the protein has been tagged in the experiment.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="isOverexpressedProtein" type="xs:boolean" minOccurs="0">
    <xs:annotation>
     <xs:documentation>True if the protein has been overexpressed in the experiment.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
</xs:schema>
