PacBioBaseDataModel

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="xs3p.xsl"?>
<!-- edited with XMLSpy v2016 (x64) (http://www.altova.com) by efayad@pacificbiosciences.com (Pacific Biosciences) -->
<!--W3C XML Schema generated by XMLSpy v2014 sp1 (x64) (http://www.altova.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://pacificbiosciences.com/PacBioBaseDataModel.xsd" targetNamespace="http://pacificbiosciences.com/PacBioBaseDataModel.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:complexType name="AnalogType">
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:sequence>
          <xs:element name="Spectrum">
            <xs:annotation>
              <xs:documentation>A vector of probabilities, given in the order of increasing filter-bin wavelength, that light emitted by the analog will fall in the corresponding filter bin of the instrument detection system. By convention, the values are normalized to sum to 1.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Values">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="Value" type="xs:float" maxOccurs="unbounded">
                        <xs:annotation>
                          <xs:documentation>There should be as many values as specified in the Number of Filter Bins attribute.
Each value is a probability, in the range of [0, 1].</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="NumberFilterBins" type="xs:int" use="required">
                <xs:annotation>
                  <xs:documentation>number of bins describing the spectrum, green to red</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="RelativeAmplitude" type="xs:float">
            <xs:annotation>
              <xs:documentation>Relative intensity of emission vs. a reference analog using standardized metrology  e.g., relative to the amplitude of the “542” analog as measured by the mean DWS pkMid on the Astro instrument.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="IntraPulseXsnCV" type="xs:float">
            <xs:annotation>
              <xs:documentation>The 1-sigma fractional variation of the intra-pulse signal, independent of any Shot noise associated with that signal</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="InterPulseXsnCV" type="xs:float">
            <xs:annotation>
              <xs:documentation>The 1-sigma fractional variation, pulse-to-pulse, of the mean signal level (i.e., the pkMid).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Pw2SlowStepRatio" type="xs:float" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The pulse-width two slow-step ratio.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Ipd2SlowStepRatio" type="xs:float" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The inter-pulse distance (IPD) two slow-step ratio.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="DiffusionXsnCV" type="xs:float"/>
          <xs:element name="PulseWidthMeanSeconds" type="xs:float" minOccurs="0"/>
          <xs:element name="IpdMeanSeconds" type="xs:float" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="Base" type="SupportedNucleotides">
          <xs:annotation>
            <xs:documentation>The base label, A, C, T, or G</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Nucleotide" type="xs:string">
          <xs:annotation>
            <xs:documentation>The type and number of nucleotides on a given analog. e.g. (dT6P)6</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Wavelength" type="xs:float">
          <xs:annotation>
            <xs:documentation>The peak emission wavelength associated with the dye label in nm.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="CompoundID" type="xs:string">
          <xs:annotation>
            <xs:documentation>Identification code of the final compound.  The suffix ‘N’ should be used to distinguish these values from enzyme identifiers.	e.g. 5031N</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="LotID" type="xs:string">
          <xs:annotation>
            <xs:documentation>Identification code for the build of the final compound, written as initials/date, where date is written as YYYY-MM-DD.	e.g. js/2014-06-30</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="BaseEntityType">
    <xs:annotation>
      <xs:documentation>This is the base element type for all types in this data model</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Extensions" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="ExtensionElement" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Name" type="xs:string">
      <xs:annotation>
        <xs:documentation>A short text identifier; uniqueness not necessary</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Description" type="xs:string">
      <xs:annotation>
        <xs:documentation>A long text description of the object</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Tags" type="xs:string">
      <xs:annotation>
        <xs:documentation>A set of keywords assigned to the object to help describe it and allow it to be found via search</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Format" type="xs:string">
      <xs:annotation>
        <xs:documentation>Optional, but recommended.  The MIME-Type of the referenced file.  See http://www.iana.org/assignments/media-types/media-types.xhtml for examples</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="ResourceId" type="xs:anyURI">
      <xs:annotation>
        <xs:documentation>A uniform resource identifier used to identify a "web" resource. e.g. svc://run/acquisition/alignment/gridding</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Version" type="xs:string">
      <xs:annotation>
        <xs:documentation>An optional identifier denoting the revision of this particular entity</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="CreatedAt">
      <xs:annotation>
        <xs:documentation>Timestamp designating the creation of this object, relative to UTC; millisecond precision is expected.</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"/>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="ModifiedAt">
      <xs:annotation>
        <xs:documentation>Timestamp designating the modification of this object, relative to UTC; millisecond precision is expected.</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"/>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="StrictEntityType">
    <xs:annotation>
      <xs:documentation>This is the base element type for all types in this data model</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:attribute name="UniqueId" use="required">
          <xs:annotation>
            <xs:documentation>A unique identifier, such as a GUID - likely autogenerated</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:length value="36" fixed="true"/>
              <xs:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="MetaType" type="xs:string" use="required">
          <xs:annotation>
            <xs:documentation>Controlled Vocabulary, meant as a means to group similar entities; the type of the object, e.g. Instrument Run, Secondary Run, Assay, Sample, Barcode, Alignment File, Alarm, Exception, Metric, SystemEvent, etc.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="TimeStampedName" type="xs:string" use="required">
          <xs:annotation>
            <xs:documentation>This is NOT intended to be used as a unique field.  For uniqueness, use UniqueId.  In order to not utilize customer provided names, this attribute may be used as an alternative means of Human Readable ID, e.g. instrumentId-Run-150304_231155</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ConfigSetAnalog">
    <xs:annotation>
      <xs:documentation>An unlimited number of analogs listed for the purposes of hosting in a configuration file. e.g. a list of all possible analogs on the system</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="AnalogType"/>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="DataEntity" type="DataEntityType"/>
  <xs:complexType name="DataEntityType">
    <xs:annotation>
      <xs:documentation>Extends BaseEntityType and adds a value element.  The intent is to have only one of the value elements exist at any point in time; however, this is not enforced.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:sequence>
          <!--xs:element name="EncodedValue" type="xs:base64Binary" nillable="true" minOccurs="0">
						<xs:annotation>
							<xs:documentation>A complex data type element, such as an image, file, binary object, etc.</xs:documentation>
						</xs:annotation>
					</xs:element-->
          <xs:element name="CheckSum" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>small-size datum of the attached value for the purpose of detecting errors or modification which may have been introduced during its transmission or storage</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="ValueDataType" type="SupportedDataTypes" default="Object">
          <xs:annotation>
            <xs:documentation>The datatype of the simple or encoded value.  If not specified, a string is assumed.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="SimpleValue" type="xs:anySimpleType">
          <xs:annotation>
            <xs:documentation>A simple data type element, such as a string, int, float, etc.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MetaType" type="xs:string">
          <xs:annotation>
            <xs:documentation>Controlled Vocabulary, meant as a means to group similar entities; the type of the object, e.g. Instrument Run, Secondary Run, Assay, Sample, Barcode, Alignment File, Alarm, Exception, Metric, SystemEvent, etc.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="TimeStampedName" type="xs:string">
          <xs:annotation>
            <xs:documentation>This is NOT intended to be used as a unique field.  For uniqueness, use UniqueId.  In order to not utilize customer provided names, this attribute may be used as an alternative means of Human Readable ID, e.g. instrumentId-Run-150304_231155</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="DataPointers">
    <xs:annotation>
      <xs:documentation>Pointer list to UniqueIds in the system</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="DataPointer" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="DNABarcode">
    <xs:annotation>
      <xs:documentation>Composite of uuid, sequence, and name</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:attribute name="DNASequence">
          <xs:annotation>
            <xs:documentation>This is the sample's DNA barcode</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="UniqueId" use="optional">
          <xs:annotation>
            <xs:documentation>This is the sample's UUID. The run design dataModel creates UniqueIds for each DNABarcode starting in Locust. The UniqueIds are then assigned to each dataset produced from demultiplexing. The attribute is optional to preserve compatibility with pre-Locust datasets.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:length value="36" fixed="true"/>
              <xs:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="DyeSetAnalog">
    <xs:annotation>
      <xs:documentation>A set of four analogs, one for each of the nucleotides, grouped together for the purposes of a single experiment.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="AnalogType"/>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="ExternalResources">
    <xs:annotation>
      <xs:documentation>Pointers to data that do not reside inside the parent structure</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="ExternalResource" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SupplementalResources">
    <xs:annotation>
      <xs:documentation>Pointers to accessory data (and metadata) that belong with the dataset but should not be read simultaneously with the files in ExternalResources.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="ExternalResource" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="InputOutputDataType">
    <xs:complexContent>
      <xs:extension base="StrictEntityType"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IndexedDataType">
    <xs:complexContent>
      <xs:extension base="InputOutputDataType">
        <xs:sequence>
          <xs:element name="FileIndices" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="FileIndex" type="InputOutputDataType" maxOccurs="unbounded">
                  <xs:annotation>
                    <xs:documentation>e.g. index for output files, allowing one to find information in the output file</xs:documentation>
                  </xs:annotation>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element ref="ExternalResources" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AutomationType">
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:sequence>
          <xs:element name="AutomationParameters" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element ref="AutomationParameter" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element ref="Defaults" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="PartNumber" type="xs:string" use="optional">
          <xs:annotation>
            <xs:documentation>Defines a part number, mainly for use in defining incompatibility with other PB kit PNs, if necessary</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="IsRestricted" type="xs:boolean" use="optional" default="false">
          <xs:annotation>
            <xs:documentation>Allows for an automation to be marked for internal use or by admin users only</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="IsObsolete" type="xs:boolean" use="optional" default="false">
          <xs:annotation>
            <xs:documentation>Allows for an automation to be marked as obsolete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ChipType" type="SupportedChipTypes" use="optional" default="AllChips">
          <xs:annotation>
            <xs:documentation>Chip platform supported by this automation type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="IsDefault" type="xs:boolean" use="optional" default="false">
          <xs:annotation>
            <xs:documentation>Allows for an automation to be marked as a default for a kit with which it's compatible</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="AutomationParameter" type="DataEntityType">
    <xs:annotation>
      <xs:documentation>One or more collection parameters, such as MovieLength, InsertSize, UseStageStart, IsControl, etc..</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="IncompatiblePairType">
    <xs:annotation>
      <xs:documentation>Describes a bidirectional incompatibility between part numbers.

By default, any PN is compatible for use with other PNs in the system.  In order to exclude the usage of one or more PNs with this one, the pairwise incompatible PNs are listed here.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:attribute name="PartA" type="xs:string" use="required">
          <xs:annotation>
            <xs:documentation>An automation or kit Part Number that's incompatible with Part Number B</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="PartB" type="xs:string" use="required">
          <xs:annotation>
            <xs:documentation>An automation or kit Part Number that's incompatible with Part Number A</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AutomationConstraintType">
    <xs:annotation>
      <xs:documentation>This data type defines constraints that an automation has.  The information here, along with the availability of an exclusionary list of automations in the PartNumberType, allows for defining a robust compatibility matrix.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:sequence>
          <xs:element name="Automations" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Names of automations that are all similarly constrained</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Automation" type="AutomationType" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="SupportsCellReuse" type="xs:boolean">
          <xs:annotation>
            <xs:documentation>Does this automation support cell reuse?</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="SupportsStageStart" type="xs:boolean">
          <xs:annotation>
            <xs:documentation>Does this automation support hot-start on the stage?</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="SupportsDynamicLoading" type="xs:boolean">
          <xs:annotation>
            <xs:documentation>Does this automation support dynamic loading?</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxCollectionsPerCell" type="xs:int">
          <xs:annotation>
            <xs:documentation>If cell reuse is supported (i.e. above attribute is true) how many times can the cell be reused?</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MinMovieLength" type="xs:int">
          <xs:annotation>
            <xs:documentation>Minimum length of movie acquisition</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxMovieLength" type="xs:int">
          <xs:annotation>
            <xs:documentation>Maximum length of movie acquisition</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MinInsertSize" type="xs:int">
          <xs:annotation>
            <xs:documentation>Minimum recommended insert size</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxInsertSize" type="xs:int">
          <xs:annotation>
            <xs:documentation>Maximum recommended insert size</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ChipType" type="SupportedChipTypes" use="optional" default="AllChips">
          <xs:annotation>
            <xs:documentation>Chip platform supported by this automation, for example MagBead is 1m only</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PartNumberType">
    <xs:annotation>
      <xs:documentation>Generic representation of a supply kit. 

If the part number has an NFC associated with it, the contents of the NFC may be encoded here.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataEntityType">
        <xs:sequence>
          <xs:element ref="Defaults" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="PartNumber" type="xs:string">
          <xs:annotation>
            <xs:documentation>The kit part number</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="LotNumber" type="xs:string">
          <xs:annotation>
            <xs:documentation>The kit lot number</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="LabelNumber" type="xs:string" use="optional">
          <xs:annotation>
            <xs:documentation>The kit label number</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="PlateNumber" type="xs:int" use="optional">
          <xs:annotation>
            <xs:documentation>The kit plate number</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Barcode" type="xs:string">
          <xs:annotation>
            <xs:documentation>The kit barcode; used for tracking purposes.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ExpirationDate" type="xs:date">
          <xs:annotation>
            <xs:documentation>The kit's shelf life</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="IsObsolete" type="xs:boolean" default="false"/>
        <xs:attribute name="IsRestricted" type="xs:boolean" default="false"/>
        <xs:attribute name="ChipType" type="SupportedChipTypes" use="optional" default="AllChips"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RecordedEventType">
    <xs:annotation>
      <xs:documentation>Metrics, system events, alarms, and logs may utilize this type</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataEntityType">
        <xs:attribute name="Context" type="xs:string">
          <xs:annotation>
            <xs:documentation>The part of the system in effect when the event was recorded</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SequencingChemistry">
    <xs:annotation>
      <xs:documentation>A container for a set of analogs</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataEntityType">
        <xs:sequence>
          <xs:element name="DyeSet">
            <xs:complexType>
              <xs:complexContent>
                <xs:extension base="BaseEntityType">
                  <xs:sequence>
                    <xs:element name="Analogs">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Analog" type="AnalogType" maxOccurs="4"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:extension>
              </xs:complexContent>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PacBioSequencingChemistry">
    <xs:annotation>
      <xs:documentation>Root element for document containing the container of analog set, SequencingChemistryConfig</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="ChemistryConfig"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="SequencingChemistryConfig">
    <xs:annotation>
      <xs:documentation>A container for a set of analogs</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DataEntityType">
        <xs:sequence>
          <xs:element name="Analogs">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Analog" type="AnalogType" maxOccurs="4"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="DefaultLaserSetPoint" type="xs:float">
            <xs:annotation>
              <xs:documentation>The laser power at the input couple, needed to achieve predefined performance requirements based on a median 'golden' SMRT Cell.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="HqrfMethod" type="xs:string">
            <xs:annotation>
              <xs:documentation>The method to be used by HQRF (High Quality Region Finder) in the basecaller.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="SNRCut" type="xs:float">
            <xs:annotation>
              <xs:documentation>The SNRCut is applied in PPA (baz2bam) as a read-quality filter.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="TargetSNR">
            <xs:complexType>
              <xs:attribute name="SNR_A" type="xs:float" use="required"/>
              <xs:attribute name="SNR_C" type="xs:float" use="required"/>
              <xs:attribute name="SNR_G" type="xs:float" use="required"/>
              <xs:attribute name="SNR_T" type="xs:float" use="required"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="TargetPkMid" type="xs:float" default="0">
            <xs:annotation>
              <xs:documentation>The default target PkMid to use for active laser power.  Used if no PkMid target is specified in the cell nfc tag.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="CellNfcIndex" type="xs:int" default="-1">
            <xs:annotation>
              <xs:documentation>The chemistry index for accessing sequencing parameters programmed to the cell nfc tag.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="DefaultMinimumPkMid" type="xs:float">
            <xs:annotation>
              <xs:documentation>The default minimum PkMid to use when setting laser power to optimize sequencing signal level.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ReferenceSnr" type="xs:float">
            <xs:annotation>
              <xs:documentation>The nominal or default SNR of the reference analog under the chemistry and detection configuration.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ReferenceSpectrum">
            <xs:annotation>
              <xs:documentation>The nominal or default spectrum of the reference analog under the chemistry and detection configuration. The spectrum is a vector of probabilities, given in the order of increasing filter-bin wavelength, that light emitted by the analog will fall in the corresponding filter bin of the instrument detection system. By convention, the values are normalized to sum to 1.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Values">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="Value" type="xs:float" maxOccurs="unbounded">
                        <xs:annotation>
                          <xs:documentation>
				                                        There should be as many values as specified in the Number of Filter Bins attribute.
				                                        Each value is a probability, in the range of [0, 1].
				                                    </xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="NumberFilterBins" type="xs:int" use="required">
                <xs:annotation>
                  <xs:documentation>number of bins describing the spectrum, green to red</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="EffectiveLoadingPercent" type="xs:float" minOccurs="1">
            <xs:annotation>
              <xs:documentation>The largest conceivable loading percentage for this chemistry.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="StatsContinuousDistType">
    <xs:annotation>
      <xs:documentation>Continuous distribution class</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:sequence>
          <xs:element name="SampleSize" type="xs:int"/>
          <xs:element name="SampleMean" type="xs:float"/>
          <xs:element name="SampleMed" type="xs:float"/>
          <xs:element name="SampleStd" type="xs:float"/>
          <xs:element name="Sample95thPct" type="xs:float"/>
          <xs:element name="SampleN50" type="xs:float" minOccurs="0"/>
          <xs:element name="NumBins" type="xs:int"/>
          <xs:element name="BinCounts">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="BinCount" type="xs:int" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="BinWidth" type="xs:float"/>
          <xs:element name="MinOutlierValue" type="xs:float" minOccurs="0"/>
          <xs:element name="MinBinValue" type="xs:float" minOccurs="0"/>
          <xs:element name="MaxBinValue" type="xs:float" minOccurs="0"/>
          <xs:element name="MaxOutlierValue" type="xs:float" minOccurs="0"/>
          <xs:element name="MetricDescription" type="xs:string"/>
        </xs:sequence>
        <xs:attribute name="Channel" type="xs:string"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="StatsDiscreteDistType">
    <xs:annotation>
      <xs:documentation>Discrete distribution class</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:sequence>
          <xs:element name="NumBins" type="xs:int"/>
          <xs:element name="BinCounts">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="BinCount" type="xs:int" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="MetricDescription" type="xs:string"/>
          <xs:element name="BinLabels">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="BinLabel" type="xs:string" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="StatsTimeSeriesType">
    <xs:annotation>
      <xs:documentation>Time series (for time-dependent metrics)</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseEntityType">
        <xs:sequence>
          <xs:element name="TimeUnits" type="xs:string"/>
          <xs:element name="ValueUnits" type="xs:string"/>
          <xs:element name="StartTime" type="xs:float"/>
          <xs:element name="MeasInterval" type="xs:float"/>
          <xs:element name="Values" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Val" type="xs:float" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplyKitBinding">
    <xs:annotation>
      <xs:documentation>A more specific binding kit representation (includes SupplyKit fields). </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="PartNumberType">
        <xs:sequence>
          <xs:element name="Control" type="SupplyKitControl" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Defines the binding kit internal control name.  Present when used, otherwise not used if not defined. </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="IsControlUsed" type="xs:boolean" minOccurs="0">
            <xs:annotation>
              <xs:documentation>True if the control was used during run, otherwise false. </xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplyKitCellPack">
    <xs:annotation>
      <xs:documentation>Represents the package of cells. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="PartNumberType">
        <xs:sequence>
          <xs:element name="ChipLayout" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Defines the internal chip layout name, if any. </xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="SupportsCellReuse">
          <xs:annotation>
            <xs:documentation>If SupportsCellReuse is true, it can be used for regular sequencing as well as in a reuse scenario.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MovieTimeGrade">
          <xs:annotation>
            <xs:documentation>Movie time grade that maps to a maximum movie time for the cell.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplyKitControl">
    <xs:annotation>
      <xs:documentation>Represents the DNA control complex. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="PartNumberType">
        <xs:sequence>
          <xs:element name="InternalControlName" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Defines the internal control name, if any. </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="CustomSequence" type="xs:string" nillable="true" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplyKitTemplate">
    <xs:annotation>
      <xs:documentation>A more specific template kit representation (includes SupplyKit fields). </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="PartNumberType">
        <xs:sequence>
          <xs:element name="LeftAdaptorSequence" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Left adapter DNA sequence.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="LeftPrimerSequence" type="xs:string" minOccurs="0"/>
          <xs:element name="RightAdaptorSequence" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Right adapter DNA sequence.  If not specified, a symmetric adapter model is inferred, where the left adapter sequence is used wherever needed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="RightPrimerSequence" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Right primaer sequence.  If not specified, a symmetric model is inferred, where the left primer sequence is used wherever needed.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="MinInsertSize" type="xs:int">
          <xs:annotation>
            <xs:documentation>Minimum recommended insert size</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxInsertSize" type="xs:int">
          <xs:annotation>
            <xs:documentation>Maximum recommended insert size</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="StemLength" type="xs:int" use="optional" default="0">
          <xs:annotation>
            <xs:documentation>Length of stem sequence on each end of adapter sequence(s)</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SupportedAcquisitionStates">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Ready"/>
      <xs:enumeration value="Initializing"/>
      <xs:enumeration value="SocketDiagnostics"/>
      <xs:enumeration value="Acquiring"/>
      <xs:enumeration value="Aligning"/>
      <xs:enumeration value="Aligned"/>
      <xs:enumeration value="Aborting"/>
      <xs:enumeration value="Aborted"/>
      <xs:enumeration value="Failed"/>
      <xs:enumeration value="Completing"/>
      <xs:enumeration value="Complete"/>
      <xs:enumeration value="Calibrating"/>
      <xs:enumeration value="Unknown"/>
      <xs:enumeration value="Pending"/>
      <xs:enumeration value="ReadyToCalibrate"/>
      <xs:enumeration value="CalibrationComplete"/>
      <xs:enumeration value="ReadyToAcquire"/>
      <xs:enumeration value="FinishingAnalysis"/>
      <xs:enumeration value="PostPrimaryPending"/>
      <xs:enumeration value="PostPrimaryAnalysis"/>
      <xs:enumeration value="TransferPending"/>
      <xs:enumeration value="TransferringResults"/>
      <xs:enumeration value="Error"/>
      <xs:enumeration value="Stopped"/>
      <xs:enumeration value="TransferFailed"/>
      <xs:enumeration value="InPrep"/>
      <xs:enumeration value="PredictiveLoading"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedDataTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Int16"/>
      <xs:enumeration value="Int32"/>
      <xs:enumeration value="Int64"/>
      <xs:enumeration value="UInt16"/>
      <xs:enumeration value="UInt32"/>
      <xs:enumeration value="UInt64"/>
      <xs:enumeration value="Boolean"/>
      <xs:enumeration value="Single"/>
      <xs:enumeration value="Double"/>
      <xs:enumeration value="String"/>
      <xs:enumeration value="DateTime"/>
      <xs:enumeration value="Int16_1D"/>
      <xs:enumeration value="Int32_1D"/>
      <xs:enumeration value="Int64_1D"/>
      <xs:enumeration value="UInt16_1D"/>
      <xs:enumeration value="UInt32_1D"/>
      <xs:enumeration value="UInt64_1D"/>
      <xs:enumeration value="Boolean_1D"/>
      <xs:enumeration value="Single_1D"/>
      <xs:enumeration value="Double_1D"/>
      <xs:enumeration value="String_1D"/>
      <xs:enumeration value="DateTime_1D"/>
      <xs:enumeration value="Int16_2D"/>
      <xs:enumeration value="Int32_2D"/>
      <xs:enumeration value="Int64_2D"/>
      <xs:enumeration value="UInt16_2D"/>
      <xs:enumeration value="UInt32_2D"/>
      <xs:enumeration value="UInt64_2D"/>
      <xs:enumeration value="Boolean_2D"/>
      <xs:enumeration value="Single_2D"/>
      <xs:enumeration value="Double_2D"/>
      <xs:enumeration value="String_2D"/>
      <xs:enumeration value="DateTime_2D"/>
      <xs:enumeration value="XML"/>
      <xs:enumeration value="JSON"/>
      <xs:enumeration value="Object"/>
      <xs:enumeration value="Other"/>
      <xs:enumeration value="Unknown"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedNucleotides">
    <xs:restriction base="xs:string">
      <xs:enumeration value="A"/>
      <xs:enumeration value="C"/>
      <xs:enumeration value="T"/>
      <xs:enumeration value="G"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedRunStates">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Ready"/>
      <xs:enumeration value="Idle"/>
      <xs:enumeration value="System Test"/>
      <xs:enumeration value="Starting"/>
      <xs:enumeration value="Running"/>
      <xs:enumeration value="Aborting"/>
      <xs:enumeration value="Aborted"/>
      <xs:enumeration value="Terminated"/>
      <xs:enumeration value="Completing"/>
      <xs:enumeration value="Complete"/>
      <xs:enumeration value="Paused"/>
      <xs:enumeration value="Unknown"/>
      <xs:enumeration value="Error"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedChipTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="1mChip"/>
      <xs:enumeration value="8mChip"/>
      <xs:enumeration value="25mChip"/>
      <xs:enumeration value="1mAnd8mChips"/>
      <xs:enumeration value="8mAnd25mChips"/>
      <xs:enumeration value="AllChips"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedInstrumentTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Sequel"/>
      <xs:enumeration value="Sequel2"/>
      <xs:enumeration value="Sequel2e"/>
      <xs:enumeration value="Revio"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedExecutionModes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="None"/>
      <xs:enumeration value="OnInstrument"/>
      <xs:enumeration value="OffInstrument"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="UserDefinedFieldsType">
    <xs:sequence>
      <xs:element name="DataEntities" type="DataEntityType" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ValueDataType" type="SupportedDataTypes"/>
  <!-- The base supply kit definition -->
  <xs:element name="ExtensionElement" type="xs:anyType">
    <xs:annotation>
      <xs:documentation>A generic element whose contents are undefined at the schema level.  This is used to extend the data model.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:simpleType name="SupportedFilterOperators">
    <xs:restriction base="xs:string">
      <xs:enumeration value="=="/>
      <xs:enumeration value="="/>
      <xs:enumeration value="eq"/>
      <xs:enumeration value="!="/>
      <xs:enumeration value="ne"/>
      <xs:enumeration value="&gt;="/>
      <xs:enumeration value="gte"/>
      <xs:enumeration value="&lt;="/>
      <xs:enumeration value="lte"/>
      <xs:enumeration value="&gt;"/>
      <xs:enumeration value="gt"/>
      <xs:enumeration value="&lt;"/>
      <xs:enumeration value="lt"/>
      <xs:enumeration value="in"/>
      <xs:enumeration value="not_in"/>
      <xs:enumeration value="&amp;"/>
      <xs:enumeration value="~"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedFilterNames">
    <xs:restriction base="xs:string">
      <xs:enumeration value="rname"/>
      <xs:enumeration value="length"/>
      <xs:enumeration value="qstart"/>
      <xs:enumeration value="qend"/>
      <xs:enumeration value="qname"/>
      <xs:enumeration value="qid"/>
      <xs:enumeration value="movie"/>
      <xs:enumeration value="zm"/>
      <xs:enumeration value="bc"/>
      <xs:enumeration value="bcr"/>
      <xs:enumeration value="bcf"/>
      <xs:enumeration value="bcq"/>
      <xs:enumeration value="bq"/>
      <xs:enumeration value="qs"/>
      <xs:enumeration value="rq"/>
      <xs:enumeration value="pos"/>
      <xs:enumeration value="tstart"/>
      <xs:enumeration value="tend"/>
      <xs:enumeration value="accuracy"/>
      <xs:enumeration value="readstart"/>
      <xs:enumeration value="cx"/>
      <xs:enumeration value="n_subreads"/>
      <xs:enumeration value="mapqv"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedHashAlgorithms">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Uint32Cast"/>
      <xs:enumeration value="BoostHashCombine"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FilterType">
    <xs:sequence>
      <xs:element name="Properties">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Property" maxOccurs="unbounded">
              <xs:complexType>
                <xs:attribute name="Name" type="SupportedFilterNames" use="required"/>
                <xs:attribute name="Value" type="xs:string" use="required"/>
                <xs:attribute name="Operator" type="SupportedFilterOperators" use="required"/>
                <xs:attribute name="Hash" type="SupportedHashAlgorithms" use="optional">
                  <xs:annotation>
                    <xs:documentation>Hash algorithm to be used with Modulo below. Useful for e.g. downsampling by ZMW.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Modulo" type="xs:string" use="optional"/>
                <xs:attribute name="Feature" type="xs:string" use="optional"/>
                <xs:attribute name="Assignment" type="xs:string" use="optional"/>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ExternalResource">
    <xs:annotation>
      <xs:documentation>for example, an output file could be the BAM file, which could be associated with multiple indices into it.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="IndexedDataType"/>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="KeyValueMap" type="KeyValueMap"/>
  <xs:element name="CellMaxMovieTimes" type="KeyValueMap"/>
  <xs:complexType name="KeyValueMap">
    <xs:sequence>
      <xs:element name="Items">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Item" type="MapItemType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
        <xs:unique name="Item">
          <xs:selector xpath="Item"/>
          <xs:field xpath="Key"/>
        </xs:unique>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MapType">
    <xs:sequence>
      <xs:element name="KeyValueMap" type="KeyValueMap"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MapItemType">
    <xs:sequence>
      <xs:element name="Key" type="xs:string"/>
      <xs:element name="Value" type="xs:anyType"/>
      <xs:element name="Description" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ChemistryConfig" type="SequencingChemistryConfig"/>
  <xs:element name="Defaults" type="DefaultsType" nillable="true">
    <xs:annotation>
      <xs:documentation>Default paramaters and filters which may be applied to PartNumber types in order to constrain them via parameterization</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DefaultsType">
    <xs:annotation>
      <xs:documentation>A data type that allows the definition of default paramaters and filters.  This structure may be applied to PartNumber types in order to constrain them via parameterization</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AutomationParameters" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="AutomationParameter" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Filters" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Filter" type="FilterType" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ProbeSequenceType">
    <xs:annotation>
      <xs:documentation>A data type for defining third-party probe sequences e.g. 10X concatenation primers</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="StrictEntityType"/>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>