[med-svn] [python-pbcore] 01/06: New upstream version 1.4.2+dfsg

Afif Elghraoui afif at moszumanska.debian.org
Sun Jan 7 07:06:17 UTC 2018


This is an automated email from the git hooks/post-receive script.

afif pushed a commit to branch master
in repository python-pbcore.

commit 4a2399d05b1b23c874e2bfdf9f4c0896b88ec628
Author: Afif Elghraoui <afif at debian.org>
Date:   Sun Jan 7 01:07:03 2018 -0500

    New upstream version 1.4.2+dfsg
---
 .pylintrc                                          |   15 +
 CHANGELOG.org                                      |    8 +
 Makefile                                           |    6 +-
 README.md                                          |   12 +
 bamboo_build.sh                                    |   23 +
 bin/dataset.py                                     |   13 -
 bin/updateXSDs.py                                  |   18 +-
 pbcore/__init__.py                                 |    2 +-
 pbcore/chemistry/chemistry.py                      |    9 +-
 pbcore/chemistry/resources/mapping.xml             |  170 +-
 pbcore/data/__init__.py                            |    3 +
 pbcore/data/chemistry.xml                          |    9 +
 pbcore/data/datasets/hdfsubread_dataset.xml        |    9 +-
 pbcore/data/datasets/subread.dataset.xml           |   25 +-
 .../datasets/transformed_rs_subread.dataset.xml    |   16 +-
 pbcore/io/BarcodeH5Reader.py                       |   22 +-
 pbcore/io/BasH5IO.py                               |   16 +-
 pbcore/io/VcfIO.py                                 |  179 ++
 pbcore/io/__init__.py                              |    1 +
 pbcore/io/_utils.py                                |   12 +-
 pbcore/io/align/BamIO.py                           |    7 +-
 pbcore/io/align/CmpH5IO.py                         |   10 +-
 pbcore/io/dataset/DataSetIO.py                     |  649 ++++--
 pbcore/io/dataset/DataSetMembers.py                |  720 ++++---
 pbcore/io/dataset/DataSetReader.py                 |   60 +-
 pbcore/io/dataset/DataSetValidator.py              |    7 +-
 pbcore/io/dataset/DataSetWriter.py                 |  111 +-
 pbcore/io/dataset/pyxb/DataSetXsd.py               | 2148 ++++++++++++++++++++
 pbcore/io/dataset/pyxb/__init__.py                 |    0
 pbcore/io/dataset/{ => pyxb}/_pbbase.py            | 1983 +++++++++++-------
 pbcore/io/dataset/{DataSetXsd.py => pyxb/_pbds.py} |  908 +++++----
 pbcore/io/dataset/{ => pyxb}/_pbmeta.py            | 1087 ++++++----
 pbcore/io/dataset/pyxb/_pbpn.py                    |  941 +++++++++
 pbcore/io/dataset/{ => pyxb}/_pbrk.py              |  414 ++--
 pbcore/io/dataset/{ => pyxb}/_pbsample.py          |  318 +--
 pbcore/io/dataset/utils.py                         |  321 +--
 pbcore/io/opener.py                                |    2 +-
 pbcore/io/rangeQueries.py                          |   17 +-
 pbcore/util/__init__.py                            |    4 +
 requirements-dev.txt                               |    4 +-
 requirements.txt                                   |    1 -
 setup.py                                           |    2 +-
 tests/test_pbcore_extract_bam_sequence.py          |    5 +-
 tests/test_pbcore_io_AlnFileReaders.py             |   23 +-
 tests/test_pbcore_io_VcfIO.py                      |   64 +
 tests/test_pbcore_io_lossless_bam.py               |    5 +-
 tests/test_pbdataset.py                            |  577 +++++-
 tests/test_pbdataset_filters.py                    |  274 ++-
 tests/test_pbdataset_metadata.py                   |   59 +-
 tests/test_pbdataset_split.py                      |  348 +++-
 tests/test_pbdataset_subtypes.py                   |  108 +-
 tests/test_pbdataset_utils.py                      |   75 +-
 tests/utils.py                                     |   22 +-
 53 files changed, 8943 insertions(+), 2899 deletions(-)

diff --git a/.pylintrc b/.pylintrc
new file mode 100644
index 0000000..d54686e
--- /dev/null
+++ b/.pylintrc
@@ -0,0 +1,15 @@
+[MASTER]
+extension-pkg-whitelist=numpy,xlml.etree,pysam.samtools,h5py.h5s
+
+[TYPECHECK]
+
+# List of module names for which member attributes should not be checked
+# (useful for modules/projects where namespaces are manipulated during runtime
+# and thus existing member attributes cannot be deduced by static analysis. It
+# supports qualified module names, as well as Unix pattern matching.
+ignored-modules=numpy,lxml.etree,pysam.samtools,h5py.h5s
+
+# List of classes names for which member attributes should not be checked
+# (useful for classes with attributes dynamically set). This supports can work
+# with qualified names.
+#ignored-classes=
diff --git a/CHANGELOG.org b/CHANGELOG.org
index baf6708..fdae720 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -1,3 +1,11 @@
+* Version 1.4.0
+  - Support for Vcf4Records and merging VCF files
+
+* Version 1.3.0
+  - Better handling of h5py
+  - Support 4.0 basecaller and chemistry
+  - Misc fixes
+
 * Version 1.2.11
   - Support for 3.2 basecaller and chemistry
   - GFF bug fixes
diff --git a/Makefile b/Makefile
index 2ea1010..9a16357 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,9 @@ bdist:
 install:
 	python setup.py install
 
+pylint:
+	pylint --errors-only pbcore/
+
 clean: doc-clean
 	rm -rf build/;\
 	find . -name "*.egg-info" | xargs rm -rf;\
@@ -26,7 +29,8 @@ doctest:
 	cd doc && make doctest
 
 unit-test:
-	nosetests --with-xunit tests -v
+	nosetests --with-coverage --cover-xml-file=coverage.xml --cover-package=pbcore --cover-xml --with-xunit -v tests
+	sed -i -e 's at filename="@filename="./@g' coverage.xml
 
 test: doctest unit-test
 
diff --git a/README.md b/README.md
index 718c1a7..cb37134 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,18 @@ data files and writing bioinformatics applications.
     % pip install -r requirements.txt
     % python setup.py install
 
+Note that h5py is now considered an "optional" dependency, since the old
+RSII sequencing files are no longer generated by current systems and
+software.  The underlying functionality has been left in place for backwards
+compatibility with existing code, but you will need to install h5py manually
+to use these parts of the API:
+
+    % pip install h5py
+
 ## Documentation:
 
 http://pacificbiosciences.github.io/pbcore/
+
+DISCLAIMER
+----------
+THIS WEBSITE AND CONTENT AND ALL SITE-RELATED SERVICES, INCLUDING ANY DATA, ARE PROVIDED "AS IS," WITH ALL FAULTS, WITH NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE. YOU ASSUME TOTAL RESPONSIBILITY AND RISK FOR YOUR USE OF THIS SITE, ALL SITE-RELATED SERVICES, AND ANY THIRD PARTY WEBSITES OR APPLICATIONS. NO ORAL OR WRITT [...]
diff --git a/bamboo_build.sh b/bamboo_build.sh
new file mode 100755
index 0000000..c1cc04d
--- /dev/null
+++ b/bamboo_build.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+type module >& /dev/null || . /mnt/software/Modules/current/init/bash
+set -ex
+
+NX3PBASEURL=http://nexus/repository/unsupported/pitchfork/gcc-4.9.2
+export PATH=$PWD/build/bin:/mnt/software/a/anaconda2/4.2.0/bin:$PATH
+export PYTHONUSERBASE=$PWD/build
+export CFLAGS="-I/mnt/software/a/anaconda2/4.2.0/include"
+PIP="pip --cache-dir=$bamboo_build_working_directory/.pip"
+module load gcc/4.9.2
+
+rm -rf   build
+mkdir -p build/bin build/lib build/include build/share
+$PIP install --user \
+  $NX3PBASEURL/pythonpkgs/pysam-0.9.1.4-cp27-cp27mu-linux_x86_64.whl
+$PIP install --user -r requirements.txt
+$PIP install --user -r requirements-dev.txt
+$PIP install --user -e ./    
+
+set +e
+make pylint # way too many errors right now
+set -e
+make test
diff --git a/bin/dataset.py b/bin/dataset.py
deleted file mode 100755
index ebf100f..0000000
--- a/bin/dataset.py
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-
-def main(argv=sys.argv):
-    """This file, its use in setup.py should be removed after 1.2.8 is cut"""
-    print ("WARNING: dataset.py is no longer part of pbcore. It has moved to "
-           "pbcoretools (https://github.com/PacificBiosciences/pbcoretools) "
-           "and is now just 'dataset'")
-    exit(1)
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/bin/updateXSDs.py b/bin/updateXSDs.py
index ee5a126..c4b1b4b 100755
--- a/bin/updateXSDs.py
+++ b/bin/updateXSDs.py
@@ -10,6 +10,7 @@ import shlex
 
 
 def get_files(xsd_dir):
+    print "Searching ", xsd_dir
     files = []
     for path, subdirs, fns in os.walk(xsd_dir):
         for fn in fns:
@@ -21,11 +22,15 @@ def copy_xsds(xsd, dest):
     """Go ahead and copy all xsds, there will likely be many dependencies. If
     not, xsds are small"""
     files = get_files(os.path.dirname(xsd))
+    print "Copying:"
+    for f in files:
+        print f
     for fn in files:
         shutil.copy(fn, dest)
 
-def generate_pyxb(xsd, module):
-    cmd = "pyxbgen -u {x} -m {m}".format(x=xsd, m=module)
+def generate_pyxb(xsd, outdir, modname):
+    cmd = "pyxbgen -u {x} -m {m} --binding-root {p}".format(x=xsd, m=modname,
+                                                            p=outdir)
     print cmd
     subprocess.call(shlex.split(cmd))
 
@@ -33,14 +38,13 @@ if __name__ == "__main__":
     parser = argparse.ArgumentParser()
     parser.add_argument("xsd", type=str,
                         help="the XSD of interest")
-    parser.add_argument("--mod_dest", type=str,
-                        help=("the path to (and name of) the python module to "
-                              "be generated"),
-                        default='.')
+    parser.add_argument("outdir", type=str)
+    parser.add_argument("--mod-name", type=str,
+                        default='DataSetXsd')
     args = parser.parse_args()
     tempd = tempfile.mkdtemp(suffix='xsds')
     copy_xsds(args.xsd, tempd)
     xsd_name = os.path.basename(args.xsd)
-    generate_pyxb(os.path.join(tempd, xsd_name), args.mod_dest)
+    generate_pyxb(os.path.join(tempd, xsd_name), args.outdir, args.mod_name)
     shutil.rmtree(tempd)
 
diff --git a/pbcore/__init__.py b/pbcore/__init__.py
index 3e5263b..33f0894 100644
--- a/pbcore/__init__.py
+++ b/pbcore/__init__.py
@@ -28,4 +28,4 @@
 # POSSIBILITY OF SUCH DAMAGE.
 #################################################################################
 
-__VERSION__ = "1.2.11"
+__VERSION__ = "1.4.2"
diff --git a/pbcore/chemistry/chemistry.py b/pbcore/chemistry/chemistry.py
index e9c31fd..67864f1 100644
--- a/pbcore/chemistry/chemistry.py
+++ b/pbcore/chemistry/chemistry.py
@@ -58,7 +58,14 @@ def _loadBarcodeMappingsFromFile(mapFile):
 
 def _loadBarcodeMappings():
     mappingFname = resource_filename(Requirement.parse('pbcore'),'pbcore/chemistry/resources/mapping.xml')
-    return _loadBarcodeMappingsFromFile(mappingFname)
+    mappings = _loadBarcodeMappingsFromFile(mappingFname)
+    updMappingDir = os.getenv("SMRT_CHEMISTRY_BUNDLE_DIR")
+    if updMappingDir:
+        import logging
+        from os.path import join
+        logging.info("Loading updated chemistry mapping XML from {}".format(updMappingDir))
+        mappings.update(_loadBarcodeMappingsFromFile(join(updMappingDir, 'chemistry.xml')))
+    return mappings
 
 _BARCODE_MAPPINGS = _loadBarcodeMappings()
 
diff --git a/pbcore/chemistry/resources/mapping.xml b/pbcore/chemistry/resources/mapping.xml
index 528b7a4..c1e064a 100644
--- a/pbcore/chemistry/resources/mapping.xml
+++ b/pbcore/chemistry/resources/mapping.xml
@@ -205,6 +205,13 @@
     <SoftwareVersion>3.2</SoftwareVersion>
   </Mapping>
 
+  <Mapping>
+    <SequencingChemistry>S/P1-C1.1</SequencingChemistry>
+    <BindingKit>100-619-300</BindingKit>
+    <SequencingKit>100-867-300</SequencingKit>
+    <SoftwareVersion>3.3</SoftwareVersion>
+  </Mapping>
+
   <!-- 3.1.1 ("Flea") chemistry -->
   <Mapping>
     <SequencingChemistry>S/P1-C1.2</SequencingChemistry>
@@ -220,7 +227,28 @@
     <SoftwareVersion>3.2</SoftwareVersion>
   </Mapping>
 
-  <!---3.2 ("Goat") chemistry -->
+  <Mapping>
+    <SequencingChemistry>S/P1-C1.2</SequencingChemistry>
+    <BindingKit>100-619-300</BindingKit>
+    <SequencingKit>100-902-100</SequencingKit>
+    <SoftwareVersion>3.3</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P1-C1.2</SequencingChemistry>
+    <BindingKit>100-619-300</BindingKit>
+    <SequencingKit>100-902-100</SequencingKit>
+    <SoftwareVersion>4.0</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P1-C1.2</SequencingChemistry>
+    <BindingKit>100-619-300</BindingKit>
+    <SequencingKit>100-902-100</SequencingKit>
+    <SoftwareVersion>4.1</SoftwareVersion>
+  </Mapping>
+
+  <!---3.2 ("Goat") chemistry (a.k.a "Mimosa") -->
   <Mapping>
     <SequencingChemistry>S/P1-C1.3</SequencingChemistry>
     <BindingKit>100-619-300</BindingKit>
@@ -228,4 +256,144 @@
     <SoftwareVersion>3.2</SoftwareVersion>
   </Mapping>
 
+  <Mapping>
+    <SequencingChemistry>S/P1-C1.3</SequencingChemistry>
+    <BindingKit>100-619-300</BindingKit>
+    <SequencingKit>100-972-200</SequencingKit>
+    <SoftwareVersion>3.3</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P1-C1.3</SequencingChemistry>
+    <BindingKit>100-619-300</BindingKit>
+    <SequencingKit>100-972-200</SequencingKit>
+    <SoftwareVersion>4.0</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P1-C1.3</SequencingChemistry>
+    <BindingKit>100-619-300</BindingKit>
+    <SequencingKit>100-972-200</SequencingKit>
+    <SoftwareVersion>4.1</SoftwareVersion>
+  </Mapping>
+
+  <!-- "Seabiscuit" chemistry, accompanied 4.0 SW -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>100-861-800</SequencingKit>
+    <SoftwareVersion>4.0</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P2-C2</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>100-861-800</SequencingKit>
+    <SoftwareVersion>4.1</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P2-C2</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>101-093-700</SequencingKit>
+    <SoftwareVersion>4.1</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>100-861-800</SequencingKit>
+    <SoftwareVersion>5.0</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>101-093-700</SequencingKit>
+    <SoftwareVersion>5.0</SoftwareVersion>
+  </Mapping>
+
+  <!-- Sequel® Sequencing Plate Silwet -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>101-309-500</SequencingKit>
+    <SoftwareVersion>5.0</SoftwareVersion>
+  </Mapping>
+
+  <!-- Sequel® Sequencing Plate Silwet (4 rxn) -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>101-309-400</SequencingKit>
+    <SoftwareVersion>5.0</SoftwareVersion>
+  </Mapping>
+
+  <!--=====================================-->
+  <!-- Updating PA version from 5.0 -> 5.1 -->
+  <!--=====================================-->
+
+  <!-- PA5.1 backward compatibility with iguana chemistry -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>100-861-800</SequencingKit>
+    <SoftwareVersion>5.1</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>101-093-700</SequencingKit>
+    <SoftwareVersion>5.1</SoftwareVersion>
+  </Mapping>
+
+  <!-- Sequel® Sequencing Plate Silwet -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>101-309-500</SequencingKit>
+    <SoftwareVersion>5.1</SoftwareVersion>
+  </Mapping>
+
+  <!-- Sequel® Sequencing Plate Silwet (4 rxn) -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>100-862-200</BindingKit>
+    <SequencingKit>101-309-400</SequencingKit>
+    <SoftwareVersion>5.1</SoftwareVersion>
+  </Mapping>
+
+  <!-- 2.1 binding kit with 2.0 sequencing plate -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>101-365-900</BindingKit>
+    <SequencingKit>100-861-800</SequencingKit>
+    <SoftwareVersion>5.1</SoftwareVersion>
+  </Mapping>
+
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>101-365-900</BindingKit>
+    <SequencingKit>101-093-700</SequencingKit>
+    <SoftwareVersion>5.1</SoftwareVersion>
+  </Mapping>
+
+  <!-- 2.1 binding kit with 2.1 sequencing plate (silwet) -->
+  <!-- SG1/16509P Chemistry update (binding kit only) with 5.1 primary (no new training) -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>101-365-900</BindingKit>
+    <SequencingKit>101-309-500</SequencingKit>
+    <SoftwareVersion>5.1</SoftwareVersion>
+  </Mapping>
+
+  <!-- SG1/16509P Chemistry update (binding kit only) with 5.1 primary (no new training) -->
+  <Mapping>
+    <SequencingChemistry>S/P2-C2/5.0</SequencingChemistry>
+    <BindingKit>101-365-900</BindingKit>
+    <SequencingKit>101-309-400</SequencingKit>
+    <SoftwareVersion>5.1</SoftwareVersion>
+  </Mapping>
+
 </MappingTable>
diff --git a/pbcore/data/__init__.py b/pbcore/data/__init__.py
index eec7adf..1e707ad 100644
--- a/pbcore/data/__init__.py
+++ b/pbcore/data/__init__.py
@@ -174,3 +174,6 @@ def getEmptyBam():
 
 def getEmptyAlignedBam():
     return _getAbsPath("empty.aligned_subreads.bam")
+
+def getMappingXml():
+    return _getAbsPath("chemistry.xml")
diff --git a/pbcore/data/chemistry.xml b/pbcore/data/chemistry.xml
new file mode 100644
index 0000000..c6a6521
--- /dev/null
+++ b/pbcore/data/chemistry.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<MappingTable>
+  <Mapping>
+    <SequencingChemistry>FOUND</SequencingChemistry>
+    <BindingKit>1</BindingKit>
+    <SequencingKit>2</SequencingKit>
+    <SoftwareVersion>3.4</SoftwareVersion>
+  </Mapping>
+</MappingTable>
diff --git a/pbcore/data/datasets/hdfsubread_dataset.xml b/pbcore/data/datasets/hdfsubread_dataset.xml
index 42f518d..e286708 100644
--- a/pbcore/data/datasets/hdfsubread_dataset.xml
+++ b/pbcore/data/datasets/hdfsubread_dataset.xml
@@ -44,9 +44,9 @@
 					<SizeSelectionEnabled>true</SizeSelectionEnabled>
 					<UseCount>0</UseCount>
 					<Comments>Lorem ipsum</Comments>
-					<BioSamplePointers>
-						<BioSamplePointer>abc2df90-d44f-4a48-9f35-3b99473c68f5</BioSamplePointer>
-					</BioSamplePointers>
+                    <BioSamples>
+                        <BioSample Name="consectetur purus"/>
+                    </BioSamples>
 				</WellSample>
 				<AutomationName>POC Protocol</AutomationName>
 				<CollectionNumber>0</CollectionNumber>
@@ -64,9 +64,6 @@
 				</Primary>
 			</CollectionMetadata>
 		</Collections>
-		<BioSamples>
-			<BioSample UniqueId="abc2df90-d44f-4a48-9f35-3b99473c68f5" Name="consectetur purus" Description="Risus sit amet lectus vehicula vulputate quisque porta accumsan venenatis." CreatedAt="2015-01-20T13:27:23.9271737-08:00"/>
-		</BioSamples>
 	</DataSetMetadata>
 </HdfSubreadSet>
 <!-- TODO what do internal references look like?-->
diff --git a/pbcore/data/datasets/subread.dataset.xml b/pbcore/data/datasets/subread.dataset.xml
index 890d4b0..17b3e48 100644
--- a/pbcore/data/datasets/subread.dataset.xml
+++ b/pbcore/data/datasets/subread.dataset.xml
@@ -98,6 +98,12 @@
 <pbds:DataSetMetadata>
     <pbds:TotalLength>500000</pbds:TotalLength>
     <pbds:NumRecords>500</pbds:NumRecords>
+    <pbds:Provenance CreatedBy="AnalysisJob">
+      <pbds:ParentDataSet
+        UniqueId="f81cf391-b3da-41f8-84cb-a0de71f460f4"
+        TimeStampedName="subreadset_150304_231154"
+        MetaType="PacBio.DataSet.SubreadSet"/>
+    </pbds:Provenance>
     <pbmeta:Collections>
         <pbmeta:CollectionMetadata 
             UniqueId="b095d0a3-94b8-4918-b3af-a3f81bbe5393" 
@@ -120,9 +126,13 @@
                 <pbmeta:StageHotstartEnabled>true</pbmeta:StageHotstartEnabled>
                 <pbmeta:SizeSelectionEnabled>true</pbmeta:SizeSelectionEnabled>
                 <pbmeta:UseCount>0</pbmeta:UseCount>
-                <pbsample:BioSamplePointers>
-                    <pbsample:BioSamplePointer>abc2df90-d44f-4a48-9f35-3b99473c68f5</pbsample:BioSamplePointer>
-                </pbsample:BioSamplePointers>
+                <pbsample:BioSamples>
+                    <pbsample:BioSample Name="consectetur purus">
+                        <pbsample:DNABarcodes>
+                            <pbsample:DNABarcode Name="F1--R1"/>
+                        </pbsample:DNABarcodes>
+                    </pbsample:BioSample>
+                </pbsample:BioSamples>
             </pbmeta:WellSample>
             <pbmeta:Automation>
                 <pbbase:AutomationParameters>
@@ -148,15 +158,6 @@
             </pbmeta:Primary>
         </pbmeta:CollectionMetadata>
     </pbmeta:Collections>
-    <pbsample:BioSamples>
-        <pbsample:BioSample 
-            UniqueId="b095d0a3-94b8-4918-b3af-a3f81bbe5293" 
-            TimeStampedName="biosample_150304_231155" 
-            MetaType="PacBio.BioSample" 
-            Name="consectetur purus" 
-            Description="Risus sit amet lectus vehicula vulputate quisque porta accumsan venenatis." 
-            CreatedAt="2015-01-20T13:27:23.9271737-08:00"/>
-    </pbsample:BioSamples>
     <pbds:SummaryStats>
         <pbds:AdapterDimerFraction>0.1</pbds:AdapterDimerFraction>
         <pbds:ShortInsertFraction>0.1</pbds:ShortInsertFraction>
diff --git a/pbcore/data/datasets/transformed_rs_subread.dataset.xml b/pbcore/data/datasets/transformed_rs_subread.dataset.xml
index 6aa1152..5e85f69 100644
--- a/pbcore/data/datasets/transformed_rs_subread.dataset.xml
+++ b/pbcore/data/datasets/transformed_rs_subread.dataset.xml
@@ -45,9 +45,10 @@
                                 false
                             </pbmeta:SizeSelectionEnabled>
                <pbmeta:UseCount>1</pbmeta:UseCount>
-               <pbsample:BioSamplePointers xmlns:pbsample="http://pacificbiosciences.com/PacBioSampleInfo.xsd">
-                  <pbsample:BioSamplePointer>a0ad6e5b-a522-405b-8e50-d622e1ca9858</pbsample:BioSamplePointer>
-               </pbsample:BioSamplePointers>
+               <pbsample:BioSamples xmlns:pbsample="http://pacificbiosciences.com/PacBioSampleInfo.xsd">
+                  <pbsample:BioSample
+                      Name="Inst42268-030715-2kb-P4-0.05nM-2Chips-FAT3" />
+               </pbsample:BioSamples>
             </pbmeta:WellSample>
             <pbmeta:Automation>
                <pbbase:AutomationParameters xmlns:pbbase="http://pacificbiosciences.com/PacBioBaseDataModel.xsd">
@@ -73,12 +74,5 @@
             </pbmeta:Primary>
          </pbmeta:CollectionMetadata>
       </pbmeta:Collections>
-      <pbsample:BioSamples xmlns:pbsample="http://pacificbiosciences.com/PacBioSampleInfo.xsd">
-         <pbsample:BioSample UniqueId="a0ad6e5b-a522-405b-8e50-d622e1ca9858"
-                             TimeStampedName="biosample_2015-08-04T19:12:20.971-08:00"
-                             MetaType="PacBio.Sample"
-                             Name="Inst42268-030715-2kb-P4-0.05nM-2Chips-FAT3"
-                             Description="Inst42268-030715-2kb-P4-0.05nM-2Chips-FAT3"/>
-      </pbsample:BioSamples>
    </pbds:DataSetMetadata>
-</pbds:HdfSubreadSet>
\ No newline at end of file
+</pbds:HdfSubreadSet>
diff --git a/pbcore/io/BarcodeH5Reader.py b/pbcore/io/BarcodeH5Reader.py
index c6c1fad..e29fe21 100644
--- a/pbcore/io/BarcodeH5Reader.py
+++ b/pbcore/io/BarcodeH5Reader.py
@@ -27,7 +27,12 @@
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #################################################################################$$
 
-import h5py as h5
+try:
+    import h5py
+except ImportError:
+    from pbcore.util import h5py_dummy
+    h5py = h5py_dummy()
+
 import numpy as n
 
 from pbcore.io.FofnIO import readFofn
@@ -101,17 +106,17 @@ def writeBarcodeH5(labeledZmws, labeler, outFile,
     pbbarcode.BarcodeLabeler."""
     bestScores = map(lambda z: z.toBestRecord(), labeledZmws)
     outDta = n.vstack(bestScores)
-    outH5 = h5.File(outFile, 'a')
+    outH5 = h5py.File(outFile, 'a')
 
     if BC_DS_PATH in outH5:
         del outH5[BC_DS_PATH]
 
     bestDS = outH5.create_dataset(BC_DS_PATH, data = outDta, dtype = "int32")
     bestDS.attrs['movieName'] = labeler.movieName
-    bestDS.attrs['barcodes'] = n.array(labeler.barcodeLabels, dtype = h5.new_vlen(str))
+    bestDS.attrs['barcodes'] = n.array(labeler.barcodeLabels, dtype = h5py.new_vlen(str))
     bestDS.attrs['columnNames'] = n.array(['holeNumber', 'nAdapters', 'barcodeIdx1',
                                            'barcodeScore1', 'barcodeIdx2', 'barcodeScore2'],
-                                          dtype = h5.new_vlen(str))
+                                          dtype = h5py.new_vlen(str))
     bestDS.attrs['scoreMode'] = labeler.scoreMode
 
     if writeExtendedInfo:
@@ -141,18 +146,17 @@ def writeBarcodeH5(labeledZmws, labeler, outFile,
         allDS = outH5.create_dataset(BC_DS_ALL_PATH, data = records, dtype = 'int32')
         allDS.attrs['movieName'] = labeler.movieName
         # note names versus labels.
-        allDS.attrs['barcodes'] = n.array(labeler.barcodeNames, dtype = h5.new_vlen(str))
+        allDS.attrs['barcodes'] = n.array(labeler.barcodeNames, dtype = h5py.new_vlen(str))
         allDS.attrs['columnNames'] = n.array(['holeNumber', 'adapter', 'barcodeIdx', 'score'],
-                                             dtype = h5.new_vlen(str))
+                                             dtype = h5py.new_vlen(str))
     # close the file at the very end.
     outH5.close()
 
 
 class BarcodeH5Reader(object):
     def __init__(self, fname):
-
         try:
-            self.h5File = h5.File(fname, "r")
+            self.h5File = h5py.File(fname, "r")
         except IOError:
             raise IOError("Invalid or nonexistent bc file %s" % fname)
 
@@ -255,7 +259,7 @@ class MPBarcodeH5Reader(object):
         elif isinstance(item, str):
             return self.labeledZmwsFromBarcodeLabel(item)
         elif isinstance(item, slice):
-            return [ self.labeledZmwFromHoleNumber(self, item)
+            return [ self.labeledZmwFromHoleNumber(item)
                     for r in xrange(*item.indices(len(self)))]
         elif isinstance(item, list) or isinstance(item, n.ndarray):
             if len(item) == 0:
diff --git a/pbcore/io/BasH5IO.py b/pbcore/io/BasH5IO.py
index 9d3055d..6e1db8b 100644
--- a/pbcore/io/BasH5IO.py
+++ b/pbcore/io/BasH5IO.py
@@ -34,7 +34,14 @@ __all__ = [ "BasH5Reader"     ,
             "BaxH5Reader"     ,
             "BasH5Collection" ]
 
-import h5py, numpy as np, os.path as op
+try:
+    import h5py
+except ImportError:
+    from pbcore.util import h5py_dummy
+    h5py = h5py_dummy()
+
+import numpy as np
+import os.path as op
 from bisect import bisect_left, bisect_right
 from operator import getitem
 from itertools import groupby
@@ -780,9 +787,6 @@ class BasH5Reader(object):
     def sequencingChemistry(self):
         return self._parts[0].sequencingChemistry
 
-    def __len__(self):
-        return len(self.sequencingZmws)
-
     def close(self):
         if hasattr(self, "file") and self.file is not None:
             self.file.close()
@@ -796,10 +800,6 @@ class BasH5Reader(object):
     def __exit__(self, exc_type, exc_value, traceback):
         self.close()
 
-    def __iter__(self):
-        for holeNumber in self.sequencingZmws:
-            yield self[holeNumber]
-
     def __repr__(self):
         return "<BasH5Reader: %s>" % self.movieName
 
diff --git a/pbcore/io/VcfIO.py b/pbcore/io/VcfIO.py
new file mode 100644
index 0000000..d66f2ce
--- /dev/null
+++ b/pbcore/io/VcfIO.py
@@ -0,0 +1,179 @@
+#################################################################################
+# Copyright (c) 2017, Pacific Biosciences of California, Inc.
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# * Neither the name of Pacific Biosciences nor the names of its
+#   contributors may be used to endorse or promote products derived from
+#   this software without specific prior written permission.
+#
+# NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
+# THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY PACIFIC BIOSCIENCES AND ITS
+# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR
+# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#################################################################################
+
+# Author: Lance Hepler
+
+from __future__ import print_function
+
+"""
+I/O support for VCF4 files.
+
+The specification for the VCF4 format is available at:
+    https://samtools.github.io/hts-specs
+"""
+
+from collections import OrderedDict
+from functools import total_ordering
+
+__all__ = ["Vcf4Record"]
+
+
+def _int_float_or_string(s):
+    try:
+        return int(s)
+    except ValueError:
+        pass
+    try:
+        return float(s)
+    except ValueError:
+        pass
+    return str(s)
+
+
+def _fmt(x):
+    if isinstance(x, float):
+        return "{0:.3g}".format(x)
+    return x
+
+
+def _empty_then(xs):
+    if not xs:
+        return
+    yield ""
+    for x in xs:
+        yield x
+
+
+ at total_ordering
+class Vcf4Record(object):
+    """
+    Class for VCF record, providing uniform access to standard
+    VCF fields and attributes.
+
+    .. doctest::
+
+        >>> from pbcore.io import Vcf4Record
+        >>> rec1 = Vcf4Record("ecoliK12_pbi_March2013", \
+                              84, ".", "TG", "T", 48, "PASS", [("DP", 53)])
+        >>> str(rec1)
+        'ecoliK12_pbi_March2013\\t84\\t.\\tTG\\tT\\t48\\tPASS\\tDP=53'
+        >>> rec2 = Vcf4Record.fromString(str(rec1))
+        >>> rec1 == rec2
+        True
+        >>> rec1.pos
+        84
+        >>> rec1.filter
+        'PASS'
+
+    """
+
+    __slots__ = ("chrom", "pos", "id", "ref", "alt", "qual", "filter", "info", "fields")
+
+    def __init__(self, chrom, pos, id, ref, alt, qual, filt, info, *fields):
+        self.chrom = chrom
+        self.pos = pos
+        self.id = id
+        self.ref = ref
+        self.alt = alt
+        self.qual = qual
+        self.filter = filt
+        self.info = OrderedDict(info)
+        self.fields = fields
+
+    @staticmethod
+    def fromString(s):
+        try:
+            fields = s.strip().split('\t')
+            fields[1] = int(fields[1])
+            fields[5] = _int_float_or_string(fields[5])
+            fields[7] = OrderedDict((k.strip(), _int_float_or_string(v.strip()))
+                                    for k, v in (x.strip().split('=')
+                                                for x in fields[7].split(';')))
+            return Vcf4Record(*fields)
+        except TypeError:
+            raise ValueError("Could not interpret string as a Vcf4Record: '{0}'".format(s))
+
+    def __lt__(self, other):
+        return (self.chrom, self.pos) < (other.chrom, other.pos)
+
+    def __eq__(self, other):
+        return (self.chrom == other.chrom and self.pos == other.pos and self.id == other.id and \
+                self.ref == other.ref and self.alt == other.alt and self.qual == other.qual and \
+                self.filter == other.filter and self.info == other.info and \
+                self.fields == other.fields)
+
+    def __str__(self):
+        return "{chrom}\t{pos}\t{id}\t{ref}\t{alt}\t{qual}\t{filter}\t{info}{fields}".format(
+                chrom=self.chrom, pos=self.pos, id=self.id,
+                ref=self.ref, alt=self.alt, qual=_fmt(self.qual),
+                filter=self.filter,
+                info=";".join("{0}={1}".format(k, _fmt(v)) for k, v in self.info.iteritems()),
+                fields="\t".join(_empty_then(self.fields)))
+
+
+def merge_vcfs_sorted(vcf_files, output_file_name):
+    """
+    Utility function to combine N (>=1) VCF files, with records
+    sorted by contig then contig position. This assumes each file is already
+    sorted, and forms a contiguous set of records.
+    """
+    # get the headers and the first record of each file, so we can compare
+    meta = OrderedDict([])
+    hdr = OrderedDict([])
+    fst_recs = []
+    for f in vcf_files:
+        with open(f) as h:
+            for line in h:
+                line = line.strip()
+                if not line:
+                    continue
+                elif line[:2] == "##":
+                    meta[line] = ()
+                elif line[:6] == "#CHROM":
+                    hdr.update((h, ()) for h in line.lstrip("#").split("\t"))
+                else:
+                    fst_recs.append((Vcf4Record.fromString(line), f))
+                    break
+    sorted_files = sorted(fst_recs, key=lambda x: x[0])
+    nrec = 0
+    with open(output_file_name, "w") as oh:
+        for m, _ in meta.iteritems():
+            print(m, file=oh)
+        print("#{0}".format("\t".join(h for h, _ in hdr.iteritems())), file=oh)
+        for _, f in sorted_files:
+            with open(f) as h:
+                for line in h:
+                    line = line.strip()
+                    if not line or line[0] == "#":
+                        continue
+                    else:
+                        print(line, file=oh)
+                        nrec += 1
+    return nrec
diff --git a/pbcore/io/__init__.py b/pbcore/io/__init__.py
index 0276efc..0880b9e 100644
--- a/pbcore/io/__init__.py
+++ b/pbcore/io/__init__.py
@@ -33,6 +33,7 @@ from .FastaIO import *
 from .FastqIO import *
 from .FofnIO  import *
 from .GffIO   import *
+from .VcfIO   import *
 from .base    import *
 
 from .align   import *
diff --git a/pbcore/io/_utils.py b/pbcore/io/_utils.py
index a138cb3..3ddaf44 100644
--- a/pbcore/io/_utils.py
+++ b/pbcore/io/_utils.py
@@ -29,7 +29,14 @@
 #################################################################################
 
 from __future__ import absolute_import
-import h5py, numpy as np
+
+try:
+    import h5py
+except ImportError:
+    from pbcore.util import h5py_dummy
+    h5py = h5py_dummy()
+
+import numpy as np
 from cStringIO import StringIO
 
 
@@ -77,7 +84,7 @@ def is_string_like(obj):
     'Return True if *obj* looks like a string'
     if isinstance(obj, (str, unicode)): return True
     # numpy strings are subclass of str, ma strings are not
-    if ma.isMaskedArray(obj):
+    if np.ma.isMaskedArray(obj):
         if obj.ndim == 0 and obj.dtype.kind in 'SU':
             return True
         else:
@@ -180,6 +187,7 @@ def rec_join(key, r1, r2, jointype='inner', defaults=None, r1postfix='1', r2post
     if defaults is not None:
         for thiskey in defaults:
             if thiskey not in newdtype.names:
+                import warnings
                 warnings.warn('rec_join defaults key="%s" not in new dtype names "%s"'%(
                     thiskey, newdtype.names))
 
diff --git a/pbcore/io/align/BamIO.py b/pbcore/io/align/BamIO.py
index f0d5d99..00e97a4 100644
--- a/pbcore/io/align/BamIO.py
+++ b/pbcore/io/align/BamIO.py
@@ -32,7 +32,10 @@
 
 __all__ = [ "BamReader", "IndexedBamReader" ]
 
-from pysam import AlignmentFile
+try:
+    from pysam.calignmentfile import AlignmentFile # pylint: disable=no-name-in-module, import-error, fixme, line-too-long
+except ImportError:
+    from pysam.libcalignmentfile import AlignmentFile # pylint: disable=no-name-in-module, import-error, fixme, line-too-long
 from pbcore.io import FastaTable
 from pbcore.chemistry import decodeTriple, ChemistryLookupError
 
@@ -207,7 +210,7 @@ class _BamReaderBase(ReaderBase):
 
     @property
     def isIndexLoaded(self):
-        return self.index is not None
+        return self.index is not None # pylint: disable=no-member
 
     @property
     def isReferenceLoaded(self):
diff --git a/pbcore/io/align/CmpH5IO.py b/pbcore/io/align/CmpH5IO.py
index 2e18108..2fc6562 100755
--- a/pbcore/io/align/CmpH5IO.py
+++ b/pbcore/io/align/CmpH5IO.py
@@ -33,7 +33,14 @@ __all__ = [ "CmpH5Reader",
             "CmpH5Alignment",
             "EmptyCmpH5Error" ]
 
-import h5py, numpy as np, warnings
+try:
+    import h5py
+except ImportError:
+    from pbcore.util import h5py_dummy
+    h5py = h5py_dummy()
+
+import numpy as np
+import warnings
 from bisect import bisect_left, bisect_right
 from collections import Counter, OrderedDict
 from itertools import groupby
@@ -713,7 +720,6 @@ class CmpH5Reader(ReaderBase, IndexedAlignmentReaderMixin):
 
         # It is an unchecked runtime error to supply a sharedIndex
         # that is not identical to the AlnIndex in the filenameOrH5File
-
         if isinstance(filenameOrH5File, h5py.File):
             if filenameOrH5File.mode != "r":
                 raise ValueError("HDF5 files used by CmpH5Reader must be opened read-only!")
diff --git a/pbcore/io/dataset/DataSetIO.py b/pbcore/io/dataset/DataSetIO.py
index 3ad720a..f9970c4 100755
--- a/pbcore/io/dataset/DataSetIO.py
+++ b/pbcore/io/dataset/DataSetIO.py
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+# Copyright (c) 2011-2017, Pacific Biosciences of California, Inc.
 #
 # All rights reserved.
 #
@@ -17,17 +17,15 @@
 # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
 # THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY PACIFIC BIOSCIENCES AND ITS
 # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
-# NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR
 # ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR
-# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ###############################################################################
 
 # Author: Martin D. Smith
@@ -37,16 +35,17 @@
 Classes representing DataSets of various types.
 """
 
-import hashlib
 import copy
-import os, sys
-import re
 import errno
-import uuid
-import logging
+import hashlib
 import itertools
-import xml.dom.minidom
+import logging
+import os
+import re
+import shutil
 import tempfile
+import uuid
+import xml.dom.minidom
 import numpy as np
 from urlparse import urlparse
 from functools import wraps, partial
@@ -62,7 +61,7 @@ from pbcore.io.align._BamSupport import UnavailableFeature
 from pbcore.io.dataset.DataSetReader import (parseStats, populateDataSet,
                                              resolveLocation, xmlRootType,
                                              wrapNewResource, openFofnFile,
-                                             parseMetadata)
+                                             parseMetadata, checksts)
 from pbcore.io.dataset.DataSetWriter import toXml
 from pbcore.io.dataset.DataSetValidator import validateString
 from pbcore.io.dataset.DataSetMembers import (DataSetMetadata,
@@ -71,10 +70,10 @@ from pbcore.io.dataset.DataSetMembers import (DataSetMetadata,
                                               BarcodeSetMetadata,
                                               ExternalResources,
                                               ExternalResource, Filters)
-from pbcore.io.dataset.utils import (consolidateBams, _infixFname, _pbindexBam,
+from pbcore.io.dataset.utils import (_infixFname, _pbindexBam,
                                      _indexBam, _indexFasta, _fileCopy,
                                      _swapPath, which, consolidateXml,
-                                     getTimeStampedName)
+                                     getTimeStampedName, getCreatedAt)
 from pbcore.io.dataset.DataSetErrors import (InvalidDataSetIOError,
                                              ResourceMismatchError)
 from pbcore.io.dataset.DataSetMetaTypes import (DataSetMetaTypes, toDsId,
@@ -220,7 +219,7 @@ def _renameField(recArray, current, new):
     recArray.dtype.names = names
 
 def _flatten(lol, times=1):
-    """ This wont do well with mixed nesting"""
+    """This wont do well with mixed nesting"""
     for _ in range(times):
         lol = np.concatenate(lol)
     return lol
@@ -232,6 +231,8 @@ def _ranges_in_list(alist):
     return {u: (i, i + c) for u, i, c in zip(unique, indices, counts)}
 
 def divideKeys(keys, chunks):
+    """Returns all of the keys in a list of lists, corresponding to evenly
+    sized chunks of the original keys"""
     if chunks < 1:
         return []
     if chunks > len(keys):
@@ -243,21 +244,25 @@ def divideKeys(keys, chunks):
     return key_chunks
 
 def splitKeys(keys, chunks):
+    """Returns key pairs for each chunk defining the bounds of each chunk"""
     if chunks < 1:
         return []
     if chunks > len(keys):
         chunks = len(keys)
     chunksize = len(keys)/chunks
-    key_chunks = [(keys[i * chunksize], keys[(i + 1) * chunksize - 1]) for i in
-                  range(chunks-1)]
-    key_chunks.append((keys[(chunks - 1) * chunksize], keys[-1]))
+    chunksizes = [chunksize] * chunks
+    i = 0
+    while sum(chunksizes) < len(keys):
+        chunksizes[i] += 1
+        i += 1
+        i %= chunks
+    key_chunks = []
+    start = 0
+    for cs in chunksizes:
+        key_chunks.append((keys[start], keys[start + cs - 1]))
+        start += cs
     return key_chunks
 
-def keysToRanges(keys):
-    key_ranges = [[min(k), max(k)] for k in keys]
-    return key_ranges
-
-
 def _fileExists(fname):
     """Assert that a file exists with a useful failure mode"""
     if not isinstance(fname, str):
@@ -392,8 +397,10 @@ class DataSet(object):
         # parse files
         populateDataSet(self, files)
 
-        if not skipMissing:
+        if not skipMissing and len(files):
+            log.debug("Checking that the files exist...")
             self._modResources(_fileExists)
+            log.debug("Done checking that the files exist")
 
         # DataSet base class shouldn't really be used. It is ok-ish for just
         # basic xml mainpulation. May start warning at some point, but
@@ -414,7 +421,7 @@ class DataSet(object):
         else:
             dsType = self.objMetadata.setdefault("MetaType",
                                                  toDsId('DataSet'))
-        if not "TimeStampedName" in self.objMetadata:
+        if not self.objMetadata.get('TimeStampedName'):
             self.objMetadata["TimeStampedName"] = getTimeStampedName(
                 self.objMetadata["MetaType"])
         self.objMetadata.setdefault("Name",
@@ -529,7 +536,7 @@ class DataSet(object):
         """
         return self.merge(otherDataset)
 
-    def merge(self, other, copyOnMerge=True):
+    def merge(self, other, copyOnMerge=True, newuuid=True):
         """Merge an 'other' dataset with this dataset, same as add operator,
         but can take argumens
         """
@@ -560,12 +567,9 @@ class DataSet(object):
             # block on object metadata?
             result._checkObjMetadata(other.objMetadata)
 
-            # There is probably a cleaner way to do this:
-            result.objMetadata.update(other.objMetadata)
-
             # If this dataset has no subsets representing it, add self as a
             # subdataset to the result
-            # TODO: this is a stopgap to prevent spurious subdatasets when
+            # TODO: firstIn is a stopgap to prevent spurious subdatasets when
             # creating datasets from dataset xml files...
             if not self.subdatasets and not firstIn:
                 result.addDatasets(self.copy())
@@ -588,6 +592,39 @@ class DataSet(object):
             # DataSets may only be merged if they have identical filters,
             # So there is nothing new to add.
 
+            # objMetadata:
+            if firstIn:
+                result.objMetadata.update(other.objMetadata)
+            else:
+                # schemaLocation, MetaType, Version should be the same
+                # Name:
+                if (result.objMetadata.get('Name') and
+                        other.objMetadata.get('Name')):
+                    if result.objMetadata['Name'] != other.objMetadata['Name']:
+                        result.objMetadata['Name'] = ' AND '.join(
+                            [result.objMetadata['Name'],
+                             other.objMetadata['Name']])
+                elif other.objMetadata.get('Name'):
+                    result.objMetadata['Name'] = other.objMetadata['Name']
+                # Tags:
+                if (result.objMetadata.get('Tags') and
+                        other.objMetadata.get('Tags')):
+                    if result.objMetadata['Tags'] != other.objMetadata['Tags']:
+                        result.objMetadata['Tags'] = ' '.join(
+                            [result.objMetadata['Tags'],
+                             other.objMetadata['Tags']])
+                elif other.objMetadata.get('Tags'):
+                    result.objMetadata['Tags'] = other.objMetadata['Tags']
+                # TimeStampedName:
+                if result.objMetadata.get("MetaType"):
+                    result.objMetadata["TimeStampedName"] = getTimeStampedName(
+                        result.objMetadata["MetaType"])
+                # CreatedAt:
+                result.objMetadata['CreatedAt'] = getCreatedAt()
+                # UUID:
+                if newuuid:
+                    result.newUuid()
+
             return result
         else:
             raise TypeError('DataSets can only be merged with records of the '
@@ -672,6 +709,10 @@ class DataSet(object):
             self.updateCounts()
         return self.numRecords
 
+    def newRandomUuid(self):
+        """Generate a new random UUID"""
+        return self.newUuid(setter=True, random=False)
+
     def newUuid(self, setter=True, random=False):
         """Generate and enforce the uniqueness of an ID for a new DataSet.
         While user setable fields are stripped out of the Core DataSet object
@@ -682,6 +723,9 @@ class DataSet(object):
             :setter=True: Setting to False allows MD5 hashes to be generated
                          (e.g. for comparison with other objects) without
                          modifying the object's UniqueId
+            :random=False: If true, the new UUID will be generated randomly. Otherwise a hashing algo will be
+                         used from "core" elements of the XML. This will yield a reproducible UUID for
+                         datasets that have the same "core" attributes/metadata.
         Returns:
             The new Id, a properly formatted md5 hash of the Core DataSet
 
@@ -707,7 +751,7 @@ class DataSet(object):
             self.objMetadata['UniqueId'] = newId
         return newId
 
-    def copyTo(self, dest, relative=False):
+    def copyTo(self, dest, relative=False, subdatasets=False):
         """Doesn't resolve resource name collisions"""
         ofn = None
         dest = os.path.abspath(dest)
@@ -719,7 +763,7 @@ class DataSet(object):
         # seen. Good thing we do a depth first traversal!
         state = [self.uuid]
         resFunc = partial(_copier, dest, subfolder=state)
-        self._modResources(resFunc)
+        self._modResources(resFunc, subdatasets=subdatasets)
         if not ofn is None:
             self.write(ofn, relPaths=relative)
 
@@ -901,9 +945,17 @@ class DataSet(object):
                                        updateCounts=updateCounts)
         elif zmws:
             if chunks == 0:
-                chunks = maxChunks
+                if maxChunks:
+                    chunks = maxChunks
+                elif targetSize:
+                    chunks = max(1,
+                                 int(round(np.true_divide(
+                                     len(set(self.index.holeNumber)),
+                                     targetSize))))
             return self._split_zmws(chunks, targetSize=targetSize)
         elif barcodes:
+            if maxChunks and not chunks:
+                chunks = maxChunks
             return self._split_barcodes(chunks)
 
         # Lets only split on datasets if actual splitting will occur,
@@ -1023,6 +1075,7 @@ class DataSet(object):
             >>> ds1 == ds2
             True
         """
+        log.debug("Writing DataSet...")
         if not modPaths is None:
             log.info("modPaths as a write argument is deprecated. Paths "
                      "aren't modified unless relPaths is explicitly set "
@@ -1038,18 +1091,27 @@ class DataSet(object):
                 self.makePathsRelative(os.path.dirname(outFile))
             else:
                 self.makePathsAbsolute()
+        log.debug('Serializing XML...')
         xml_string = toXml(self)
-        if pretty:
+        log.debug('Done serializing XML')
+
+        # minidom has trouble with ContigSets with more than a few
+        # contigs:
+        if pretty and not isinstance(self, ContigSet):
+            log.debug('Making pretty...')
             xml_string = xml.dom.minidom.parseString(xml_string).toprettyxml(
                 encoding="UTF-8")
+            log.debug('Done making pretty...')
 
         # not useful yet as a list, but nice to keep the options open:
         validation_errors = []
         if validate:
+            log.debug('Validating...')
             try:
                 validateString(xml_string, relTo=os.path.dirname(outFile))
             except Exception as e:
                 validation_errors.append(e)
+            log.debug('Done validating')
         fileName = urlparse(outFile).path.strip()
         if self._strict and not isinstance(self.datasetType, tuple):
             if not fileName.endswith(dsIdToSuffix(self.datasetType)):
@@ -1059,20 +1121,25 @@ class DataSet(object):
                                   s=dsIdToSuffix(self.datasetType)),
                               fileName)
         with open(fileName, 'w') as outFile:
+            log.debug('Writing...')
             outFile.writelines(xml_string)
+            log.debug('Done writing')
 
         for e in validation_errors:
             log.error("Invalid file produced: {f}".format(f=fileName))
             raise e
+        log.debug("Done writing DataSet")
 
-    def loadStats(self, filename):
+    def loadStats(self, filename=None):
         """Load pipeline statistics from a <moviename>.sts.xml file. The subset
         of these data that are defined in the DataSet XSD become available
         through via DataSet.metadata.summaryStats.<...> and will be written out
         to the DataSet XML format according to the DataSet XML XSD.
 
         Args:
-            :filename: the filename of a <moviename>.sts.xml file
+            :filename: the filename of a <moviename>.sts.xml file. If None:
+                       load all stats from sts.xml files, including for
+                       subdatasets.
 
         Doctest:
             >>> import pbcore.data.datasets as data
@@ -1090,14 +1157,17 @@ class DataSet(object):
             [3152, 1802, 798, 0]
 
         """
-        if isinstance(filename, basestring):
-            statsMetadata = parseStats(str(filename))
+        if filename is None:
+            checksts(self, subdatasets=True)
         else:
-            statsMetadata = filename
-        if self.metadata.summaryStats:
-            self.metadata.summaryStats.merge(statsMetadata)
-        else:
-            self.metadata.append(statsMetadata)
+            if isinstance(filename, basestring):
+                statsMetadata = parseStats(str(filename))
+            else:
+                statsMetadata = filename
+            if self.metadata.summaryStats:
+                self.metadata.summaryStats.merge(statsMetadata)
+            else:
+                self.metadata.append(statsMetadata)
 
     def readsByName(self, query):
         reads = _flatten([rr.readsByName(query)
@@ -1158,9 +1228,10 @@ class DataSet(object):
         Args:
             :curStart: The location from which relative paths should emanate.
         """
-        log.debug("Making paths absolute")
+        log.debug("Making paths absolute...")
         self._changePaths(
             lambda x, s=curStart: checkAndResolve(x, s))
+        log.debug("Done making paths absolute")
 
     def makePathsRelative(self, outDir=False):
         """Make things easier for writing test cases: make all
@@ -1177,7 +1248,7 @@ class DataSet(object):
         else:
             self._changePaths(os.path.relpath)
 
-    def _modResources(self, func):
+    def _modResources(self, func, subdatasets=True):
         """Execute some function 'func' on each external resource in the
         dataset and each subdataset"""
         # check all ExternalResources
@@ -1190,14 +1261,19 @@ class DataSet(object):
             func(item)
             try:
                 stack.extend(list(item.indices))
+            except AttributeError:
+                # some members have no indices
+                pass
+            try:
                 stack.extend(list(item.externalResources))
             except AttributeError:
-                # Some things just don't have indices
+                # some members have no externalResources
                 pass
 
-        # check all SubDatasets
-        for dataset in self.subdatasets:
-            dataset._modResources(func)
+        if subdatasets:
+            # check all SubDatasets
+            for dataset in self.subdatasets:
+                dataset._modResources(func)
 
     def _changePaths(self, osPathFunc, checkMetaType=True):
         """Change all resourceId paths in this DataSet according to the
@@ -1214,7 +1290,9 @@ class DataSet(object):
     def _populateMetaTypes(self):
         """Add metatypes to those ExternalResources that currently are
         without"""
+        log.debug("Updating metatypes...")
         self._modResources(self._updateMetaType)
+        log.debug("Done updating metatypes")
 
     def _updateMetaType(self, resource):
         """Infer and set the metatype of 'resource' if it doesn't already have
@@ -1524,19 +1602,31 @@ class DataSet(object):
         """
         ranges = []
         for filt in self._filters:
-            movie, start, end = None, 0, 0
-            values = []
+            movies = []
+            starts = []
+            ends = []
+            # it is possible, e.g. if splitting a previously split dataset, to
+            # get filters with overlapping ranges, one of which is more
+            # restrictive than the other. We need to collapse these.
             for param in filt:
                 if param.name == "movie":
-                    movie = param.value
+                    movies.append(param.value)
                 elif param.name == "zm":
                     ival = int(param.value)
                     if param.operator == '>':
                         ival += 1
+                        starts.append(ival)
                     elif param.operator == '<':
                         ival -= 1
-                    values.append(ival)
-            ranges.append((movie, min(values), max(values)))
+                        ends.append(ival)
+            # this is a single filter, all parameters are AND'd. Therefore
+            # multiple movies cannot be satisfied. Ignore in those cases. Where
+            # we have multiple params for the same movie, we assume that one
+            # range is a subset of the other, and pick the most restrictive.
+            # This depends on dataset.split respecting the existing filters.
+            if len(set(movies)) == 1:
+                ranges.append((movies[0], max(starts), min(ends)))
+        ranges = list(set(ranges))
         return ranges
 
     # FIXME this is a workaround for the lack of support for barcode chunking
@@ -1649,6 +1739,7 @@ class DataSet(object):
     def filters(self):
         """Limit setting to ensure cache hygiene and filter compatibility"""
         self._filters.registerCallback(self._wipeCaches)
+        self._filters.registerCallback(self.newUuid)
         return self._filters
 
     @filters.setter
@@ -1715,6 +1806,16 @@ class DataSet(object):
         return self.objMetadata.get('UniqueId')
 
     @property
+    def timeStampedName(self):
+        """The timeStampedName of this DataSet"""
+        return self.objMetadata.get('TimeStampedName')
+
+    @timeStampedName.setter
+    def timeStampedName(self, value):
+        """The timeStampedName of this DataSet"""
+        self.objMetadata['TimeStampedName'] = value
+
+    @property
     def name(self):
         """The name of this DataSet"""
         return self.objMetadata.get('Name', '')
@@ -1725,6 +1826,16 @@ class DataSet(object):
         self.objMetadata['Name'] = value
 
     @property
+    def tags(self):
+        """The tags of this DataSet"""
+        return self.objMetadata.get('Tags', '')
+
+    @tags.setter
+    def tags(self, value):
+        """The tags of this DataSet"""
+        self.objMetadata['Tags'] = value
+
+    @property
     def description(self):
         """The description of this DataSet"""
         return self.objMetadata.get('Description', '')
@@ -1880,13 +1991,13 @@ class ReadSet(DataSet):
         for res in self.externalResources:
             fname = res.resourceId
             newInds = []
-            if not res.pbi:
+            if not res.pbi or force:
                 iname = fname + '.pbi'
                 if not os.path.isfile(iname) or force:
                     iname = _pbindexBam(fname)
                 newInds.append(iname)
                 self.close()
-            if not res.bai:
+            if not res.bai or force:
                 iname = fname + '.bai'
                 if not os.path.isfile(iname) or force:
                     iname = _indexBam(fname)
@@ -1913,7 +2024,11 @@ class ReadSet(DataSet):
     def isBarcoded(self):
         """Determine whether all resources are barcoded files"""
         res = self._pollResources(
-            lambda x: x.index.pbiFlags & PBI_FLAGS_BARCODE)
+            lambda x: bool(x.index.pbiFlags & PBI_FLAGS_BARCODE))
+        # ignore empty bam files, which don't have barcoding information:
+        if not self.isEmpty:
+            res = [r for r, reader in zip(res, self.resourceReaders()) if
+                    len(reader)]
         return self._unifyResponses(res)
 
     def assertBarcoded(self):
@@ -2073,26 +2188,70 @@ class ReadSet(DataSet):
         # TODO
         return results
 
+    def split_movies(self, chunks):
+        """Chunks requested:
+           0 or >= num_movies: One chunk per movie
+           1 to (num_movies - 1): Grouped somewhat evenly by num_records
+        """
+        # File must have pbi index to be splittable:
+        if len(self) == 0:
+            return [self.copy()]
+
+        atoms = self.index.qId
+        movs = zip(*np.unique(atoms, return_counts=True))
+
+        # Zero chunks requested == 1 chunk per movie.
+        if chunks == 0 or chunks > len(movs):
+            chunks = len(movs)
+
+        if chunks == 1:
+            return [self.copy()]
+
+        balanceKey = lambda x: x[1]
+        log.debug("Starting chunking")
+        if chunks < len(movs):
+            groups = self._chunkList(movs, chunks, balanceKey)
+        else:
+            groups = [[mov] for mov in movs]
+
+        log.debug("Duplicating")
+        results = [self.copy() for _ in groups]
+
+        q2m = self.qid2mov
+
+        log.debug("Modifying filters or resources")
+        for result, group in zip(results, groups):
+            result.filters.addRequirement(movie=[('=', q2m[mov[0]])
+                                                 for mov in group])
+
+        log.debug("Generating new UUID, updating counts")
+        for result in results:
+            result.updateCounts()
+            result.newUuid()
+
+        return results
+
     def _split_zmws(self, chunks, targetSize=None):
-        """Holenumbers must be unique within each movie"""
+        """The combination of <movie>_<holenumber> is assumed to refer to a
+        unique ZMW"""
 
         if chunks == 1:
             return [self.copy()]
         # make sure we can pull out the movie name:
         rgIdMovieNameMap = {rg[0]: rg[1] for rg in self.readGroupTable}
 
-        # find atoms:
         active_holenumbers = self.index
+
+        # lower limit on the  number of chunks
         n_chunks = min(len(active_holenumbers), chunks)
 
         # if we have a target size and can have two or more chunks:
         if (not targetSize is None and len(active_holenumbers) > 1 and
                 chunks > 1):
-            n_chunks = min(n_chunks, len(active_holenumbers)/targetSize)
-            # we want at least two if we can swing it:
-            n_chunks = max(n_chunks, 2)
+            # we want at least two if we can swing it
+            desired = max(2, len(active_holenumbers)/targetSize)
+            n_chunks = min(n_chunks, desired)
 
-        # make sure there aren't too few atoms
         if n_chunks != chunks:
             log.info("Adjusted number of chunks to %d" % n_chunks)
 
@@ -2100,26 +2259,34 @@ class ReadSet(DataSet):
         active_holenumbers.sort(order=['qId', 'holeNumber'])
         view = _fieldsView(self.index, ['qId', 'holeNumber'])
         keys = np.unique(view)
+        # Find the beginning and end keys of each chunk
         ranges = splitKeys(keys, n_chunks)
 
         # The above ranges can include hidden, unrepresented movienames that
-        # are sandwiched between those in the range. In order to capture those,
-        # we need to find the indices of the range bounds, then pull out the
-        # chunks.
+        # are sandwiched between those identified by the range bounds. In
+        # order to capture those, we need to find the indices of the range
+        # bounds, then pull out the chunks.
         hn_chunks = []
         for zmw_range in ranges:
             if zmw_range[0][0] == zmw_range[1][0]:
+                # The start and end movienames match, grab the appropriate
+                # record indices in one query:
                 hn_chunks.append(active_holenumbers[
                     (active_holenumbers['qId'] == zmw_range[0][0]) &
                     (active_holenumbers['holeNumber'] >= zmw_range[0][1]) &
                     (active_holenumbers['holeNumber'] <= zmw_range[1][1])])
             else:
+                # The start and end movienames don't match, grab the first
+                # record matching the start of the range:
                 start = np.flatnonzero(
                     (active_holenumbers['qId'] == zmw_range[0][0]) &
                     (active_holenumbers['holeNumber'] == zmw_range[0][1]))[0]
+                # and grab the last record matching the end of the range:
                 end = np.flatnonzero(
                     (active_holenumbers['qId'] == zmw_range[1][0]) &
                     (active_holenumbers['holeNumber'] == zmw_range[1][1]))[-1]
+                # and add all indices between these two (with an exclusive
+                # right bound):
                 hn_chunks.append(active_holenumbers[start:(end + 1)])
 
         results = []
@@ -2134,11 +2301,10 @@ class ReadSet(DataSet):
                 zmwStart = chunk[0]['holeNumber']
                 zmwEnd = chunk[-1]['holeNumber']
                 res._filters.clearCallbacks()
-                res._filters.addRequirement(
-                    movie=[('=', movieName)],
-                    zm=[('<', zmwEnd+1)])
-                res._filters.addRequirement(
-                    zm=[('>', zmwStart-1)])
+                newfilt = [[('movie', '=', movieName),
+                             ('zm', '<', zmwEnd + 1),
+                             ('zm', '>', zmwStart - 1)]]
+                res._filters.broadcastFilters(newfilt)
             else:
                 movieNames = []
                 zmwStarts = []
@@ -2149,11 +2315,12 @@ class ReadSet(DataSet):
                     zmwStarts.append(chunk[inds[0]]['holeNumber'])
                     zmwEnds.append(chunk[inds[-1]]['holeNumber'])
                 res._filters.clearCallbacks()
-                res._filters.addRequirement(
-                    movie=[('=', mn) for mn in movieNames],
-                    zm=[('<', ze + 1) for ze in zmwEnds])
-                res._filters.mapRequirement(
-                    zm=[('>', zs - 1) for zs in zmwStarts])
+                newfilts = []
+                for mn, ze, zs in zip(movieNames, zmwEnds, zmwStarts):
+                    newfilts.append([('movie', '=', mn),
+                                     ('zm', '<', ze + 1),
+                                     ('zm', '>', zs - 1)])
+                res._filters.broadcastFilters(newfilts)
             res.numRecords = len(chunk)
             res.totalLength = sum(chunk['qEnd'] - chunk['qStart'])
             res.newUuid()
@@ -2180,15 +2347,26 @@ class ReadSet(DataSet):
             if len(set(tbr['ID'])) < len(tbr):
                 self._readGroupTableIsRemapped = True
                 tbr['ID'] = range(len(tbr))
-            return tbr
+            return tbr.view(np.recarray)
         else:
             return responses[0]
 
     @property
     def movieIds(self):
-        """A dict of movieName: movieId for the joined readGroupTable"""
+        """A dict of movieName: movieId for the joined readGroupTable
+        TODO: depricate this for more descriptive mov2qid"""
+        return self.mov2qid
+
+    @property
+    def mov2qid(self):
+        """A dict of movieId: movieName for the joined readGroupTable"""
         return {rg.MovieName: rg.ID for rg in self.readGroupTable}
 
+    @property
+    def qid2mov(self):
+        """A dict of movieId: movieName for the joined readGroupTable"""
+        return {rg.ID: rg.MovieName for rg in self.readGroupTable}
+
     def assertIndexed(self):
         self._assertIndexed((IndexedBamReader, CmpH5Reader))
 
@@ -2323,48 +2501,19 @@ class ReadSet(DataSet):
         """
         references = [er.reference for er in self.externalResources if
                       er.reference]
-        if which('pbmerge'):
-            log.debug("Using pbmerge to consolidate")
-            dsets = self.split(zmws=True, chunks=numFiles)
-            if numFiles > 1:
-                fnames = [_infixFname(dataFile, str(i))
-                          for i in range(numFiles)]
-            else:
-                fnames = [dataFile]
-            for chunk, fname in zip(dsets, fnames):
-                consolidateXml(chunk, fname, useTmp=useTmp)
-            log.debug("Replacing resources")
-            self.externalResources = ExternalResources()
-            self.addExternalResources(fnames)
-            self.induceIndices()
+        log.debug("Using pbmerge to consolidate")
+        dsets = self.split(zmws=True, chunks=numFiles)
+        if numFiles > 1:
+            fnames = [_infixFname(dataFile, str(i))
+                      for i in range(numFiles)]
         else:
-            if numFiles > 1:
-                assert (len(self.resourceReaders()) ==
-                        len(self.toExternalFiles()))
-                resSizes = [[i, size[0], size[1]]
-                            for i, size in enumerate(self._resourceSizes())]
-                chunks = self._chunkList(resSizes, numFiles, lambda x: x[1])
-                resLists = []
-                for chunk in chunks:
-                    thisResList = []
-                    for i in chunk:
-                        thisResList.append(self.toExternalFiles()[i[0]])
-                    resLists.append(thisResList)
-                fnames = [_infixFname(dataFile, str(i))
-                          for i in range(numFiles)]
-                for resList, fname in zip(resLists, fnames):
-                    consolidateBams(resList, fname, filterDset=self,
-                                    useTmp=useTmp)
-                log.debug("Replacing resources")
-                self.externalResources = ExternalResources()
-                self.addExternalResources(fnames)
-            else:
-                consolidateBams(self.toExternalFiles(), dataFile,
-                                filterDset=self, useTmp=useTmp)
-                # TODO: remove subdatasets?
-                log.debug("Replacing resources")
-                self.externalResources = ExternalResources()
-                self.addExternalResources([dataFile])
+            fnames = [dataFile]
+        for chunk, fname in zip(dsets, fnames):
+            consolidateXml(chunk, fname, useTmp=useTmp)
+        log.debug("Replacing resources")
+        self.externalResources = ExternalResources()
+        self.addExternalResources(fnames)
+        self.induceIndices()
         # make sure reference gets passed through:
         if references:
             refCounts = dict(Counter(references))
@@ -2530,6 +2679,29 @@ class SubreadSet(ReadSet):
                 'pbi':'PacBio.Index.PacBioIndex',
                 }
 
+    def getMovieSampleNames(self):
+        """
+        Map the BioSample names in Collection metadata to "context" ID, i.e.
+        movie names.  Used for deconvoluting multi-sample
+        inputs.  This function will raise a KeyError if a movie name is not
+        unique, or a ValueError if there is not a 1-to-1 mapping of sample to
+        to movie.
+        """
+        movie_to_sample = {}
+        for collection in self.metadata.collections:
+            bio_samples = [b.name for b in collection.wellSample.bioSamples]
+            movie_name = collection.context
+            n_bio_samples = len(bio_samples)
+            if n_bio_samples == 1:
+                if movie_to_sample.get(movie_name, None) == bio_samples[0]:
+                    raise KeyError("Collection context {c} occurs more than once".format(c=movie_name))
+                movie_to_sample[movie_name] = bio_samples[0]
+            elif n_bio_samples == 0:
+                raise ValueError("No BioSample records for collection {c}".format(c=movie_name))
+            else:
+                raise ValueError("Collection {c} has multiple BioSample records".format(c=movie_name))
+        return movie_to_sample
+
 
 class AlignmentSet(ReadSet):
     """DataSet type specific to Alignments. No type specific Metadata exists,
@@ -2622,13 +2794,17 @@ class AlignmentSet(ReadSet):
         if not self.isCmpH5:
             tId_acc = lambda x: x.tId
             rName = lambda x: x['Name']
+
         if correctIds and self._stackedReferenceInfoTable:
             log.debug("Must correct index tId's")
             tIdMap = dict(zip(rr.referenceInfoTable['ID'],
                               rName(rr.referenceInfoTable)))
-            nameMap = self.refIds
+            unfilteredRefTable = self._buildRefInfoTable(filterMissing=False)
+            rname2tid = dict(zip(unfilteredRefTable['Name'],
+                            unfilteredRefTable['ID']))
+            #nameMap = self.refIds
             for tId in tIdMap.keys():
-                tId_acc(indices)[tId_acc(indices) == tId] = nameMap[
+                tId_acc(indices)[tId_acc(indices) == tId] = rname2tid[
                     tIdMap[tId]]
 
     def _indexRecords(self, correctIds=True):
@@ -2732,6 +2908,50 @@ class AlignmentSet(ReadSet):
         """A list of reference names (id)."""
         return np.sort(self.referenceInfoTable["Name"])
 
+    def split_references(self, chunks):
+        """Chunks requested:
+           0 or >= num_refs: One chunk per reference
+           1 to (num_refs - 1): Grouped somewhat evenly by num_records
+        """
+        # File must have pbi index to be splittable:
+        if len(self) == 0:
+            return [self.copy()]
+
+        atoms = self.index.tId
+        refs = zip(*np.unique(atoms, return_counts=True))
+
+        # Zero chunks requested == 1 chunk per reference.
+        if chunks == 0 or chunks > len(refs):
+            chunks = len(refs)
+
+        if chunks == 1:
+            return [self.copy()]
+
+        balanceKey = lambda x: x[1]
+        log.debug("Starting chunking")
+        if chunks < len(refs):
+            groups = self._chunkList(refs, chunks, balanceKey)
+        else:
+            groups = [[ref] for ref in refs]
+
+        log.debug("Duplicating")
+        results = [self.copy() for _ in groups]
+
+        i2n = self.tid2rname
+
+        log.debug("Modifying filters or resources")
+        for result, group in zip(results, groups):
+            result.filters.addRequirement(rname=[('=', i2n[ref[0]])
+                                                 for ref in group])
+
+        log.debug("Generating new UUID, updating counts")
+        for result in results:
+            result.updateCounts()
+            result.newUuid()
+
+        return results
+
+
     def _indexReadsInReference(self, refName):
         # This can probably be deprecated for all but the official reads in
         # range (and maybe reads in reference)
@@ -2953,7 +3173,7 @@ class AlignmentSet(ReadSet):
         log.debug("{i} contigs found".format(i=len(atoms)))
 
         # By providing maxChunks and not chunks, this combination will set
-        # chunks down to < len(atoms) < maxChunks
+        # chunks down to <= len(atoms) <= maxChunks
         if not chunks:
             log.debug("Chunks not set, splitting to len(atoms): {i}"
                       .format(i=len(atoms)))
@@ -3469,6 +3689,56 @@ class AlignmentSet(ReadSet):
         else:
             log.debug("No reference found by that Name or ID")
 
+    def _buildRefInfoTable(self, filterMissing=True):
+        self._referenceInfoTableIsStacked = False
+        responses = []
+
+        # allow for merge here:
+        for res in self._pollResources(lambda x: x.referenceInfoTable):
+            if not res is None:
+                if self.isCmpH5:
+                    for rec in res:
+                        rec.StartRow = 0L
+                        rec.EndRow = 0L
+                responses.append(res)
+        table = []
+        if len(responses) > 1:
+            # perhaps this can be removed someday so that cmpH5 references
+            # are 0-indexed even if only one exists
+            try:
+                # this works even for cmp's, because we overwrite the
+                # highly variable fields above
+                table = self._unifyResponses(
+                    responses,
+                    eqFunc=np.array_equal)
+            except ResourceMismatchError:
+                table = np.concatenate(responses)
+                table = np.unique(table)
+                for i, rec in enumerate(table):
+                    rec.ID = i
+                    rec.RefInfoID = i
+                self._referenceInfoTableIsStacked = True
+        elif len(responses) == 1:
+            table = responses[0]
+        else:
+            raise InvalidDataSetIOError("No reference tables found, "
+                                        "are these input files aligned?")
+        if self.isCmpH5:
+            for rec in table:
+                rec.Name = self._cleanCmpName(rec.FullName)
+
+        # Not sure if this is necessary or a good idea, looking back on it
+        # a year later. It complicates fixTids
+        if filterMissing:
+            log.debug("Filtering reference entries")
+            if not self.noFiltering and self._filters:
+                passes = self._filters.testField('rname', table['Name'])
+                table = table[passes]
+        #TODO: Turn on when needed (expensive)
+        #self._referenceDict.update(zip(self.refIds.values(),
+        #                               self._referenceInfoTable))
+        return table
+
     @property
     def referenceInfoTable(self):
         """The merged reference info tables from the external resources.
@@ -3480,50 +3750,8 @@ class AlignmentSet(ReadSet):
 
         """
         if self._referenceInfoTable is None:
-            self._referenceInfoTableIsStacked = False
-            responses = []
-
-            # allow for merge here:
-            for res in self._pollResources(lambda x: x.referenceInfoTable):
-                if not res is None:
-                    if self.isCmpH5:
-                        for rec in res:
-                            rec.StartRow = 0
-                            rec.EndRow = 0
-                    responses.append(res)
-            table = []
-            if len(responses) > 1:
-                # perhaps this can be removed someday so that cmpH5 references
-                # are 0-indexed even if only one exists
-                try:
-                    # this works even for cmp's, because we overwrite the
-                    # highly variable fields above
-                    table = self._unifyResponses(
-                        responses,
-                        eqFunc=np.array_equal)
-                except ResourceMismatchError:
-                    table = np.concatenate(responses)
-                    table = np.unique(table)
-                    for i, rec in enumerate(table):
-                        rec.ID = i
-                        rec.RefInfoID = i
-                    self._referenceInfoTableIsStacked = True
-            elif len(responses) == 1:
-                table = responses[0]
-            else:
-                raise InvalidDataSetIOError("No reference tables found, "
-                                            "are these input files aligned?")
-            if self.isCmpH5:
-                for rec in table:
-                    rec.Name = self._cleanCmpName(rec.FullName)
-            log.debug("Filtering reference entries")
-            if not self.noFiltering and self._filters:
-                passes = self._filters.testField('rname', table['Name'])
-                table = table[passes]
-            self._referenceInfoTable = table
-            #TODO: Turn on when needed (expensive)
-            #self._referenceDict.update(zip(self.refIds.values(),
-            #                               self._referenceInfoTable))
+            self._referenceInfoTable = self._buildRefInfoTable(
+                filterMissing=True)
         return self._referenceInfoTable
 
     @property
@@ -3553,9 +3781,20 @@ class AlignmentSet(ReadSet):
 
     @property
     def refIds(self):
+        """A dict of refName: refId for the joined referenceInfoTable
+        TODO: depricate in favor of more descriptive rname2tid"""
+        return self.rname2tid
+
+    @property
+    def rname2tid(self):
         """A dict of refName: refId for the joined referenceInfoTable"""
         return {name: rId for name, rId in self.refInfo('ID')}
 
+    @property
+    def tid2rname(self):
+        """A dict of refName: refId for the joined referenceInfoTable"""
+        return {rId: name for name, rId in self.refInfo('ID')}
+
     def refLength(self, rname):
         """The length of reference 'rname'. This is expensive, so if you're
         going to do many lookups cache self.refLengths locally and use that."""
@@ -3653,7 +3892,9 @@ class ContigSet(DataSet):
         # Metadata type
         try:
             self._metadata = ContigSetMetadata(self._metadata)
-            self._updateMetadata()
+            if len(files) > 0:
+                log.debug("Updating metadata for {}".format(str(files)))
+                self._updateMetadata()
         except TypeError:
             pass
 
@@ -3706,20 +3947,32 @@ class ContigSet(DataSet):
             writeTemp = True
         if self._filters and not self.noFiltering:
             writeTemp = True
-        writeMatches = {}
-        writeComments = {}
-        writeQualities = {}
+        if not writeTemp:
+            writeTemp = any([len(m) > 1 for n, m in matches.items()])
+
+        def _get_windows(match_list):
+            # look for the quiver window indication scheme from quiver:
+            windows = np.array([self._parseWindow(match.id)
+                                for match in match_list])
+            for win in windows:
+                if win is None:
+                    raise ValueError("Windows not found for all items with a "
+                                     "matching id, consolidation aborted")
+            return windows
+
         for name, match_list in matches.items():
             if len(match_list) > 1:
+                try:
+                    windows = _get_windows(match_list)
+                except ValueError as e:
+                    log.error(e)
+                    return
+
+        def _get_merged_sequence(name):
+            match_list = matches.pop(name)
+            if len(match_list) > 1:
                 log.debug("Multiple matches found for {i}".format(i=name))
-                # look for the quiver window indication scheme from quiver:
-                windows = np.array([self._parseWindow(match.id)
-                                    for match in match_list])
-                for win in windows:
-                    if win is None:
-                        log.debug("Windows not found for all items with a "
-                                  "matching id, consolidation aborted")
-                        return
+                windows = _get_windows(match_list)
                 # order windows
                 order = np.argsort([window[0] for window in windows])
                 match_list = match_list[order]
@@ -3729,22 +3982,18 @@ class ContigSet(DataSet):
 
                 # collapse matches
                 new_name = self._removeWindow(name)
-                new_seq = ''.join([match.sequence[:] for match in match_list])
+                seq = ''.join([match.sequence[:] for match in match_list])
+                quality = None
                 if self._fastq:
-                    new_qual = ''.join([match.qualityString for match in
-                                        match_list])
-                    writeQualities[new_name] = new_qual
-
-                # set to write
-                writeTemp = True
-                writeMatches[new_name] = new_seq
-                writeComments[new_name] = match_list[0].comment
+                    quality = ''.join([match.qualityString for match in match_list])
+                return (seq, match_list[0].comment, quality)
             else:
                 log.debug("One match found for {i}".format(i=name))
-                writeMatches[name] = match_list[0].sequence[:]
-                writeComments[name] = match_list[0].comment
+                seq = match_list[0].sequence[:]
+                quality = None
                 if self._fastq:
-                    writeQualities[name] = match_list[0].qualityString
+                   quality = match_list[0].qualityString
+                return (seq, match_list[0].comment, quality)
         if writeTemp:
             log.debug("Writing a new file is necessary")
             if not outfn:
@@ -3758,13 +4007,12 @@ class ContigSet(DataSet):
                                          'consolidated_contigs.fasta')
             with self._writer(outfn) as outfile:
                 log.debug("Writing new resource {o}".format(o=outfn))
-                for name, seq in writeMatches.items():
-                    name_key = name
-                    if writeComments[name]:
-                        name = ' '.join([name, writeComments[name]])
+                for name in list(matches.keys()):
+                    seq, comments, quality = _get_merged_sequence(name)
+                    if comments:
+                        name = ' '.join([name, comments])
                     if self._fastq:
-                        outfile.writeRecord(
-                            name, seq, qvsFromAscii(writeQualities[name_key]))
+                        outfile.writeRecord(name, seq, qvsFromAscii(quality))
                     else:
                         outfile.writeRecord(name, seq)
             if not self._fastq:
@@ -3784,6 +4032,9 @@ class ContigSet(DataSet):
                 log.debug("Replacing metadata")
                 self._metadata.contigs = []
                 self._populateContigMetadata()
+        else:
+            log.warn("No need to write a new resource file, using current "
+                     "resource instead.")
         self._populateMetaTypes()
 
     @property
diff --git a/pbcore/io/dataset/DataSetMembers.py b/pbcore/io/dataset/DataSetMembers.py
index 6ef9449..2ad0f65 100755
--- a/pbcore/io/dataset/DataSetMembers.py
+++ b/pbcore/io/dataset/DataSetMembers.py
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+# Copyright (c) 2011-2017, Pacific Biosciences of California, Inc.
 #
 # All rights reserved.
 #
@@ -14,25 +14,18 @@
 #   contributors may be used to endorse or promote products derived from
 #   this software without specific prior written permission.
 #
-# NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED
-# BY
+# NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
 # THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY PACIFIC BIOSCIENCES AND ITS
-# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
-# BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES
-# OR
+# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR
 # ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR
-# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER
-# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-# THE
-# POSSIBILITY OF SUCH DAMAGE.
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ###############################################################################
 
 # Author: Martin D. Smith
@@ -100,15 +93,26 @@ import ast
 import uuid
 import copy
 import logging
+import os
 import operator as OP
 import numpy as np
+import re
+from urlparse import urlparse
+from urllib import unquote
 from functools import partial as P
 from collections import Counter, defaultdict
 from pbcore.io.dataset.utils import getTimeStampedName
 from pbcore.io.dataset.DataSetUtils import getDataSetUuid
+from pbcore.io.dataset.DataSetWriter import NAMESPACES
 
 log = logging.getLogger(__name__)
 
+def uri2fn(fn):
+    return unquote(urlparse(fn).path.strip())
+
+def uri2scheme(fn):
+    return urlparse(fn).scheme
+
 def newUuid(record):
     # At some point the uuid may need to be a digest
     #import hashlib
@@ -122,6 +126,23 @@ def newUuid(record):
     # Today is not that day
     return str(uuid.uuid4())
 
+def map_val_or_vec(func, target):
+    if isinstance(target, (list, tuple, np.ndarray)):
+        return map(func, target)
+    else:
+        return func(target)
+
+def inNd(arrs1, arrs2):
+    if isinstance(arrs1, tuple):
+        # a tuple of numpy columns to check:
+        res = np.ones(len(arrs1[0]), dtype=np.bool_)
+        for a1, a2 in zip(arrs1, arrs2):
+            res &= np.in1d(a1, a2)
+        return res
+    else:
+        # just two numpy columns:
+        return np.in1d(arrs1, arrs2)
+
 OPMAP = {'==': OP.eq,
          '=': OP.eq,
          'eq': OP.eq,
@@ -139,7 +160,8 @@ OPMAP = {'==': OP.eq,
          '<': OP.lt,
          '<': OP.lt,
          'lt': OP.lt,
-         'in': np.in1d,
+         'in': inNd,
+         'not_in': lambda x, y: ~inNd(x, y),
          '&': lambda x, y: OP.and_(x, y).view(np.bool_),
          '~': lambda x, y: np.logical_not(OP.and_(x, y).view(np.bool_)),
         }
@@ -147,9 +169,7 @@ OPMAP = {'==': OP.eq,
 def mapOp(op):
     return OPMAP[op]
 
-def setify(value):
-    # This is a string of a python or numpy list, needs to be made into a
-    # python set:
+def str2list(value):
     value = value.strip('set')
     value = value.strip('()')
     value = value.strip('[]')
@@ -159,8 +179,47 @@ def setify(value):
         value = value.split()
     value = [v.strip() for v in value]
     value = [v.strip("'") for v in value]
-    return set(value)
+    return value
+
+def setify(value):
+    return np.unique(str2list(value))
+
+def fromFile(value):
+    with open(value, 'rU') as ifh:
+        return np.unique([val.strip() for val in ifh])
+
+def isListString(string):
+    """Detect if string is actually a representation a stringified list"""
+
+    listver = str2list(string)
+    if len(listver) > 1 or re.search('[\[\(\{].+[\}\)\]]', string):
+        return True
 
+def isFile(string):
+    if isinstance(string, str) and os.path.exists(string):
+        return True
+    return False
+
+def qnamer(qid2mov, qId, hn, qs, qe):
+    movs = np.empty_like(qId, dtype='S{}'.format(
+        max(map(len, qid2mov.values()))))
+    for k, v in qid2mov.items():
+        movs[qId == k] = v
+    return (movs, hn, qs, qe)
+
+def breakqname(qname):
+    mov, hn, span = qname.split('/')
+    if '_' in span:
+        qs, qe = span.split('_')
+        return mov, int(hn), int(qs), int(qe)
+    else:
+        # The default values in pbi if CCS:
+        return mov, int(hn), -1, -1
+
+def qname2vec(qnames):
+    if isinstance(qnames, str):
+        qnames = [qnames]
+    return zip(*[breakqname(q) for q in qnames])
 
 class PbiFlags(object):
     NO_LOCAL_CONTEXT = 0
@@ -178,26 +237,32 @@ class PbiFlags(object):
         return reduce(OP.or_,
                       (getattr(cls, fl.strip()) for fl in flag.split('|')))
 
-def subgetter(key, container='text', default=None, asType=(lambda x: x)):
+def subgetter(key, container='text', default=None, asType=(lambda x: x),
+              attrib=None):
     def get(self):
         return self.getMemberV(key, container=container, default=default,
-                               asType=asType)
+                               asType=asType, attrib=attrib)
     return property(get)
 
-def subsetter(key, container='text'):
+def subsetter(key, container='text', attrib=None):
     def set(self, value):
         self._runCallbacks()
-        self.setMemberV(key, str(value), container=container)
+        self.setMemberV(key, str(value), container=container, attrib=attrib)
     return set
 
-def subaccs(key, container='text', default=None, asType=(lambda x: x)):
-    get = subgetter(key, container=container, default=default, asType=asType)
-    get = get.setter(subsetter(key, container=container))
+def subaccs(key, container='text', default=None, asType=(lambda x: x),
+            attrib=None):
+    get = subgetter(key, container=container, default=default, asType=asType,
+                    attrib=attrib)
+    get = get.setter(subsetter(key, container=container, attrib=attrib))
     return get
 
-def getter(key, container='attrib', asType=(lambda x: x)):
+def getter(key, container='attrib', asType=(lambda x: x), parent=False):
     def get(self):
-        return asType(self.getV(container, key))
+        if parent:
+            return asType(self.getV(container, key), parent=self)
+        else:
+            return asType(self.getV(container, key))
     return property(get)
 
 def setter(key, container='attrib'):
@@ -206,8 +271,8 @@ def setter(key, container='attrib'):
         self.setV(str(value), container, key)
     return set
 
-def accs(key, container='attrib', asType=(lambda x: x)):
-    get = getter(key, container, asType)
+def accs(key, container='attrib', asType=(lambda x: x), parent=False):
+    get = getter(key, container, asType, parent=parent)
     get = get.setter(setter(key, container))
     return get
 
@@ -225,6 +290,11 @@ def updateTag(ele, tag):
     if ele.metaname == '':
         ele.metaname = tag
 
+def updateNamespace(ele, ns):
+    if ele.namespace == '':
+        ele.namespace = ns
+
+
 class RecordWrapper(object):
     """The base functionality of a metadata element.
 
@@ -235,6 +305,7 @@ class RecordWrapper(object):
     # only things that should be kept with their parents (indices) should be
     # True
     KEEP_WITH_PARENT = False
+    NS = ''
 
     def __init__(self, record=None, parent=None):
         """Here, record is any element in the Metadata Element tree and a
@@ -264,6 +335,11 @@ class RecordWrapper(object):
                 self.registerCallback(runonce(P(parent.append, self.record)))
         assert 'tag' in self.record.keys()
 
+        # we could do the same with namespace, but it isn't used in nonzero, so
+        # we can just update it:
+        if not self.record.get('namespace', ''):
+            self.record['namespace'] = NAMESPACES[self.NS]
+
 
     def registerCallback(self, func):
         if func not in self._callbacks:
@@ -344,21 +420,29 @@ class RecordWrapper(object):
     def merge(self, other):
         pass
 
-    def getMemberV(self, tag, container='text', default=None, asType=str):
+    def getMemberV(self, tag, container='text', default=None, asType=str,
+                   attrib=None):
         """Generic accessor for the contents of the children of this element,
         without having to interface with them directly"""
         try:
-            return asType(self.record['children'][self.index(str(tag))][
+            tbr = asType(self.record['children'][self.index(str(tag))][
                 str(container)])
+            if container == 'attrib':
+                return tbr[attrib]
+            return tbr
         except (KeyError, ValueError):
             return default
 
-    def setMemberV(self, tag, value, container='text'):
+    def setMemberV(self, tag, value, container='text', attrib=None):
         """Generic accessor for the contents of the children of this element,
         without having to interface with them directly"""
         try:
-            self.record['children'][self.index(str(tag))][str(container)] = (
-                str(value))
+            if container == 'attrib':
+                self.record['children'][self.index(str(tag))][str(container)][attrib] = (
+                    str(value))
+            else:
+                self.record['children'][self.index(str(tag))][str(container)] = (
+                    str(value))
         except ValueError:
             if container == 'text':
                 newMember = _emptyMember(tag=tag, text=value)
@@ -436,6 +520,14 @@ class RecordWrapper(object):
         self.record['tag'] = value
 
     @property
+    def text(self):
+        return self.metavalue
+
+    @text.setter
+    def text(self, value):
+        self.metavalue = value
+
+    @property
     def metavalue(self):
         """Cleaner accessor for this node's text"""
         return self.record['text']
@@ -504,6 +596,7 @@ def filter_read(accessor, operator, value, read):
 
 
 class Filters(RecordWrapper):
+    NS = 'pbds'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -559,6 +652,8 @@ class Filters(RecordWrapper):
     def merge(self, other):
         # Just add it to the or list
         self.extend(Filters(other).submetadata)
+        # (mdsmith 28092017) I feel like we should be running callbacks here,
+        # but we've been doing fine without and it adds to the opening cost
 
     def testParam(self, param, value, testType=str, oper='='):
         options = [True] * len(list(self))
@@ -599,6 +694,7 @@ class Filters(RecordWrapper):
                                   x.bam.pbi[x.rowNumber]['bcReverse'])),
                 'qs': (lambda x: int(x.qStart)),
                 'rq': (lambda x: int(x.MapQV)),
+                'mapqv': (lambda x: int(x.MapQV)),
                 'pos': (lambda x: int(x.tStart)),
                 'accuracy': (lambda x: float(x.identity)),
                 'readstart': (lambda x: int(x.aStart)),
@@ -611,7 +707,9 @@ class Filters(RecordWrapper):
 
     def _pbiAccMap(self):
         return {'length': (lambda x: int(x.aEnd)-int(x.aStart)),
-                'qname': (lambda x: x.qId),
+                'qname': (lambda m, x: qnamer(m, x.qId, x.holeNumber, x.qStart,
+                                              x.qEnd)),
+                'qid': (lambda x: x.qId),
                 'zm': (lambda x: int(x.holeNumber)),
                 'pos': (lambda x: int(x.tStart)),
                 'readstart': (lambda x: int(x.aStart)),
@@ -626,11 +724,11 @@ class Filters(RecordWrapper):
                 'readstart': (lambda x: x.aStart),
                 'tstart': (lambda x: x.tStart),
                 'tend': (lambda x: x.tEnd),
+                'mapqv': (lambda x: x.mapQV),
                 'accuracy': (
                     lambda x: (np.ones(len(x.nMM), dtype='f4') -
                                (x.nMM + x.nIns + x.nDel).astype(np.float)/
-                               (x.aEnd - x.aStart + x.tEnd - x.tStart -
-                                x.nM - x.nMM)))
+                               (x.nM + x.nMM + x.nIns)))
                }
         base = self._pbiVecAccMap()
         base.update(plus)
@@ -640,12 +738,14 @@ class Filters(RecordWrapper):
         return {'length': (lambda x: x.qEnd - x.qStart),
                 'qstart': (lambda x: x.qStart),
                 'qend': (lambda x: x.qEnd),
-                'qname': (lambda x: x.qId),
+                'qname': (lambda m, x: qnamer(m, x.qId, x.holeNumber, x.qStart,
+                                              x.qEnd)),
+                'qid': (lambda x: x.qId),
                 'movie': (lambda x: x.qId),
                 'zm': (lambda x: x.holeNumber),
                 'rq': (lambda x: x.readQual),
                 'bcf': (lambda x: x.bcForward),
-                'bcr': (lambda x: x.bcForward),
+                'bcr': (lambda x: x.bcReverse),
                 'bcq': (lambda x: x.bcQual),
                 'bq': (lambda x: x.bcQual),
                 'bc': (lambda x: x['bcForward', 'bcReverse']),
@@ -662,6 +762,7 @@ class Filters(RecordWrapper):
                 'qstart': int,
                 'qend': int,
                 'qname': str,
+                'qid': int,
                 'movie': str,
                 'zm': int,
                 'bc': str,
@@ -678,6 +779,7 @@ class Filters(RecordWrapper):
                 'readstart': int,
                 'cx': PbiFlags.flagMap,
                 'n_subreads': int,
+                'mapqv': int,
                }
 
     def tests(self, readType="bam", tIdMap=None):
@@ -716,10 +818,14 @@ class Filters(RecordWrapper):
         if readType == 'bam':
             typeMap = self._bamTypeMap
             accMap = self._pbiVecAccMap()
+            # check for mappings:
             if 'tStart' in indexRecords.dtype.names:
                 accMap = self._pbiMappedVecAccMap()
                 if 'RefGroupID' in indexRecords.dtype.names:
                     accMap['rname'] = (lambda x: x.RefGroupID)
+            accMap['qname'] = P(accMap['qname'],
+                                {v:k for k, v in movieMap.items()})
+            # check for hdf resources:
             if 'MovieID' in indexRecords.dtype.names:
                 # TODO(mdsmith)(2016-01-29) remove these once the fields are
                 # renamed:
@@ -741,70 +847,52 @@ class Filters(RecordWrapper):
             for req in filt:
                 param = req.name
                 if param in accMap.keys():
-                    if req.operator == 'in':
-                        value = map(typeMap[param], setify(req.value))
-                    else:
-                        value = typeMap[param](req.value)
+                    # Treat "value" as a string of a list of potential values
+                    # if operator is 'in', or 'in' masquerading as '=='.
+                    # Have to be careful with bc and other values that are
+                    # natively lists, but still single values
+                    opstr = req.operator
+                    value = req.value
+                    if ((isListString(value) or isFile(value)) and
+                            not param in ('cx', 'bc')) or param == 'qname':
+                        if mapOp(opstr) == OP.eq:
+                            opstr = 'in'
+                        elif mapOp(opstr) == OP.ne:
+                            opstr = 'not_in'
+
+                    if opstr in ('in', 'not_in'):
+                        if isFile(value):
+                            value = fromFile(value)
+                        elif isListString(value):
+                            value = setify(value)
+                    value = map_val_or_vec(typeMap[param], value)
+
                     if param == 'rname':
-                        value = nameMap[value]
-                    if param == 'movie':
-                        value = movieMap[value]
+                        value = map_val_or_vec(nameMap.get, value)
+                    elif param == 'movie':
+                        value = map_val_or_vec(movieMap.get, value)
+                    elif param == 'qname':
+                        value = qname2vec(value)
+
                     if param == 'bc':
                         # convert string to list:
                         values = ast.literal_eval(value)
+                        assert isinstance(values, list), (
+                            'Barcode filter value must be of form [<bcf>, <bcr>]')
+                        assert len(values) == 2, (
+                            'Barcode filter value must be of form [<bcf>, <bcr>]')
                         param = 'bcf'
-                        value = values[0]
-                        operator = mapOp(req.operator)
+                        value = int(values[0])
+                        operator = mapOp(opstr)
                         reqResultsForRecords = operator(
                             accMap[param](indexRecords), value)
                         param = 'bcr'
-                        value = values[1]
-                        operator = mapOp(req.operator)
+                        value = int(values[1])
+                        operator = mapOp(opstr)
                         reqResultsForRecords &= operator(
                             accMap[param](indexRecords), value)
-                    elif param == 'qname':
-                        # TODO: optimize "in" version...
-                        if not isinstance(value, list):
-                            values = [value]
-                        else:
-                            values = value
-                        reqResultsForRecords = np.zeros(len(indexRecords), dtype=np.bool_)
-                        #tempRes = np.ones(len(indexRecords), dtype=np.bool_)
-                        for value in values:
-                            movie, hole, span = value.split('/')
-                            operator = mapOp(req.operator)
-
-                            param = 'movie'
-                            value = movieMap[movie]
-                            #reqResultsForRecords = operator(
-                            #    accMap[param](indexRecords), value)
-                            tempRes = operator(
-                                accMap[param](indexRecords), value)
-
-                            param = 'zm'
-                            value = typeMap[param](hole)
-                            #reqResultsForRecords &= operator(
-                            #    accMap[param](indexRecords), value)
-                            tempRes &= operator(
-                                accMap[param](indexRecords), value)
-
-                            param = 'qstart'
-                            value = typeMap[param](span.split('_')[0])
-                            #reqResultsForRecords &= operator(
-                            #    accMap[param](indexRecords), value)
-                            tempRes &= operator(
-                                accMap[param](indexRecords), value)
-
-                            param = 'qend'
-                            value = typeMap[param](span.split('_')[1])
-                            #reqResultsForRecords &= operator(
-                            #    accMap[param](indexRecords), value)
-                            tempRes &= operator(
-                                accMap[param](indexRecords), value)
-                            reqResultsForRecords |= tempRes
-
                     else:
-                        operator = mapOp(req.operator)
+                        operator = mapOp(opstr)
                         reqResultsForRecords = operator(
                             accMap[param](indexRecords), value)
                     lastResult &= reqResultsForRecords
@@ -877,6 +965,50 @@ class Filters(RecordWrapper):
         log.debug("Current filters: {s}".format(s=str(self)))
         self._runCallbacks()
 
+    def addFilterList(self, filters):
+        """
+        filters is a list of options, with a list of reqs for each option. Each
+        req is a tuple (name, oper, val)
+        """
+        if not filters:
+            return
+        for opt in filters:
+            newFilt = Filter()
+            for name, oper, val in opt:
+                newFilt.addRequirement(name, oper, val)
+            self.append(newFilt)
+        log.debug("Current filters: {s}".format(s=str(self)))
+        self._runCallbacks()
+
+    def broadcastFilters(self, filts):
+        """
+        Filt is a list of Filter objects or lists of reqs.
+        Take all existing filters, duplicate and combine with each new filter
+        """
+        if not len(filts):
+            # nothing to do
+            return
+        existing = [Filter()]
+        if len(self):
+            existing = copy.deepcopy(list(self))
+        existing = [copy.deepcopy(existing) for _ in filts]
+
+        new = []
+        for filt, efilts in zip(filts, existing):
+            if isinstance(filt, Filter):
+                filt = [(p.name, p.operator, p.value) for p in filt]
+            for efilt in efilts:
+                for name, oper, val in filt:
+                    efilt.addRequirement(name, oper, val)
+                new.append(efilt)
+
+        while len(self):
+            self.pop(0)
+        for filt in new:
+            self.append(filt)
+        log.debug("Current filters: {s}".format(s=str(self)))
+        self._runCallbacks()
+
     def removeFilter(self, index):
         self.pop(index)
         log.debug("Current filters: {s}".format(s=str(self)))
@@ -897,6 +1029,7 @@ class Filters(RecordWrapper):
         for req, opvals in kwargs.items():
             for filt, opval in zip(self, opvals):
                 filt.addRequirement(req, opval[0], opval[1])
+        self._runCallbacks()
 
     def removeRequirement(self, req):
         log.debug("Removing requirement {r}".format(r=req))
@@ -911,6 +1044,7 @@ class Filters(RecordWrapper):
 
 
 class Filter(RecordWrapper):
+    NS = 'pbds'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -964,8 +1098,8 @@ class Filter(RecordWrapper):
     def merge(self, other):
         pass
 
-
 class Properties(RecordWrapper):
+    NS = 'pbbase'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -983,6 +1117,7 @@ class Properties(RecordWrapper):
 
 
 class Property(RecordWrapper):
+    NS = 'pbbase'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -1018,7 +1153,7 @@ class Property(RecordWrapper):
 
 
 class ExternalResources(RecordWrapper):
-
+    NS = 'pbbase'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -1119,7 +1254,7 @@ class ExternalResources(RecordWrapper):
 
 
 class ExternalResource(RecordWrapper):
-
+    NS = 'pbbase'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -1146,7 +1281,7 @@ class ExternalResource(RecordWrapper):
 
     @property
     def resourceId(self):
-        return self.getV('attrib', 'ResourceId')
+        return uri2fn(self.getV('attrib', 'ResourceId'))
 
     @resourceId.setter
     def resourceId(self, value):
@@ -1197,15 +1332,37 @@ class ExternalResource(RecordWrapper):
 
     @property
     def scraps(self):
-        return self._getSubResByMetaType('PacBio.SubreadFile.ScrapsBamFile')
+        return self._getSubResByMetaType(
+            'PacBio.SubreadFile.ScrapsBamFile')
+        if self.metaType == 'PacBio.SubreadFile.SubreadBamFile':
+            return self._getSubResByMetaType(
+                'PacBio.SubreadFile.ScrapsBamFile')
+        elif self.metaType == 'PacBio.SubreadFile.ZmwBamFile':
+            return self._getSubResByMetaType(
+                'PacBio.SubreadFile.ZmwScrapsBamFile')
 
     @scraps.setter
     def scraps(self, value):
-        self._setSubResByMetaType('PacBio.SubreadFile.ScrapsBamFile', value)
+        # metaType isn't populated right off the bat. We'll provide an option
+        # to check against the filename for now, but this should change in
+        # DataSetReader eventually
+        if (self.metaType == 'PacBio.SubreadFile.Control.SubreadBamFile' or
+                self.resourceId.endswith('control.subreads.bam')):
+            self._setSubResByMetaType(
+                'PacBio.SubreadFile.Control.ScrapsBamFile', value)
+        elif (self.metaType == 'PacBio.SubreadFile.SubreadBamFile' or
+              self.resourceId.endswith('subreads.bam')):
+            self._setSubResByMetaType(
+                'PacBio.SubreadFile.ScrapsBamFile', value)
+        elif (self.metaType == 'PacBio.SubreadFile.ZmwBamFile' or
+              self.resourceId.endswith('zmws.bam')):
+            self._setSubResByMetaType(
+                'PacBio.SubreadFile.ZmwScrapsBamFile', value)
 
     @property
     def control(self):
-        return self._getSubResByMetaType('PacBio.SubreadFile.Control.SubreadBamFile')
+        return self._getSubResByMetaType(
+            'PacBio.SubreadFile.Control.SubreadBamFile')
 
     @control.setter
     def control(self, value):
@@ -1360,7 +1517,7 @@ class ExternalResource(RecordWrapper):
             fileIndices.append(temp)
 
 class FileIndices(RecordWrapper):
-
+    NS = 'pbbase'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -1375,6 +1532,7 @@ class FileIndices(RecordWrapper):
 
 
 class FileIndex(RecordWrapper):
+    NS = 'pbbase'
 
     KEEP_WITH_PARENT = True
 
@@ -1392,8 +1550,8 @@ class FileIndex(RecordWrapper):
 class DataSetMetadata(RecordWrapper):
     """The root of the DataSetMetadata element tree, used as base for subtype
     specific DataSet or for generic "DataSet" records."""
-
     TAG = 'DataSetMetadata'
+    NS = 'pbds'
 
     def __init__(self, record=None):
         """Here, record is the root element of the Metadata Element tree"""
@@ -1456,16 +1614,34 @@ class DataSetMetadata(RecordWrapper):
         except ValueError:
             return None
 
+    @provenance.setter
+    def provenance(self, value):
+        self.removeChildren('Provenance')
+        if value:
+            self.append(value)
+
+    def addParentDataSet(self, uniqueId, metaType, timeStampedName="",
+                         createdBy="AnalysisJob"):
+        """
+        Add a ParentDataSet record in the Provenance section.  Currently only
+        used for SubreadSets.
+        """
+        new = Provenance()
+        new.createdBy = createdBy
+        new.addParentDataSet(uniqueId, metaType, timeStampedName)
+        self.provenance = new
+        self._runCallbacks()
+
 
 class SubreadSetMetadata(DataSetMetadata):
     """The DataSetMetadata subtype specific to SubreadSets. Deals explicitly
-    with the merging of Collections and BioSamples metadata hierarchies."""
+    with the merging of Collections metadata hierarchies."""
 
     TAG = 'DataSetMetadata'
 
     def __init__(self, record=None):
         # This doesn't really need to happen unless there are contextual
-        # differences in the meanings of subtypes (e.g. BioSamples mean
+        # differences in the meanings of subtypes (e.g. Collections mean
         # something different in SubreadSetMetadata vs ReferenceSetMetadata)
         if record:
             if (not isinstance(record, dict) and
@@ -1481,10 +1657,6 @@ class SubreadSetMetadata(DataSetMetadata):
             self.append(other.collections)
         else:
             self.collections.merge(other.collections)
-        if other.bioSamples and not self.bioSamples:
-            self.append(other.bioSamples)
-        else:
-            self.bioSamples.merge(other.bioSamples)
 
     @property
     def collections(self):
@@ -1500,13 +1672,6 @@ class SubreadSetMetadata(DataSetMetadata):
         if value:
             self.append(value)
 
-    @property
-    def bioSamples(self):
-        """Return a list of wrappers around BioSamples elements of the Metadata
-        Record"""
-        return BioSamplesMetadata(self.getV(tag='BioSamples',
-                                            container='children'))
-
 
 class ContigSetMetadata(DataSetMetadata):
     """The DataSetMetadata subtype specific to ContigSets."""
@@ -1525,7 +1690,7 @@ class ContigSetMetadata(DataSetMetadata):
     def merge(self, other):
         super(self.__class__, self).merge(other)
         if self.contigs:
-            self.contigs.merge(other.contigs)
+            self.contigs.merge(other.contigs) # pylint: disable=no-member
         else:
             self.contigs = other.contigs
 
@@ -1622,8 +1787,8 @@ class ContigMetadata(RecordWrapper):
 class CollectionsMetadata(RecordWrapper):
     """The Element should just have children: a list of
     CollectionMetadataTags"""
-
     TAG = 'Collections'
+    NS = 'pbmeta'
 
     def __getitem__(self, index):
         return CollectionMetadata(self.record['children'][index])
@@ -1637,6 +1802,7 @@ class CollectionsMetadata(RecordWrapper):
 
 
 class AutomationParameter(RecordWrapper):
+    NS = 'pbbase'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -1646,6 +1812,7 @@ class AutomationParameter(RecordWrapper):
 
 
 class AutomationParameters(RecordWrapper):
+    NS = 'pbbase'
 
     def __init__(self, record=None):
         super(self.__class__, self).__init__(record)
@@ -1679,20 +1846,39 @@ class AutomationParameters(RecordWrapper):
 
 
 class Automation(RecordWrapper):
+    NS = 'pbmeta'
 
     automationParameters = accs('AutomationParameters', container='children',
                                 asType=AutomationParameters)
 
 
 class ParentTool(RecordWrapper):
-    pass
+    NS = 'pbds'
+
+
+class ParentDataSet(RecordWrapper):
+    NS = 'pbds'
+
+    metaType = accs("MetaType")
+    timeStampedName = accs('TimeStampedName')
 
 
 class Provenance(RecordWrapper):
     """The metadata concerning this dataset's provenance"""
+    NS = 'pbds'
 
     createdBy = accs('CreatedBy')
     parentTool = accs('ParentTool', container='children', asType=ParentTool)
+    parentDataSet = accs("ParentDataSet", container="children", asType=ParentDataSet)
+
+    def addParentDataSet(self, uniqueId, metaType, timeStampedName):
+        new = ParentDataSet()
+        new.uniqueId = uniqueId
+        new.metaType = metaType
+        new.timeStampedName = timeStampedName
+        self.append(new)
+        self._runCallbacks()
+        return new
 
 
 class StatsMetadata(RecordWrapper):
@@ -1707,27 +1893,62 @@ class StatsMetadata(RecordWrapper):
     # continuous channel dists:
     CHANNEL_DISTS = ['BaselineLevelDist', 'BaselineStdDist', 'SnrDist',
                      'HqRegionSnrDist', 'HqBasPkMidDist',
-                     'BaselineLevelSequencingDist']
+                     'BaselineLevelSequencingDist',
+                     'TotalBaseFractionPerChannel', 'DmeAngleEstDist']
 
     # continuous misc. dists:
     OTHER_DISTS = ['PausinessDist', 'PulseRateDist', 'PulseWidthDist',
                    'BaseRateDist', 'BaseWidthDist', 'BaseIpdDist',
-                   'LocalBaseRateDist', 'NumUnfilteredBasecallsDist']
+                   'LocalBaseRateDist', 'NumUnfilteredBasecallsDist',
+                   'HqBaseFractionDist', 'NumUnfilteredBasecallsDist']
 
     UNMERGED_DISTS = CHANNEL_DISTS + OTHER_DISTS
 
+    def getDist(self, key, unwrap=True):
+        tbr = list(self.findChildren(key))
+        if len(tbr) == 0:
+            return None
+
+        dtype = ContinuousDistribution
+        if tbr[0].getV('children', 'BinLabels') is not None:
+            dtype = DiscreteDistribution
+
+        if unwrap and key in self.MERGED_DISTS:
+            if len(tbr) > 1:
+                log.warn("Merging a distribution failed!")
+            return dtype(tbr[0])
+        elif 'Channel' in tbr[0].attrib:
+            chans = defaultdict(list)
+            for chan in tbr:
+                chans[chan.attrib['Channel']].append(
+                    dtype(chan))
+            return chans
+        else:
+            return map(dtype, tbr)
+
+    def availableDists(self):
+        return [c.metaname for c in self]
+
+    def __getitem__(self, key):
+        return self.getDist(key)
+
     @property
     def channelDists(self):
+        """This can be modified to use the new accessors above instead of the
+        brittle list of channel dists above"""
         tbr = {}
         for dist in self.CHANNEL_DISTS:
             chans = defaultdict(list)
             for chan in self.findChildren(dist):
-                chans[chan.attrib['Channel']].append(ContinuousDistribution(chan))
+                chans[chan.attrib['Channel']].append(
+                    ContinuousDistribution(chan))
             tbr[dist] = chans
         return tbr
 
     @property
     def otherDists(self):
+        """This can be modified to use the new accessors above instead of the
+        brittle list of dists above"""
         tbr = defaultdict(list)
         for disttype in self.OTHER_DISTS:
             for dist in self.findChildren(disttype):
@@ -1735,6 +1956,8 @@ class StatsMetadata(RecordWrapper):
         return tbr
 
     def merge(self, other):
+        """This can be modified to use the new accessors above instead of the
+        brittle list of dists above"""
         if (other.shortInsertFraction and other.prodDist and
                 self.shortInsertFraction and self.prodDist):
             self.shortInsertFraction = (self.shortInsertFraction *
@@ -1758,6 +1981,7 @@ class StatsMetadata(RecordWrapper):
         if other.prodDist and not self.prodDist:
             self.append(other.prodDist)
         self.numSequencingZmws += other.numSequencingZmws
+
         for dist in self.MERGED_DISTS:
             selfDist = getattr(self, dist[0].lower() + dist[1:])
             otherDist = getattr(other, dist[0].lower() + dist[1:])
@@ -1772,6 +1996,7 @@ class StatsMetadata(RecordWrapper):
                     self.append(otherDist)
                 except BinMismatchError:
                     self.append(otherDist)
+
         for dist in self.UNMERGED_DISTS:
             otherDists = other.findChildren(dist)
             for otherDist in otherDists:
@@ -1889,6 +2114,15 @@ def _staggeredZip(binWidth, start1, start2, bins1, bins2):
     for scrap in bins1 or bins2:
         yield scrap
 
+def histogram_percentile(counts, labels, percentile):
+    thresh = np.true_divide(percentile * sum(counts), 100.0)
+    passed = 0
+    for c, l in zip(counts, labels):
+        passed += c
+        if passed >= thresh:
+            return l
+    return labels[-1]
+
 class ContinuousDistribution(RecordWrapper):
 
     def merge(self, other):
@@ -1905,66 +2139,57 @@ class ContinuousDistribution(RecordWrapper):
                                        other.minBinValue, self.bins,
                                        other.bins))
         self.minBinValue = min(self.minBinValue, other.minBinValue)
+        self.maxBinValue = max(self.maxBinValue, other.maxBinValue)
+        self.minOutlierValue = min(self.minOutlierValue, other.minOutlierValue)
+        self.maxOutlierValue = max(self.maxOutlierValue, other.maxOutlierValue)
+
+        # Std merging is somewhat complicated:
+        selfweight = np.true_divide(self.sampleSize,
+                                    (self.sampleSize + other.sampleSize))
+        otherweight = np.true_divide(other.sampleSize,
+                                     (self.sampleSize + other.sampleSize))
+        selfsum = self.sampleMean * self.sampleSize
+        othersum = other.sampleMean * other.sampleSize
+        selfval = ((self.sampleStd ** 2) * (self.sampleSize - 1) +
+                   ((selfsum) ** 2) / self.sampleSize)
+        otherval = ((other.sampleStd ** 2) * (other.sampleSize - 1) +
+                    ((othersum) ** 2) / other.sampleSize)
+        sums = selfsum + othersum
+        vals = selfval + otherval
+        tots = self.sampleSize + other.sampleSize
+        self.sampleStd = np.sqrt((vals - (sums ** 2) / tots) / (tots - 1))
+
+        # The others are pretty simple:
+        self.sampleMean = ((self.sampleMean * selfweight) +
+                           (other.sampleMean * otherweight))
+        self.sampleSize = self.sampleSize + other.sampleSize
+
+        # These two are approximations:
+        if np.sum(self.bins):
+            self.sampleMed = histogram_percentile(
+                self.bins,
+                (np.array(self.labels) + self.binWidth / 2.0),
+                50)
+            self.sample95thPct = histogram_percentile(
+                self.bins,
+                (np.array(self.labels) + self.binWidth / 2.0),
+                95)
+        else:
+            self.sampleMed = 0
+            self.sample95thPct = 0
 
-    @property
-    def numBins(self):
-        return self.getMemberV('NumBins', asType=int)
-
-    @numBins.setter
-    def numBins(self, value):
-        self.setMemberV('NumBins', str(value))
-
-    @property
-    def sampleSize(self):
-        return self.getMemberV('SampleSize', asType=int)
-
-    @property
-    def sampleMean(self):
-        return self.getMemberV('SampleMean', asType=float)
-
-    @property
-    def sampleMed(self):
-        return self.getMemberV('SampleMed', asType=float)
-
-    @property
-    def sampleStd(self):
-        return self.getMemberV('SampleStd', asType=float)
-
-    @property
-    def sample95thPct(self):
-        return self.getMemberV('Sample95thPct', asType=float)
-
-    @property
-    def binWidth(self):
-        return self.getMemberV('BinWidth', asType=float)
-
-    @binWidth.setter
-    def binWidth(self, value):
-        self.setMemberV('BinWidth', str(value))
-
-    @property
-    def minOutlierValue(self):
-        return self.getMemberV('MinOutlierValue', asType=float)
-
-    @property
-    def maxOutlierValue(self):
-        return self.getMemberV('MaxOutlierValue', asType=float)
-
-    @property
-    def minBinValue(self):
-        return self.getMemberV('MinBinValue', asType=float)
-
-    @minBinValue.setter
-    def minBinValue(self, value):
-        self.setMemberV('MinBinValue', str(value))
-
-    @property
-    def maxBinValue(self):
-        return self.getMemberV('MaxBinValue', asType=float)
+    numBins = subaccs('NumBins', asType=int)
+    sampleSize = subaccs('SampleSize', asType=int)
+    sampleMean = subaccs('SampleMean', asType=float)
+    sampleMed = subaccs('SampleMed', asType=float)
+    sampleStd = subaccs('SampleStd', asType=float)
+    sample95thPct = subaccs('Sample95thPct', asType=float)
+    binWidth = subaccs('BinWidth', asType=float)
+    minOutlierValue = subaccs('MinOutlierValue', asType=float)
+    maxOutlierValue = subaccs('MaxOutlierValue', asType=float)
+    minBinValue = subaccs('MinBinValue', asType=float)
+    maxBinValue = subaccs('MaxBinValue', asType=float)
 
-    @maxBinValue.setter
-    def maxBinValue(self, value):
-        self.setMemberV('MaxBinValue', str(value))
 
     @property
     def description(self):
@@ -2079,22 +2304,86 @@ class DiscreteDistribution(RecordWrapper):
 class RunDetailsMetadata(RecordWrapper):
 
     TAG = 'RunDetails'
+    NS = 'pbmeta'
 
     timeStampedName = subgetter('TimeStampedName')
     name = subaccs('Name')
 
 
-class BioSamplePointersMetadata(RecordWrapper):
-    """The BioSamplePointer members don't seem complex enough to justify
-    class representation, instead rely on base class methods to provide
-    iterators and accessors"""
+class BioSamplesMetadata(RecordWrapper):
+    """The metadata for the list of BioSamples
 
-    TAG = 'BioSamplePointers'
+        Doctest:
+            >>> from pbcore.io import SubreadSet
+            >>> import pbcore.data.datasets as data
+            >>> ds = SubreadSet(data.getSubreadSet(), skipMissing=True)
+            >>> ds.metadata.collections[0].wellSample.bioSamples[0].name
+            'consectetur purus'
+            >>> for bs in ds.metadata.collections[0].wellSample.bioSamples:
+            ...     print bs.name
+            consectetur purus
+            >>> em = {'tag':'BioSample', 'text':'', 'children':[],
+            ...       'attrib':{'Name':'great biosample'}}
+            >>> ds.metadata.collections[0].wellSample.bioSamples.append(em)
+            >>> ds.metadata.collections[0].wellSample.bioSamples[1].name
+            'great biosample'
+        """
 
+    TAG = 'BioSamples'
+    NS = 'pbsample'
+
+    def __getitem__(self, index):
+        """Get a biosample"""
+        return BioSampleMetadata(self.record['children'][index])
+
+    def __iter__(self):
+        """Iterate over biosamples"""
+        for child in self.record['children']:
+            yield BioSampleMetadata(child)
+
+    def addSample(self, name):
+        new = BioSampleMetadata()
+        new.name = name
+        self.append(new)
+        self._runCallbacks()
+
+
+class DNABarcode(RecordWrapper):
+    TAG = 'DNABarcode'
+    NS = 'pbsample'
+
+
+class DNABarcodes(RecordWrapper):
+    TAG = 'DNABarcodes'
+    NS = 'pbsample'
+
+    def __getitem__(self, index):
+        """Get a DNABarcode"""
+        return DNABarcode(self.record['children'][index])
+
+    def __iter__(self):
+        """Iterate over DNABarcode"""
+        for child in self.record['children']:
+            yield DNABarcode(child)
+
+    def addBarcode(self, name):
+        new = DNABarcode()
+        new.name = name
+        self.append(new)
+        self._runCallbacks()
 
-class WellSampleMetadata(RecordWrapper):
 
+class BioSampleMetadata(RecordWrapper):
+    """The metadata for a single BioSample"""
+    TAG = 'BioSample'
+    NS = 'pbsample'
+
+    DNABarcodes = accs('DNABarcodes', 'children', DNABarcodes, parent=True)
+
+
+class WellSampleMetadata(RecordWrapper):
     TAG = 'WellSample'
+    NS = 'pbmeta'
 
     wellName = subaccs('WellName')
     concentration = subaccs('Concentration')
@@ -2103,18 +2392,21 @@ class WellSampleMetadata(RecordWrapper):
     sizeSelectionEnabled = subgetter('SizeSelectionEnabled')
     useCount = subaccs('UseCount')
     comments = subaccs('Comments')
-    bioSamplePointers = accs('BioSamplePointers', container='children',
-                             asType=BioSamplePointersMetadata)
+    bioSamples = accs('BioSamples', 'children', BioSamplesMetadata,
+                      parent=True)
+
+    def __init__(self, *args, **kwargs):
+        super(self.__class__, self).__init__(*args, **kwargs)
 
 
 class CopyFilesMetadata(RecordWrapper):
     """The CopyFile members don't seem complex enough to justify
     class representation, instead rely on base class methods"""
-
     TAG = 'CopyFiles'
 
 
 class OutputOptions(RecordWrapper):
+    NS = 'pbmeta'
 
     resultsFolder = subaccs('ResultsFolder')
     collectionPathUri = subaccs('CollectionPathUri')
@@ -2123,9 +2415,7 @@ class OutputOptions(RecordWrapper):
 
 
 class SecondaryMetadata(RecordWrapper):
-
     TAG = 'Secondary'
-
     cellCountInJob = subaccs('CellCountInJob')
 
 
@@ -2152,6 +2442,7 @@ class PrimaryMetadata(RecordWrapper):
     """
 
     TAG = 'Primary'
+    NS = 'pbmeta'
 
     automationName = subaccs('AutomationName')
     configFileName = subaccs('ConfigFileName')
@@ -2159,46 +2450,6 @@ class PrimaryMetadata(RecordWrapper):
     outputOptions = accs('OutputOptions', container='children',
                          asType=OutputOptions)
 
-
-class BioSamplesMetadata(RecordWrapper):
-    """The metadata for the list of BioSamples
-
-        Doctest:
-            >>> from pbcore.io import SubreadSet
-            >>> import pbcore.data.datasets as data
-            >>> ds = SubreadSet(data.getSubreadSet(), skipMissing=True)
-            >>> ds.metadata.bioSamples[0].name
-            'consectetur purus'
-            >>> for bs in ds.metadata.bioSamples:
-            ...     print bs.name
-            consectetur purus
-            >>> em = {'tag':'BioSample', 'text':'', 'children':[],
-            ...       'attrib':{'Name':'great biosample'}}
-            >>> ds.metadata.bioSamples.extend([em])
-            >>> ds.metadata.bioSamples[1].name
-            'great biosample'
-        """
-
-    TAG = 'BioSamples'
-
-    def __getitem__(self, index):
-        """Get a biosample"""
-        return BioSampleMetadata(self.record['children'][index])
-
-    def __iter__(self):
-        """Iterate over biosamples"""
-        for child in self.record['children']:
-            yield BioSampleMetadata(child)
-
-    def merge(self, other):
-        self.extend([child for child in other])
-
-
-class BioSampleMetadata(RecordWrapper):
-    """The metadata for a single BioSample"""
-
-    TAG = 'BioSample'
-
 class Kit(RecordWrapper):
     partNumber = accs('PartNumber')
     lotNumber = accs('LotNumber')
@@ -2206,7 +2457,7 @@ class Kit(RecordWrapper):
     expirationDate = accs('ExpirationDate')
 
 class CellPac(Kit):
-    """CellPac metadata"""
+    NS = 'pbmeta'
 
 class TemplatePrepKit(Kit):
     """TemplatePrepKit metadata"""
@@ -2225,6 +2476,7 @@ class CollectionMetadata(RecordWrapper):
     InstrumentName etc. as attribs, InstCtrlVer etc. for children"""
 
     TAG = 'CollectionMetadata'
+    NS = 'pbmeta'
 
     context = accs('Context')
     instrumentName = accs('InstrumentName')
diff --git a/pbcore/io/dataset/DataSetReader.py b/pbcore/io/dataset/DataSetReader.py
index 95b277c..279df92 100755
--- a/pbcore/io/dataset/DataSetReader.py
+++ b/pbcore/io/dataset/DataSetReader.py
@@ -39,12 +39,12 @@ import os.path
 import functools
 import xml.etree.ElementTree as ET
 import logging
-from urlparse import urlparse
 from pbcore.io.dataset.DataSetMembers import (ExternalResource,
                                               ExternalResources,
                                               DataSetMetadata,
                                               Filters, AutomationParameters,
-                                              StatsMetadata)
+                                              StatsMetadata, uri2fn,
+                                              uri2scheme)
 from pbcore.io.dataset.DataSetWriter import _eleFromDictList
 from pbcore.io.dataset.DataSetErrors import InvalidDataSetIOError
 
@@ -53,10 +53,11 @@ log = logging.getLogger(__name__)
 def resolveLocation(fname, possibleRelStart=None):
     """Find the absolute path of a file that exists relative to
     possibleRelStart."""
-    if possibleRelStart != None:
-        if os.path.exists(possibleRelStart):
-            if os.path.exists(os.path.join(possibleRelStart, fname)):
-                return os.path.abspath(os.path.join(possibleRelStart, fname))
+    fname = uri2fn(fname)
+    if (possibleRelStart is not None and
+            os.path.exists(possibleRelStart) and
+            os.path.exists(os.path.join(possibleRelStart, fname))):
+        return os.path.abspath(os.path.join(possibleRelStart, fname))
     if os.path.exists(fname):
         return os.path.abspath(fname)
     log.error("Including unresolved file: {f}".format(f=fname))
@@ -65,7 +66,8 @@ def resolveLocation(fname, possibleRelStart=None):
 def populateDataSet(dset, filenames):
     for filename in filenames:
         _addFile(dset, filename)
-    dset._populateMetaTypes()
+    if filenames:
+        dset._populateMetaTypes()
 
 def xmlRootType(fname):
     with open(fname, 'rb') as xml_file:
@@ -79,30 +81,30 @@ def _addFile(dset, filename):
                     'fofn': _addFofnFile,
                     '': _addUnknownFile,
                     'file': _addUnknownFile}
-    url = urlparse(filename)
-    fileType = url.scheme
-    fileLocation = url.path.strip()
-    if url.netloc:
-        fileLocation = url.netloc
-    elif os.path.exists(fileLocation):
-        fileLocation = os.path.abspath(fileLocation)
+    fileType = uri2scheme(filename)
+    fileLocation = uri2fn(filename)
     handledTypes[fileType](dset, fileLocation)
 
+def checksts(dset, subdatasets=False):
+    if not dset.metadata.summaryStats:
+        for extres in dset.externalResources:
+            if extres.sts:
+                try:
+                    dset.loadStats(extres.sts)
+                except IOError as e:
+                    log.info("Sts.xml file {f} "
+                              "unopenable".format(f=extres.sts))
+    if subdatasets:
+        for sds in dset.subdatasets:
+            checksts(sds)
+
 def _addXmlFile(dset, path):
     with open(path, 'rb') as xml_file:
         tree = ET.parse(xml_file)
     root = tree.getroot()
     tmp = _parseXml(type(dset), root)
     tmp.makePathsAbsolute(curStart=os.path.dirname(path))
-    if not tmp.metadata.summaryStats:
-        for extres in tmp.externalResources:
-            if extres.sts:
-                try:
-                    tmp.loadStats(extres.sts)
-                except IOError as e:
-                    log.info("Sts.xml file {f} "
-                              "unopenable".format(f=extres.sts))
-    # copyOnMerge must be false, you're merging in a tmp and maintaining dset
+    checksts(tmp)
     dset.merge(tmp, copyOnMerge=False)
 
 def openFofnFile(path):
@@ -277,7 +279,7 @@ def _parseXmlExtResources(element):
 def _parseXmlDataSetMetadata(element):
     """Parse the DataSetMetadata field of XML inputs. This data can be
     extremely extensive."""
-    return DataSetMetadata(_eleToDictList(element))
+    return _eleToDictList(element)
 
 def _eleToDictList(element):
     """A last ditch capture method for uknown Elements"""
@@ -300,10 +302,7 @@ def _parseXmlFilters(element):
     return Filters(_eleToDictList(element))
 
 def parseStats(filename):
-    url = urlparse(filename)
-    fileLocation = url.path.strip()
-    if url.netloc:
-        fileLocation = url.netloc
+    fileLocation = uri2fn(filename)
     tree = ET.parse(fileLocation)
     root = tree.getroot()
     root = _updateStats(root)
@@ -312,10 +311,7 @@ def parseStats(filename):
     return stats
 
 def parseMetadata(filename):
-    url = urlparse(filename)
-    fileLocation = url.path.strip()
-    if url.netloc:
-        fileLocation = url.netloc
+    fileLocation = uri2fn(filename)
     tree = ET.parse(fileLocation)
     dsm_tag = (".//{http://pacificbiosciences.com/PacBioDatasets.xsd}"
                "DataSetMetadata")
diff --git a/pbcore/io/dataset/DataSetValidator.py b/pbcore/io/dataset/DataSetValidator.py
index e2804bb..236ac8e 100755
--- a/pbcore/io/dataset/DataSetValidator.py
+++ b/pbcore/io/dataset/DataSetValidator.py
@@ -38,6 +38,7 @@
 import os
 import re
 from urlparse import urlparse
+from urllib import unquote
 import xml.etree.ElementTree as ET
 import logging
 
@@ -61,7 +62,7 @@ def validateResources(xmlroot, relTo='.'):
         resId = element.get('ResourceId')
         if resId:
             parsedId = urlparse(resId)
-            rfn = urlparse(resId).path.strip()
+            rfn = unquote(urlparse(resId).path.strip())
             if not os.path.exists(rfn):
                 if (not os.path.exists(os.path.join(relTo,
                                                     rfn)) and
@@ -95,7 +96,7 @@ def validateXml(xmlroot, skipResources=False, relTo='.'):
     # would for some odd reason be considered invalid. Let all illegal
     # characters fall through to the validator.
     try:
-        from pbcore.io.dataset import DataSetXsd
+        from pbcore.io.dataset.pyxb import DataSetXsd
         log.debug('Validating with PyXb')
         fixedString = re.sub('UniqueId="[0-9]', 'UniqueId="f',
                              ET.tostring(xmlroot))
@@ -105,7 +106,7 @@ def validateXml(xmlroot, skipResources=False, relTo='.'):
                              fixedString)
         DataSetXsd.CreateFromDocument(fixedString)
     except ImportError:
-        log.debug('PyXb not found, validation disabled')
+        log.info('PyXb not found, validation disabled')
 
 def validateFile(xmlfn, skipResources=False):
     if ':' in xmlfn:
diff --git a/pbcore/io/dataset/DataSetWriter.py b/pbcore/io/dataset/DataSetWriter.py
index 4ee57e4..b529353 100755
--- a/pbcore/io/dataset/DataSetWriter.py
+++ b/pbcore/io/dataset/DataSetWriter.py
@@ -41,9 +41,6 @@ import logging
 
 log = logging.getLogger(__name__)
 
-# TODO add in other namespaces
-XMLNS = 'http://pacificbiosciences.com/PacBioDatasets.xsd'
-
 XML_VERSION = "3.0.1"
 
 __all__ = ['toXml']
@@ -61,38 +58,38 @@ def toXml(dataset, core=False):
     Returns:
         The XML representation as a string.
     """
+    log.debug('Making elementtree...')
     root = _toElementTree(dataset, root=None, core=core)
-    return ET.tostring(root, encoding="UTF-8")
-
-def namespaces():
-    return {
-        'pbbase': 'http://pacificbiosciences.com/PacBioBaseDataModel.xsd',
-        'pbsample': 'http://pacificbiosciences.com/PacBioSampleInfo.xsd',
-        'pbstats': 'http://pacificbiosciences.com/PipelineStats/PipeStats.xsd',
-        'pbmeta': 'http://pacificbiosciences.com/PacBioCollectionMetadata.xsd',
-        '': 'http://pacificbiosciences.com/PacBioDatasets.xsd',
-        }
-
+    log.debug('Done making ElementTree...')
+    log.debug('Converting ElementTree to string...')
+    xmlstring = ET.tostring(root, encoding="UTF-8")
+    log.debug('Done converting ElementTree to string')
+    return xmlstring
+
+NAMESPACES = {
+    'pbbase': 'http://pacificbiosciences.com/PacBioBaseDataModel.xsd',
+    'pbsample': 'http://pacificbiosciences.com/PacBioSampleInfo.xsd',
+    'pbstats': 'http://pacificbiosciences.com/PipelineStats/PipeStats.xsd',
+    'pbmeta': 'http://pacificbiosciences.com/PacBioCollectionMetadata.xsd',
+    '': 'http://pacificbiosciences.com/PacBioDatasets.xsd',
+    'pbds': 'http://pacificbiosciences.com/PacBioDatasets.xsd',
+    'pbrk': 'http://pacificbiosciences.com/PacBioReagentKit.xsd'
+    }
+
+# These are either deep in the weeds and don't have their own class, or way up
+# in the hierarchy and aren't part of the DataSetMetadata tree
 TAGS = [
-    "pbbase:AutomationParameter",
-    "pbbase:AutomationParameters",
     "pbbase:BinCount",
     "pbbase:BinCounts",
     "pbbase:BinLabel",
     "pbbase:BinLabels",
     "pbbase:BinWidth",
-    "pbbase:ExternalResource",
-    "pbbase:ExternalResources",
-    "pbbase:FileIndex",
-    "pbbase:FileIndices",
     "pbbase:MaxBinValue",
     "pbbase:MaxOutlierValue",
     "pbbase:MetricDescription",
     "pbbase:MinBinValue",
     "pbbase:MinOutlierValue",
     "pbbase:NumBins",
-    "pbbase:Properties",
-    "pbbase:Property",
     "pbbase:Sample95thPct",
     "pbbase:SampleMean",
     "pbbase:SampleMed",
@@ -102,13 +99,8 @@ TAGS = [
     ":BarcodeConstruction",
     ":ControlReadLenDist",
     ":ControlReadQualDist",
-    ":DataSetMetadata",
     ":DataSet",
     ":DataSets",
-    ":Filter",
-    ":Filters",
-    ":Provenance",
-    ":ParentTool",
     ":InsertReadLenDist",
     ":InsertReadQualDist",
     ":MedianInsertDist",
@@ -123,27 +115,20 @@ TAGS = [
     ":SubreadSet",
     ":SummaryStats",
     ":TotalLength",
-    "pbmeta:Automation",
     "pbmeta:AutomationName",
     "pbmeta:CellIndex",
-    "pbmeta:CellPac",
     "pbmeta:CollectionFileCopy",
-    "pbmeta:CollectionMetadata",
     "pbmeta:CollectionNumber",
     "pbmeta:CollectionPathUri",
-    "pbmeta:Collections",
     "pbmeta:Concentration",
     "pbmeta:ConfigFileName",
     "pbmeta:CopyFiles",
     "pbmeta:InstCtrlVer",
     "pbmeta:MetricsVerbosity",
     "pbmeta:Name",
-    "pbmeta:OutputOptions",
     "pbmeta:PlateId",
-    "pbmeta:Primary",
     "pbmeta:Readout",
     "pbmeta:ResultsFolder",
-    "pbmeta:RunDetails",
     "pbmeta:RunId",
     "pbmeta:SampleReuseEnabled",
     "pbmeta:SequencingCondition",
@@ -152,11 +137,7 @@ TAGS = [
     "pbmeta:StageHotstartEnabled",
     "pbmeta:UseCount",
     "pbmeta:WellName",
-    "pbmeta:WellSample",
-    "pbsample:BioSample",
-    "pbsample:BioSamplePointer",
-    "pbsample:BioSamplePointers",
-    "pbsample:BioSamples",
+    "pbrk:ReagentTubes",
     ":AlignmentSet",
     ":BarcodeSet",
     ":ConsensusReadSet",
@@ -169,7 +150,7 @@ TAGS = [
 ]
 
 def register_namespaces():
-    for prefix, uri in namespaces().items():
+    for prefix, uri in NAMESPACES.items():
         ET.register_namespace(prefix, uri)
 
 def _toElementTree(dataSet, root=None, core=False):
@@ -188,7 +169,7 @@ def _toElementTree(dataSet, root=None, core=False):
     # 'if not root:' would conflict with testing root for children
     if root is None:
         register_namespaces()
-        rootType = '{{{n}}}{t}'.format(n=namespaces()[''],
+        rootType = '{{{n}}}{t}'.format(n=NAMESPACES[''],
                                        t=type(dataSet).__name__)
         attribs = dataSet.objMetadata
         if core:
@@ -196,9 +177,9 @@ def _toElementTree(dataSet, root=None, core=False):
         root = ET.Element(rootType, attribs)
 
     _addExternalResourcesElement(dataSet, root, core)
-    _addFiltersElement(dataSet, root)
-    _addDataSetsElement(dataSet, root)
-    _addDataSetMetadataElement(dataSet, root)
+    _addFiltersElement(dataSet, root, core)
+    _addDataSetsElement(dataSet, root, core)
+    _addDataSetMetadataElement(dataSet, root, core)
     xsi = "{http://www.w3.org/2001/XMLSchema-instance}"
     # The ElementTree element dictionary doesn't quite work the same as a
     # regular dictionary, it seems, thus the convoluted get/set business
@@ -231,6 +212,8 @@ def _coreClean(attribs):
         del attribs['Tags']
     if 'CreatedAt' in attribs:
         del attribs['CreatedAt']
+    if 'TimeStampedName' in attribs:
+        del attribs['TimeStampedName']
     # Whether or not the hash should salt future hashes is up for debate
     #if 'UniqueId' in attribs:
         #del attribs['UniqueId']
@@ -248,7 +231,7 @@ def _addExternalResourcesElement(dataSet, root, core=False):
     if dataSet.externalResources:
         root.append(_eleFromDictList(dataSet.externalResources.record, core))
 
-def _addDataSetMetadataElement(dataSet, root):
+def _addDataSetMetadataElement(dataSet, root, core=False):
     """Add DataSetMetadata Elements to the root ElementTree object. Full
     depth serialization will be both difficult and necessary.
 
@@ -262,7 +245,7 @@ def _addDataSetMetadataElement(dataSet, root):
             stats = dataSet.metadata.summaryStats
             dataSet.metadata.summaryStats = None
         root.append(_eleFromDictList(dataSet.metadata.record,
-                                     defaultNS=namespaces()['pbmeta']))
+                                     core=core))
         if stats:
             dataSet.metadata.summaryStats = stats
         # Metadata order matters....
@@ -274,29 +257,25 @@ def _guessNs(tag):
     for option in TAGS:
         nsprefix, nstag = option.split(':')
         if nstag == tag:
-            return namespaces()[nsprefix]
+            return NAMESPACES[nsprefix]
     return ''
 
-def _eleFromDictList(eleAsDict, core=False, defaultNS=None):
-    """A last ditch capture method for uknown Elements"""
-    if eleAsDict['tag'] == 'DataSets':
-        print eleAsDict['namespace']
-    if not eleAsDict['namespace']:
-        eleAsDict['namespace'] = _guessNs(eleAsDict['tag'])
-    elif (eleAsDict['namespace'] ==
-            "http://pacificbiosciences.com/PacBioDataModel.xsd"):
-        newNamespace = _guessNs(eleAsDict['tag'])
-        if newNamespace != '':
-            eleAsDict['namespace'] = newNamespace
-    if eleAsDict['namespace'] == '' and not defaultNS is None:
-            eleAsDict['namespace'] = defaultNS
+def _eleFromDictList(eleAsDict, core=False):
+    """Create an ElementTree Element from a DictList"""
+    # Elements should have namespaces from the XML file. If you add new
+    # elements that have classes in DataSetMembers, associated namespaces
+    # should be handled there. Some elements don't get a class and are covered
+    # by the TAGS map above (I'd like to replace this)
+    curNS = eleAsDict['namespace']
+    if curNS == '':
+        curNS = _guessNs(eleAsDict['tag'])
 
     if core:
-        ele = ET.Element("{{{n}}}{t}".format(n=eleAsDict['namespace'],
+        ele = ET.Element("{{{n}}}{t}".format(n=curNS,
                                              t=eleAsDict['tag']),
                          _coreClean(eleAsDict['attrib']))
     else:
-        ele = ET.Element("{{{n}}}{t}".format(n=eleAsDict['namespace'],
+        ele = ET.Element("{{{n}}}{t}".format(n=curNS,
                                              t=eleAsDict['tag']),
                          eleAsDict['attrib'])
     ele.text = eleAsDict['text']
@@ -315,22 +294,22 @@ def _addFiltersElement(dataset, root, core=False):
     if dataset.filters:
         root.append(_eleFromDictList(dataset.filters.record, core=core))
 
-def _addDataSetsElement(dataset, root):
+def _addDataSetsElement(dataset, root, core=False):
     """Add DataSet Elements to root, which essentially nests ElementTrees.
 
     Args:
         root: The root ElementTree object. Extended here using SubElement
     """
     if dataset.subdatasets:
-        rootType = '{{{n}}}{t}'.format(n=namespaces()[''],
+        rootType = '{{{n}}}{t}'.format(n=NAMESPACES[''],
                                    t='DataSets')
         dse = ET.SubElement(root, rootType)
         for subSet in dataset.subdatasets:
-            rootType = '{{{n}}}{t}'.format(n=namespaces()[''],
+            rootType = '{{{n}}}{t}'.format(n=NAMESPACES[''],
                                            t=subSet.__class__.__name__)
             subSetRoot = ET.SubElement(dse, rootType,
                                        subSet.objMetadata)
-            _toElementTree(subSet, subSetRoot)
+            _toElementTree(subSet, subSetRoot, core=core)
 
 def _extResToXMLAttribs(extRes):
     """Clean the members of the ExternalResource dictionary into XML
diff --git a/pbcore/io/dataset/pyxb/DataSetXsd.py b/pbcore/io/dataset/pyxb/DataSetXsd.py
new file mode 100644
index 0000000..02e28c8
--- /dev/null
+++ b/pbcore/io/dataset/pyxb/DataSetXsd.py
@@ -0,0 +1,2148 @@
+# pbcore/io/dataset/pyxb/DataSetXsd.py
+# -*- coding: utf-8 -*-
+# PyXB bindings for NM:3c1eccef1b156ac43379b476cb78e3eecd9f5c97
+# Generated 2017-09-27 15:52:12.410826 by PyXB version 1.2.4 using Python 2.7.9.final.0
+# Namespace http://pacificbiosciences.com/PacBioDataModel.xsd
+
+from __future__ import unicode_literals
+import pyxb
+import pyxb.binding
+import pyxb.binding.saxer
+import io
+import pyxb.utils.utility
+import pyxb.utils.domutils
+import sys
+import pyxb.utils.six as _six
+
+# Unique identifier for bindings created at the same time
+_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:7fa6c9c0-a3d6-11e7-96cb-0026b9fe0a90')
+
+# Version of PyXB used to generate the bindings
+_PyXBVersion = '1.2.4'
+# Generated bindings are not compatible across PyXB versions
+if pyxb.__version__ != _PyXBVersion:
+    raise pyxb.PyXBVersionError(_PyXBVersion)
+
+# Import bindings for namespaces imported into schema
+import _pbbase as _ImportedBinding__pbbase
+import _pbrk as _ImportedBinding__pbrk
+import _pbds as _ImportedBinding__pbds
+import _pbpn as _ImportedBinding__pbpn
+import pyxb.binding.datatypes
+import _pbsample as _ImportedBinding__pbsample
+
+# NOTE: All namespace declarations are reserved within the binding
+Namespace = pyxb.namespace.NamespaceForURI('http://pacificbiosciences.com/PacBioDataModel.xsd', create_if_missing=True)
+Namespace.configureCategories(['typeBinding', 'elementBinding'])
+_Namespace_pbpn = _ImportedBinding__pbpn.Namespace
+_Namespace_pbpn.configureCategories(['typeBinding', 'elementBinding'])
+_Namespace_pbds = _ImportedBinding__pbds.Namespace
+_Namespace_pbds.configureCategories(['typeBinding', 'elementBinding'])
+_Namespace_pbbase = _ImportedBinding__pbbase.Namespace
+_Namespace_pbbase.configureCategories(['typeBinding', 'elementBinding'])
+
+def CreateFromDocument (xml_text, default_namespace=None, location_base=None):
+    """Parse the given XML and use the document element to create a
+    Python instance.
+
+    @param xml_text An XML document.  This should be data (Python 2
+    str or Python 3 bytes), or a text (Python 2 unicode or Python 3
+    str) in the L{pyxb._InputEncoding} encoding.
+
+    @keyword default_namespace The L{pyxb.Namespace} instance to use as the
+    default namespace where there is no default namespace in scope.
+    If unspecified or C{None}, the namespace of the module containing
+    this function will be used.
+
+    @keyword location_base: An object to be recorded as the base of all
+    L{pyxb.utils.utility.Location} instances associated with events and
+    objects handled by the parser.  You might pass the URI from which
+    the document was obtained.
+    """
+
+    if pyxb.XMLStyle_saxer != pyxb._XMLStyle:
+        dom = pyxb.utils.domutils.StringToDOM(xml_text)
+        return CreateFromDOM(dom.documentElement, default_namespace=default_namespace)
+    if default_namespace is None:
+        default_namespace = Namespace.fallbackNamespace()
+    saxer = pyxb.binding.saxer.make_parser(fallback_namespace=default_namespace, location_base=location_base)
+    handler = saxer.getContentHandler()
+    xmld = xml_text
+    if isinstance(xmld, _six.text_type):
+        xmld = xmld.encode(pyxb._InputEncoding)
+    saxer.parse(io.BytesIO(xmld))
+    instance = handler.rootObject()
+    return instance
+
+def CreateFromDOM (node, default_namespace=None):
+    """Create a Python instance from the given DOM node.
+    The node tag must correspond to an element declaration in this module.
+
+    @deprecated: Forcing use of DOM interface is unnecessary; use L{CreateFromDocument}."""
+    if default_namespace is None:
+        default_namespace = Namespace.fallbackNamespace()
+    return pyxb.binding.basis.element.AnyCreateFromDOM(node, default_namespace)
+
+
+# Atomic simple type: [anonymous]
+class STD_ANON (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin):
+
+    """An atomic simple type."""
+
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 75, 4)
+    _Documentation = None
+STD_ANON._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=STD_ANON, enum_prefix=None)
+STD_ANON.AverageReadLength = STD_ANON._CF_enumeration.addEnumeration(unicode_value='AverageReadLength', tag='AverageReadLength')
+STD_ANON.AcquisitionTime = STD_ANON._CF_enumeration.addEnumeration(unicode_value='AcquisitionTime', tag='AcquisitionTime')
+STD_ANON.InsertSize = STD_ANON._CF_enumeration.addEnumeration(unicode_value='InsertSize', tag='InsertSize')
+STD_ANON.ReuseComplex = STD_ANON._CF_enumeration.addEnumeration(unicode_value='ReuseComplex', tag='ReuseComplex')
+STD_ANON.StageHS = STD_ANON._CF_enumeration.addEnumeration(unicode_value='StageHS', tag='StageHS')
+STD_ANON.JobId = STD_ANON._CF_enumeration.addEnumeration(unicode_value='JobId', tag='JobId')
+STD_ANON.JobName = STD_ANON._CF_enumeration.addEnumeration(unicode_value='JobName', tag='JobName')
+STD_ANON.NumberOfCollections = STD_ANON._CF_enumeration.addEnumeration(unicode_value='NumberOfCollections', tag='NumberOfCollections')
+STD_ANON.StrobeByTime = STD_ANON._CF_enumeration.addEnumeration(unicode_value='StrobeByTime', tag='StrobeByTime')
+STD_ANON.UsedControl = STD_ANON._CF_enumeration.addEnumeration(unicode_value='UsedControl', tag='UsedControl')
+STD_ANON.Use2ndLook = STD_ANON._CF_enumeration.addEnumeration(unicode_value='Use2ndLook', tag='Use2ndLook')
+STD_ANON._InitializeFacetMap(STD_ANON._CF_enumeration)
+
+# Atomic simple type: [anonymous]
+class STD_ANON_ (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin):
+
+    """An atomic simple type."""
+
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 190, 4)
+    _Documentation = None
+STD_ANON_._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=STD_ANON_, enum_prefix=None)
+STD_ANON_.PlateId = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='PlateId', tag='PlateId')
+STD_ANON_.PlateDefinition = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='PlateDefinition', tag='PlateDefinition')
+STD_ANON_.SchemaVersion = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='SchemaVersion', tag='SchemaVersion')
+STD_ANON_.DefType = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='DefType', tag='DefType')
+STD_ANON_.Owner = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='Owner', tag='Owner')
+STD_ANON_.CreatedBy = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='CreatedBy', tag='CreatedBy')
+STD_ANON_.Comments = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='Comments', tag='Comments')
+STD_ANON_.OutputPath = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='OutputPath', tag='OutputPath')
+STD_ANON_.Collections = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='Collections', tag='Collections')
+STD_ANON_.Collection = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='Collection', tag='Collection')
+STD_ANON_.DNATemplatePrepKitDefinition = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='DNATemplatePrepKitDefinition', tag='DNATemplatePrepKitDefinition')
+STD_ANON_.BindingKitDefinition = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='BindingKitDefinition', tag='BindingKitDefinition')
+STD_ANON_.RunResources = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='RunResources', tag='RunResources')
+STD_ANON_.CompatibleChipLayouts = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='CompatibleChipLayouts', tag='CompatibleChipLayouts')
+STD_ANON_.ChipLayout = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='ChipLayout', tag='ChipLayout')
+STD_ANON_.CompatibleSequencingKits = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='CompatibleSequencingKits', tag='CompatibleSequencingKits')
+STD_ANON_.SequencingKit = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='SequencingKit', tag='SequencingKit')
+STD_ANON_.RequiredTips = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='RequiredTips', tag='RequiredTips')
+STD_ANON_.EstimatedTotalRunTime = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='EstimatedTotalRunTime', tag='EstimatedTotalRunTime')
+STD_ANON_.RequiredSMRTCells = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='RequiredSMRTCells', tag='RequiredSMRTCells')
+STD_ANON_.CollectionAutomation = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='CollectionAutomation', tag='CollectionAutomation')
+STD_ANON_.Basecaller = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='Basecaller', tag='Basecaller')
+STD_ANON_.SecondaryAnalysisAutomation = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='SecondaryAnalysisAutomation', tag='SecondaryAnalysisAutomation')
+STD_ANON_.WellNo = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='WellNo', tag='WellNo')
+STD_ANON_.SampleName = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='SampleName', tag='SampleName')
+STD_ANON_.Barcode = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='Barcode', tag='Barcode')
+STD_ANON_.AcquisitionTime = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='AcquisitionTime', tag='AcquisitionTime')
+STD_ANON_.InsertSize = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='InsertSize', tag='InsertSize')
+STD_ANON_.ReuseComplex = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='ReuseComplex', tag='ReuseComplex')
+STD_ANON_.StageHS = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='StageHS', tag='StageHS')
+STD_ANON_.NumberOfCollections = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='NumberOfCollections', tag='NumberOfCollections')
+STD_ANON_.Confidence = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='Confidence', tag='Confidence')
+STD_ANON_.SampleComment = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='SampleComment', tag='SampleComment')
+STD_ANON_.StrobeByTime = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='StrobeByTime', tag='StrobeByTime')
+STD_ANON_._InitializeFacetMap(STD_ANON_._CF_enumeration)
+
+# Atomic simple type: [anonymous]
+class STD_ANON_2 (pyxb.binding.datatypes.dateTime):
+
+    """An atomic simple type."""
+
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 408, 5)
+    _Documentation = None
+STD_ANON_2._InitializeFacetMap()
+
+# Atomic simple type: [anonymous]
+class STD_ANON_3 (pyxb.binding.datatypes.dateTime):
+
+    """An atomic simple type."""
+
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 416, 5)
+    _Documentation = None
+STD_ANON_3._InitializeFacetMap()
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):
+    """Part of the RunResources; specifies a ChipLayout which is compatible with the collection protocols defined on the plate"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 15, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Validation uses Python identifier Validation
+    __Validation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Validation'), 'Validation', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_httppacificbiosciences_comPacBioDataModel_xsdValidation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1), )
+
+    
+    Validation = property(__Validation.value, __Validation.set, None, '\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ')
+
+    
+    # Attribute Name uses Python identifier Name
+    __Name = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Name'), 'Name', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_Name', pyxb.binding.datatypes.string, required=True)
+    __Name._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 19, 3)
+    __Name._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 19, 3)
+    
+    Name = property(__Name.value, __Name.set, None, None)
+
+    
+    # Attribute PartNumber uses Python identifier PartNumber
+    __PartNumber = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'PartNumber'), 'PartNumber', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_PartNumber', pyxb.binding.datatypes.string, required=True)
+    __PartNumber._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 20, 3)
+    __PartNumber._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 20, 3)
+    
+    PartNumber = property(__PartNumber.value, __PartNumber.set, None, None)
+
+    
+    # Attribute Quantity uses Python identifier Quantity
+    __Quantity = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Quantity'), 'Quantity', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_Quantity', pyxb.binding.datatypes.anySimpleType)
+    __Quantity._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 21, 3)
+    __Quantity._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 21, 3)
+    
+    Quantity = property(__Quantity.value, __Quantity.set, None, 'The number of cells required, of a particular part number')
+
+    _ElementMap.update({
+        __Validation.name() : __Validation
+    })
+    _AttributeMap.update({
+        __Name.name() : __Name,
+        __PartNumber.name() : __PartNumber,
+        __Quantity.name() : __Quantity
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
+    """A set of Chip Layouts deemed compatible with the current plate"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 32, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}ChipLayout uses Python identifier ChipLayout
+    __ChipLayout = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout'), 'ChipLayout', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON__httppacificbiosciences_comPacBioDataModel_xsdChipLayout', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 11, 1), )
+
+    
+    ChipLayout = property(__ChipLayout.value, __ChipLayout.set, None, 'Part of the RunResources; specifies a ChipLayout which is compatible with the collection protocols defined on the plate')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Validation uses Python identifier Validation
+    __Validation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Validation'), 'Validation', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON__httppacificbiosciences_comPacBioDataModel_xsdValidation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1), )
+
+    
+    Validation = property(__Validation.value, __Validation.set, None, '\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ')
+
+    _ElementMap.update({
+        __ChipLayout.name() : __ChipLayout,
+        __Validation.name() : __Validation
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
+    """A set of reagent kits deemed compatible with the current plate"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 43, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}EstimatedTotalRunTime uses Python identifier EstimatedTotalRunTime
+    __EstimatedTotalRunTime = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'EstimatedTotalRunTime'), 'EstimatedTotalRunTime', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioDataModel_xsdEstimatedTotalRunTime', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 51, 1), )
+
+    
+    EstimatedTotalRunTime = property(__EstimatedTotalRunTime.value, __EstimatedTotalRunTime.set, None, 'The total amount of time the run is estimated to require.  A confidence value (defaulted to 90%) indicates the degree of certainty associated with the estimate')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}RequiredTips uses Python identifier RequiredTips
+    __RequiredTips = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RequiredTips'), 'RequiredTips', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioDataModel_xsdRequiredTips', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 125, 1), )
+
+    
+    RequiredTips = property(__RequiredTips.value, __RequiredTips.set, None, 'Part of the RunResources; specifies the required number of tips via two attributes, Left and Right')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}SequencingKit uses Python identifier SequencingKit
+    __SequencingKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbpn, 'SequencingKit'), 'SequencingKit', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioPartNumbers_xsdSequencingKit', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 14, 1), )
+
+    
+    SequencingKit = property(__SequencingKit.value, __SequencingKit.set, None, None)
+
+    _ElementMap.update({
+        __EstimatedTotalRunTime.name() : __EstimatedTotalRunTime,
+        __RequiredTips.name() : __RequiredTips,
+        __SequencingKit.name() : __SequencingKit
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
+    """The total amount of time the run is estimated to require.  A confidence value (defaulted to 90%) indicates the degree of certainty associated with the estimate"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 55, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Validation uses Python identifier Validation
+    __Validation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Validation'), 'Validation', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDataModel_xsdValidation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1), )
+
+    
+    Validation = property(__Validation.value, __Validation.set, None, '\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ')
+
+    
+    # Attribute Value uses Python identifier Value
+    __Value = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Value'), 'Value', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_3_Value', pyxb.binding.datatypes.string, required=True)
+    __Value._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 59, 3)
+    __Value._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 59, 3)
+    
+    Value = property(__Value.value, __Value.set, None, None)
+
+    
+    # Attribute Confidence uses Python identifier Confidence
+    __Confidence = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Confidence'), 'Confidence', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_3_Confidence', pyxb.binding.datatypes.int, required=True)
+    __Confidence._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 60, 3)
+    __Confidence._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 60, 3)
+    
+    Confidence = property(__Confidence.value, __Confidence.set, None, None)
+
+    _ElementMap.update({
+        __Validation.name() : __Validation
+    })
+    _AttributeMap.update({
+        __Value.name() : __Value,
+        __Confidence.name() : __Confidence
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_4 (pyxb.binding.basis.complexTypeDefinition):
+    """PacBio Data Model root element"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 98, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}ExperimentContainer uses Python identifier ExperimentContainer
+    __ExperimentContainer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExperimentContainer'), 'ExperimentContainer', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioDataModel_xsdExperimentContainer', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 100, 4), )
+
+    
+    ExperimentContainer = property(__ExperimentContainer.value, __ExperimentContainer.set, None, None)
+
+    
+    # Attribute Version uses Python identifier Version
+    __Version = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Version'), 'Version', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_4_Version', pyxb.binding.datatypes.string)
+    __Version._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 107, 3)
+    __Version._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 107, 3)
+    
+    Version = property(__Version.value, __Version.set, None, 'An optional identifier denoting the revision of this particular entity')
+
+    _HasWildcardElement = True
+    _ElementMap.update({
+        __ExperimentContainer.name() : __ExperimentContainer
+    })
+    _AttributeMap.update({
+        __Version.name() : __Version
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_5 (pyxb.binding.basis.complexTypeDefinition):
+    """Part of the RunResources; specifies the required number of SMRT cells"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 118, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Validation uses Python identifier Validation
+    __Validation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Validation'), 'Validation', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDataModel_xsdValidation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1), )
+
+    
+    Validation = property(__Validation.value, __Validation.set, None, '\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ')
+
+    
+    # Attribute Quantity uses Python identifier Quantity
+    __Quantity = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Quantity'), 'Quantity', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_5_Quantity', pyxb.binding.datatypes.int, required=True)
+    __Quantity._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 122, 3)
+    __Quantity._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 122, 3)
+    
+    Quantity = property(__Quantity.value, __Quantity.set, None, None)
+
+    _ElementMap.update({
+        __Validation.name() : __Validation
+    })
+    _AttributeMap.update({
+        __Quantity.name() : __Quantity
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_6 (pyxb.binding.basis.complexTypeDefinition):
+    """Part of the RunResources; specifies the required number of tips via two attributes, Left and Right"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 129, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Validation uses Python identifier Validation
+    __Validation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Validation'), 'Validation', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioDataModel_xsdValidation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1), )
+
+    
+    Validation = property(__Validation.value, __Validation.set, None, '\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ')
+
+    
+    # Attribute Left uses Python identifier Left
+    __Left = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Left'), 'Left', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_6_Left', pyxb.binding.datatypes.int, required=True)
+    __Left._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 133, 3)
+    __Left._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 133, 3)
+    
+    Left = property(__Left.value, __Left.set, None, None)
+
+    
+    # Attribute Right uses Python identifier Right
+    __Right = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Right'), 'Right', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_6_Right', pyxb.binding.datatypes.int, required=True)
+    __Right._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 134, 3)
+    __Right._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 134, 3)
+    
+    Right = property(__Right.value, __Right.set, None, None)
+
+    _ElementMap.update({
+        __Validation.name() : __Validation
+    })
+    _AttributeMap.update({
+        __Left.name() : __Left,
+        __Right.name() : __Right
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_7 (pyxb.binding.basis.complexTypeDefinition):
+    """This is an output field specifying the requirements for the run, e.g. number of tips, estimated run time, etc."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 141, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}CompatibleChipLayouts uses Python identifier CompatibleChipLayouts
+    __CompatibleChipLayouts = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CompatibleChipLayouts'), 'CompatibleChipLayouts', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioDataModel_xsdCompatibleChipLayouts', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 28, 1), )
+
+    
+    CompatibleChipLayouts = property(__CompatibleChipLayouts.value, __CompatibleChipLayouts.set, None, 'A set of Chip Layouts deemed compatible with the current plate')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}CompatibleSequencingKits uses Python identifier CompatibleSequencingKits
+    __CompatibleSequencingKits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CompatibleSequencingKits'), 'CompatibleSequencingKits', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioDataModel_xsdCompatibleSequencingKits', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 39, 1), )
+
+    
+    CompatibleSequencingKits = property(__CompatibleSequencingKits.value, __CompatibleSequencingKits.set, None, 'A set of reagent kits deemed compatible with the current plate')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Validation uses Python identifier Validation
+    __Validation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Validation'), 'Validation', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioDataModel_xsdValidation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1), )
+
+    
+    Validation = property(__Validation.value, __Validation.set, None, '\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ')
+
+    _ElementMap.update({
+        __CompatibleChipLayouts.name() : __CompatibleChipLayouts,
+        __CompatibleSequencingKits.name() : __CompatibleSequencingKits,
+        __Validation.name() : __Validation
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type MIXED
+class CTD_ANON_8 (pyxb.binding.basis.complexTypeDefinition):
+    """A general sample description"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_MIXED
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 153, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Validation uses Python identifier Validation
+    __Validation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Validation'), 'Validation', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioDataModel_xsdValidation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1), )
+
+    
+    Validation = property(__Validation.value, __Validation.set, None, '\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ')
+
+    
+    # Attribute Value uses Python identifier Value
+    __Value = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Value'), 'Value', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_8_Value', pyxb.binding.datatypes.string)
+    __Value._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 157, 3)
+    __Value._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 157, 3)
+    
+    Value = property(__Value.value, __Value.set, None, None)
+
+    _ElementMap.update({
+        __Validation.name() : __Validation
+    })
+    _AttributeMap.update({
+        __Value.name() : __Value
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_9 (pyxb.binding.basis.complexTypeDefinition):
+    """Multiple acquisitions from different instrument runs"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 279, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Run uses Python identifier Run
+    __Run = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Run'), 'Run', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_9_httppacificbiosciences_comPacBioDataModel_xsdRun', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 281, 8), )
+
+    
+    Run = property(__Run.value, __Run.set, None, None)
+
+    _ElementMap.update({
+        __Run.name() : __Run
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_10 (pyxb.binding.basis.complexTypeDefinition):
+    """Pointers to various data elements associated with the acquisitions"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 289, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSet uses Python identifier DataSet
+    __DataSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbds, 'DataSet'), 'DataSet', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioDatasets_xsdDataSet', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 85, 1), )
+
+    
+    DataSet = property(__DataSet.value, __DataSet.set, None, None)
+
+    _ElementMap.update({
+        __DataSet.name() : __DataSet
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_11 (pyxb.binding.basis.complexTypeDefinition):
+    """Journal of metrics, system events, or alarms that were generated during this container's lifetime"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 299, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}RecordedEvent uses Python identifier RecordedEvent
+    __RecordedEvent = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvent'), 'RecordedEvent', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_11_httppacificbiosciences_comPacBioDataModel_xsdRecordedEvent', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 301, 8), )
+
+    
+    RecordedEvent = property(__RecordedEvent.value, __RecordedEvent.set, None, "Journal of metrics, system events, or alarms that were generated during this container's lifetime")
+
+    _ElementMap.update({
+        __RecordedEvent.name() : __RecordedEvent
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_12 (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 310, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}BioSample uses Python identifier BioSample
+    __BioSample = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BioSample'), 'BioSample', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioDataModel_xsdBioSample', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 312, 8), )
+
+    
+    BioSample = property(__BioSample.value, __BioSample.set, None, None)
+
+    _ElementMap.update({
+        __BioSample.name() : __BioSample
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_13 (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 336, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Output uses Python identifier Output
+    __Output = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Output'), 'Output', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioDataModel_xsdOutput', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 65, 1), )
+
+    
+    Output = property(__Output.value, __Output.set, None, None)
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}MultiJobId uses Python identifier MultiJobId
+    __MultiJobId = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MultiJobId'), 'MultiJobId', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioDataModel_xsdMultiJobId', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 346, 8), )
+
+    
+    MultiJobId = property(__MultiJobId.value, __MultiJobId.set, None, 'Id of the SMRT Link MultiJob that will create Jobs to process the Outputs (e.g. SubreadSets) of this Run.')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}SubreadSets uses Python identifier SubreadSets
+    __SubreadSets = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SubreadSets'), 'SubreadSets', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioDataModel_xsdSubreadSets', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 430, 1), )
+
+    
+    SubreadSets = property(__SubreadSets.value, __SubreadSets.set, None, None)
+
+    _ElementMap.update({
+        __Output.name() : __Output,
+        __MultiJobId.name() : __MultiJobId,
+        __SubreadSets.name() : __SubreadSets
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_14 (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 355, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Input uses Python identifier Input
+    __Input = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Input'), 'Input', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioDataModel_xsdInput', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 64, 1), )
+
+    
+    Input = property(__Input.value, __Input.set, None, None)
+
+    _ElementMap.update({
+        __Input.name() : __Input
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_15 (pyxb.binding.basis.complexTypeDefinition):
+    """Journal of metrics, system events, or alarms that were generated during this run's lifetime"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 371, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}RecordedEvent uses Python identifier RecordedEvent
+    __RecordedEvent = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvent'), 'RecordedEvent', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioDataModel_xsdRecordedEvent', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 373, 8), )
+
+    
+    RecordedEvent = property(__RecordedEvent.value, __RecordedEvent.set, None, "Journal of metrics, system events, or alarms that were generated during this run's lifetime.\nIn the case of Primary generating the DataSet containing the sts.xml, this RecordedEvent object should be a pointer to the DataSet object generated.")
+
+    _ElementMap.update({
+        __RecordedEvent.name() : __RecordedEvent
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_16 (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 424, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}CollectionMetadataRef uses Python identifier CollectionMetadataRef
+    __CollectionMetadataRef = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadataRef'), 'CollectionMetadataRef', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_16_httppacificbiosciences_comPacBioDataModel_xsdCollectionMetadataRef', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 426, 4), )
+
+    
+    CollectionMetadataRef = property(__CollectionMetadataRef.value, __CollectionMetadataRef.set, None, None)
+
+    _ElementMap.update({
+        __CollectionMetadataRef.name() : __CollectionMetadataRef
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_17 (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 431, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}SubreadSet uses Python identifier SubreadSet
+    __SubreadSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbds, 'SubreadSet'), 'SubreadSet', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_17_httppacificbiosciences_comPacBioDatasets_xsdSubreadSet', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 117, 1), )
+
+    
+    SubreadSet = property(__SubreadSet.value, __SubreadSet.set, None, None)
+
+    _ElementMap.update({
+        __SubreadSet.name() : __SubreadSet
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_18 (pyxb.binding.basis.complexTypeDefinition):
+    """A variable, as a name/value pair, associated with a protocol (one of Collection, Primary, and Secondary)"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 70, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Validation uses Python identifier Validation
+    __Validation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Validation'), 'Validation', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_18_httppacificbiosciences_comPacBioDataModel_xsdValidation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1), )
+
+    
+    Validation = property(__Validation.value, __Validation.set, None, '\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ')
+
+    
+    # Attribute Name uses Python identifier Name
+    __Name = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Name'), 'Name', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_18_Name', STD_ANON, required=True)
+    __Name._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 74, 3)
+    __Name._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 74, 3)
+    
+    Name = property(__Name.value, __Name.set, None, None)
+
+    
+    # Attribute Value uses Python identifier Value
+    __Value = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Value'), 'Value', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_18_Value', pyxb.binding.datatypes.string, required=True)
+    __Value._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 91, 3)
+    __Value._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 91, 3)
+    
+    Value = property(__Value.value, __Value.set, None, None)
+
+    _ElementMap.update({
+        __Validation.name() : __Validation
+    })
+    _AttributeMap.update({
+        __Name.name() : __Name,
+        __Value.name() : __Value
+    })
+
+
+
+# Complex type [anonymous] with content type EMPTY
+class CTD_ANON_19 (pyxb.binding.basis.complexTypeDefinition):
+    """
+        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.
+      """
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 166, 2)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Attribute IsValid uses Python identifier IsValid
+    __IsValid = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'IsValid'), 'IsValid', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_19_IsValid', pyxb.binding.datatypes.boolean, required=True)
+    __IsValid._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 167, 3)
+    __IsValid._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 167, 3)
+    
+    IsValid = property(__IsValid.value, __IsValid.set, None, '\n            Indicates whether or not the element is valid.  The assumption is that the\n            Validation element is omitted unless the element is invalid, in which case,\n            the Validation element would describe the problem.\n          ')
+
+    
+    # Attribute ID uses Python identifier ID
+    __ID = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ID'), 'ID', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_19_ID', pyxb.binding.datatypes.string, required=True)
+    __ID._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 176, 3)
+    __ID._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 176, 3)
+    
+    ID = property(__ID.value, __ID.set, None, '\n            An identifier which can be used by client applications to translate/map\n            to a human decipherable message.\n          ')
+
+    
+    # Attribute Source uses Python identifier Source
+    __Source = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Source'), 'Source', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_19_Source', STD_ANON_, required=True)
+    __Source._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 184, 3)
+    __Source._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 184, 3)
+    
+    Source = property(__Source.value, __Source.set, None, '\n            This is the element which has experienced a validation issue.\n          ')
+
+    
+    # Attribute ElementPath uses Python identifier ElementPath
+    __ElementPath = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ElementPath'), 'ElementPath', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_19_ElementPath', pyxb.binding.datatypes.string)
+    __ElementPath._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 229, 3)
+    __ElementPath._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 229, 3)
+    
+    ElementPath = property(__ElementPath.value, __ElementPath.set, None, '\n            An optional string attribute which holds the path to the offending element.\n          ')
+
+    
+    # Attribute SupplementalInfo uses Python identifier SupplementalInfo
+    __SupplementalInfo = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SupplementalInfo'), 'SupplementalInfo', '__httppacificbiosciences_comPacBioDataModel_xsd_CTD_ANON_19_SupplementalInfo', pyxb.binding.datatypes.string)
+    __SupplementalInfo._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 236, 3)
+    __SupplementalInfo._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 236, 3)
+    
+    SupplementalInfo = property(__SupplementalInfo.value, __SupplementalInfo.set, None, '\n            An optional string attribute which holds extraneous information.\n          ')
+
+    _ElementMap.update({
+        
+    })
+    _AttributeMap.update({
+        __IsValid.name() : __IsValid,
+        __ID.name() : __ID,
+        __Source.name() : __Source,
+        __ElementPath.name() : __ElementPath,
+        __SupplementalInfo.name() : __SupplementalInfo
+    })
+
+
+
+# Complex type {http://pacificbiosciences.com/PacBioDataModel.xsd}ExperimentContainerType with content type ELEMENT_ONLY
+class ExperimentContainerType (_ImportedBinding__pbbase.BaseEntityType):
+    """A composite object type that can encompass multiple runs, possibly across multiple instruments.  
+
+One use case may be that a user may have a large genome they'd like to sequence, and it may take multiple runs on multiple instruments, to get enough data.  Another use case may be that a user has multiple samples of the same phenotype which they would like to analyze in a similar fashion/automation, and as such these samples are run as part of one experiment.
+
+The experiment object is intended to be packagable, such that the metadata of all acquisitions within is contained."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ExperimentContainerType')
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 254, 1)
+    _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
+    _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
+    # Base type is _ImportedBinding__pbbase.BaseEntityType
+    
+    # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}InvestigatorName uses Python identifier InvestigatorName
+    __InvestigatorName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InvestigatorName'), 'InvestigatorName', '__httppacificbiosciences_comPacBioDataModel_xsd_ExperimentContainerType_httppacificbiosciences_comPacBioDataModel_xsdInvestigatorName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 265, 5), )
+
+    
+    InvestigatorName = property(__InvestigatorName.value, __InvestigatorName.set, None, 'An optional PI name')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}CreatedDate uses Python identifier CreatedDate
+    __CreatedDate = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CreatedDate'), 'CreatedDate', '__httppacificbiosciences_comPacBioDataModel_xsd_ExperimentContainerType_httppacificbiosciences_comPacBioDataModel_xsdCreatedDate', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 270, 5), )
+
+    
+    CreatedDate = property(__CreatedDate.value, __CreatedDate.set, None, 'Automatically generated creation date')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Runs uses Python identifier Runs
+    __Runs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Runs'), 'Runs', '__httppacificbiosciences_comPacBioDataModel_xsd_ExperimentContainerType_httppacificbiosciences_comPacBioDataModel_xsdRuns', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 275, 5), )
+
+    
+    Runs = property(__Runs.value, __Runs.set, None, 'Multiple acquisitions from different instrument runs')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}DataSets uses Python identifier DataSets
+    __DataSets = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSets'), 'DataSets', '__httppacificbiosciences_comPacBioDataModel_xsd_ExperimentContainerType_httppacificbiosciences_comPacBioDataModel_xsdDataSets', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 285, 5), )
+
+    
+    DataSets = property(__DataSets.value, __DataSets.set, None, 'Pointers to various data elements associated with the acquisitions')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}RecordedEvents uses Python identifier RecordedEvents
+    __RecordedEvents = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvents'), 'RecordedEvents', '__httppacificbiosciences_comPacBioDataModel_xsd_ExperimentContainerType_httppacificbiosciences_comPacBioDataModel_xsdRecordedEvents', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 295, 5), )
+
+    
+    RecordedEvents = property(__RecordedEvents.value, __RecordedEvents.set, None, "Journal of metrics, system events, or alarms that were generated during this container's lifetime")
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}BioSamples uses Python identifier BioSamples
+    __BioSamples = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BioSamples'), 'BioSamples', '__httppacificbiosciences_comPacBioDataModel_xsd_ExperimentContainerType_httppacificbiosciences_comPacBioDataModel_xsdBioSamples', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 309, 5), )
+
+    
+    BioSamples = property(__BioSamples.value, __BioSamples.set, None, None)
+
+    
+    # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Tags inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Format inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ResourceId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Version inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute CreatedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ModifiedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ExperimentId uses Python identifier ExperimentId
+    __ExperimentId = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ExperimentId'), 'ExperimentId', '__httppacificbiosciences_comPacBioDataModel_xsd_ExperimentContainerType_ExperimentId', pyxb.binding.datatypes.string)
+    __ExperimentId._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 317, 4)
+    __ExperimentId._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 317, 4)
+    
+    ExperimentId = property(__ExperimentId.value, __ExperimentId.set, None, None)
+
+    
+    # Attribute TimeStampedName uses Python identifier TimeStampedName
+    __TimeStampedName = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'TimeStampedName'), 'TimeStampedName', '__httppacificbiosciences_comPacBioDataModel_xsd_ExperimentContainerType_TimeStampedName', pyxb.binding.datatypes.string)
+    __TimeStampedName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 318, 4)
+    __TimeStampedName._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 318, 4)
+    
+    TimeStampedName = property(__TimeStampedName.value, __TimeStampedName.set, None, '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')
+
+    _ElementMap.update({
+        __InvestigatorName.name() : __InvestigatorName,
+        __CreatedDate.name() : __CreatedDate,
+        __Runs.name() : __Runs,
+        __DataSets.name() : __DataSets,
+        __RecordedEvents.name() : __RecordedEvents,
+        __BioSamples.name() : __BioSamples
+    })
+    _AttributeMap.update({
+        __ExperimentId.name() : __ExperimentId,
+        __TimeStampedName.name() : __TimeStampedName
+    })
+Namespace.addCategoryObject('typeBinding', 'ExperimentContainerType', ExperimentContainerType)
+
+
+# Complex type {http://pacificbiosciences.com/PacBioDataModel.xsd}AssayType with content type ELEMENT_ONLY
+class AssayType (_ImportedBinding__pbbase.DataEntityType):
+    """Complex type {http://pacificbiosciences.com/PacBioDataModel.xsd}AssayType with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'AssayType')
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 245, 1)
+    _ElementMap = _ImportedBinding__pbbase.DataEntityType._ElementMap.copy()
+    _AttributeMap = _ImportedBinding__pbbase.DataEntityType._AttributeMap.copy()
+    # Base type is _ImportedBinding__pbbase.DataEntityType
+    
+    # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}SubreadSets uses Python identifier SubreadSets
+    __SubreadSets = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SubreadSets'), 'SubreadSets', '__httppacificbiosciences_comPacBioDataModel_xsd_AssayType_httppacificbiosciences_comPacBioDataModel_xsdSubreadSets', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 430, 1), )
+
+    
+    SubreadSets = property(__SubreadSets.value, __SubreadSets.set, None, None)
+
+    
+    # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Tags inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Format inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ResourceId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Version inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute CreatedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ModifiedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ValueDataType inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Attribute SimpleValue inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Attribute MetaType inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Attribute TimeStampedName inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    _ElementMap.update({
+        __SubreadSets.name() : __SubreadSets
+    })
+    _AttributeMap.update({
+        
+    })
+Namespace.addCategoryObject('typeBinding', 'AssayType', AssayType)
+
+
+# Complex type {http://pacificbiosciences.com/PacBioDataModel.xsd}RunType with content type ELEMENT_ONLY
+class RunType (_ImportedBinding__pbbase.StrictEntityType):
+    """A run is defined as a set of one or more data collections acquired in sequence on an instrument.  A run specifies the wells and SMRT Cells to include in the sequencing run, along with the collection and analysis automation to use for the selected wells and cells.
+
+"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'RunType')
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 326, 1)
+    _ElementMap = _ImportedBinding__pbbase.StrictEntityType._ElementMap.copy()
+    _AttributeMap = _ImportedBinding__pbbase.StrictEntityType._AttributeMap.copy()
+    # Base type is _ImportedBinding__pbbase.StrictEntityType
+    
+    # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Assay uses Python identifier Assay
+    __Assay = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Assay'), 'Assay', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_httppacificbiosciences_comPacBioDataModel_xsdAssay', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 10, 1), )
+
+    
+    Assay = property(__Assay.value, __Assay.set, None, None)
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}RunResources uses Python identifier RunResources
+    __RunResources = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RunResources'), 'RunResources', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_httppacificbiosciences_comPacBioDataModel_xsdRunResources', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 137, 1), )
+
+    
+    RunResources = property(__RunResources.value, __RunResources.set, None, 'This is an output field specifying the requirements for the run, e.g. number of tips, estimated run time, etc.')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Outputs uses Python identifier Outputs
+    __Outputs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Outputs'), 'Outputs', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_httppacificbiosciences_comPacBioDataModel_xsdOutputs', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 335, 5), )
+
+    
+    Outputs = property(__Outputs.value, __Outputs.set, None, None)
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}Inputs uses Python identifier Inputs
+    __Inputs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Inputs'), 'Inputs', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_httppacificbiosciences_comPacBioDataModel_xsdInputs', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 354, 5), )
+
+    
+    Inputs = property(__Inputs.value, __Inputs.set, None, None)
+
+    
+    # Element {http://pacificbiosciences.com/PacBioDataModel.xsd}RecordedEvents uses Python identifier RecordedEvents
+    __RecordedEvents = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvents'), 'RecordedEvents', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_httppacificbiosciences_comPacBioDataModel_xsdRecordedEvents', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 367, 5), )
+
+    
+    RecordedEvents = property(__RecordedEvents.value, __RecordedEvents.set, None, "Journal of metrics, system events, or alarms that were generated during this run's lifetime")
+
+    
+    # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Tags inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Format inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ResourceId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Version inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute CreatedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ModifiedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute UniqueId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
+    
+    # Attribute MetaType inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
+    
+    # Attribute TimeStampedName inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
+    
+    # Attribute Status uses Python identifier Status
+    __Status = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Status'), 'Status', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_Status', _ImportedBinding__pbbase.SupportedRunStates)
+    __Status._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 383, 4)
+    __Status._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 383, 4)
+    
+    Status = property(__Status.value, __Status.set, None, None)
+
+    
+    # Attribute InstrumentId uses Python identifier InstrumentId
+    __InstrumentId = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'InstrumentId'), 'InstrumentId', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_InstrumentId', pyxb.binding.datatypes.string)
+    __InstrumentId._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 384, 4)
+    __InstrumentId._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 384, 4)
+    
+    InstrumentId = property(__InstrumentId.value, __InstrumentId.set, None, 'World unique id assigned by PacBio. ')
+
+    
+    # Attribute InstrumentName uses Python identifier InstrumentName
+    __InstrumentName = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'InstrumentName'), 'InstrumentName', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_InstrumentName', pyxb.binding.datatypes.string)
+    __InstrumentName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 389, 4)
+    __InstrumentName._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 389, 4)
+    
+    InstrumentName = property(__InstrumentName.value, __InstrumentName.set, None, 'Friendly name assigned by customer')
+
+    
+    # Attribute CreatedBy uses Python identifier CreatedBy
+    __CreatedBy = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'CreatedBy'), 'CreatedBy', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_CreatedBy', pyxb.binding.datatypes.string)
+    __CreatedBy._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 394, 4)
+    __CreatedBy._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 394, 4)
+    
+    CreatedBy = property(__CreatedBy.value, __CreatedBy.set, None, 'Who created the run. ')
+
+    
+    # Attribute StartedBy uses Python identifier StartedBy
+    __StartedBy = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'StartedBy'), 'StartedBy', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_StartedBy', pyxb.binding.datatypes.string)
+    __StartedBy._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 399, 4)
+    __StartedBy._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 399, 4)
+    
+    StartedBy = property(__StartedBy.value, __StartedBy.set, None, 'Who started the run. Could be different from who created it. ')
+
+    
+    # Attribute WhenStarted uses Python identifier WhenStarted
+    __WhenStarted = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'WhenStarted'), 'WhenStarted', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_WhenStarted', STD_ANON_2)
+    __WhenStarted._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 404, 4)
+    __WhenStarted._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 404, 4)
+    
+    WhenStarted = property(__WhenStarted.value, __WhenStarted.set, None, 'Date and time of when the overall run was started. ')
+
+    
+    # Attribute WhenCompleted uses Python identifier WhenCompleted
+    __WhenCompleted = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'WhenCompleted'), 'WhenCompleted', '__httppacificbiosciences_comPacBioDataModel_xsd_RunType_WhenCompleted', STD_ANON_3)
+    __WhenCompleted._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 412, 4)
+    __WhenCompleted._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 412, 4)
+    
+    WhenCompleted = property(__WhenCompleted.value, __WhenCompleted.set, None, 'Date and time of when the overall run was completed. ')
+
+    _ElementMap.update({
+        __Assay.name() : __Assay,
+        __RunResources.name() : __RunResources,
+        __Outputs.name() : __Outputs,
+        __Inputs.name() : __Inputs,
+        __RecordedEvents.name() : __RecordedEvents
+    })
+    _AttributeMap.update({
+        __Status.name() : __Status,
+        __InstrumentId.name() : __InstrumentId,
+        __InstrumentName.name() : __InstrumentName,
+        __CreatedBy.name() : __CreatedBy,
+        __StartedBy.name() : __StartedBy,
+        __WhenStarted.name() : __WhenStarted,
+        __WhenCompleted.name() : __WhenCompleted
+    })
+Namespace.addCategoryObject('typeBinding', 'RunType', RunType)
+
+
+ChipLayout = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout'), CTD_ANON, documentation='Part of the RunResources; specifies a ChipLayout which is compatible with the collection protocols defined on the plate', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 11, 1))
+Namespace.addCategoryObject('elementBinding', ChipLayout.name().localName(), ChipLayout)
+
+CompatibleChipLayouts = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CompatibleChipLayouts'), CTD_ANON_, documentation='A set of Chip Layouts deemed compatible with the current plate', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 28, 1))
+Namespace.addCategoryObject('elementBinding', CompatibleChipLayouts.name().localName(), CompatibleChipLayouts)
+
+CompatibleSequencingKits = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CompatibleSequencingKits'), CTD_ANON_2, documentation='A set of reagent kits deemed compatible with the current plate', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 39, 1))
+Namespace.addCategoryObject('elementBinding', CompatibleSequencingKits.name().localName(), CompatibleSequencingKits)
+
+EstimatedTotalRunTime = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'EstimatedTotalRunTime'), CTD_ANON_3, documentation='The total amount of time the run is estimated to require.  A confidence value (defaulted to 90%) indicates the degree of certainty associated with the estimate', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 51, 1))
+Namespace.addCategoryObject('elementBinding', EstimatedTotalRunTime.name().localName(), EstimatedTotalRunTime)
+
+PacBioDataModel = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PacBioDataModel'), CTD_ANON_4, documentation='PacBio Data Model root element', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 94, 1))
+Namespace.addCategoryObject('elementBinding', PacBioDataModel.name().localName(), PacBioDataModel)
+
+RequiredSMRTCells = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RequiredSMRTCells'), CTD_ANON_5, documentation='Part of the RunResources; specifies the required number of SMRT cells', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 114, 1))
+Namespace.addCategoryObject('elementBinding', RequiredSMRTCells.name().localName(), RequiredSMRTCells)
+
+RequiredTips = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RequiredTips'), CTD_ANON_6, documentation='Part of the RunResources; specifies the required number of tips via two attributes, Left and Right', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 125, 1))
+Namespace.addCategoryObject('elementBinding', RequiredTips.name().localName(), RequiredTips)
+
+RunResources = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RunResources'), CTD_ANON_7, documentation='This is an output field specifying the requirements for the run, e.g. number of tips, estimated run time, etc.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 137, 1))
+Namespace.addCategoryObject('elementBinding', RunResources.name().localName(), RunResources)
+
+SampleComment = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleComment'), CTD_ANON_8, documentation='A general sample description', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 149, 1))
+Namespace.addCategoryObject('elementBinding', SampleComment.name().localName(), SampleComment)
+
+CollectionReferences = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionReferences'), CTD_ANON_16, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 423, 1))
+Namespace.addCategoryObject('elementBinding', CollectionReferences.name().localName(), CollectionReferences)
+
+SubreadSets = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SubreadSets'), CTD_ANON_17, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 430, 1))
+Namespace.addCategoryObject('elementBinding', SubreadSets.name().localName(), SubreadSets)
+
+Parameter = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Parameter'), CTD_ANON_18, documentation='A variable, as a name/value pair, associated with a protocol (one of Collection, Primary, and Secondary)', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 66, 1))
+Namespace.addCategoryObject('elementBinding', Parameter.name().localName(), Parameter)
+
+Validation = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1))
+Namespace.addCategoryObject('elementBinding', Validation.name().localName(), Validation)
+
+Assay = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Assay'), AssayType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 10, 1))
+Namespace.addCategoryObject('elementBinding', Assay.name().localName(), Assay)
+
+Events = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Events'), _ImportedBinding__pbbase.RecordedEventType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 63, 1))
+Namespace.addCategoryObject('elementBinding', Events.name().localName(), Events)
+
+Input = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Input'), _ImportedBinding__pbbase.InputOutputDataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 64, 1))
+Namespace.addCategoryObject('elementBinding', Input.name().localName(), Input)
+
+Output = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Output'), _ImportedBinding__pbbase.InputOutputDataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 65, 1))
+Namespace.addCategoryObject('elementBinding', Output.name().localName(), Output)
+
+
+
+CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, scope=CTD_ANON, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1)))
+
+def _BuildAutomaton ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton
+    del _BuildAutomaton
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 17, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Validation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 17, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON._Automaton = _BuildAutomaton()
+
+
+
+
+CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout'), CTD_ANON, scope=CTD_ANON_, documentation='Part of the RunResources; specifies a ChipLayout which is compatible with the collection protocols defined on the plate', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 11, 1)))
+
+CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, scope=CTD_ANON_, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1)))
+
+def _BuildAutomaton_ ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_
+    del _BuildAutomaton_
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 35, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 34, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Validation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 35, 4))
+    st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    transitions.append(fac.Transition(st_1, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_1._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_._Automaton = _BuildAutomaton_()
+
+
+
+
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'EstimatedTotalRunTime'), CTD_ANON_3, scope=CTD_ANON_2, documentation='The total amount of time the run is estimated to require.  A confidence value (defaulted to 90%) indicates the degree of certainty associated with the estimate', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 51, 1)))
+
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RequiredTips'), CTD_ANON_6, scope=CTD_ANON_2, documentation='Part of the RunResources; specifies the required number of tips via two attributes, Left and Right', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 125, 1)))
+
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbpn, 'SequencingKit'), _ImportedBinding__pbrk.SupplyKitSequencing, scope=CTD_ANON_2, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 14, 1)))
+
+def _BuildAutomaton_2 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_2
+    del _BuildAutomaton_2
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbpn, 'SequencingKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 45, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RequiredTips')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 46, 4))
+    st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EstimatedTotalRunTime')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 47, 4))
+    st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+         ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    st_2._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_2._Automaton = _BuildAutomaton_2()
+
+
+
+
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, scope=CTD_ANON_3, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1)))
+
+def _BuildAutomaton_3 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_3
+    del _BuildAutomaton_3
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 57, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Validation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 57, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_3._Automaton = _BuildAutomaton_3()
+
+
+
+
+CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExperimentContainer'), ExperimentContainerType, scope=CTD_ANON_4, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 100, 4)))
+
+def _BuildAutomaton_4 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_4
+    del _BuildAutomaton_4
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 101, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExperimentContainer')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 100, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.WildcardUse(pyxb.binding.content.Wildcard(process_contents=pyxb.binding.content.Wildcard.PC_strict, namespace_constraint=pyxb.binding.content.Wildcard.NC_any), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 101, 4))
+    st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_1._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_4._Automaton = _BuildAutomaton_4()
+
+
+
+
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, scope=CTD_ANON_5, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1)))
+
+def _BuildAutomaton_5 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_5
+    del _BuildAutomaton_5
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 120, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Validation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 120, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_5._Automaton = _BuildAutomaton_5()
+
+
+
+
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, scope=CTD_ANON_6, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1)))
+
+def _BuildAutomaton_6 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_6
+    del _BuildAutomaton_6
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 131, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Validation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 131, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_6._Automaton = _BuildAutomaton_6()
+
+
+
+
+CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CompatibleChipLayouts'), CTD_ANON_, scope=CTD_ANON_7, documentation='A set of Chip Layouts deemed compatible with the current plate', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 28, 1)))
+
+CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CompatibleSequencingKits'), CTD_ANON_2, scope=CTD_ANON_7, documentation='A set of reagent kits deemed compatible with the current plate', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 39, 1)))
+
+CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, scope=CTD_ANON_7, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1)))
+
+def _BuildAutomaton_7 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_7
+    del _BuildAutomaton_7
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 145, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CompatibleSequencingKits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 143, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CompatibleChipLayouts')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 144, 4))
+    st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Validation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 145, 4))
+    st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    transitions.append(fac.Transition(st_1, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+         ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_2._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_7._Automaton = _BuildAutomaton_7()
+
+
+
+
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, scope=CTD_ANON_8, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1)))
+
+def _BuildAutomaton_8 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_8
+    del _BuildAutomaton_8
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 155, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Validation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 155, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_8._Automaton = _BuildAutomaton_8()
+
+
+
+
+CTD_ANON_9._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Run'), RunType, scope=CTD_ANON_9, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 281, 8)))
+
+def _BuildAutomaton_9 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_9
+    del _BuildAutomaton_9
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Run')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 281, 8))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_9._Automaton = _BuildAutomaton_9()
+
+
+
+
+CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbds, 'DataSet'), _ImportedBinding__pbds.DataSetType, scope=CTD_ANON_10, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 85, 1)))
+
+def _BuildAutomaton_10 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_10
+    del _BuildAutomaton_10
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 291, 8))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbds, 'DataSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 291, 8))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_10._Automaton = _BuildAutomaton_10()
+
+
+
+
+CTD_ANON_11._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvent'), _ImportedBinding__pbbase.RecordedEventType, scope=CTD_ANON_11, documentation="Journal of metrics, system events, or alarms that were generated during this container's lifetime", location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 301, 8)))
+
+def _BuildAutomaton_11 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_11
+    del _BuildAutomaton_11
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 301, 8))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvent')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 301, 8))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_11._Automaton = _BuildAutomaton_11()
+
+
+
+
+CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSample'), _ImportedBinding__pbsample.BioSampleType, scope=CTD_ANON_12, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 312, 8)))
+
+def _BuildAutomaton_12 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_12
+    del _BuildAutomaton_12
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 312, 8))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BioSample')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 312, 8))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_12._Automaton = _BuildAutomaton_12()
+
+
+
+
+CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Output'), _ImportedBinding__pbbase.InputOutputDataType, scope=CTD_ANON_13, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 65, 1)))
+
+CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MultiJobId'), pyxb.binding.datatypes.unsignedInt, scope=CTD_ANON_13, documentation='Id of the SMRT Link MultiJob that will create Jobs to process the Outputs (e.g. SubreadSets) of this Run.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 346, 8)))
+
+CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SubreadSets'), CTD_ANON_17, scope=CTD_ANON_13, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 430, 1)))
+
+def _BuildAutomaton_13 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_13
+    del _BuildAutomaton_13
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 338, 8))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 339, 8))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 346, 8))
+    counters.add(cc_2)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Output')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 338, 8))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SubreadSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 339, 8))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MultiJobId')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 346, 8))
+    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    st_2._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_13._Automaton = _BuildAutomaton_13()
+
+
+
+
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Input'), _ImportedBinding__pbbase.InputOutputDataType, scope=CTD_ANON_14, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 64, 1)))
+
+def _BuildAutomaton_14 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_14
+    del _BuildAutomaton_14
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Input')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 357, 8))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_14._Automaton = _BuildAutomaton_14()
+
+
+
+
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvent'), _ImportedBinding__pbbase.RecordedEventType, scope=CTD_ANON_15, documentation="Journal of metrics, system events, or alarms that were generated during this run's lifetime.\nIn the case of Primary generating the DataSet containing the sts.xml, this RecordedEvent object should be a pointer to the DataSet object generated.", location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSX [...]
+
+def _BuildAutomaton_15 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_15
+    del _BuildAutomaton_15
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 373, 8))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvent')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 373, 8))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_15._Automaton = _BuildAutomaton_15()
+
+
+
+
+CTD_ANON_16._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadataRef'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_16, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 426, 4)))
+
+def _BuildAutomaton_16 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_16
+    del _BuildAutomaton_16
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_16._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadataRef')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 426, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_16._Automaton = _BuildAutomaton_16()
+
+
+
+
+CTD_ANON_17._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbds, 'SubreadSet'), _ImportedBinding__pbds.CTD_ANON_16, scope=CTD_ANON_17, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 117, 1)))
+
+def _BuildAutomaton_17 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_17
+    del _BuildAutomaton_17
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_17._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbds, 'SubreadSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 433, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_17._Automaton = _BuildAutomaton_17()
+
+
+
+
+CTD_ANON_18._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Validation'), CTD_ANON_19, scope=CTD_ANON_18, documentation='\n        A validation type which is an element/part of every other element in the schema.  It is used to communicate validation issues as part of the output.\n      ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 160, 1)))
+
+def _BuildAutomaton_18 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_18
+    del _BuildAutomaton_18
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 72, 4))
+    counters.add(cc_0)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_18._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Validation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 72, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_18._Automaton = _BuildAutomaton_18()
+
+
+
+
+ExperimentContainerType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InvestigatorName'), pyxb.binding.datatypes.string, scope=ExperimentContainerType, documentation='An optional PI name', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 265, 5)))
+
+ExperimentContainerType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CreatedDate'), pyxb.binding.datatypes.date, scope=ExperimentContainerType, documentation='Automatically generated creation date', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 270, 5)))
+
+ExperimentContainerType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Runs'), CTD_ANON_9, scope=ExperimentContainerType, documentation='Multiple acquisitions from different instrument runs', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 275, 5)))
+
+ExperimentContainerType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSets'), CTD_ANON_10, scope=ExperimentContainerType, documentation='Pointers to various data elements associated with the acquisitions', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 285, 5)))
+
+ExperimentContainerType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvents'), CTD_ANON_11, scope=ExperimentContainerType, documentation="Journal of metrics, system events, or alarms that were generated during this container's lifetime", location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 295, 5)))
+
+ExperimentContainerType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSamples'), CTD_ANON_12, scope=ExperimentContainerType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 309, 5)))
+
+def _BuildAutomaton_19 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_19
+    del _BuildAutomaton_19
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 265, 5))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 275, 5))
+    counters.add(cc_2)
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 285, 5))
+    counters.add(cc_3)
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 295, 5))
+    counters.add(cc_4)
+    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 309, 5))
+    counters.add(cc_5)
+    states = []
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(ExperimentContainerType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(ExperimentContainerType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InvestigatorName')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 265, 5))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(ExperimentContainerType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CreatedDate')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 270, 5))
+    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(ExperimentContainerType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Runs')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 275, 5))
+    st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_3)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_3, False))
+    symbol = pyxb.binding.content.ElementUse(ExperimentContainerType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 285, 5))
+    st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_4)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_4, False))
+    symbol = pyxb.binding.content.ElementUse(ExperimentContainerType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvents')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 295, 5))
+    st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_5)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_5, False))
+    symbol = pyxb.binding.content.ElementUse(ExperimentContainerType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BioSamples')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 309, 5))
+    st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_6)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_3, [
+         ]))
+    transitions.append(fac.Transition(st_4, [
+         ]))
+    transitions.append(fac.Transition(st_5, [
+         ]))
+    transitions.append(fac.Transition(st_6, [
+         ]))
+    st_2._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    st_3._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_3, True) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_3, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_3, False) ]))
+    st_4._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_4, True) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_4, False) ]))
+    st_5._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_5, True) ]))
+    st_6._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+ExperimentContainerType._Automaton = _BuildAutomaton_19()
+
+
+
+
+AssayType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SubreadSets'), CTD_ANON_17, scope=AssayType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 430, 1)))
+
+def _BuildAutomaton_20 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_20
+    del _BuildAutomaton_20
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
+    counters.add(cc_1)
+    states = []
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(AssayType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(AssayType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(AssayType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SubreadSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 249, 5))
+    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    st_2._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+AssayType._Automaton = _BuildAutomaton_20()
+
+
+
+
+RunType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Assay'), AssayType, scope=RunType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 10, 1)))
+
+RunType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RunResources'), CTD_ANON_7, scope=RunType, documentation='This is an output field specifying the requirements for the run, e.g. number of tips, estimated run time, etc.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 137, 1)))
+
+RunType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Outputs'), CTD_ANON_13, scope=RunType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 335, 5)))
+
+RunType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Inputs'), CTD_ANON_14, scope=RunType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 354, 5)))
+
+RunType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvents'), CTD_ANON_15, scope=RunType, documentation="Journal of metrics, system events, or alarms that were generated during this run's lifetime", location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 367, 5)))
+
+def _BuildAutomaton_21 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_21
+    del _BuildAutomaton_21
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 335, 5))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 354, 5))
+    counters.add(cc_2)
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 361, 5))
+    counters.add(cc_3)
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 366, 5))
+    counters.add(cc_4)
+    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 367, 5))
+    counters.add(cc_5)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(RunType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(RunType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Outputs')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 335, 5))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(RunType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Inputs')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 354, 5))
+    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_3, False))
+    symbol = pyxb.binding.content.ElementUse(RunType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Assay')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 361, 5))
+    st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_3)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_4, False))
+    symbol = pyxb.binding.content.ElementUse(RunType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RunResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 366, 5))
+    st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_4)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_5, False))
+    symbol = pyxb.binding.content.ElementUse(RunType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RecordedEvents')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDataModel.xsd', 367, 5))
+    st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_5)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    st_2._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_3, True) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_3, False) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_3, False) ]))
+    st_3._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_4, True) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_4, False) ]))
+    st_4._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_5, True) ]))
+    st_5._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+RunType._Automaton = _BuildAutomaton_21()
+
diff --git a/pbcore/io/dataset/pyxb/__init__.py b/pbcore/io/dataset/pyxb/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/pbcore/io/dataset/_pbbase.py b/pbcore/io/dataset/pyxb/_pbbase.py
similarity index 72%
rename from pbcore/io/dataset/_pbbase.py
rename to pbcore/io/dataset/pyxb/_pbbase.py
index d79f080..21ce0ba 100644
--- a/pbcore/io/dataset/_pbbase.py
+++ b/pbcore/io/dataset/pyxb/_pbbase.py
@@ -1,7 +1,7 @@
-# ./_pbbase.py
+# pbcore/io/dataset/pyxb/_pbbase.py
 # -*- coding: utf-8 -*-
 # PyXB bindings for NM:304355e4be645ec0738f0143f32dd444bf98ad15
-# Generated 2015-12-08 13:20:39.133886 by PyXB version 1.2.4 using Python 2.7.6.final.0
+# Generated 2017-09-27 15:52:12.382270 by PyXB version 1.2.4 using Python 2.7.9.final.0
 # Namespace http://pacificbiosciences.com/PacBioBaseDataModel.xsd [xmlns:pbbase]
 
 from __future__ import unicode_literals
@@ -15,7 +15,7 @@ import sys
 import pyxb.utils.six as _six
 
 # Unique identifier for bindings created at the same time
-_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:8749368c-9df1-11e5-86b0-001a4acb6b14')
+_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:7fa6c9c0-a3d6-11e7-96cb-0026b9fe0a90')
 
 # Version of PyXB used to generate the bindings
 _PyXBVersion = '1.2.4'
@@ -79,7 +79,7 @@ class STD_ANON (pyxb.binding.datatypes.dateTime):
     """An atomic simple type."""
 
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 128, 3)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 130, 3)
     _Documentation = None
 STD_ANON._InitializeFacetMap()
 
@@ -89,7 +89,7 @@ class STD_ANON_ (pyxb.binding.datatypes.dateTime):
     """An atomic simple type."""
 
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 136, 3)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 138, 3)
     _Documentation = None
 STD_ANON_._InitializeFacetMap()
 
@@ -99,7 +99,7 @@ class STD_ANON_2 (pyxb.binding.datatypes.ID):
     """An atomic simple type."""
 
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 151, 5)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 153, 5)
     _Documentation = None
 STD_ANON_2._CF_pattern = pyxb.binding.facets.CF_pattern()
 STD_ANON_2._CF_pattern.addPattern(pattern='[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}')
@@ -111,11 +111,12 @@ class SupportedAcquisitionStates (pyxb.binding.datatypes.string, pyxb.binding.ba
     """An atomic simple type."""
 
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupportedAcquisitionStates')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 638, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 711, 1)
     _Documentation = None
 SupportedAcquisitionStates._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=SupportedAcquisitionStates, enum_prefix=None)
 SupportedAcquisitionStates.Ready = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='Ready', tag='Ready')
 SupportedAcquisitionStates.Initializing = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='Initializing', tag='Initializing')
+SupportedAcquisitionStates.SocketDiagnostics = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='SocketDiagnostics', tag='SocketDiagnostics')
 SupportedAcquisitionStates.Acquiring = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='Acquiring', tag='Acquiring')
 SupportedAcquisitionStates.Aligning = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='Aligning', tag='Aligning')
 SupportedAcquisitionStates.Aligned = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='Aligned', tag='Aligned')
@@ -138,6 +139,7 @@ SupportedAcquisitionStates.TransferringResults = SupportedAcquisitionStates._CF_
 SupportedAcquisitionStates.Error = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='Error', tag='Error')
 SupportedAcquisitionStates.Stopped = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='Stopped', tag='Stopped')
 SupportedAcquisitionStates.TransferFailed = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='TransferFailed', tag='TransferFailed')
+SupportedAcquisitionStates.InPrep = SupportedAcquisitionStates._CF_enumeration.addEnumeration(unicode_value='InPrep', tag='InPrep')
 SupportedAcquisitionStates._InitializeFacetMap(SupportedAcquisitionStates._CF_enumeration)
 Namespace.addCategoryObject('typeBinding', 'SupportedAcquisitionStates', SupportedAcquisitionStates)
 
@@ -147,7 +149,7 @@ class SupportedDataTypes (pyxb.binding.datatypes.string, pyxb.binding.basis.enum
     """An atomic simple type."""
 
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupportedDataTypes')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 666, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 741, 1)
     _Documentation = None
 SupportedDataTypes._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=SupportedDataTypes, enum_prefix=None)
 SupportedDataTypes.Int16 = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Int16', tag='Int16')
@@ -156,6 +158,7 @@ SupportedDataTypes.Int64 = SupportedDataTypes._CF_enumeration.addEnumeration(uni
 SupportedDataTypes.UInt16 = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt16', tag='UInt16')
 SupportedDataTypes.UInt32 = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt32', tag='UInt32')
 SupportedDataTypes.UInt64 = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt64', tag='UInt64')
+SupportedDataTypes.Boolean = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Boolean', tag='Boolean')
 SupportedDataTypes.Single = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Single', tag='Single')
 SupportedDataTypes.Double = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Double', tag='Double')
 SupportedDataTypes.String = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='String', tag='String')
@@ -166,6 +169,7 @@ SupportedDataTypes.Int64_1D = SupportedDataTypes._CF_enumeration.addEnumeration(
 SupportedDataTypes.UInt16_1D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt16_1D', tag='UInt16_1D')
 SupportedDataTypes.UInt32_1D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt32_1D', tag='UInt32_1D')
 SupportedDataTypes.UInt64_1D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt64_1D', tag='UInt64_1D')
+SupportedDataTypes.Boolean_1D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Boolean_1D', tag='Boolean_1D')
 SupportedDataTypes.Single_1D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Single_1D', tag='Single_1D')
 SupportedDataTypes.Double_1D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Double_1D', tag='Double_1D')
 SupportedDataTypes.String_1D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='String_1D', tag='String_1D')
@@ -176,6 +180,7 @@ SupportedDataTypes.Int64_2D = SupportedDataTypes._CF_enumeration.addEnumeration(
 SupportedDataTypes.UInt16_2D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt16_2D', tag='UInt16_2D')
 SupportedDataTypes.UInt32_2D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt32_2D', tag='UInt32_2D')
 SupportedDataTypes.UInt64_2D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='UInt64_2D', tag='UInt64_2D')
+SupportedDataTypes.Boolean_2D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Boolean_2D', tag='Boolean_2D')
 SupportedDataTypes.Single_2D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Single_2D', tag='Single_2D')
 SupportedDataTypes.Double_2D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='Double_2D', tag='Double_2D')
 SupportedDataTypes.String_2D = SupportedDataTypes._CF_enumeration.addEnumeration(unicode_value='String_2D', tag='String_2D')
@@ -194,7 +199,7 @@ class SupportedNucleotides (pyxb.binding.datatypes.string, pyxb.binding.basis.en
     """An atomic simple type."""
 
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupportedNucleotides')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 705, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 783, 1)
     _Documentation = None
 SupportedNucleotides._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=SupportedNucleotides, enum_prefix=None)
 SupportedNucleotides.A = SupportedNucleotides._CF_enumeration.addEnumeration(unicode_value='A', tag='A')
@@ -210,7 +215,7 @@ class SupportedRunStates (pyxb.binding.datatypes.string, pyxb.binding.basis.enum
     """An atomic simple type."""
 
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupportedRunStates')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 713, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 791, 1)
     _Documentation = None
 SupportedRunStates._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=SupportedRunStates, enum_prefix=None)
 SupportedRunStates.Ready = SupportedRunStates._CF_enumeration.addEnumeration(unicode_value='Ready', tag='Ready')
@@ -235,13 +240,13 @@ class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 14, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 14, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Values uses Python identifier Values
-    __Values = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Values'), 'Values', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_httppacificbiosciences_comPacBioBaseDataModel_xsdValues', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 16, 8), )
+    __Values = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Values'), 'Values', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_httppacificbiosciences_comPacBioBaseDataModel_xsdValues', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 16, 8), )
 
     
     Values = property(__Values.value, __Values.set, None, None)
@@ -249,8 +254,8 @@ class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):
     
     # Attribute NumberFilterBins uses Python identifier NumberFilterBins
     __NumberFilterBins = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'NumberFilterBins'), 'NumberFilterBins', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_NumberFilterBins', pyxb.binding.datatypes.int, required=True)
-    __NumberFilterBins._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 29, 7)
-    __NumberFilterBins._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 29, 7)
+    __NumberFilterBins._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 29, 7)
+    __NumberFilterBins._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 29, 7)
     
     NumberFilterBins = property(__NumberFilterBins.value, __NumberFilterBins.set, None, 'number of bins describing the spectrum, green to red')
 
@@ -270,13 +275,13 @@ class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 17, 9)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 17, 9)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Value uses Python identifier Value
-    __Value = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Value'), 'Value', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON__httppacificbiosciences_comPacBioBaseDataModel_xsdValue', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 19, 11), )
+    __Value = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Value'), 'Value', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON__httppacificbiosciences_comPacBioBaseDataModel_xsdValue', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 19, 11), )
 
     
     Value = property(__Value.value, __Value.set, None, 'There should be as many values as specified in the Number of Filter Bins attribute.\nEach value is a probability, in the range of [0, 1].')
@@ -297,13 +302,13 @@ class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 87, 4)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 89, 4)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExtensionElement uses Python identifier ExtensionElement
-    __ExtensionElement = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExtensionElement'), 'ExtensionElement', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioBaseDataModel_xsdExtensionElement', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 736, 1), )
+    __ExtensionElement = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExtensionElement'), 'ExtensionElement', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioBaseDataModel_xsdExtensionElement', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 814, 1), )
 
     
     ExtensionElement = property(__ExtensionElement.value, __ExtensionElement.set, None, 'A generic element whose contents are undefined at the schema level.  This is used to extend the data model.')
@@ -324,13 +329,13 @@ class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 226, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 228, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataPointer uses Python identifier DataPointer
-    __DataPointer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataPointer'), 'DataPointer', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioBaseDataModel_xsdDataPointer', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 228, 4), )
+    __DataPointer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataPointer'), 'DataPointer', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioBaseDataModel_xsdDataPointer', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 230, 4), )
 
     
     DataPointer = property(__DataPointer.value, __DataPointer.set, None, None)
@@ -351,13 +356,13 @@ class CTD_ANON_4 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 260, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 262, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExternalResource uses Python identifier ExternalResource
-    __ExternalResource = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExternalResource'), 'ExternalResource', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioBaseDataModel_xsdExternalResource', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 758, 1), )
+    __ExternalResource = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExternalResource'), 'ExternalResource', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioBaseDataModel_xsdExternalResource', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 838, 1), )
 
     
     ExternalResource = property(__ExternalResource.value, __ExternalResource.set, None, 'for example, an output file could be the BAM file, which could be associated with multiple indices into it.')
@@ -378,13 +383,13 @@ class CTD_ANON_5 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 276, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 278, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}FileIndex uses Python identifier FileIndex
-    __FileIndex = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'FileIndex'), 'FileIndex', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioBaseDataModel_xsdFileIndex', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 278, 8), )
+    __FileIndex = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'FileIndex'), 'FileIndex', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioBaseDataModel_xsdFileIndex', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 280, 8), )
 
     
     FileIndex = property(__FileIndex.value, __FileIndex.set, None, 'e.g. index for output files, allowing one to find information in the output file')
@@ -405,13 +410,13 @@ class CTD_ANON_6 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 296, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 298, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AutomationParameter uses Python identifier AutomationParameter
-    __AutomationParameter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), 'AutomationParameter', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioBaseDataModel_xsdAutomationParameter', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 321, 1), )
+    __AutomationParameter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), 'AutomationParameter', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioBaseDataModel_xsdAutomationParameter', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 329, 1), )
 
     
     AutomationParameter = property(__AutomationParameter.value, __AutomationParameter.set, None, 'One or more collection parameters, such as MovieLength, InsertSize, UseStageStart, IsControl, etc..')
@@ -427,18 +432,45 @@ class CTD_ANON_6 (pyxb.binding.basis.complexTypeDefinition):
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
 class CTD_ANON_7 (pyxb.binding.basis.complexTypeDefinition):
+    """Names of automations that are all similarly constrained"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 366, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Automation uses Python identifier Automation
+    __Automation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Automation'), 'Automation', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioBaseDataModel_xsdAutomation', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 368, 8), )
+
+    
+    Automation = property(__Automation.value, __Automation.set, None, None)
+
+    _ElementMap.update({
+        __Automation.name() : __Automation
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_8 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 407, 11)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 474, 11)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Analog uses Python identifier Analog
-    __Analog = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Analog'), 'Analog', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioBaseDataModel_xsdAnalog', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 409, 13), )
+    __Analog = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Analog'), 'Analog', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioBaseDataModel_xsdAnalog', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 476, 13), )
 
     
     Analog = property(__Analog.value, __Analog.set, None, None)
@@ -453,19 +485,19 @@ class CTD_ANON_7 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_8 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_9 (pyxb.binding.basis.complexTypeDefinition):
     """Root element for document containing the container of analog set, SequencingChemistryConfig"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 426, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 493, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ChemistryConfig uses Python identifier ChemistryConfig
-    __ChemistryConfig = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ChemistryConfig'), 'ChemistryConfig', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioBaseDataModel_xsdChemistryConfig', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 797, 1), )
+    __ChemistryConfig = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ChemistryConfig'), 'ChemistryConfig', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_9_httppacificbiosciences_comPacBioBaseDataModel_xsdChemistryConfig', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 877, 1), )
 
     
     ChemistryConfig = property(__ChemistryConfig.value, __ChemistryConfig.set, None, None)
@@ -480,19 +512,19 @@ class CTD_ANON_8 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_9 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_10 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 440, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 507, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Analog uses Python identifier Analog
-    __Analog = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Analog'), 'Analog', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_9_httppacificbiosciences_comPacBioBaseDataModel_xsdAnalog', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 442, 8), )
+    __Analog = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Analog'), 'Analog', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioBaseDataModel_xsdAnalog', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 509, 8), )
 
     
     Analog = property(__Analog.value, __Analog.set, None, None)
@@ -507,45 +539,45 @@ class CTD_ANON_9 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type EMPTY
-class CTD_ANON_10 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_11 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type EMPTY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 452, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 524, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Attribute SNR_A uses Python identifier SNR_A
-    __SNR_A = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SNR_A'), 'SNR_A', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_10_SNR_A', pyxb.binding.datatypes.float, required=True)
-    __SNR_A._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 453, 7)
-    __SNR_A._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 453, 7)
+    __SNR_A = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SNR_A'), 'SNR_A', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_11_SNR_A', pyxb.binding.datatypes.float, required=True)
+    __SNR_A._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 525, 7)
+    __SNR_A._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 525, 7)
     
     SNR_A = property(__SNR_A.value, __SNR_A.set, None, None)
 
     
     # Attribute SNR_C uses Python identifier SNR_C
-    __SNR_C = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SNR_C'), 'SNR_C', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_10_SNR_C', pyxb.binding.datatypes.float, required=True)
-    __SNR_C._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 454, 7)
-    __SNR_C._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 454, 7)
+    __SNR_C = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SNR_C'), 'SNR_C', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_11_SNR_C', pyxb.binding.datatypes.float, required=True)
+    __SNR_C._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 526, 7)
+    __SNR_C._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 526, 7)
     
     SNR_C = property(__SNR_C.value, __SNR_C.set, None, None)
 
     
     # Attribute SNR_G uses Python identifier SNR_G
-    __SNR_G = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SNR_G'), 'SNR_G', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_10_SNR_G', pyxb.binding.datatypes.float, required=True)
-    __SNR_G._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 455, 7)
-    __SNR_G._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 455, 7)
+    __SNR_G = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SNR_G'), 'SNR_G', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_11_SNR_G', pyxb.binding.datatypes.float, required=True)
+    __SNR_G._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 527, 7)
+    __SNR_G._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 527, 7)
     
     SNR_G = property(__SNR_G.value, __SNR_G.set, None, None)
 
     
     # Attribute SNR_T uses Python identifier SNR_T
-    __SNR_T = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SNR_T'), 'SNR_T', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_10_SNR_T', pyxb.binding.datatypes.float, required=True)
-    __SNR_T._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 456, 7)
-    __SNR_T._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 456, 7)
+    __SNR_T = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SNR_T'), 'SNR_T', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_11_SNR_T', pyxb.binding.datatypes.float, required=True)
+    __SNR_T._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 528, 7)
+    __SNR_T._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 528, 7)
     
     SNR_T = property(__SNR_T.value, __SNR_T.set, None, None)
 
@@ -562,19 +594,19 @@ class CTD_ANON_10 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_11 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_12 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 477, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 549, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BinCount uses Python identifier BinCount
-    __BinCount = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinCount'), 'BinCount', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_11_httppacificbiosciences_comPacBioBaseDataModel_xsdBinCount', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 479, 8), )
+    __BinCount = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinCount'), 'BinCount', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioBaseDataModel_xsdBinCount', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 551, 8), )
 
     
     BinCount = property(__BinCount.value, __BinCount.set, None, None)
@@ -589,19 +621,19 @@ class CTD_ANON_11 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_12 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_13 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 503, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 575, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BinCount uses Python identifier BinCount
-    __BinCount = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinCount'), 'BinCount', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioBaseDataModel_xsdBinCount', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 505, 8), )
+    __BinCount = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinCount'), 'BinCount', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioBaseDataModel_xsdBinCount', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 577, 8), )
 
     
     BinCount = property(__BinCount.value, __BinCount.set, None, None)
@@ -616,19 +648,19 @@ class CTD_ANON_12 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_13 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_14 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 511, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 583, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BinLabel uses Python identifier BinLabel
-    __BinLabel = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinLabel'), 'BinLabel', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioBaseDataModel_xsdBinLabel', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 513, 8), )
+    __BinLabel = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinLabel'), 'BinLabel', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioBaseDataModel_xsdBinLabel', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 585, 8), )
 
     
     BinLabel = property(__BinLabel.value, __BinLabel.set, None, None)
@@ -643,19 +675,19 @@ class CTD_ANON_13 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_14 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_15 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 533, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 605, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Val uses Python identifier Val
-    __Val = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Val'), 'Val', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioBaseDataModel_xsdVal', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 535, 8), )
+    __Val = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Val'), 'Val', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioBaseDataModel_xsdVal', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 607, 8), )
 
     
     Val = property(__Val.value, __Val.set, None, None)
@@ -676,13 +708,13 @@ class UserDefinedFieldsType (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFieldsType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 729, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 807, 1)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntities uses Python identifier DataEntities
-    __DataEntities = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataEntities'), 'DataEntities', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_UserDefinedFieldsType_httppacificbiosciences_comPacBioBaseDataModel_xsdDataEntities', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 731, 3), )
+    __DataEntities = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataEntities'), 'DataEntities', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_UserDefinedFieldsType_httppacificbiosciences_comPacBioBaseDataModel_xsdDataEntities', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 809, 3), )
 
     
     DataEntities = property(__DataEntities.value, __DataEntities.set, None, None)
@@ -703,13 +735,13 @@ class FilterType (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'FilterType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 741, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 819, 1)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Properties uses Python identifier Properties
-    __Properties = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Properties'), 'Properties', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_FilterType_httppacificbiosciences_comPacBioBaseDataModel_xsdProperties', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 743, 3), )
+    __Properties = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Properties'), 'Properties', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_FilterType_httppacificbiosciences_comPacBioBaseDataModel_xsdProperties', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 821, 3), )
 
     
     Properties = property(__Properties.value, __Properties.set, None, None)
@@ -724,19 +756,19 @@ Namespace.addCategoryObject('typeBinding', 'FilterType', FilterType)
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_15 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_16 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 744, 4)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 822, 4)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Property uses Python identifier Property
-    __Property = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Property'), 'Property', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioBaseDataModel_xsdProperty', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 746, 6), )
+    __Property = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Property'), 'Property', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_16_httppacificbiosciences_comPacBioBaseDataModel_xsdProperty', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 824, 6), )
 
     
     Property = property(__Property.value, __Property.set, None, None)
@@ -751,65 +783,83 @@ class CTD_ANON_15 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type EMPTY
-class CTD_ANON_16 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_17 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type EMPTY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 747, 7)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 825, 7)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Attribute Name uses Python identifier Name
-    __Name = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Name'), 'Name', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_16_Name', pyxb.binding.datatypes.string, required=True)
-    __Name._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 748, 8)
-    __Name._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 748, 8)
+    __Name = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Name'), 'Name', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_17_Name', pyxb.binding.datatypes.string, required=True)
+    __Name._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 826, 8)
+    __Name._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 826, 8)
     
     Name = property(__Name.value, __Name.set, None, None)
 
     
     # Attribute Value uses Python identifier Value
-    __Value = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Value'), 'Value', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_16_Value', pyxb.binding.datatypes.string, required=True)
-    __Value._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 749, 8)
-    __Value._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 749, 8)
+    __Value = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Value'), 'Value', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_17_Value', pyxb.binding.datatypes.string, required=True)
+    __Value._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 827, 8)
+    __Value._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 827, 8)
     
     Value = property(__Value.value, __Value.set, None, None)
 
     
     # Attribute Operator uses Python identifier Operator
-    __Operator = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Operator'), 'Operator', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_16_Operator', pyxb.binding.datatypes.string, required=True)
-    __Operator._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 750, 8)
-    __Operator._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 750, 8)
+    __Operator = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Operator'), 'Operator', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_17_Operator', pyxb.binding.datatypes.string, required=True)
+    __Operator._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 828, 8)
+    __Operator._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 828, 8)
     
     Operator = property(__Operator.value, __Operator.set, None, None)
 
+    
+    # Attribute Feature uses Python identifier Feature
+    __Feature = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Feature'), 'Feature', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_17_Feature', pyxb.binding.datatypes.string)
+    __Feature._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 829, 8)
+    __Feature._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 829, 8)
+    
+    Feature = property(__Feature.value, __Feature.set, None, None)
+
+    
+    # Attribute Assignment uses Python identifier Assignment
+    __Assignment = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Assignment'), 'Assignment', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_17_Assignment', pyxb.binding.datatypes.string)
+    __Assignment._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 830, 8)
+    __Assignment._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 830, 8)
+    
+    Assignment = property(__Assignment.value, __Assignment.set, None, None)
+
     _ElementMap.update({
         
     })
     _AttributeMap.update({
         __Name.name() : __Name,
         __Value.name() : __Value,
-        __Operator.name() : __Operator
+        __Operator.name() : __Operator,
+        __Feature.name() : __Feature,
+        __Assignment.name() : __Assignment
     })
 
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_17 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_18 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 769, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 849, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Items uses Python identifier Items
-    __Items = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Items'), 'Items', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_17_httppacificbiosciences_comPacBioBaseDataModel_xsdItems', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 771, 4), )
+    __Items = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Items'), 'Items', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_18_httppacificbiosciences_comPacBioBaseDataModel_xsdItems', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 851, 4), )
 
     
     Items = property(__Items.value, __Items.set, None, None)
@@ -824,19 +874,19 @@ class CTD_ANON_17 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_18 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_19 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 772, 5)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 852, 5)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Item uses Python identifier Item
-    __Item = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Item'), 'Item', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_18_httppacificbiosciences_comPacBioBaseDataModel_xsdItem', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 774, 7), )
+    __Item = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Item'), 'Item', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_19_httppacificbiosciences_comPacBioBaseDataModel_xsdItem', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 854, 7), )
 
     
     Item = property(__Item.value, __Item.set, None, None)
@@ -857,13 +907,13 @@ class MapType (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'MapType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 785, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 865, 1)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}KeyValueMap uses Python identifier KeyValueMap
-    __KeyValueMap = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'KeyValueMap'), 'KeyValueMap', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_MapType_httppacificbiosciences_comPacBioBaseDataModel_xsdKeyValueMap', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 768, 1), )
+    __KeyValueMap = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'KeyValueMap'), 'KeyValueMap', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_MapType_httppacificbiosciences_comPacBioBaseDataModel_xsdKeyValueMap', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 848, 1), )
 
     
     KeyValueMap = property(__KeyValueMap.value, __KeyValueMap.set, None, None)
@@ -884,27 +934,27 @@ class MapItemType (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'MapItemType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 790, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 870, 1)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Key uses Python identifier Key
-    __Key = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Key'), 'Key', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_MapItemType_httppacificbiosciences_comPacBioBaseDataModel_xsdKey', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 792, 3), )
+    __Key = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Key'), 'Key', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_MapItemType_httppacificbiosciences_comPacBioBaseDataModel_xsdKey', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 872, 3), )
 
     
     Key = property(__Key.value, __Key.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Value uses Python identifier Value
-    __Value = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Value'), 'Value', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_MapItemType_httppacificbiosciences_comPacBioBaseDataModel_xsdValue', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 793, 3), )
+    __Value = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Value'), 'Value', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_MapItemType_httppacificbiosciences_comPacBioBaseDataModel_xsdValue', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 873, 3), )
 
     
     Value = property(__Value.value, __Value.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Description uses Python identifier Description
-    __Description = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Description'), 'Description', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_MapItemType_httppacificbiosciences_comPacBioBaseDataModel_xsdDescription', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 794, 3), )
+    __Description = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Description'), 'Description', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_MapItemType_httppacificbiosciences_comPacBioBaseDataModel_xsdDescription', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 874, 3), )
 
     
     Description = property(__Description.value, __Description.set, None, None)
@@ -920,6 +970,95 @@ class MapItemType (pyxb.binding.basis.complexTypeDefinition):
 Namespace.addCategoryObject('typeBinding', 'MapItemType', MapItemType)
 
 
+# Complex type {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DefaultsType with content type ELEMENT_ONLY
+class DefaultsType (pyxb.binding.basis.complexTypeDefinition):
+    """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"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'DefaultsType')
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 883, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AutomationParameters uses Python identifier AutomationParameters
+    __AutomationParameters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), 'AutomationParameters', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DefaultsType_httppacificbiosciences_comPacBioBaseDataModel_xsdAutomationParameters', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 888, 12), )
+
+    
+    AutomationParameters = property(__AutomationParameters.value, __AutomationParameters.set, None, None)
+
+    
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Filters uses Python identifier Filters
+    __Filters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filters'), 'Filters', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DefaultsType_httppacificbiosciences_comPacBioBaseDataModel_xsdFilters', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 895, 12), )
+
+    
+    Filters = property(__Filters.value, __Filters.set, None, None)
+
+    _ElementMap.update({
+        __AutomationParameters.name() : __AutomationParameters,
+        __Filters.name() : __Filters
+    })
+    _AttributeMap.update({
+        
+    })
+Namespace.addCategoryObject('typeBinding', 'DefaultsType', DefaultsType)
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_20 (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 889, 16)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AutomationParameter uses Python identifier AutomationParameter
+    __AutomationParameter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), 'AutomationParameter', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_20_httppacificbiosciences_comPacBioBaseDataModel_xsdAutomationParameter', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 329, 1), )
+
+    
+    AutomationParameter = property(__AutomationParameter.value, __AutomationParameter.set, None, 'One or more collection parameters, such as MovieLength, InsertSize, UseStageStart, IsControl, etc..')
+
+    _ElementMap.update({
+        __AutomationParameter.name() : __AutomationParameter
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_21 (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 896, 16)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Filter uses Python identifier Filter
+    __Filter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filter'), 'Filter', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_21_httppacificbiosciences_comPacBioBaseDataModel_xsdFilter', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 898, 24), )
+
+    
+    Filter = property(__Filter.value, __Filter.set, None, None)
+
+    _ElementMap.update({
+        __Filter.name() : __Filter
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
 # Complex type {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType with content type ELEMENT_ONLY
 class BaseEntityType (pyxb.binding.basis.complexTypeDefinition):
     """This is the base element type for all types in this data model"""
@@ -927,13 +1066,13 @@ class BaseEntityType (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'BaseEntityType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 81, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 83, 1)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions uses Python identifier Extensions
-    __Extensions = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Extensions'), 'Extensions', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_httppacificbiosciences_comPacBioBaseDataModel_xsdExtensions', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3), )
+    __Extensions = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Extensions'), 'Extensions', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_httppacificbiosciences_comPacBioBaseDataModel_xsdExtensions', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3), )
 
     
     Extensions = property(__Extensions.value, __Extensions.set, None, None)
@@ -941,64 +1080,64 @@ class BaseEntityType (pyxb.binding.basis.complexTypeDefinition):
     
     # Attribute Name uses Python identifier Name
     __Name = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Name'), 'Name', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_Name', pyxb.binding.datatypes.string)
-    __Name._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 94, 2)
-    __Name._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 94, 2)
+    __Name._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 96, 2)
+    __Name._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 96, 2)
     
     Name = property(__Name.value, __Name.set, None, 'A short text identifier; uniqueness not necessary')
 
     
     # Attribute Description uses Python identifier Description
     __Description = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Description'), 'Description', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_Description', pyxb.binding.datatypes.string)
-    __Description._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 99, 2)
-    __Description._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 99, 2)
+    __Description._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 101, 2)
+    __Description._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 101, 2)
     
     Description = property(__Description.value, __Description.set, None, 'A long text description of the object')
 
     
     # Attribute Tags uses Python identifier Tags
     __Tags = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Tags'), 'Tags', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_Tags', pyxb.binding.datatypes.string)
-    __Tags._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 104, 2)
-    __Tags._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 104, 2)
+    __Tags._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 106, 2)
+    __Tags._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 106, 2)
     
     Tags = property(__Tags.value, __Tags.set, None, 'A set of keywords assigned to the object to help describe it and allow it to be found via search')
 
     
     # Attribute Format uses Python identifier Format
     __Format = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Format'), 'Format', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_Format', pyxb.binding.datatypes.string)
-    __Format._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 109, 2)
-    __Format._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 109, 2)
+    __Format._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 111, 2)
+    __Format._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 111, 2)
     
     Format = property(__Format.value, __Format.set, None, 'Optional, but recommended.  The MIME-Type of the referenced file.  See http://www.iana.org/assignments/media-types/media-types.xhtml for examples')
 
     
     # Attribute ResourceId uses Python identifier ResourceId
     __ResourceId = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ResourceId'), 'ResourceId', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_ResourceId', pyxb.binding.datatypes.anyURI)
-    __ResourceId._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 114, 2)
-    __ResourceId._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 114, 2)
+    __ResourceId._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 116, 2)
+    __ResourceId._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 116, 2)
     
     ResourceId = property(__ResourceId.value, __ResourceId.set, None, 'A uniform resource identifier used to identify a "web" resource. e.g. svc://run/acquisition/alignment/gridding')
 
     
     # Attribute Version uses Python identifier Version
     __Version = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Version'), 'Version', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_Version', pyxb.binding.datatypes.string)
-    __Version._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 119, 2)
-    __Version._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 119, 2)
+    __Version._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 121, 2)
+    __Version._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 121, 2)
     
     Version = property(__Version.value, __Version.set, None, 'An optional identifier denoting the revision of this particular entity')
 
     
     # Attribute CreatedAt uses Python identifier CreatedAt
     __CreatedAt = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'CreatedAt'), 'CreatedAt', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_CreatedAt', STD_ANON)
-    __CreatedAt._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 124, 2)
-    __CreatedAt._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 124, 2)
+    __CreatedAt._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 126, 2)
+    __CreatedAt._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 126, 2)
     
     CreatedAt = property(__CreatedAt.value, __CreatedAt.set, None, 'Timestamp designating the creation of this object, relative to UTC; millisecond precision is expected.')
 
     
     # Attribute ModifiedAt uses Python identifier ModifiedAt
     __ModifiedAt = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ModifiedAt'), 'ModifiedAt', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_BaseEntityType_ModifiedAt', STD_ANON_)
-    __ModifiedAt._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 132, 2)
-    __ModifiedAt._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 132, 2)
+    __ModifiedAt._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 134, 2)
+    __ModifiedAt._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 134, 2)
     
     ModifiedAt = property(__ModifiedAt.value, __ModifiedAt.set, None, 'Timestamp designating the modification of this object, relative to UTC; millisecond precision is expected.')
 
@@ -1025,84 +1164,98 @@ class AnalogType (BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'AnalogType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 6, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 6, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Spectrum uses Python identifier Spectrum
-    __Spectrum = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Spectrum'), 'Spectrum', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdSpectrum', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 10, 5), )
+    __Spectrum = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Spectrum'), 'Spectrum', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdSpectrum', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 10, 5), )
 
     
     Spectrum = property(__Spectrum.value, __Spectrum.set, None, '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.')
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}RelativeAmplitude uses Python identifier RelativeAmplitude
-    __RelativeAmplitude = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude'), 'RelativeAmplitude', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdRelativeAmplitude', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 36, 5), )
+    __RelativeAmplitude = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude'), 'RelativeAmplitude', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdRelativeAmplitude', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 36, 5), )
 
     
     RelativeAmplitude = property(__RelativeAmplitude.value, __RelativeAmplitude.set, None, 'Relative intensity of emission vs. a reference analog using standardized metrology \u2013 e.g., relative to the amplitude of the \u201c542\u201d analog as measured by the mean DWS pkMid on the Astro instrument.')
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}IntraPulseXsnCV uses Python identifier IntraPulseXsnCV
-    __IntraPulseXsnCV = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV'), 'IntraPulseXsnCV', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdIntraPulseXsnCV', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 41, 5), )
+    __IntraPulseXsnCV = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV'), 'IntraPulseXsnCV', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdIntraPulseXsnCV', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 41, 5), )
 
     
     IntraPulseXsnCV = property(__IntraPulseXsnCV.value, __IntraPulseXsnCV.set, None, 'The 1-sigma fractional variation of the intra-pulse signal, independent of any Shot noise associated with that signal')
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}InterPulseXsnCV uses Python identifier InterPulseXsnCV
-    __InterPulseXsnCV = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV'), 'InterPulseXsnCV', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdInterPulseXsnCV', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 46, 5), )
+    __InterPulseXsnCV = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV'), 'InterPulseXsnCV', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdInterPulseXsnCV', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 46, 5), )
 
     
     InterPulseXsnCV = property(__InterPulseXsnCV.value, __InterPulseXsnCV.set, None, 'The 1-sigma fractional variation, pulse-to-pulse, of the mean signal level (i.e., the pkMid).')
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DiffusionXsnCV uses Python identifier DiffusionXsnCV
-    __DiffusionXsnCV = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV'), 'DiffusionXsnCV', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdDiffusionXsnCV', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 51, 5), )
+    __DiffusionXsnCV = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV'), 'DiffusionXsnCV', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdDiffusionXsnCV', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 51, 5), )
 
     
     DiffusionXsnCV = property(__DiffusionXsnCV.value, __DiffusionXsnCV.set, None, None)
 
     
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PulseWidthMeanSeconds uses Python identifier PulseWidthMeanSeconds
+    __PulseWidthMeanSeconds = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'PulseWidthMeanSeconds'), 'PulseWidthMeanSeconds', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdPulseWidthMeanSeconds', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 52, 20), )
+
+    
+    PulseWidthMeanSeconds = property(__PulseWidthMeanSeconds.value, __PulseWidthMeanSeconds.set, None, None)
+
+    
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}IpdMeanSeconds uses Python identifier IpdMeanSeconds
+    __IpdMeanSeconds = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'IpdMeanSeconds'), 'IpdMeanSeconds', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_httppacificbiosciences_comPacBioBaseDataModel_xsdIpdMeanSeconds', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 53, 20), )
+
+    
+    IpdMeanSeconds = property(__IpdMeanSeconds.value, __IpdMeanSeconds.set, None, None)
+
+    
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Base uses Python identifier Base
     __Base = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Base'), 'Base', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_Base', SupportedNucleotides)
-    __Base._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 53, 4)
-    __Base._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 53, 4)
+    __Base._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 55, 4)
+    __Base._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 55, 4)
     
     Base = property(__Base.value, __Base.set, None, 'The base label, A, C, T, or G')
 
     
     # Attribute Nucleotide uses Python identifier Nucleotide
     __Nucleotide = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Nucleotide'), 'Nucleotide', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_Nucleotide', pyxb.binding.datatypes.string)
-    __Nucleotide._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 58, 4)
-    __Nucleotide._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 58, 4)
+    __Nucleotide._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 60, 4)
+    __Nucleotide._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 60, 4)
     
     Nucleotide = property(__Nucleotide.value, __Nucleotide.set, None, 'The type and number of nucleotides on a given analog. e.g. (dT6P)6')
 
     
     # Attribute Wavelength uses Python identifier Wavelength
     __Wavelength = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Wavelength'), 'Wavelength', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_Wavelength', pyxb.binding.datatypes.float)
-    __Wavelength._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 63, 4)
-    __Wavelength._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 63, 4)
+    __Wavelength._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 65, 4)
+    __Wavelength._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 65, 4)
     
     Wavelength = property(__Wavelength.value, __Wavelength.set, None, 'The peak emission wavelength associated with the dye label in nm.')
 
     
     # Attribute CompoundID uses Python identifier CompoundID
     __CompoundID = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'CompoundID'), 'CompoundID', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_CompoundID', pyxb.binding.datatypes.string)
-    __CompoundID._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 68, 4)
-    __CompoundID._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 68, 4)
+    __CompoundID._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 70, 4)
+    __CompoundID._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 70, 4)
     
     CompoundID = property(__CompoundID.value, __CompoundID.set, None, 'Identification code of the final compound.  The suffix \u2018N\u2019 should be used to distinguish these values from enzyme identifiers.\te.g. 5031N')
 
     
     # Attribute LotID uses Python identifier LotID
     __LotID = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'LotID'), 'LotID', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AnalogType_LotID', pyxb.binding.datatypes.string)
-    __LotID._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 73, 4)
-    __LotID._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 73, 4)
+    __LotID._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 75, 4)
+    __LotID._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 75, 4)
     
     LotID = property(__LotID.value, __LotID.set, None, 'Identification code for the build of the final compound, written as initials/date, where date is written as YYYY-MM-DD.\te.g. js/2014-06-30')
 
@@ -1127,7 +1280,9 @@ class AnalogType (BaseEntityType):
         __RelativeAmplitude.name() : __RelativeAmplitude,
         __IntraPulseXsnCV.name() : __IntraPulseXsnCV,
         __InterPulseXsnCV.name() : __InterPulseXsnCV,
-        __DiffusionXsnCV.name() : __DiffusionXsnCV
+        __DiffusionXsnCV.name() : __DiffusionXsnCV,
+        __PulseWidthMeanSeconds.name() : __PulseWidthMeanSeconds,
+        __IpdMeanSeconds.name() : __IpdMeanSeconds
     })
     _AttributeMap.update({
         __Base.name() : __Base,
@@ -1146,7 +1301,7 @@ class StrictEntityType (BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'StrictEntityType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 141, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 143, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
@@ -1171,24 +1326,24 @@ class StrictEntityType (BaseEntityType):
     
     # Attribute UniqueId uses Python identifier UniqueId
     __UniqueId = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'UniqueId'), 'UniqueId', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StrictEntityType_UniqueId', STD_ANON_2, required=True)
-    __UniqueId._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 147, 4)
-    __UniqueId._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 147, 4)
+    __UniqueId._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 149, 4)
+    __UniqueId._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 149, 4)
     
     UniqueId = property(__UniqueId.value, __UniqueId.set, None, 'A unique identifier, such as a GUID - likely autogenerated')
 
     
     # Attribute MetaType uses Python identifier MetaType
     __MetaType = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MetaType'), 'MetaType', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StrictEntityType_MetaType', pyxb.binding.datatypes.string, required=True)
-    __MetaType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 157, 4)
-    __MetaType._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 157, 4)
+    __MetaType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 159, 4)
+    __MetaType._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 159, 4)
     
     MetaType = property(__MetaType.value, __MetaType.set, None, '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.')
 
     
     # Attribute TimeStampedName uses Python identifier TimeStampedName
     __TimeStampedName = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'TimeStampedName'), 'TimeStampedName', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StrictEntityType_TimeStampedName', pyxb.binding.datatypes.string, required=True)
-    __TimeStampedName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 162, 4)
-    __TimeStampedName._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 162, 4)
+    __TimeStampedName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 164, 4)
+    __TimeStampedName._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 164, 4)
     
     TimeStampedName = property(__TimeStampedName.value, __TimeStampedName.set, None, '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')
 
@@ -1210,22 +1365,15 @@ class DataEntityType (BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'DataEntityType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 181, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 183, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue uses Python identifier EncodedValue
-    __EncodedValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue'), 'EncodedValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DataEntityType_httppacificbiosciences_comPacBioBaseDataModel_xsdEncodedValue', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5), )
-
-    
-    EncodedValue = property(__EncodedValue.value, __EncodedValue.set, None, 'A complex data type element, such as an image, file, binary object, etc.')
-
-    
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum uses Python identifier CheckSum
-    __CheckSum = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CheckSum'), 'CheckSum', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DataEntityType_httppacificbiosciences_comPacBioBaseDataModel_xsdCheckSum', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5), )
+    __CheckSum = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CheckSum'), 'CheckSum', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DataEntityType_httppacificbiosciences_comPacBioBaseDataModel_xsdCheckSum', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5), )
 
     
     CheckSum = property(__CheckSum.value, __CheckSum.set, None, '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')
@@ -1249,37 +1397,36 @@ class DataEntityType (BaseEntityType):
     
     # Attribute ValueDataType uses Python identifier ValueDataType
     __ValueDataType = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ValueDataType'), 'ValueDataType', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DataEntityType_ValueDataType', SupportedDataTypes, unicode_default='Object')
-    __ValueDataType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 199, 4)
-    __ValueDataType._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 199, 4)
+    __ValueDataType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 201, 4)
+    __ValueDataType._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 201, 4)
     
     ValueDataType = property(__ValueDataType.value, __ValueDataType.set, None, 'The datatype of the simple or encoded value.  If not specified, a string is assumed.')
 
     
     # Attribute SimpleValue uses Python identifier SimpleValue
     __SimpleValue = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SimpleValue'), 'SimpleValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DataEntityType_SimpleValue', pyxb.binding.datatypes.anySimpleType)
-    __SimpleValue._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 204, 4)
-    __SimpleValue._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 204, 4)
+    __SimpleValue._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 206, 4)
+    __SimpleValue._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 206, 4)
     
     SimpleValue = property(__SimpleValue.value, __SimpleValue.set, None, 'A simple data type element, such as a string, int, float, etc.')
 
     
     # Attribute MetaType uses Python identifier MetaType
     __MetaType = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MetaType'), 'MetaType', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DataEntityType_MetaType', pyxb.binding.datatypes.string)
-    __MetaType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 209, 4)
-    __MetaType._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 209, 4)
+    __MetaType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 211, 4)
+    __MetaType._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 211, 4)
     
     MetaType = property(__MetaType.value, __MetaType.set, None, '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.')
 
     
     # Attribute TimeStampedName uses Python identifier TimeStampedName
     __TimeStampedName = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'TimeStampedName'), 'TimeStampedName', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DataEntityType_TimeStampedName', pyxb.binding.datatypes.string)
-    __TimeStampedName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 214, 4)
-    __TimeStampedName._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 214, 4)
+    __TimeStampedName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 216, 4)
+    __TimeStampedName._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 216, 4)
     
     TimeStampedName = property(__TimeStampedName.value, __TimeStampedName.set, None, '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')
 
     _ElementMap.update({
-        __EncodedValue.name() : __EncodedValue,
         __CheckSum.name() : __CheckSum
     })
     _AttributeMap.update({
@@ -1298,7 +1445,7 @@ class DNABarcode (BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'DNABarcode')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 232, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 234, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
@@ -1323,8 +1470,8 @@ class DNABarcode (BaseEntityType):
     
     # Attribute DNASequence uses Python identifier DNASequence
     __DNASequence = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'DNASequence'), 'DNASequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_DNABarcode_DNASequence', pyxb.binding.datatypes.anySimpleType)
-    __DNASequence._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 238, 4)
-    __DNASequence._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 238, 4)
+    __DNASequence._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 240, 4)
+    __DNASequence._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 240, 4)
     
     DNASequence = property(__DNASequence.value, __DNASequence.set, None, "This is the sample's DNA barcode")
 
@@ -1344,7 +1491,7 @@ class AutomationType (BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'AutomationType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 291, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 293, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
@@ -1352,12 +1499,19 @@ class AutomationType (BaseEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AutomationParameters uses Python identifier AutomationParameters
-    __AutomationParameters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), 'AutomationParameters', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationType_httppacificbiosciences_comPacBioBaseDataModel_xsdAutomationParameters', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 295, 5), )
+    __AutomationParameters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), 'AutomationParameters', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationType_httppacificbiosciences_comPacBioBaseDataModel_xsdAutomationParameters', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 297, 5), )
 
     
     AutomationParameters = property(__AutomationParameters.value, __AutomationParameters.set, None, None)
 
     
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults uses Python identifier Defaults
+    __Defaults = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Defaults'), 'Defaults', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationType_httppacificbiosciences_comPacBioBaseDataModel_xsdDefaults', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 878, 4), )
+
+    
+    Defaults = property(__Defaults.value, __Defaults.set, None, 'Default paramaters and filters which may be applied to PartNumber types in order to constrain them via parameterization')
+
+    
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -1376,34 +1530,44 @@ class AutomationType (BaseEntityType):
     
     # Attribute PartNumber uses Python identifier PartNumber
     __PartNumber = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'PartNumber'), 'PartNumber', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationType_PartNumber', pyxb.binding.datatypes.string)
-    __PartNumber._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 303, 4)
-    __PartNumber._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 303, 4)
+    __PartNumber._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 306, 4)
+    __PartNumber._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 306, 4)
     
     PartNumber = property(__PartNumber.value, __PartNumber.set, None, 'Defines a part number, mainly for use in defining incompatibility with other PB kit PNs, if necessary')
 
     
     # Attribute IsRestricted uses Python identifier IsRestricted
     __IsRestricted = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'IsRestricted'), 'IsRestricted', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationType_IsRestricted', pyxb.binding.datatypes.boolean, unicode_default='false')
-    __IsRestricted._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 308, 4)
-    __IsRestricted._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 308, 4)
+    __IsRestricted._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 311, 4)
+    __IsRestricted._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 311, 4)
     
     IsRestricted = property(__IsRestricted.value, __IsRestricted.set, None, 'Allows for an automation to be marked for internal use or by admin users only')
 
     
     # Attribute IsObsolete uses Python identifier IsObsolete
     __IsObsolete = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'IsObsolete'), 'IsObsolete', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationType_IsObsolete', pyxb.binding.datatypes.boolean, unicode_default='false')
-    __IsObsolete._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 313, 4)
-    __IsObsolete._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 313, 4)
+    __IsObsolete._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 316, 4)
+    __IsObsolete._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 316, 4)
     
     IsObsolete = property(__IsObsolete.value, __IsObsolete.set, None, 'Allows for an automation to be marked as obsolete')
 
+    
+    # Attribute IsDefault uses Python identifier IsDefault
+    __IsDefault = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'IsDefault'), 'IsDefault', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationType_IsDefault', pyxb.binding.datatypes.boolean, unicode_default='false')
+    __IsDefault._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 321, 4)
+    __IsDefault._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 321, 4)
+    
+    IsDefault = property(__IsDefault.value, __IsDefault.set, None, "Allows for an automation to be marked as a default for a kit with which it's compatible")
+
     _ElementMap.update({
-        __AutomationParameters.name() : __AutomationParameters
+        __AutomationParameters.name() : __AutomationParameters,
+        __Defaults.name() : __Defaults
     })
     _AttributeMap.update({
         __PartNumber.name() : __PartNumber,
         __IsRestricted.name() : __IsRestricted,
-        __IsObsolete.name() : __IsObsolete
+        __IsObsolete.name() : __IsObsolete,
+        __IsDefault.name() : __IsDefault
     })
 Namespace.addCategoryObject('typeBinding', 'AutomationType', AutomationType)
 
@@ -1417,7 +1581,7 @@ By default, any PN is compatible for use with other PNs in the system.  In order
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'IncompatiblePairType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 326, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 334, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
@@ -1442,16 +1606,16 @@ By default, any PN is compatible for use with other PNs in the system.  In order
     
     # Attribute PartA uses Python identifier PartA
     __PartA = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'PartA'), 'PartA', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_IncompatiblePairType_PartA', pyxb.binding.datatypes.string, required=True)
-    __PartA._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 334, 4)
-    __PartA._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 334, 4)
+    __PartA._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 342, 4)
+    __PartA._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 342, 4)
     
     PartA = property(__PartA.value, __PartA.set, None, "An automation or kit Part Number that's incompatible with Part Number B")
 
     
     # Attribute PartB uses Python identifier PartB
     __PartB = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'PartB'), 'PartB', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_IncompatiblePairType_PartB', pyxb.binding.datatypes.string, required=True)
-    __PartB._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 339, 4)
-    __PartB._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 339, 4)
+    __PartB._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 347, 4)
+    __PartB._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 347, 4)
     
     PartB = property(__PartB.value, __PartB.set, None, "An automation or kit Part Number that's incompatible with Part Number A")
 
@@ -1465,14 +1629,121 @@ By default, any PN is compatible for use with other PNs in the system.  In order
 Namespace.addCategoryObject('typeBinding', 'IncompatiblePairType', IncompatiblePairType)
 
 
+# Complex type {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AutomationConstraintType with content type ELEMENT_ONLY
+class AutomationConstraintType (BaseEntityType):
+    """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."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'AutomationConstraintType')
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 355, 1)
+    _ElementMap = BaseEntityType._ElementMap.copy()
+    _AttributeMap = BaseEntityType._AttributeMap.copy()
+    # Base type is BaseEntityType
+    
+    # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Automations uses Python identifier Automations
+    __Automations = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Automations'), 'Automations', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationConstraintType_httppacificbiosciences_comPacBioBaseDataModel_xsdAutomations', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 362, 5), )
+
+    
+    Automations = property(__Automations.value, __Automations.set, None, 'Names of automations that are all similarly constrained')
+
+    
+    # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Tags inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Format inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ResourceId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Version inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute CreatedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ModifiedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute SupportsCellReuse uses Python identifier SupportsCellReuse
+    __SupportsCellReuse = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SupportsCellReuse'), 'SupportsCellReuse', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationConstraintType_SupportsCellReuse', pyxb.binding.datatypes.boolean)
+    __SupportsCellReuse._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 373, 4)
+    __SupportsCellReuse._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 373, 4)
+    
+    SupportsCellReuse = property(__SupportsCellReuse.value, __SupportsCellReuse.set, None, 'Does this automation support cell reuse?')
+
+    
+    # Attribute SupportsStageStart uses Python identifier SupportsStageStart
+    __SupportsStageStart = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SupportsStageStart'), 'SupportsStageStart', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationConstraintType_SupportsStageStart', pyxb.binding.datatypes.boolean)
+    __SupportsStageStart._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 378, 4)
+    __SupportsStageStart._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 378, 4)
+    
+    SupportsStageStart = property(__SupportsStageStart.value, __SupportsStageStart.set, None, 'Does this automation support hot-start on the stage?')
+
+    
+    # Attribute MaxCollectionsPerCell uses Python identifier MaxCollectionsPerCell
+    __MaxCollectionsPerCell = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MaxCollectionsPerCell'), 'MaxCollectionsPerCell', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationConstraintType_MaxCollectionsPerCell', pyxb.binding.datatypes.int)
+    __MaxCollectionsPerCell._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 383, 4)
+    __MaxCollectionsPerCell._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 383, 4)
+    
+    MaxCollectionsPerCell = property(__MaxCollectionsPerCell.value, __MaxCollectionsPerCell.set, None, 'If cell reuse is supported (i.e. above attribute is true) how many times can the cell be reused?')
+
+    
+    # Attribute MinMovieLength uses Python identifier MinMovieLength
+    __MinMovieLength = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MinMovieLength'), 'MinMovieLength', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationConstraintType_MinMovieLength', pyxb.binding.datatypes.int)
+    __MinMovieLength._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 388, 4)
+    __MinMovieLength._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 388, 4)
+    
+    MinMovieLength = property(__MinMovieLength.value, __MinMovieLength.set, None, 'Minimum length of movie acquisition')
+
+    
+    # Attribute MaxMovieLength uses Python identifier MaxMovieLength
+    __MaxMovieLength = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MaxMovieLength'), 'MaxMovieLength', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationConstraintType_MaxMovieLength', pyxb.binding.datatypes.int)
+    __MaxMovieLength._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 393, 4)
+    __MaxMovieLength._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 393, 4)
+    
+    MaxMovieLength = property(__MaxMovieLength.value, __MaxMovieLength.set, None, 'Maximum length of movie acquisition')
+
+    
+    # Attribute MinInsertSize uses Python identifier MinInsertSize
+    __MinInsertSize = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MinInsertSize'), 'MinInsertSize', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationConstraintType_MinInsertSize', pyxb.binding.datatypes.int)
+    __MinInsertSize._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 398, 4)
+    __MinInsertSize._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 398, 4)
+    
+    MinInsertSize = property(__MinInsertSize.value, __MinInsertSize.set, None, 'Minimum recommended insert size')
+
+    
+    # Attribute MaxInsertSize uses Python identifier MaxInsertSize
+    __MaxInsertSize = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MaxInsertSize'), 'MaxInsertSize', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_AutomationConstraintType_MaxInsertSize', pyxb.binding.datatypes.int)
+    __MaxInsertSize._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 403, 4)
+    __MaxInsertSize._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 403, 4)
+    
+    MaxInsertSize = property(__MaxInsertSize.value, __MaxInsertSize.set, None, 'Maximum recommended insert size')
+
+    _ElementMap.update({
+        __Automations.name() : __Automations
+    })
+    _AttributeMap.update({
+        __SupportsCellReuse.name() : __SupportsCellReuse,
+        __SupportsStageStart.name() : __SupportsStageStart,
+        __MaxCollectionsPerCell.name() : __MaxCollectionsPerCell,
+        __MinMovieLength.name() : __MinMovieLength,
+        __MaxMovieLength.name() : __MaxMovieLength,
+        __MinInsertSize.name() : __MinInsertSize,
+        __MaxInsertSize.name() : __MaxInsertSize
+    })
+Namespace.addCategoryObject('typeBinding', 'AutomationConstraintType', AutomationConstraintType)
+
+
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_19 (BaseEntityType):
+class CTD_ANON_22 (BaseEntityType):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 402, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 469, 6)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
@@ -1480,7 +1751,7 @@ class CTD_ANON_19 (BaseEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Analogs uses Python identifier Analogs
-    __Analogs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Analogs'), 'Analogs', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_19_httppacificbiosciences_comPacBioBaseDataModel_xsdAnalogs', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 406, 10), )
+    __Analogs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Analogs'), 'Analogs', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_CTD_ANON_22_httppacificbiosciences_comPacBioBaseDataModel_xsdAnalogs', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 473, 10), )
 
     
     Analogs = property(__Analogs.value, __Analogs.set, None, None)
@@ -1517,7 +1788,7 @@ class StatsContinuousDistType (BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'StatsContinuousDistType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 463, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 535, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
@@ -1525,91 +1796,91 @@ class StatsContinuousDistType (BaseEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}SampleSize uses Python identifier SampleSize
-    __SampleSize = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleSize'), 'SampleSize', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSampleSize', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 470, 5), )
+    __SampleSize = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleSize'), 'SampleSize', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSampleSize', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 542, 5), )
 
     
     SampleSize = property(__SampleSize.value, __SampleSize.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}SampleMean uses Python identifier SampleMean
-    __SampleMean = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleMean'), 'SampleMean', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSampleMean', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 471, 5), )
+    __SampleMean = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleMean'), 'SampleMean', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSampleMean', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 543, 5), )
 
     
     SampleMean = property(__SampleMean.value, __SampleMean.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}SampleMed uses Python identifier SampleMed
-    __SampleMed = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleMed'), 'SampleMed', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSampleMed', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 472, 5), )
+    __SampleMed = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleMed'), 'SampleMed', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSampleMed', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 544, 5), )
 
     
     SampleMed = property(__SampleMed.value, __SampleMed.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}SampleStd uses Python identifier SampleStd
-    __SampleStd = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleStd'), 'SampleStd', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSampleStd', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 473, 5), )
+    __SampleStd = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleStd'), 'SampleStd', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSampleStd', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 545, 5), )
 
     
     SampleStd = property(__SampleStd.value, __SampleStd.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Sample95thPct uses Python identifier Sample95thPct
-    __Sample95thPct = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Sample95thPct'), 'Sample95thPct', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSample95thPct', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 474, 5), )
+    __Sample95thPct = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Sample95thPct'), 'Sample95thPct', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdSample95thPct', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 546, 5), )
 
     
     Sample95thPct = property(__Sample95thPct.value, __Sample95thPct.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}NumBins uses Python identifier NumBins
-    __NumBins = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'NumBins'), 'NumBins', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdNumBins', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 475, 5), )
+    __NumBins = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'NumBins'), 'NumBins', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdNumBins', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 547, 5), )
 
     
     NumBins = property(__NumBins.value, __NumBins.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BinCounts uses Python identifier BinCounts
-    __BinCounts = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinCounts'), 'BinCounts', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdBinCounts', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 476, 5), )
+    __BinCounts = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinCounts'), 'BinCounts', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdBinCounts', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 548, 5), )
 
     
     BinCounts = property(__BinCounts.value, __BinCounts.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BinWidth uses Python identifier BinWidth
-    __BinWidth = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinWidth'), 'BinWidth', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdBinWidth', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 483, 5), )
+    __BinWidth = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinWidth'), 'BinWidth', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdBinWidth', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 555, 5), )
 
     
     BinWidth = property(__BinWidth.value, __BinWidth.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}MinOutlierValue uses Python identifier MinOutlierValue
-    __MinOutlierValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MinOutlierValue'), 'MinOutlierValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMinOutlierValue', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 484, 5), )
+    __MinOutlierValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MinOutlierValue'), 'MinOutlierValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMinOutlierValue', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 556, 5), )
 
     
     MinOutlierValue = property(__MinOutlierValue.value, __MinOutlierValue.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}MinBinValue uses Python identifier MinBinValue
-    __MinBinValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MinBinValue'), 'MinBinValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMinBinValue', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 485, 5), )
+    __MinBinValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MinBinValue'), 'MinBinValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMinBinValue', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 557, 5), )
 
     
     MinBinValue = property(__MinBinValue.value, __MinBinValue.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}MaxBinValue uses Python identifier MaxBinValue
-    __MaxBinValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MaxBinValue'), 'MaxBinValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMaxBinValue', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 486, 5), )
+    __MaxBinValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MaxBinValue'), 'MaxBinValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMaxBinValue', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 558, 5), )
 
     
     MaxBinValue = property(__MaxBinValue.value, __MaxBinValue.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}MaxOutlierValue uses Python identifier MaxOutlierValue
-    __MaxOutlierValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MaxOutlierValue'), 'MaxOutlierValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMaxOutlierValue', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 487, 5), )
+    __MaxOutlierValue = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MaxOutlierValue'), 'MaxOutlierValue', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMaxOutlierValue', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 559, 5), )
 
     
     MaxOutlierValue = property(__MaxOutlierValue.value, __MaxOutlierValue.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}MetricDescription uses Python identifier MetricDescription
-    __MetricDescription = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription'), 'MetricDescription', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMetricDescription', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 488, 5), )
+    __MetricDescription = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription'), 'MetricDescription', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMetricDescription', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 560, 5), )
 
     
     MetricDescription = property(__MetricDescription.value, __MetricDescription.set, None, None)
@@ -1633,8 +1904,8 @@ class StatsContinuousDistType (BaseEntityType):
     
     # Attribute Channel uses Python identifier Channel
     __Channel = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Channel'), 'Channel', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsContinuousDistType_Channel', pyxb.binding.datatypes.string)
-    __Channel._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 490, 4)
-    __Channel._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 490, 4)
+    __Channel._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 562, 4)
+    __Channel._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 562, 4)
     
     Channel = property(__Channel.value, __Channel.set, None, None)
 
@@ -1666,7 +1937,7 @@ class StatsDiscreteDistType (BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'StatsDiscreteDistType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 494, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 566, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
@@ -1674,28 +1945,28 @@ class StatsDiscreteDistType (BaseEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}NumBins uses Python identifier NumBins
-    __NumBins = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'NumBins'), 'NumBins', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsDiscreteDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdNumBins', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 501, 5), )
+    __NumBins = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'NumBins'), 'NumBins', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsDiscreteDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdNumBins', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 573, 5), )
 
     
     NumBins = property(__NumBins.value, __NumBins.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BinCounts uses Python identifier BinCounts
-    __BinCounts = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinCounts'), 'BinCounts', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsDiscreteDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdBinCounts', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 502, 5), )
+    __BinCounts = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinCounts'), 'BinCounts', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsDiscreteDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdBinCounts', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 574, 5), )
 
     
     BinCounts = property(__BinCounts.value, __BinCounts.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}MetricDescription uses Python identifier MetricDescription
-    __MetricDescription = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription'), 'MetricDescription', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsDiscreteDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMetricDescription', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 509, 5), )
+    __MetricDescription = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription'), 'MetricDescription', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsDiscreteDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdMetricDescription', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 581, 5), )
 
     
     MetricDescription = property(__MetricDescription.value, __MetricDescription.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BinLabels uses Python identifier BinLabels
-    __BinLabels = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinLabels'), 'BinLabels', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsDiscreteDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdBinLabels', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 510, 5), )
+    __BinLabels = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BinLabels'), 'BinLabels', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsDiscreteDistType_httppacificbiosciences_comPacBioBaseDataModel_xsdBinLabels', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 582, 5), )
 
     
     BinLabels = property(__BinLabels.value, __BinLabels.set, None, None)
@@ -1735,7 +2006,7 @@ class StatsTimeSeriesType (BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'StatsTimeSeriesType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 521, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 593, 1)
     _ElementMap = BaseEntityType._ElementMap.copy()
     _AttributeMap = BaseEntityType._AttributeMap.copy()
     # Base type is BaseEntityType
@@ -1743,35 +2014,35 @@ class StatsTimeSeriesType (BaseEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}TimeUnits uses Python identifier TimeUnits
-    __TimeUnits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TimeUnits'), 'TimeUnits', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdTimeUnits', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 528, 5), )
+    __TimeUnits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TimeUnits'), 'TimeUnits', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdTimeUnits', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 600, 5), )
 
     
     TimeUnits = property(__TimeUnits.value, __TimeUnits.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ValueUnits uses Python identifier ValueUnits
-    __ValueUnits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ValueUnits'), 'ValueUnits', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdValueUnits', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 529, 5), )
+    __ValueUnits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ValueUnits'), 'ValueUnits', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdValueUnits', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 601, 5), )
 
     
     ValueUnits = property(__ValueUnits.value, __ValueUnits.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StartTime uses Python identifier StartTime
-    __StartTime = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'StartTime'), 'StartTime', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdStartTime', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 530, 5), )
+    __StartTime = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'StartTime'), 'StartTime', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdStartTime', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 602, 5), )
 
     
     StartTime = property(__StartTime.value, __StartTime.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}MeasInterval uses Python identifier MeasInterval
-    __MeasInterval = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MeasInterval'), 'MeasInterval', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdMeasInterval', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 531, 5), )
+    __MeasInterval = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MeasInterval'), 'MeasInterval', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdMeasInterval', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 603, 5), )
 
     
     MeasInterval = property(__MeasInterval.value, __MeasInterval.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Values uses Python identifier Values
-    __Values = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Values'), 'Values', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdValues', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 532, 5), )
+    __Values = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Values'), 'Values', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_StatsTimeSeriesType_httppacificbiosciences_comPacBioBaseDataModel_xsdValues', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 604, 5), )
 
     
     Values = property(__Values.value, __Values.set, None, None)
@@ -1806,13 +2077,13 @@ Namespace.addCategoryObject('typeBinding', 'StatsTimeSeriesType', StatsTimeSerie
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_20 (AnalogType):
+class CTD_ANON_23 (AnalogType):
     """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"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 174, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 176, 2)
     _ElementMap = AnalogType._ElementMap.copy()
     _AttributeMap = AnalogType._AttributeMap.copy()
     # Base type is AnalogType
@@ -1827,6 +2098,10 @@ class CTD_ANON_20 (AnalogType):
     
     # Element DiffusionXsnCV ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DiffusionXsnCV) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AnalogType
     
+    # Element PulseWidthMeanSeconds ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PulseWidthMeanSeconds) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AnalogType
+    
+    # Element IpdMeanSeconds ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}IpdMeanSeconds) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AnalogType
+    
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Base inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AnalogType
@@ -1864,13 +2139,13 @@ class CTD_ANON_20 (AnalogType):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_21 (AnalogType):
+class CTD_ANON_24 (AnalogType):
     """A set of four analogs, one for each of the nucleotides, grouped together for the purposes of a single experiment."""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 250, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 252, 2)
     _ElementMap = AnalogType._ElementMap.copy()
     _AttributeMap = AnalogType._AttributeMap.copy()
     # Base type is AnalogType
@@ -1885,6 +2160,10 @@ class CTD_ANON_21 (AnalogType):
     
     # Element DiffusionXsnCV ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DiffusionXsnCV) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AnalogType
     
+    # Element PulseWidthMeanSeconds ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PulseWidthMeanSeconds) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AnalogType
+    
+    # Element IpdMeanSeconds ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}IpdMeanSeconds) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AnalogType
+    
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Base inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}AnalogType
@@ -1928,7 +2207,7 @@ class InputOutputDataType (StrictEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'InputOutputDataType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 266, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 268, 1)
     _ElementMap = StrictEntityType._ElementMap.copy()
     _AttributeMap = StrictEntityType._AttributeMap.copy()
     # Base type is StrictEntityType
@@ -1974,17 +2253,22 @@ If the part number has an NFC associated with it, the contents of the NFC may be
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'PartNumberType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 347, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 411, 1)
     _ElementMap = DataEntityType._ElementMap.copy()
     _AttributeMap = DataEntityType._AttributeMap.copy()
     # Base type is DataEntityType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults uses Python identifier Defaults
+    __Defaults = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Defaults'), 'Defaults', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_PartNumberType_httppacificbiosciences_comPacBioBaseDataModel_xsdDefaults', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 878, 4), )
+
+    
+    Defaults = property(__Defaults.value, __Defaults.set, None, 'Default paramaters and filters which may be applied to PartNumber types in order to constrain them via parameterization')
+
+    
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -2011,53 +2295,53 @@ If the part number has an NFC associated with it, the contents of the NFC may be
     
     # Attribute PartNumber uses Python identifier PartNumber
     __PartNumber = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'PartNumber'), 'PartNumber', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_PartNumberType_PartNumber', pyxb.binding.datatypes.string)
-    __PartNumber._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 355, 4)
-    __PartNumber._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 355, 4)
+    __PartNumber._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 422, 4)
+    __PartNumber._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 422, 4)
     
     PartNumber = property(__PartNumber.value, __PartNumber.set, None, 'The kit part number')
 
     
     # Attribute LotNumber uses Python identifier LotNumber
     __LotNumber = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'LotNumber'), 'LotNumber', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_PartNumberType_LotNumber', pyxb.binding.datatypes.string)
-    __LotNumber._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 360, 4)
-    __LotNumber._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 360, 4)
+    __LotNumber._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 427, 4)
+    __LotNumber._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 427, 4)
     
     LotNumber = property(__LotNumber.value, __LotNumber.set, None, 'The kit lot number')
 
     
     # Attribute Barcode uses Python identifier Barcode
     __Barcode = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Barcode'), 'Barcode', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_PartNumberType_Barcode', pyxb.binding.datatypes.string)
-    __Barcode._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 365, 4)
-    __Barcode._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 365, 4)
+    __Barcode._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 432, 4)
+    __Barcode._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 432, 4)
     
     Barcode = property(__Barcode.value, __Barcode.set, None, 'The kit barcode; used for tracking purposes.')
 
     
     # Attribute ExpirationDate uses Python identifier ExpirationDate
     __ExpirationDate = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ExpirationDate'), 'ExpirationDate', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_PartNumberType_ExpirationDate', pyxb.binding.datatypes.date)
-    __ExpirationDate._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 370, 4)
-    __ExpirationDate._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 370, 4)
+    __ExpirationDate._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 437, 4)
+    __ExpirationDate._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 437, 4)
     
     ExpirationDate = property(__ExpirationDate.value, __ExpirationDate.set, None, "The kit's shelf life")
 
     
     # Attribute IsObsolete uses Python identifier IsObsolete
     __IsObsolete = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'IsObsolete'), 'IsObsolete', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_PartNumberType_IsObsolete', pyxb.binding.datatypes.boolean, unicode_default='false')
-    __IsObsolete._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 375, 4)
-    __IsObsolete._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 375, 4)
+    __IsObsolete._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 442, 4)
+    __IsObsolete._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 442, 4)
     
     IsObsolete = property(__IsObsolete.value, __IsObsolete.set, None, None)
 
     
     # Attribute IsRestricted uses Python identifier IsRestricted
     __IsRestricted = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'IsRestricted'), 'IsRestricted', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_PartNumberType_IsRestricted', pyxb.binding.datatypes.boolean, unicode_default='false')
-    __IsRestricted._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 376, 4)
-    __IsRestricted._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 376, 4)
+    __IsRestricted._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 443, 4)
+    __IsRestricted._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 443, 4)
     
     IsRestricted = property(__IsRestricted.value, __IsRestricted.set, None, None)
 
     _ElementMap.update({
-        
+        __Defaults.name() : __Defaults
     })
     _AttributeMap.update({
         __PartNumber.name() : __PartNumber,
@@ -2077,15 +2361,13 @@ class RecordedEventType (DataEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'RecordedEventType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 380, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 447, 1)
     _ElementMap = DataEntityType._ElementMap.copy()
     _AttributeMap = DataEntityType._AttributeMap.copy()
     # Base type is DataEntityType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -2114,8 +2396,8 @@ class RecordedEventType (DataEntityType):
     
     # Attribute Context uses Python identifier Context
     __Context = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Context'), 'Context', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_RecordedEventType_Context', pyxb.binding.datatypes.string)
-    __Context._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 386, 4)
-    __Context._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 386, 4)
+    __Context._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 453, 4)
+    __Context._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 453, 4)
     
     Context = property(__Context.value, __Context.set, None, 'The part of the system in effect when the event was recorded')
 
@@ -2135,19 +2417,17 @@ class SequencingChemistry (DataEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SequencingChemistry')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 394, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 461, 1)
     _ElementMap = DataEntityType._ElementMap.copy()
     _AttributeMap = DataEntityType._AttributeMap.copy()
     # Base type is DataEntityType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DyeSet uses Python identifier DyeSet
-    __DyeSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DyeSet'), 'DyeSet', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistry_httppacificbiosciences_comPacBioBaseDataModel_xsdDyeSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 401, 5), )
+    __DyeSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DyeSet'), 'DyeSet', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistry_httppacificbiosciences_comPacBioBaseDataModel_xsdDyeSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 468, 5), )
 
     
     DyeSet = property(__DyeSet.value, __DyeSet.set, None, None)
@@ -2192,33 +2472,38 @@ class SequencingChemistryConfig (DataEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SequencingChemistryConfig')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 432, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 499, 1)
     _ElementMap = DataEntityType._ElementMap.copy()
     _AttributeMap = DataEntityType._AttributeMap.copy()
     # Base type is DataEntityType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Analogs uses Python identifier Analogs
-    __Analogs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Analogs'), 'Analogs', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistryConfig_httppacificbiosciences_comPacBioBaseDataModel_xsdAnalogs', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 439, 5), )
+    __Analogs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Analogs'), 'Analogs', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistryConfig_httppacificbiosciences_comPacBioBaseDataModel_xsdAnalogs', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 506, 5), )
 
     
     Analogs = property(__Analogs.value, __Analogs.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DefaultLaserSetPoint uses Python identifier DefaultLaserSetPoint
-    __DefaultLaserSetPoint = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DefaultLaserSetPoint'), 'DefaultLaserSetPoint', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistryConfig_httppacificbiosciences_comPacBioBaseDataModel_xsdDefaultLaserSetPoint', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 446, 5), )
+    __DefaultLaserSetPoint = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DefaultLaserSetPoint'), 'DefaultLaserSetPoint', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistryConfig_httppacificbiosciences_comPacBioBaseDataModel_xsdDefaultLaserSetPoint', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 513, 5), )
 
     
     DefaultLaserSetPoint = property(__DefaultLaserSetPoint.value, __DefaultLaserSetPoint.set, None, "The laser power at the input couple, needed to achieve predefined performance requirements based on a median 'golden' SMRT Cell.")
 
     
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}SNRCut uses Python identifier SNRCut
+    __SNRCut = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SNRCut'), 'SNRCut', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistryConfig_httppacificbiosciences_comPacBioBaseDataModel_xsdSNRCut', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 518, 5), )
+
+    
+    SNRCut = property(__SNRCut.value, __SNRCut.set, None, 'The SNRCut is applied in PPA (baz2bam) as a read-quality filter.')
+
+    
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}TargetSNR uses Python identifier TargetSNR
-    __TargetSNR = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TargetSNR'), 'TargetSNR', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistryConfig_httppacificbiosciences_comPacBioBaseDataModel_xsdTargetSNR', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 451, 5), )
+    __TargetSNR = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TargetSNR'), 'TargetSNR', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SequencingChemistryConfig_httppacificbiosciences_comPacBioBaseDataModel_xsdTargetSNR', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 523, 5), )
 
     
     TargetSNR = property(__TargetSNR.value, __TargetSNR.set, None, None)
@@ -2250,6 +2535,7 @@ class SequencingChemistryConfig (DataEntityType):
     _ElementMap.update({
         __Analogs.name() : __Analogs,
         __DefaultLaserSetPoint.name() : __DefaultLaserSetPoint,
+        __SNRCut.name() : __SNRCut,
         __TargetSNR.name() : __TargetSNR
     })
     _AttributeMap.update({
@@ -2265,7 +2551,7 @@ class IndexedDataType (InputOutputDataType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'IndexedDataType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 271, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 273, 1)
     _ElementMap = InputOutputDataType._ElementMap.copy()
     _AttributeMap = InputOutputDataType._AttributeMap.copy()
     # Base type is InputOutputDataType
@@ -2273,14 +2559,14 @@ class IndexedDataType (InputOutputDataType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExternalResources uses Python identifier ExternalResources
-    __ExternalResources = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources'), 'ExternalResources', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_IndexedDataType_httppacificbiosciences_comPacBioBaseDataModel_xsdExternalResources', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 256, 1), )
+    __ExternalResources = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources'), 'ExternalResources', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_IndexedDataType_httppacificbiosciences_comPacBioBaseDataModel_xsdExternalResources', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 258, 1), )
 
     
     ExternalResources = property(__ExternalResources.value, __ExternalResources.set, None, 'Pointers to data that do not reside inside the parent structure')
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}FileIndices uses Python identifier FileIndices
-    __FileIndices = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'FileIndices'), 'FileIndices', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_IndexedDataType_httppacificbiosciences_comPacBioBaseDataModel_xsdFileIndices', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 275, 5), )
+    __FileIndices = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'FileIndices'), 'FileIndices', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_IndexedDataType_httppacificbiosciences_comPacBioBaseDataModel_xsdFileIndices', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 277, 5), )
 
     
     FileIndices = property(__FileIndices.value, __FileIndices.set, None, None)
@@ -2324,31 +2610,31 @@ class SupplyKitBinding (PartNumberType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupplyKitBinding')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 543, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 615, 1)
     _ElementMap = PartNumberType._ElementMap.copy()
     _AttributeMap = PartNumberType._AttributeMap.copy()
     # Base type is PartNumberType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Control uses Python identifier Control
-    __Control = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Control'), 'Control', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitBinding_httppacificbiosciences_comPacBioBaseDataModel_xsdControl', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 550, 5), )
+    __Control = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Control'), 'Control', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitBinding_httppacificbiosciences_comPacBioBaseDataModel_xsdControl', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 622, 5), )
 
     
     Control = property(__Control.value, __Control.set, None, 'Defines the binding kit internal control name.  Present when used, otherwise not used if not defined. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}IsControlUsed uses Python identifier IsControlUsed
-    __IsControlUsed = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'IsControlUsed'), 'IsControlUsed', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitBinding_httppacificbiosciences_comPacBioBaseDataModel_xsdIsControlUsed', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 555, 5), )
+    __IsControlUsed = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'IsControlUsed'), 'IsControlUsed', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitBinding_httppacificbiosciences_comPacBioBaseDataModel_xsdIsControlUsed', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 627, 5), )
 
     
     IsControlUsed = property(__IsControlUsed.value, __IsControlUsed.set, None, 'True if the control was used during run, otherwise false. ')
 
     
+    # Element Defaults ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -2401,24 +2687,24 @@ class SupplyKitCellPack (PartNumberType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupplyKitCellPack')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 564, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 636, 1)
     _ElementMap = PartNumberType._ElementMap.copy()
     _AttributeMap = PartNumberType._AttributeMap.copy()
     # Base type is PartNumberType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ChipLayout uses Python identifier ChipLayout
-    __ChipLayout = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout'), 'ChipLayout', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitCellPack_httppacificbiosciences_comPacBioBaseDataModel_xsdChipLayout', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 571, 5), )
+    __ChipLayout = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout'), 'ChipLayout', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitCellPack_httppacificbiosciences_comPacBioBaseDataModel_xsdChipLayout', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 643, 5), )
 
     
     ChipLayout = property(__ChipLayout.value, __ChipLayout.set, None, 'Defines the internal chip layout name, if any. ')
 
     
+    # Element Defaults ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -2457,8 +2743,8 @@ class SupplyKitCellPack (PartNumberType):
     
     # Attribute SupportsCellReuse uses Python identifier SupportsCellReuse
     __SupportsCellReuse = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SupportsCellReuse'), 'SupportsCellReuse', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitCellPack_SupportsCellReuse', pyxb.binding.datatypes.anySimpleType)
-    __SupportsCellReuse._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 577, 4)
-    __SupportsCellReuse._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 577, 4)
+    __SupportsCellReuse._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 649, 4)
+    __SupportsCellReuse._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 649, 4)
     
     SupportsCellReuse = property(__SupportsCellReuse.value, __SupportsCellReuse.set, None, 'If SupportsCellReuse is true, it can be used for regular sequencing as well as in a reuse scenario.')
 
@@ -2478,24 +2764,31 @@ class SupplyKitControl (PartNumberType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupplyKitControl')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 585, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 657, 1)
     _ElementMap = PartNumberType._ElementMap.copy()
     _AttributeMap = PartNumberType._AttributeMap.copy()
     # Base type is PartNumberType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}InternalControlName uses Python identifier InternalControlName
-    __InternalControlName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InternalControlName'), 'InternalControlName', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitControl_httppacificbiosciences_comPacBioBaseDataModel_xsdInternalControlName', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 592, 5), )
+    __InternalControlName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InternalControlName'), 'InternalControlName', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitControl_httppacificbiosciences_comPacBioBaseDataModel_xsdInternalControlName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 664, 5), )
 
     
     InternalControlName = property(__InternalControlName.value, __InternalControlName.set, None, 'Defines the internal control name, if any. ')
 
     
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CustomSequence uses Python identifier CustomSequence
+    __CustomSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CustomSequence'), 'CustomSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitControl_httppacificbiosciences_comPacBioBaseDataModel_xsdCustomSequence', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 669, 5), )
+
+    
+    CustomSequence = property(__CustomSequence.value, __CustomSequence.set, None, None)
+
+    
+    # Element Defaults ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -2532,7 +2825,8 @@ class SupplyKitControl (PartNumberType):
     
     # Attribute IsRestricted inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
     _ElementMap.update({
-        __InternalControlName.name() : __InternalControlName
+        __InternalControlName.name() : __InternalControlName,
+        __CustomSequence.name() : __CustomSequence
     })
     _AttributeMap.update({
         
@@ -2547,45 +2841,45 @@ class SupplyKitTemplate (PartNumberType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupplyKitTemplate')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 601, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 674, 1)
     _ElementMap = PartNumberType._ElementMap.copy()
     _AttributeMap = PartNumberType._AttributeMap.copy()
     # Base type is PartNumberType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}LeftAdaptorSequence uses Python identifier LeftAdaptorSequence
-    __LeftAdaptorSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'LeftAdaptorSequence'), 'LeftAdaptorSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_httppacificbiosciences_comPacBioBaseDataModel_xsdLeftAdaptorSequence', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 608, 5), )
+    __LeftAdaptorSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'LeftAdaptorSequence'), 'LeftAdaptorSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_httppacificbiosciences_comPacBioBaseDataModel_xsdLeftAdaptorSequence', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 681, 5), )
 
     
     LeftAdaptorSequence = property(__LeftAdaptorSequence.value, __LeftAdaptorSequence.set, None, 'Left adapter DNA sequence.')
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}LeftPrimerSequence uses Python identifier LeftPrimerSequence
-    __LeftPrimerSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'LeftPrimerSequence'), 'LeftPrimerSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_httppacificbiosciences_comPacBioBaseDataModel_xsdLeftPrimerSequence', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 613, 5), )
+    __LeftPrimerSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'LeftPrimerSequence'), 'LeftPrimerSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_httppacificbiosciences_comPacBioBaseDataModel_xsdLeftPrimerSequence', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 686, 5), )
 
     
     LeftPrimerSequence = property(__LeftPrimerSequence.value, __LeftPrimerSequence.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}RightAdaptorSequence uses Python identifier RightAdaptorSequence
-    __RightAdaptorSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RightAdaptorSequence'), 'RightAdaptorSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_httppacificbiosciences_comPacBioBaseDataModel_xsdRightAdaptorSequence', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 614, 5), )
+    __RightAdaptorSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RightAdaptorSequence'), 'RightAdaptorSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_httppacificbiosciences_comPacBioBaseDataModel_xsdRightAdaptorSequence', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 687, 5), )
 
     
     RightAdaptorSequence = property(__RightAdaptorSequence.value, __RightAdaptorSequence.set, None, 'Right adapter DNA sequence.  If not specified, a symmetric adapter model is inferred, where the left adapter sequence is used wherever needed.')
 
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}RightPrimerSequence uses Python identifier RightPrimerSequence
-    __RightPrimerSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RightPrimerSequence'), 'RightPrimerSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_httppacificbiosciences_comPacBioBaseDataModel_xsdRightPrimerSequence', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 619, 5), )
+    __RightPrimerSequence = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RightPrimerSequence'), 'RightPrimerSequence', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_httppacificbiosciences_comPacBioBaseDataModel_xsdRightPrimerSequence', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 692, 5), )
 
     
     RightPrimerSequence = property(__RightPrimerSequence.value, __RightPrimerSequence.set, None, 'Right primaer sequence.  If not specified, a symmetric model is inferred, where the left primer sequence is used wherever needed.')
 
     
+    # Element Defaults ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -2624,16 +2918,16 @@ class SupplyKitTemplate (PartNumberType):
     
     # Attribute MinInsertSize uses Python identifier MinInsertSize
     __MinInsertSize = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MinInsertSize'), 'MinInsertSize', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_MinInsertSize', pyxb.binding.datatypes.int)
-    __MinInsertSize._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 625, 4)
-    __MinInsertSize._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 625, 4)
+    __MinInsertSize._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 698, 4)
+    __MinInsertSize._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 698, 4)
     
     MinInsertSize = property(__MinInsertSize.value, __MinInsertSize.set, None, 'Minimum recommended insert size')
 
     
     # Attribute MaxInsertSize uses Python identifier MaxInsertSize
     __MaxInsertSize = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MaxInsertSize'), 'MaxInsertSize', '__httppacificbiosciences_comPacBioBaseDataModel_xsd_SupplyKitTemplate_MaxInsertSize', pyxb.binding.datatypes.int)
-    __MaxInsertSize._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 630, 4)
-    __MaxInsertSize._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 630, 4)
+    __MaxInsertSize._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 703, 4)
+    __MaxInsertSize._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 703, 4)
     
     MaxInsertSize = property(__MaxInsertSize.value, __MaxInsertSize.set, None, 'Maximum recommended insert size')
 
@@ -2651,13 +2945,13 @@ Namespace.addCategoryObject('typeBinding', 'SupplyKitTemplate', SupplyKitTemplat
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_22 (IndexedDataType):
+class CTD_ANON_25 (IndexedDataType):
     """for example, an output file could be the BAM file, which could be associated with multiple indices into it."""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 762, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 842, 2)
     _ElementMap = IndexedDataType._ElementMap.copy()
     _AttributeMap = IndexedDataType._AttributeMap.copy()
     # Base type is IndexedDataType
@@ -2698,45 +2992,48 @@ class CTD_ANON_22 (IndexedDataType):
 
 
 
-ExtensionElement = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExtensionElement'), pyxb.binding.datatypes.anyType, documentation='A generic element whose contents are undefined at the schema level.  This is used to extend the data model.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 736, 1))
+ExtensionElement = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExtensionElement'), pyxb.binding.datatypes.anyType, documentation='A generic element whose contents are undefined at the schema level.  This is used to extend the data model.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 814, 1))
 Namespace.addCategoryObject('elementBinding', ExtensionElement.name().localName(), ExtensionElement)
 
-DataPointers = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataPointers'), CTD_ANON_3, documentation='Pointer list to UniqueIds in the system', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 222, 1))
+DataPointers = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataPointers'), CTD_ANON_3, documentation='Pointer list to UniqueIds in the system', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 224, 1))
 Namespace.addCategoryObject('elementBinding', DataPointers.name().localName(), DataPointers)
 
-ExternalResources = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources'), CTD_ANON_4, documentation='Pointers to data that do not reside inside the parent structure', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 256, 1))
+ExternalResources = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources'), CTD_ANON_4, documentation='Pointers to data that do not reside inside the parent structure', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 258, 1))
 Namespace.addCategoryObject('elementBinding', ExternalResources.name().localName(), ExternalResources)
 
-PacBioSequencingChemistry = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PacBioSequencingChemistry'), CTD_ANON_8, documentation='Root element for document containing the container of analog set, SequencingChemistryConfig', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 422, 1))
+PacBioSequencingChemistry = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PacBioSequencingChemistry'), CTD_ANON_9, documentation='Root element for document containing the container of analog set, SequencingChemistryConfig', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 489, 1))
 Namespace.addCategoryObject('elementBinding', PacBioSequencingChemistry.name().localName(), PacBioSequencingChemistry)
 
-ValueDataType = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ValueDataType'), SupportedDataTypes, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 734, 1))
+ValueDataType = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ValueDataType'), SupportedDataTypes, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 812, 1))
 Namespace.addCategoryObject('elementBinding', ValueDataType.name().localName(), ValueDataType)
 
-KeyValueMap = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'KeyValueMap'), CTD_ANON_17, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 768, 1))
+KeyValueMap = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'KeyValueMap'), CTD_ANON_18, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 848, 1))
 Namespace.addCategoryObject('elementBinding', KeyValueMap.name().localName(), KeyValueMap)
 
-DataEntity = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataEntity'), DataEntityType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 180, 1))
+Defaults = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Defaults'), DefaultsType, nillable=pyxb.binding.datatypes.boolean(1), documentation='Default paramaters and filters which may be applied to PartNumber types in order to constrain them via parameterization', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 878, 4))
+Namespace.addCategoryObject('elementBinding', Defaults.name().localName(), Defaults)
+
+DataEntity = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataEntity'), DataEntityType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 182, 1))
 Namespace.addCategoryObject('elementBinding', DataEntity.name().localName(), DataEntity)
 
-AutomationParameter = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), DataEntityType, documentation='One or more collection parameters, such as MovieLength, InsertSize, UseStageStart, IsControl, etc..', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 321, 1))
+AutomationParameter = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), DataEntityType, documentation='One or more collection parameters, such as MovieLength, InsertSize, UseStageStart, IsControl, etc..', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 329, 1))
 Namespace.addCategoryObject('elementBinding', AutomationParameter.name().localName(), AutomationParameter)
 
-ConfigSetAnalog = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConfigSetAnalog'), CTD_ANON_20, 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', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 170, 1))
+ConfigSetAnalog = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConfigSetAnalog'), CTD_ANON_23, 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', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 172, 1))
 Namespace.addCategoryObject('elementBinding', ConfigSetAnalog.name().localName(), ConfigSetAnalog)
 
-DyeSetAnalog = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DyeSetAnalog'), CTD_ANON_21, documentation='A set of four analogs, one for each of the nucleotides, grouped together for the purposes of a single experiment.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 246, 1))
+DyeSetAnalog = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DyeSetAnalog'), CTD_ANON_24, documentation='A set of four analogs, one for each of the nucleotides, grouped together for the purposes of a single experiment.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 248, 1))
 Namespace.addCategoryObject('elementBinding', DyeSetAnalog.name().localName(), DyeSetAnalog)
 
-ChemistryConfig = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ChemistryConfig'), SequencingChemistryConfig, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 797, 1))
+ChemistryConfig = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ChemistryConfig'), SequencingChemistryConfig, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 877, 1))
 Namespace.addCategoryObject('elementBinding', ChemistryConfig.name().localName(), ChemistryConfig)
 
-ExternalResource = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExternalResource'), CTD_ANON_22, documentation='for example, an output file could be the BAM file, which could be associated with multiple indices into it.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 758, 1))
+ExternalResource = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExternalResource'), CTD_ANON_25, documentation='for example, an output file could be the BAM file, which could be associated with multiple indices into it.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 838, 1))
 Namespace.addCategoryObject('elementBinding', ExternalResource.name().localName(), ExternalResource)
 
 
 
-CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Values'), CTD_ANON_, scope=CTD_ANON, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 16, 8)))
+CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Values'), CTD_ANON_, scope=CTD_ANON, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 16, 8)))
 
 def _BuildAutomaton ():
     # Remove this helper function from the namespace after it is invoked
@@ -2747,7 +3044,7 @@ def _BuildAutomaton ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Values')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 16, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Values')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 16, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2758,7 +3055,7 @@ CTD_ANON._Automaton = _BuildAutomaton()
 
 
 
-CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Value'), pyxb.binding.datatypes.float, scope=CTD_ANON_, documentation='There should be as many values as specified in the Number of Filter Bins attribute.\nEach value is a probability, in the range of [0, 1].', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 19, 11)))
+CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Value'), pyxb.binding.datatypes.float, scope=CTD_ANON_, documentation='There should be as many values as specified in the Number of Filter Bins attribute.\nEach value is a probability, in the range of [0, 1].', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 19, 11)))
 
 def _BuildAutomaton_ ():
     # Remove this helper function from the namespace after it is invoked
@@ -2769,7 +3066,7 @@ def _BuildAutomaton_ ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Value')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 19, 11))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Value')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 19, 11))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2782,7 +3079,7 @@ CTD_ANON_._Automaton = _BuildAutomaton_()
 
 
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExtensionElement'), pyxb.binding.datatypes.anyType, scope=CTD_ANON_2, documentation='A generic element whose contents are undefined at the schema level.  This is used to extend the data model.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 736, 1)))
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExtensionElement'), pyxb.binding.datatypes.anyType, scope=CTD_ANON_2, documentation='A generic element whose contents are undefined at the schema level.  This is used to extend the data model.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 814, 1)))
 
 def _BuildAutomaton_2 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2791,12 +3088,12 @@ def _BuildAutomaton_2 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 89, 6))
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 91, 6))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExtensionElement')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 89, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExtensionElement')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 91, 6))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2809,7 +3106,7 @@ CTD_ANON_2._Automaton = _BuildAutomaton_2()
 
 
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataPointer'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 228, 4)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataPointer'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 230, 4)))
 
 def _BuildAutomaton_3 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2818,12 +3115,12 @@ def _BuildAutomaton_3 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 228, 4))
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 230, 4))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataPointer')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 228, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataPointer')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 230, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2836,7 +3133,7 @@ CTD_ANON_3._Automaton = _BuildAutomaton_3()
 
 
 
-CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExternalResource'), CTD_ANON_22, scope=CTD_ANON_4, documentation='for example, an output file could be the BAM file, which could be associated with multiple indices into it.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 758, 1)))
+CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExternalResource'), CTD_ANON_25, scope=CTD_ANON_4, documentation='for example, an output file could be the BAM file, which could be associated with multiple indices into it.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 838, 1)))
 
 def _BuildAutomaton_4 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2847,7 +3144,7 @@ def _BuildAutomaton_4 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExternalResource')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 262, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExternalResource')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 264, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2860,7 +3157,7 @@ CTD_ANON_4._Automaton = _BuildAutomaton_4()
 
 
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'FileIndex'), InputOutputDataType, scope=CTD_ANON_5, documentation='e.g. index for output files, allowing one to find information in the output file', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 278, 8)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'FileIndex'), InputOutputDataType, scope=CTD_ANON_5, documentation='e.g. index for output files, allowing one to find information in the output file', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 280, 8)))
 
 def _BuildAutomaton_5 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2871,7 +3168,7 @@ def _BuildAutomaton_5 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'FileIndex')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 278, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'FileIndex')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 280, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2884,7 +3181,7 @@ CTD_ANON_5._Automaton = _BuildAutomaton_5()
 
 
 
-CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), DataEntityType, scope=CTD_ANON_6, documentation='One or more collection parameters, such as MovieLength, InsertSize, UseStageStart, IsControl, etc..', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 321, 1)))
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), DataEntityType, scope=CTD_ANON_6, documentation='One or more collection parameters, such as MovieLength, InsertSize, UseStageStart, IsControl, etc..', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 329, 1)))
 
 def _BuildAutomaton_6 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2895,7 +3192,7 @@ def _BuildAutomaton_6 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 298, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 300, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2908,7 +3205,7 @@ CTD_ANON_6._Automaton = _BuildAutomaton_6()
 
 
 
-CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Analog'), AnalogType, scope=CTD_ANON_7, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 409, 13)))
+CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Automation'), AutomationType, scope=CTD_ANON_7, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 368, 8)))
 
 def _BuildAutomaton_7 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2917,17 +3214,14 @@ def _BuildAutomaton_7 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=1, max=4, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 409, 13))
-    counters.add(cc_0)
     states = []
     final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Analog')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 409, 13))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Automation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 368, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
     transitions.append(fac.Transition(st_0, [
-        fac.UpdateInstruction(cc_0, True) ]))
+         ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
 CTD_ANON_7._Automaton = _BuildAutomaton_7()
@@ -2935,7 +3229,7 @@ CTD_ANON_7._Automaton = _BuildAutomaton_7()
 
 
 
-CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ChemistryConfig'), SequencingChemistryConfig, scope=CTD_ANON_8, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 797, 1)))
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Analog'), AnalogType, scope=CTD_ANON_8, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 476, 13)))
 
 def _BuildAutomaton_8 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2944,12 +3238,17 @@ def _BuildAutomaton_8 ():
     import pyxb.utils.fac as fac
 
     counters = set()
+    cc_0 = fac.CounterCondition(min=1, max=4, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 476, 13))
+    counters.add(cc_0)
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ChemistryConfig')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 428, 4))
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Analog')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 476, 13))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
 CTD_ANON_8._Automaton = _BuildAutomaton_8()
@@ -2957,7 +3256,7 @@ CTD_ANON_8._Automaton = _BuildAutomaton_8()
 
 
 
-CTD_ANON_9._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Analog'), AnalogType, scope=CTD_ANON_9, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 442, 8)))
+CTD_ANON_9._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ChemistryConfig'), SequencingChemistryConfig, scope=CTD_ANON_9, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 877, 1)))
 
 def _BuildAutomaton_9 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2966,17 +3265,12 @@ def _BuildAutomaton_9 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=1, max=4, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 442, 8))
-    counters.add(cc_0)
     states = []
     final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Analog')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 442, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ChemistryConfig')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 495, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
-    transitions.append(fac.Transition(st_0, [
-        fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
 CTD_ANON_9._Automaton = _BuildAutomaton_9()
@@ -2984,7 +3278,7 @@ CTD_ANON_9._Automaton = _BuildAutomaton_9()
 
 
 
-CTD_ANON_11._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinCount'), pyxb.binding.datatypes.int, scope=CTD_ANON_11, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 479, 8)))
+CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Analog'), AnalogType, scope=CTD_ANON_10, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 509, 8)))
 
 def _BuildAutomaton_10 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2993,22 +3287,25 @@ def _BuildAutomaton_10 ():
     import pyxb.utils.fac as fac
 
     counters = set()
+    cc_0 = fac.CounterCondition(min=1, max=4, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 509, 8))
+    counters.add(cc_0)
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinCount')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 479, 8))
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Analog')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 509, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
     transitions.append(fac.Transition(st_0, [
-         ]))
+        fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_11._Automaton = _BuildAutomaton_10()
+CTD_ANON_10._Automaton = _BuildAutomaton_10()
 
 
 
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinCount'), pyxb.binding.datatypes.int, scope=CTD_ANON_12, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 505, 8)))
+CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinCount'), pyxb.binding.datatypes.int, scope=CTD_ANON_12, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 551, 8)))
 
 def _BuildAutomaton_11 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3019,7 +3316,7 @@ def _BuildAutomaton_11 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinCount')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 505, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinCount')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 551, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -3032,7 +3329,7 @@ CTD_ANON_12._Automaton = _BuildAutomaton_11()
 
 
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinLabel'), pyxb.binding.datatypes.string, scope=CTD_ANON_13, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 513, 8)))
+CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinCount'), pyxb.binding.datatypes.int, scope=CTD_ANON_13, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 577, 8)))
 
 def _BuildAutomaton_12 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3043,7 +3340,7 @@ def _BuildAutomaton_12 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinLabel')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 513, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinCount')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 577, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -3056,7 +3353,7 @@ CTD_ANON_13._Automaton = _BuildAutomaton_12()
 
 
 
-CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Val'), pyxb.binding.datatypes.float, scope=CTD_ANON_14, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 535, 8)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinLabel'), pyxb.binding.datatypes.string, scope=CTD_ANON_14, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 585, 8)))
 
 def _BuildAutomaton_13 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3065,25 +3362,22 @@ def _BuildAutomaton_13 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 535, 8))
-    counters.add(cc_0)
     states = []
     final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Val')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 535, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinLabel')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 585, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
     transitions.append(fac.Transition(st_0, [
-        fac.UpdateInstruction(cc_0, True) ]))
+         ]))
     st_0._set_transitionSet(transitions)
-    return fac.Automaton(states, counters, True, containing_state=None)
+    return fac.Automaton(states, counters, False, containing_state=None)
 CTD_ANON_14._Automaton = _BuildAutomaton_13()
 
 
 
 
-UserDefinedFieldsType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataEntities'), DataEntityType, scope=UserDefinedFieldsType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 731, 3)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Val'), pyxb.binding.datatypes.float, scope=CTD_ANON_15, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 607, 8)))
 
 def _BuildAutomaton_14 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3092,22 +3386,25 @@ def _BuildAutomaton_14 ():
     import pyxb.utils.fac as fac
 
     counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 607, 8))
+    counters.add(cc_0)
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(UserDefinedFieldsType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataEntities')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 731, 3))
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Val')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 607, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
     transitions.append(fac.Transition(st_0, [
-         ]))
+        fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
-    return fac.Automaton(states, counters, False, containing_state=None)
-UserDefinedFieldsType._Automaton = _BuildAutomaton_14()
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_15._Automaton = _BuildAutomaton_14()
 
 
 
 
-FilterType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Properties'), CTD_ANON_15, scope=FilterType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 743, 3)))
+UserDefinedFieldsType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataEntities'), DataEntityType, scope=UserDefinedFieldsType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 809, 3)))
 
 def _BuildAutomaton_15 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3118,18 +3415,20 @@ def _BuildAutomaton_15 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(FilterType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Properties')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 743, 3))
+    symbol = pyxb.binding.content.ElementUse(UserDefinedFieldsType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataEntities')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 809, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-FilterType._Automaton = _BuildAutomaton_15()
+UserDefinedFieldsType._Automaton = _BuildAutomaton_15()
 
 
 
 
-CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Property'), CTD_ANON_16, scope=CTD_ANON_15, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 746, 6)))
+FilterType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Properties'), CTD_ANON_16, scope=FilterType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 821, 3)))
 
 def _BuildAutomaton_16 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3140,20 +3439,18 @@ def _BuildAutomaton_16 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Property')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 746, 6))
+    symbol = pyxb.binding.content.ElementUse(FilterType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Properties')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 821, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
-    transitions.append(fac.Transition(st_0, [
-         ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_15._Automaton = _BuildAutomaton_16()
+FilterType._Automaton = _BuildAutomaton_16()
 
 
 
 
-CTD_ANON_17._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Items'), CTD_ANON_18, scope=CTD_ANON_17, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 771, 4)))
+CTD_ANON_16._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Property'), CTD_ANON_17, scope=CTD_ANON_16, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 824, 6)))
 
 def _BuildAutomaton_17 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3164,18 +3461,20 @@ def _BuildAutomaton_17 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_17._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Items')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 771, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_16._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Property')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 824, 6))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_17._Automaton = _BuildAutomaton_17()
+CTD_ANON_16._Automaton = _BuildAutomaton_17()
 
 
 
 
-CTD_ANON_18._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Item'), MapItemType, scope=CTD_ANON_18, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 774, 7)))
+CTD_ANON_18._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Items'), CTD_ANON_19, scope=CTD_ANON_18, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 851, 4)))
 
 def _BuildAutomaton_18 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3184,12 +3483,34 @@ def _BuildAutomaton_18 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 774, 7))
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_18._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Items')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 851, 4))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_18._Automaton = _BuildAutomaton_18()
+
+
+
+
+CTD_ANON_19._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Item'), MapItemType, scope=CTD_ANON_19, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 854, 7)))
+
+def _BuildAutomaton_19 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_19
+    del _BuildAutomaton_19
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 854, 7))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_18._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Item')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 774, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_19._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Item')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 854, 7))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -3197,57 +3518,57 @@ def _BuildAutomaton_18 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-CTD_ANON_18._Automaton = _BuildAutomaton_18()
+CTD_ANON_19._Automaton = _BuildAutomaton_19()
 
 
 
 
-MapType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'KeyValueMap'), CTD_ANON_17, scope=MapType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 768, 1)))
+MapType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'KeyValueMap'), CTD_ANON_18, scope=MapType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 848, 1)))
 
-def _BuildAutomaton_19 ():
+def _BuildAutomaton_20 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_19
-    del _BuildAutomaton_19
+    global _BuildAutomaton_20
+    del _BuildAutomaton_20
     import pyxb.utils.fac as fac
 
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(MapType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'KeyValueMap')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 787, 3))
+    symbol = pyxb.binding.content.ElementUse(MapType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'KeyValueMap')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 867, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-MapType._Automaton = _BuildAutomaton_19()
+MapType._Automaton = _BuildAutomaton_20()
 
 
 
 
-MapItemType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Key'), pyxb.binding.datatypes.ID, scope=MapItemType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 792, 3)))
+MapItemType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Key'), pyxb.binding.datatypes.ID, scope=MapItemType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 872, 3)))
 
-MapItemType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Value'), pyxb.binding.datatypes.anyType, scope=MapItemType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 793, 3)))
+MapItemType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Value'), pyxb.binding.datatypes.anyType, scope=MapItemType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 873, 3)))
 
-MapItemType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Description'), pyxb.binding.datatypes.string, scope=MapItemType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 794, 3)))
+MapItemType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Description'), pyxb.binding.datatypes.string, scope=MapItemType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 874, 3)))
 
-def _BuildAutomaton_20 ():
+def _BuildAutomaton_21 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_20
-    del _BuildAutomaton_20
+    global _BuildAutomaton_21
+    del _BuildAutomaton_21
     import pyxb.utils.fac as fac
 
     counters = set()
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(MapItemType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Key')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 792, 3))
+    symbol = pyxb.binding.content.ElementUse(MapItemType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Key')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 872, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(MapItemType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Value')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 793, 3))
+    symbol = pyxb.binding.content.ElementUse(MapItemType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Value')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 873, 3))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(MapItemType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Description')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 794, 3))
+    symbol = pyxb.binding.content.ElementUse(MapItemType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Description')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 874, 3))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     transitions = []
@@ -3261,82 +3582,190 @@ def _BuildAutomaton_20 ():
     transitions = []
     st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-MapItemType._Automaton = _BuildAutomaton_20()
+MapItemType._Automaton = _BuildAutomaton_21()
 
 
 
 
-BaseEntityType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Extensions'), CTD_ANON_2, scope=BaseEntityType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3)))
+DefaultsType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), CTD_ANON_20, nillable=pyxb.binding.datatypes.boolean(1), scope=DefaultsType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 888, 12)))
 
-def _BuildAutomaton_21 ():
+DefaultsType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filters'), CTD_ANON_21, nillable=pyxb.binding.datatypes.boolean(1), scope=DefaultsType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 895, 12)))
+
+def _BuildAutomaton_22 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_21
-    del _BuildAutomaton_21
+    global _BuildAutomaton_22
+    del _BuildAutomaton_22
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 888, 12))
     counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 895, 12))
+    counters.add(cc_1)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(BaseEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(DefaultsType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 888, 12))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(DefaultsType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 895, 12))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, False) ]))
     st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    st_1._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-BaseEntityType._Automaton = _BuildAutomaton_21()
+DefaultsType._Automaton = _BuildAutomaton_22()
 
 
 
 
-AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Spectrum'), CTD_ANON, scope=AnalogType, 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.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 10, 5)))
+CTD_ANON_20._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), DataEntityType, scope=CTD_ANON_20, documentation='One or more collection parameters, such as MovieLength, InsertSize, UseStageStart, IsControl, etc..', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 329, 1)))
 
-AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude'), pyxb.binding.datatypes.float, scope=AnalogType, documentation='Relative intensity of emission vs. a reference analog using standardized metrology \u2013 e.g., relative to the amplitude of the \u201c542\u201d analog as measured by the mean DWS pkMid on the Astro instrument.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 36, 5)))
+def _BuildAutomaton_23 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_23
+    del _BuildAutomaton_23
+    import pyxb.utils.fac as fac
 
-AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV'), pyxb.binding.datatypes.float, scope=AnalogType, documentation='The 1-sigma fractional variation of the intra-pulse signal, independent of any Shot noise associated with that signal', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 41, 5)))
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_20._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 891, 24))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_20._Automaton = _BuildAutomaton_23()
 
-AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV'), pyxb.binding.datatypes.float, scope=AnalogType, documentation='The 1-sigma fractional variation, pulse-to-pulse, of the mean signal level (i.e., the pkMid).', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 46, 5)))
 
-AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV'), pyxb.binding.datatypes.float, scope=AnalogType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 51, 5)))
 
-def _BuildAutomaton_22 ():
+
+CTD_ANON_21._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filter'), FilterType, scope=CTD_ANON_21, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 898, 24)))
+
+def _BuildAutomaton_24 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_22
-    del _BuildAutomaton_22
+    global _BuildAutomaton_24
+    del _BuildAutomaton_24
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_21._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filter')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 898, 24))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_21._Automaton = _BuildAutomaton_24()
+
+
+
+
+BaseEntityType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Extensions'), CTD_ANON_2, scope=BaseEntityType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3)))
+
+def _BuildAutomaton_25 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_25
+    del _BuildAutomaton_25
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(BaseEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+BaseEntityType._Automaton = _BuildAutomaton_25()
+
+
+
+
+AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Spectrum'), CTD_ANON, scope=AnalogType, 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.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 10, 5)))
+
+AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude'), pyxb.binding.datatypes.float, scope=AnalogType, documentation='Relative intensity of emission vs. a reference analog using standardized metrology \u2013 e.g., relative to the amplitude of the \u201c542\u201d analog as measured by the mean DWS pkMid on the Astro instrument.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 36, 5)))
+
+AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV'), pyxb.binding.datatypes.float, scope=AnalogType, documentation='The 1-sigma fractional variation of the intra-pulse signal, independent of any Shot noise associated with that signal', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 41, 5)))
+
+AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV'), pyxb.binding.datatypes.float, scope=AnalogType, documentation='The 1-sigma fractional variation, pulse-to-pulse, of the mean signal level (i.e., the pkMid).', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 46, 5)))
+
+AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV'), pyxb.binding.datatypes.float, scope=AnalogType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 51, 5)))
+
+AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PulseWidthMeanSeconds'), pyxb.binding.datatypes.float, scope=AnalogType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 52, 20)))
+
+AnalogType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'IpdMeanSeconds'), pyxb.binding.datatypes.float, scope=AnalogType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 53, 20)))
+
+def _BuildAutomaton_26 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_26
+    del _BuildAutomaton_26
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 52, 20))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 53, 20))
+    counters.add(cc_2)
+    states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Spectrum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 10, 5))
+    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Spectrum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 10, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 36, 5))
+    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 36, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 41, 5))
+    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 41, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 46, 5))
+    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 46, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 51, 5))
+    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 51, 5))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'PulseWidthMeanSeconds')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 52, 20))
+    st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_6)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(AnalogType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IpdMeanSeconds')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 53, 20))
+    st_7 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_7)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -3360,26 +3789,40 @@ def _BuildAutomaton_22 ():
          ]))
     st_4._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_6, [
+         ]))
+    transitions.append(fac.Transition(st_7, [
+         ]))
     st_5._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_6._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    st_7._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-AnalogType._Automaton = _BuildAutomaton_22()
+AnalogType._Automaton = _BuildAutomaton_26()
 
 
 
 
-def _BuildAutomaton_23 ():
+def _BuildAutomaton_27 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_23
-    del _BuildAutomaton_23
+    global _BuildAutomaton_27
+    del _BuildAutomaton_27
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(StrictEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(StrictEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -3387,81 +3830,64 @@ def _BuildAutomaton_23 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-StrictEntityType._Automaton = _BuildAutomaton_23()
-
+StrictEntityType._Automaton = _BuildAutomaton_27()
 
 
 
-DataEntityType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue'), pyxb.binding.datatypes.base64Binary, scope=DataEntityType, documentation='A complex data type element, such as an image, file, binary object, etc.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5)))
 
-DataEntityType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CheckSum'), pyxb.binding.datatypes.string, scope=DataEntityType, 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', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5)))
+DataEntityType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CheckSum'), pyxb.binding.datatypes.string, scope=DataEntityType, 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', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5)))
 
-def _BuildAutomaton_24 ():
+def _BuildAutomaton_28 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_24
-    del _BuildAutomaton_24
+    global _BuildAutomaton_28
+    del _BuildAutomaton_28
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
-    counters.add(cc_2)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(DataEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(DataEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(DataEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(DataEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
-    final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(DataEntityType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
-    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
-    states.append(st_2)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
     transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_0, False) ]))
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_0, False) ]))
     st_0._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_1, True) ]))
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_1, False) ]))
     st_1._set_transitionSet(transitions)
-    transitions = []
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_2, True) ]))
-    st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-DataEntityType._Automaton = _BuildAutomaton_24()
+DataEntityType._Automaton = _BuildAutomaton_28()
 
 
 
 
-def _BuildAutomaton_25 ():
+def _BuildAutomaton_29 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_25
-    del _BuildAutomaton_25
+    global _BuildAutomaton_29
+    del _BuildAutomaton_29
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(DNABarcode._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(DNABarcode._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -3469,64 +3895,81 @@ def _BuildAutomaton_25 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-DNABarcode._Automaton = _BuildAutomaton_25()
+DNABarcode._Automaton = _BuildAutomaton_29()
 
 
 
 
-AutomationType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), CTD_ANON_6, scope=AutomationType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 295, 5)))
+AutomationType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), CTD_ANON_6, scope=AutomationType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 297, 5)))
 
-def _BuildAutomaton_26 ():
+AutomationType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Defaults'), DefaultsType, nillable=pyxb.binding.datatypes.boolean(1), scope=AutomationType, documentation='Default paramaters and filters which may be applied to PartNumber types in order to constrain them via parameterization', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 878, 4)))
+
+def _BuildAutomaton_30 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_26
-    del _BuildAutomaton_26
+    global _BuildAutomaton_30
+    del _BuildAutomaton_30
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 295, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 297, 5))
     counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 304, 5))
+    counters.add(cc_2)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(AutomationType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(AutomationType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(AutomationType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 295, 5))
+    symbol = pyxb.binding.content.ElementUse(AutomationType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 297, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(AutomationType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 304, 5))
+    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
     transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_0, False) ]))
     st_0._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_1, False) ]))
     st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-AutomationType._Automaton = _BuildAutomaton_26()
+AutomationType._Automaton = _BuildAutomaton_30()
 
 
 
 
-def _BuildAutomaton_27 ():
+def _BuildAutomaton_31 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_27
-    del _BuildAutomaton_27
+    global _BuildAutomaton_31
+    del _BuildAutomaton_31
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(IncompatiblePairType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(IncompatiblePairType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -3534,29 +3977,69 @@ def _BuildAutomaton_27 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-IncompatiblePairType._Automaton = _BuildAutomaton_27()
+IncompatiblePairType._Automaton = _BuildAutomaton_31()
 
 
 
 
-CTD_ANON_19._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Analogs'), CTD_ANON_7, scope=CTD_ANON_19, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 406, 10)))
+AutomationConstraintType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Automations'), CTD_ANON_7, scope=AutomationConstraintType, documentation='Names of automations that are all similarly constrained', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 362, 5)))
 
-def _BuildAutomaton_28 ():
+def _BuildAutomaton_32 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_28
-    del _BuildAutomaton_28
+    global _BuildAutomaton_32
+    del _BuildAutomaton_32
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 362, 5))
+    counters.add(cc_1)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(AutomationConstraintType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(AutomationConstraintType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Automations')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 362, 5))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    st_1._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+AutomationConstraintType._Automaton = _BuildAutomaton_32()
+
+
+
+
+CTD_ANON_22._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Analogs'), CTD_ANON_8, scope=CTD_ANON_22, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 473, 10)))
+
+def _BuildAutomaton_33 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_33
+    del _BuildAutomaton_33
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_19._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_22._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_19._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Analogs')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 406, 10))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_22._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Analogs')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 473, 10))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     transitions = []
@@ -3568,101 +4051,109 @@ def _BuildAutomaton_28 ():
     transitions = []
     st_1._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_19._Automaton = _BuildAutomaton_28()
+CTD_ANON_22._Automaton = _BuildAutomaton_33()
 
 
 
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleSize'), pyxb.binding.datatypes.int, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 470, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleSize'), pyxb.binding.datatypes.int, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 542, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleMean'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 471, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleMean'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 543, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleMed'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 472, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleMed'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 544, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleStd'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 473, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleStd'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 545, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Sample95thPct'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 474, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Sample95thPct'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 546, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'NumBins'), pyxb.binding.datatypes.int, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 475, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'NumBins'), pyxb.binding.datatypes.int, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 547, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinCounts'), CTD_ANON_11, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 476, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinCounts'), CTD_ANON_12, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 548, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinWidth'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 483, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinWidth'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 555, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MinOutlierValue'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 484, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MinOutlierValue'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 556, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MinBinValue'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 485, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MinBinValue'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 557, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MaxBinValue'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 486, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MaxBinValue'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 558, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MaxOutlierValue'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 487, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MaxOutlierValue'), pyxb.binding.datatypes.float, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 559, 5)))
 
-StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription'), pyxb.binding.datatypes.string, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 488, 5)))
+StatsContinuousDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription'), pyxb.binding.datatypes.string, scope=StatsContinuousDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 560, 5)))
 
-def _BuildAutomaton_29 ():
+def _BuildAutomaton_34 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_29
-    del _BuildAutomaton_29
+    global _BuildAutomaton_34
+    del _BuildAutomaton_34
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 556, 5))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 557, 5))
+    counters.add(cc_2)
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 558, 5))
+    counters.add(cc_3)
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 559, 5))
+    counters.add(cc_4)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleSize')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 470, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleSize')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 542, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleMean')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 471, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleMean')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 543, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleMed')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 472, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleMed')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 544, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleStd')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 473, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleStd')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 545, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Sample95thPct')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 474, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Sample95thPct')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 546, 5))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumBins')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 475, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumBins')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 547, 5))
     st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_6)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinCounts')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 476, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinCounts')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 548, 5))
     st_7 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_7)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinWidth')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 483, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinWidth')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 555, 5))
     st_8 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_8)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MinOutlierValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 484, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MinOutlierValue')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 556, 5))
     st_9 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_9)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MinBinValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 485, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MinBinValue')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 557, 5))
     st_10 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_10)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MaxBinValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 486, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MaxBinValue')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 558, 5))
     st_11 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_11)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MaxOutlierValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 487, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MaxOutlierValue')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 559, 5))
     st_12 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_12)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 488, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsContinuousDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 560, 5))
     st_13 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_13)
     transitions = []
@@ -3702,67 +4193,95 @@ def _BuildAutomaton_29 ():
     transitions = []
     transitions.append(fac.Transition(st_9, [
          ]))
+    transitions.append(fac.Transition(st_10, [
+         ]))
+    transitions.append(fac.Transition(st_11, [
+         ]))
+    transitions.append(fac.Transition(st_12, [
+         ]))
+    transitions.append(fac.Transition(st_13, [
+         ]))
     st_8._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_9, [
+        fac.UpdateInstruction(cc_1, True) ]))
     transitions.append(fac.Transition(st_10, [
-         ]))
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_11, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_12, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_13, [
+        fac.UpdateInstruction(cc_1, False) ]))
     st_9._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_10, [
+        fac.UpdateInstruction(cc_2, True) ]))
     transitions.append(fac.Transition(st_11, [
-         ]))
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_12, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_13, [
+        fac.UpdateInstruction(cc_2, False) ]))
     st_10._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_11, [
+        fac.UpdateInstruction(cc_3, True) ]))
     transitions.append(fac.Transition(st_12, [
-         ]))
+        fac.UpdateInstruction(cc_3, False) ]))
+    transitions.append(fac.Transition(st_13, [
+        fac.UpdateInstruction(cc_3, False) ]))
     st_11._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_12, [
+        fac.UpdateInstruction(cc_4, True) ]))
     transitions.append(fac.Transition(st_13, [
-         ]))
+        fac.UpdateInstruction(cc_4, False) ]))
     st_12._set_transitionSet(transitions)
     transitions = []
     st_13._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-StatsContinuousDistType._Automaton = _BuildAutomaton_29()
+StatsContinuousDistType._Automaton = _BuildAutomaton_34()
 
 
 
 
-StatsDiscreteDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'NumBins'), pyxb.binding.datatypes.int, scope=StatsDiscreteDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 501, 5)))
+StatsDiscreteDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'NumBins'), pyxb.binding.datatypes.int, scope=StatsDiscreteDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 573, 5)))
 
-StatsDiscreteDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinCounts'), CTD_ANON_12, scope=StatsDiscreteDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 502, 5)))
+StatsDiscreteDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinCounts'), CTD_ANON_13, scope=StatsDiscreteDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 574, 5)))
 
-StatsDiscreteDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription'), pyxb.binding.datatypes.string, scope=StatsDiscreteDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 509, 5)))
+StatsDiscreteDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription'), pyxb.binding.datatypes.string, scope=StatsDiscreteDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 581, 5)))
 
-StatsDiscreteDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinLabels'), CTD_ANON_13, scope=StatsDiscreteDistType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 510, 5)))
+StatsDiscreteDistType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BinLabels'), CTD_ANON_14, scope=StatsDiscreteDistType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 582, 5)))
 
-def _BuildAutomaton_30 ():
+def _BuildAutomaton_35 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_30
-    del _BuildAutomaton_30
+    global _BuildAutomaton_35
+    del _BuildAutomaton_35
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumBins')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 501, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumBins')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 573, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinCounts')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 502, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinCounts')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 574, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 509, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MetricDescription')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 581, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinLabels')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 510, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsDiscreteDistType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BinLabels')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 582, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3786,56 +4305,56 @@ def _BuildAutomaton_30 ():
     transitions = []
     st_4._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-StatsDiscreteDistType._Automaton = _BuildAutomaton_30()
+StatsDiscreteDistType._Automaton = _BuildAutomaton_35()
 
 
 
 
-StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TimeUnits'), pyxb.binding.datatypes.string, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 528, 5)))
+StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TimeUnits'), pyxb.binding.datatypes.string, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 600, 5)))
 
-StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ValueUnits'), pyxb.binding.datatypes.string, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 529, 5)))
+StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ValueUnits'), pyxb.binding.datatypes.string, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 601, 5)))
 
-StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'StartTime'), pyxb.binding.datatypes.float, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 530, 5)))
+StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'StartTime'), pyxb.binding.datatypes.float, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 602, 5)))
 
-StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MeasInterval'), pyxb.binding.datatypes.float, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 531, 5)))
+StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MeasInterval'), pyxb.binding.datatypes.float, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 603, 5)))
 
-StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Values'), CTD_ANON_14, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 532, 5)))
+StatsTimeSeriesType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Values'), CTD_ANON_15, scope=StatsTimeSeriesType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 604, 5)))
 
-def _BuildAutomaton_31 ():
+def _BuildAutomaton_36 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_31
-    del _BuildAutomaton_31
+    global _BuildAutomaton_36
+    del _BuildAutomaton_36
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 532, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 604, 5))
     counters.add(cc_1)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TimeUnits')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 528, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TimeUnits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 600, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ValueUnits')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 529, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ValueUnits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 601, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'StartTime')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 530, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'StartTime')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 602, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MeasInterval')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 531, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MeasInterval')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 603, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Values')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 532, 5))
+    symbol = pyxb.binding.content.ElementUse(StatsTimeSeriesType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Values')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 604, 5))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     transitions = []
@@ -3865,45 +4384,59 @@ def _BuildAutomaton_31 ():
         fac.UpdateInstruction(cc_1, True) ]))
     st_5._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-StatsTimeSeriesType._Automaton = _BuildAutomaton_31()
+StatsTimeSeriesType._Automaton = _BuildAutomaton_36()
 
 
 
 
-def _BuildAutomaton_32 ():
+def _BuildAutomaton_37 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_32
-    del _BuildAutomaton_32
+    global _BuildAutomaton_37
+    del _BuildAutomaton_37
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 52, 20))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 53, 20))
+    counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_20._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_23._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_20._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Spectrum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 10, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_23._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Spectrum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 10, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_20._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 36, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_23._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 36, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_20._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 41, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_23._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 41, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_20._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 46, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_23._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 46, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_20._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 51, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_23._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 51, 5))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_23._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'PulseWidthMeanSeconds')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 52, 20))
+    st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_6)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_23._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IpdMeanSeconds')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 53, 20))
+    st_7 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_7)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -3927,47 +4460,75 @@ def _BuildAutomaton_32 ():
          ]))
     st_4._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_6, [
+         ]))
+    transitions.append(fac.Transition(st_7, [
+         ]))
     st_5._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_6._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    st_7._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_20._Automaton = _BuildAutomaton_32()
+CTD_ANON_23._Automaton = _BuildAutomaton_37()
 
 
 
 
-def _BuildAutomaton_33 ():
+def _BuildAutomaton_38 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_33
-    del _BuildAutomaton_33
+    global _BuildAutomaton_38
+    del _BuildAutomaton_38
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 52, 20))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 53, 20))
+    counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_21._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_24._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_21._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Spectrum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 10, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_24._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Spectrum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 10, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_21._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 36, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_24._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RelativeAmplitude')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 36, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_21._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 41, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_24._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IntraPulseXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 41, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_21._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 46, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_24._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InterPulseXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 46, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_21._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 51, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_24._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DiffusionXsnCV')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 51, 5))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_24._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'PulseWidthMeanSeconds')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 52, 20))
+    st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_6)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_24._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IpdMeanSeconds')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 53, 20))
+    st_7 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_7)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -3991,26 +4552,40 @@ def _BuildAutomaton_33 ():
          ]))
     st_4._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_6, [
+         ]))
+    transitions.append(fac.Transition(st_7, [
+         ]))
     st_5._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_6._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    st_7._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_21._Automaton = _BuildAutomaton_33()
+CTD_ANON_24._Automaton = _BuildAutomaton_38()
 
 
 
 
-def _BuildAutomaton_34 ():
+def _BuildAutomaton_39 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_34
-    del _BuildAutomaton_34
+    global _BuildAutomaton_39
+    del _BuildAutomaton_39
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(InputOutputDataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(InputOutputDataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -4018,38 +4593,40 @@ def _BuildAutomaton_34 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-InputOutputDataType._Automaton = _BuildAutomaton_34()
+InputOutputDataType._Automaton = _BuildAutomaton_39()
 
 
 
 
-def _BuildAutomaton_35 ():
+PartNumberType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Defaults'), DefaultsType, nillable=pyxb.binding.datatypes.boolean(1), scope=PartNumberType, documentation='Default paramaters and filters which may be applied to PartNumber types in order to constrain them via parameterization', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 878, 4)))
+
+def _BuildAutomaton_40 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_35
-    del _BuildAutomaton_35
+    global _BuildAutomaton_40
+    del _BuildAutomaton_40
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     counters.add(cc_2)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(PartNumberType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(PartNumberType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(PartNumberType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(PartNumberType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(PartNumberType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    symbol = pyxb.binding.content.ElementUse(PartNumberType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     transitions = []
@@ -4071,96 +4648,75 @@ def _BuildAutomaton_35 ():
         fac.UpdateInstruction(cc_2, True) ]))
     st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-PartNumberType._Automaton = _BuildAutomaton_35()
+PartNumberType._Automaton = _BuildAutomaton_40()
 
 
 
 
-def _BuildAutomaton_36 ():
+def _BuildAutomaton_41 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_36
-    del _BuildAutomaton_36
+    global _BuildAutomaton_41
+    del _BuildAutomaton_41
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
-    counters.add(cc_2)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(RecordedEventType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(RecordedEventType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(RecordedEventType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(RecordedEventType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
-    final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(RecordedEventType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
-    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
-    states.append(st_2)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
     transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_0, False) ]))
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_0, False) ]))
     st_0._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_1, True) ]))
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_1, False) ]))
     st_1._set_transitionSet(transitions)
-    transitions = []
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_2, True) ]))
-    st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-RecordedEventType._Automaton = _BuildAutomaton_36()
+RecordedEventType._Automaton = _BuildAutomaton_41()
 
 
 
 
-SequencingChemistry._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DyeSet'), CTD_ANON_19, scope=SequencingChemistry, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 401, 5)))
+SequencingChemistry._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DyeSet'), CTD_ANON_22, scope=SequencingChemistry, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 468, 5)))
 
-def _BuildAutomaton_37 ():
+def _BuildAutomaton_42 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_37
-    del _BuildAutomaton_37
+    global _BuildAutomaton_42
+    del _BuildAutomaton_42
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
-    counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistry._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistry._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistry._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistry._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
-    final_update = None
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistry._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistry._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DyeSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 468, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
-    final_update = set()
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistry._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DyeSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 401, 5))
-    st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
-    states.append(st_3)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -4168,73 +4724,63 @@ def _BuildAutomaton_37 ():
         fac.UpdateInstruction(cc_0, False) ]))
     transitions.append(fac.Transition(st_2, [
         fac.UpdateInstruction(cc_0, False) ]))
-    transitions.append(fac.Transition(st_3, [
-        fac.UpdateInstruction(cc_0, False) ]))
     st_0._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_1, True) ]))
     transitions.append(fac.Transition(st_2, [
         fac.UpdateInstruction(cc_1, False) ]))
-    transitions.append(fac.Transition(st_3, [
-        fac.UpdateInstruction(cc_1, False) ]))
     st_1._set_transitionSet(transitions)
     transitions = []
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_2, True) ]))
-    transitions.append(fac.Transition(st_3, [
-        fac.UpdateInstruction(cc_2, False) ]))
     st_2._set_transitionSet(transitions)
-    transitions = []
-    st_3._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-SequencingChemistry._Automaton = _BuildAutomaton_37()
+SequencingChemistry._Automaton = _BuildAutomaton_42()
 
 
 
 
-SequencingChemistryConfig._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Analogs'), CTD_ANON_9, scope=SequencingChemistryConfig, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 439, 5)))
+SequencingChemistryConfig._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Analogs'), CTD_ANON_10, scope=SequencingChemistryConfig, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 506, 5)))
 
-SequencingChemistryConfig._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DefaultLaserSetPoint'), pyxb.binding.datatypes.float, scope=SequencingChemistryConfig, documentation="The laser power at the input couple, needed to achieve predefined performance requirements based on a median 'golden' SMRT Cell.", location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 446, 5)))
+SequencingChemistryConfig._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DefaultLaserSetPoint'), pyxb.binding.datatypes.float, scope=SequencingChemistryConfig, documentation="The laser power at the input couple, needed to achieve predefined performance requirements based on a median 'golden' SMRT Cell.", location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 513, 5)))
 
-SequencingChemistryConfig._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TargetSNR'), CTD_ANON_10, scope=SequencingChemistryConfig, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 451, 5)))
+SequencingChemistryConfig._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SNRCut'), pyxb.binding.datatypes.float, scope=SequencingChemistryConfig, documentation='The SNRCut is applied in PPA (baz2bam) as a read-quality filter.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 518, 5)))
 
-def _BuildAutomaton_38 ():
+SequencingChemistryConfig._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TargetSNR'), CTD_ANON_11, scope=SequencingChemistryConfig, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 523, 5)))
+
+def _BuildAutomaton_43 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_38
-    del _BuildAutomaton_38
+    global _BuildAutomaton_43
+    del _BuildAutomaton_43
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
-    counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Analogs')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 506, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Analogs')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 439, 5))
-    st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DefaultLaserSetPoint')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 513, 5))
+    st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DefaultLaserSetPoint')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 446, 5))
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SNRCut')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 518, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TargetSNR')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 451, 5))
+    symbol = pyxb.binding.content.ElementUse(SequencingChemistryConfig._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TargetSNR')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 523, 5))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     transitions = []
@@ -4244,22 +4790,16 @@ def _BuildAutomaton_38 ():
         fac.UpdateInstruction(cc_0, False) ]))
     transitions.append(fac.Transition(st_2, [
         fac.UpdateInstruction(cc_0, False) ]))
-    transitions.append(fac.Transition(st_3, [
-        fac.UpdateInstruction(cc_0, False) ]))
     st_0._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_1, True) ]))
     transitions.append(fac.Transition(st_2, [
         fac.UpdateInstruction(cc_1, False) ]))
-    transitions.append(fac.Transition(st_3, [
-        fac.UpdateInstruction(cc_1, False) ]))
     st_1._set_transitionSet(transitions)
     transitions = []
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_2, True) ]))
     transitions.append(fac.Transition(st_3, [
-        fac.UpdateInstruction(cc_2, False) ]))
+         ]))
     st_2._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_4, [
@@ -4272,42 +4812,42 @@ def _BuildAutomaton_38 ():
     transitions = []
     st_5._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-SequencingChemistryConfig._Automaton = _BuildAutomaton_38()
+SequencingChemistryConfig._Automaton = _BuildAutomaton_43()
 
 
 
 
-IndexedDataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources'), CTD_ANON_4, scope=IndexedDataType, documentation='Pointers to data that do not reside inside the parent structure', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 256, 1)))
+IndexedDataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources'), CTD_ANON_4, scope=IndexedDataType, documentation='Pointers to data that do not reside inside the parent structure', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 258, 1)))
 
-IndexedDataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'FileIndices'), CTD_ANON_5, scope=IndexedDataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 275, 5)))
+IndexedDataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'FileIndices'), CTD_ANON_5, scope=IndexedDataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 277, 5)))
 
-def _BuildAutomaton_39 ():
+def _BuildAutomaton_44 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_39
-    del _BuildAutomaton_39
+    global _BuildAutomaton_44
+    del _BuildAutomaton_44
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 275, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 277, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 286, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 288, 5))
     counters.add(cc_2)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(IndexedDataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(IndexedDataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(IndexedDataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'FileIndices')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 275, 5))
+    symbol = pyxb.binding.content.ElementUse(IndexedDataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'FileIndices')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 277, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(IndexedDataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 286, 5))
+    symbol = pyxb.binding.content.ElementUse(IndexedDataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 288, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     transitions = []
@@ -4329,56 +4869,56 @@ def _BuildAutomaton_39 ():
         fac.UpdateInstruction(cc_2, True) ]))
     st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-IndexedDataType._Automaton = _BuildAutomaton_39()
+IndexedDataType._Automaton = _BuildAutomaton_44()
 
 
 
 
-SupplyKitBinding._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Control'), SupplyKitControl, scope=SupplyKitBinding, documentation='Defines the binding kit internal control name.  Present when used, otherwise not used if not defined. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 550, 5)))
+SupplyKitBinding._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Control'), SupplyKitControl, scope=SupplyKitBinding, documentation='Defines the binding kit internal control name.  Present when used, otherwise not used if not defined. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 622, 5)))
 
-SupplyKitBinding._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'IsControlUsed'), pyxb.binding.datatypes.boolean, scope=SupplyKitBinding, documentation='True if the control was used during run, otherwise false. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 555, 5)))
+SupplyKitBinding._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'IsControlUsed'), pyxb.binding.datatypes.boolean, scope=SupplyKitBinding, documentation='True if the control was used during run, otherwise false. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 627, 5)))
 
-def _BuildAutomaton_40 ():
+def _BuildAutomaton_45 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_40
-    del _BuildAutomaton_40
+    global _BuildAutomaton_45
+    del _BuildAutomaton_45
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 550, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 622, 5))
     counters.add(cc_3)
-    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 555, 5))
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 627, 5))
     counters.add(cc_4)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Control')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 550, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Control')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 622, 5))
     st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_4, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IsControlUsed')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 555, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitBinding._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IsControlUsed')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 627, 5))
     st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -4422,47 +4962,47 @@ def _BuildAutomaton_40 ():
         fac.UpdateInstruction(cc_4, True) ]))
     st_4._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-SupplyKitBinding._Automaton = _BuildAutomaton_40()
+SupplyKitBinding._Automaton = _BuildAutomaton_45()
 
 
 
 
-SupplyKitCellPack._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout'), pyxb.binding.datatypes.string, scope=SupplyKitCellPack, documentation='Defines the internal chip layout name, if any. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 571, 5)))
+SupplyKitCellPack._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout'), pyxb.binding.datatypes.string, scope=SupplyKitCellPack, documentation='Defines the internal chip layout name, if any. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 643, 5)))
 
-def _BuildAutomaton_41 ():
+def _BuildAutomaton_46 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_41
-    del _BuildAutomaton_41
+    global _BuildAutomaton_46
+    del _BuildAutomaton_46
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 571, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 643, 5))
     counters.add(cc_3)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitCellPack._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitCellPack._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitCellPack._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitCellPack._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitCellPack._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitCellPack._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitCellPack._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 571, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitCellPack._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ChipLayout')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 643, 5))
     st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     transitions = []
@@ -4494,49 +5034,58 @@ def _BuildAutomaton_41 ():
         fac.UpdateInstruction(cc_3, True) ]))
     st_3._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-SupplyKitCellPack._Automaton = _BuildAutomaton_41()
+SupplyKitCellPack._Automaton = _BuildAutomaton_46()
 
 
 
 
-SupplyKitControl._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InternalControlName'), pyxb.binding.datatypes.string, scope=SupplyKitControl, documentation='Defines the internal control name, if any. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 592, 5)))
+SupplyKitControl._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InternalControlName'), pyxb.binding.datatypes.string, scope=SupplyKitControl, documentation='Defines the internal control name, if any. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 664, 5)))
 
-def _BuildAutomaton_42 ():
+SupplyKitControl._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CustomSequence'), pyxb.binding.datatypes.string, nillable=pyxb.binding.datatypes.boolean(1), scope=SupplyKitControl, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 669, 5)))
+
+def _BuildAutomaton_47 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_42
-    del _BuildAutomaton_42
+    global _BuildAutomaton_47
+    del _BuildAutomaton_47
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 592, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 664, 5))
     counters.add(cc_3)
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 669, 5))
+    counters.add(cc_4)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InternalControlName')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 592, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InternalControlName')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 664, 5))
     st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_4, False))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitControl._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CustomSequence')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 669, 5))
+    st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_4)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -4546,6 +5095,8 @@ def _BuildAutomaton_42 ():
         fac.UpdateInstruction(cc_0, False) ]))
     transitions.append(fac.Transition(st_3, [
         fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_0, False) ]))
     st_0._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_1, [
@@ -4554,86 +5105,96 @@ def _BuildAutomaton_42 ():
         fac.UpdateInstruction(cc_1, False) ]))
     transitions.append(fac.Transition(st_3, [
         fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_1, False) ]))
     st_1._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_2, [
         fac.UpdateInstruction(cc_2, True) ]))
     transitions.append(fac.Transition(st_3, [
         fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_2, False) ]))
     st_2._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_3, [
         fac.UpdateInstruction(cc_3, True) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_3, False) ]))
     st_3._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_4, True) ]))
+    st_4._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-SupplyKitControl._Automaton = _BuildAutomaton_42()
+SupplyKitControl._Automaton = _BuildAutomaton_47()
 
 
 
 
-SupplyKitTemplate._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'LeftAdaptorSequence'), pyxb.binding.datatypes.string, scope=SupplyKitTemplate, documentation='Left adapter DNA sequence.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 608, 5)))
+SupplyKitTemplate._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'LeftAdaptorSequence'), pyxb.binding.datatypes.string, scope=SupplyKitTemplate, documentation='Left adapter DNA sequence.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 681, 5)))
 
-SupplyKitTemplate._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'LeftPrimerSequence'), pyxb.binding.datatypes.string, scope=SupplyKitTemplate, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 613, 5)))
+SupplyKitTemplate._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'LeftPrimerSequence'), pyxb.binding.datatypes.string, scope=SupplyKitTemplate, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 686, 5)))
 
-SupplyKitTemplate._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RightAdaptorSequence'), pyxb.binding.datatypes.string, scope=SupplyKitTemplate, documentation='Right adapter DNA sequence.  If not specified, a symmetric adapter model is inferred, where the left adapter sequence is used wherever needed.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 614, 5)))
+SupplyKitTemplate._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RightAdaptorSequence'), pyxb.binding.datatypes.string, scope=SupplyKitTemplate, documentation='Right adapter DNA sequence.  If not specified, a symmetric adapter model is inferred, where the left adapter sequence is used wherever needed.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 687, 5)))
 
-SupplyKitTemplate._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RightPrimerSequence'), pyxb.binding.datatypes.string, scope=SupplyKitTemplate, documentation='Right primaer sequence.  If not specified, a symmetric model is inferred, where the left primer sequence is used wherever needed.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 619, 5)))
+SupplyKitTemplate._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RightPrimerSequence'), pyxb.binding.datatypes.string, scope=SupplyKitTemplate, documentation='Right primaer sequence.  If not specified, a symmetric model is inferred, where the left primer sequence is used wherever needed.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 692, 5)))
 
-def _BuildAutomaton_43 ():
+def _BuildAutomaton_48 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_43
-    del _BuildAutomaton_43
+    global _BuildAutomaton_48
+    del _BuildAutomaton_48
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 608, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 681, 5))
     counters.add(cc_3)
-    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 613, 5))
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 686, 5))
     counters.add(cc_4)
-    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 614, 5))
+    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 687, 5))
     counters.add(cc_5)
-    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 619, 5))
+    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 692, 5))
     counters.add(cc_6)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'LeftAdaptorSequence')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 608, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'LeftAdaptorSequence')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 681, 5))
     st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_4, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'LeftPrimerSequence')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 613, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'LeftPrimerSequence')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 686, 5))
     st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_5, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RightAdaptorSequence')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 614, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RightAdaptorSequence')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 687, 5))
     st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_6, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RightPrimerSequence')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 619, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitTemplate._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RightPrimerSequence')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 692, 5))
     st_6 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_6)
     transitions = []
@@ -4707,38 +5268,38 @@ def _BuildAutomaton_43 ():
         fac.UpdateInstruction(cc_6, True) ]))
     st_6._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-SupplyKitTemplate._Automaton = _BuildAutomaton_43()
+SupplyKitTemplate._Automaton = _BuildAutomaton_48()
 
 
 
 
-def _BuildAutomaton_44 ():
+def _BuildAutomaton_49 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_44
-    del _BuildAutomaton_44
+    global _BuildAutomaton_49
+    del _BuildAutomaton_49
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 275, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 277, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 286, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 288, 5))
     counters.add(cc_2)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_22._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_25._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_22._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'FileIndices')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 275, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_25._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'FileIndices')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 277, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_22._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 286, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_25._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 288, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     transitions = []
@@ -4760,5 +5321,5 @@ def _BuildAutomaton_44 ():
         fac.UpdateInstruction(cc_2, True) ]))
     st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-CTD_ANON_22._Automaton = _BuildAutomaton_44()
+CTD_ANON_25._Automaton = _BuildAutomaton_49()
 
diff --git a/pbcore/io/dataset/DataSetXsd.py b/pbcore/io/dataset/pyxb/_pbds.py
similarity index 81%
rename from pbcore/io/dataset/DataSetXsd.py
rename to pbcore/io/dataset/pyxb/_pbds.py
index a22566b..4cdcfad 100644
--- a/pbcore/io/dataset/DataSetXsd.py
+++ b/pbcore/io/dataset/pyxb/_pbds.py
@@ -1,8 +1,8 @@
-# ./xsdupdate/DataSetXsd.py
+# pbcore/io/dataset/pyxb/_pbds.py
 # -*- coding: utf-8 -*-
 # PyXB bindings for NM:3dc5b3a98cc462befd746fd05a18986be8ba2691
-# Generated 2015-12-08 13:20:39.148321 by PyXB version 1.2.4 using Python 2.7.6.final.0
-# Namespace http://pacificbiosciences.com/PacBioDatasets.xsd
+# Generated 2017-09-27 15:52:12.404681 by PyXB version 1.2.4 using Python 2.7.9.final.0
+# Namespace http://pacificbiosciences.com/PacBioDatasets.xsd [xmlns:pbds]
 
 from __future__ import unicode_literals
 import pyxb
@@ -15,7 +15,7 @@ import sys
 import pyxb.utils.six as _six
 
 # Unique identifier for bindings created at the same time
-_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:8749368c-9df1-11e5-86b0-001a4acb6b14')
+_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:7fa6c9c0-a3d6-11e7-96cb-0026b9fe0a90')
 
 # Version of PyXB used to generate the bindings
 _PyXBVersion = '1.2.4'
@@ -24,9 +24,9 @@ if pyxb.__version__ != _PyXBVersion:
     raise pyxb.PyXBVersionError(_PyXBVersion)
 
 # Import bindings for namespaces imported into schema
+import _pbmeta as _ImportedBinding__pbmeta
 import pyxb.binding.datatypes
 import _pbsample as _ImportedBinding__pbsample
-import _pbmeta as _ImportedBinding__pbmeta
 import _pbbase as _ImportedBinding__pbbase
 
 # NOTE: All namespace declarations are reserved within the binding
@@ -88,7 +88,7 @@ class STD_ANON (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mi
     """An atomic simple type."""
 
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 202, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 213, 6)
     _Documentation = None
 STD_ANON._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=STD_ANON, enum_prefix=None)
 STD_ANON.Instrument = STD_ANON._CF_enumeration.addEnumeration(unicode_value='Instrument', tag='Instrument')
@@ -103,13 +103,13 @@ class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 115, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 125, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Subset uses Python identifier Subset
-    __Subset = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Subset'), 'Subset', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_httppacificbiosciences_comPacBioDatasets_xsdSubset', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 117, 4), )
+    __Subset = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Subset'), 'Subset', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_httppacificbiosciences_comPacBioDatasets_xsdSubset', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 127, 4), )
 
     
     Subset = property(__Subset.value, __Subset.set, None, None)
@@ -130,27 +130,27 @@ class DataSetMetadataType (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadataType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 186, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 196, 1)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}TotalLength uses Python identifier TotalLength
-    __TotalLength = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TotalLength'), 'TotalLength', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdTotalLength', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 191, 3), )
+    __TotalLength = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TotalLength'), 'TotalLength', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdTotalLength', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 201, 3), )
 
     
     TotalLength = property(__TotalLength.value, __TotalLength.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}NumRecords uses Python identifier NumRecords
-    __NumRecords = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'NumRecords'), 'NumRecords', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdNumRecords', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 192, 3), )
+    __NumRecords = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'NumRecords'), 'NumRecords', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdNumRecords', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 202, 3), )
 
     
     NumRecords = property(__NumRecords.value, __NumRecords.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Provenance uses Python identifier Provenance
-    __Provenance = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Provenance'), 'Provenance', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdProvenance', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3), )
+    __Provenance = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Provenance'), 'Provenance', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdProvenance', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3), )
 
     
     Provenance = property(__Provenance.value, __Provenance.set, None, None)
@@ -173,62 +173,62 @@ class DataSetRootType (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'DataSetRootType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 214, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 225, 1)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}AlignmentSet uses Python identifier AlignmentSet
-    __AlignmentSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AlignmentSet'), 'AlignmentSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdAlignmentSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 8, 1), )
+    __AlignmentSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AlignmentSet'), 'AlignmentSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdAlignmentSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 8, 1), )
 
     
     AlignmentSet = property(__AlignmentSet.value, __AlignmentSet.set, None, 'DataSets for aligned subreads and CCS reads.')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}BarcodeSet uses Python identifier BarcodeSet
-    __BarcodeSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BarcodeSet'), 'BarcodeSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdBarcodeSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 18, 1), )
+    __BarcodeSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BarcodeSet'), 'BarcodeSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdBarcodeSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 18, 1), )
 
     
     BarcodeSet = property(__BarcodeSet.value, __BarcodeSet.set, None, 'DataSets of Barcodes. Basically a thin metadata layer on top of the barcode FASTA.')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ConsensusAlignmentSet uses Python identifier ConsensusAlignmentSet
-    __ConsensusAlignmentSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ConsensusAlignmentSet'), 'ConsensusAlignmentSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdConsensusAlignmentSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 28, 1), )
+    __ConsensusAlignmentSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ConsensusAlignmentSet'), 'ConsensusAlignmentSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdConsensusAlignmentSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 28, 1), )
 
     
     ConsensusAlignmentSet = property(__ConsensusAlignmentSet.value, __ConsensusAlignmentSet.set, None, 'DataSets of aligned CCS reads.')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ConsensusReadSet uses Python identifier ConsensusReadSet
-    __ConsensusReadSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ConsensusReadSet'), 'ConsensusReadSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdConsensusReadSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 38, 1), )
+    __ConsensusReadSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ConsensusReadSet'), 'ConsensusReadSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdConsensusReadSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 38, 1), )
 
     
     ConsensusReadSet = property(__ConsensusReadSet.value, __ConsensusReadSet.set, None, 'DataSets of CCS reads (typically in unaligned BAM format).')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ContigSet uses Python identifier ContigSet
-    __ContigSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ContigSet'), 'ContigSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdContigSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 75, 1), )
+    __ContigSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ContigSet'), 'ContigSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdContigSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 75, 1), )
 
     
     ContigSet = property(__ContigSet.value, __ContigSet.set, None, 'DataSets of contigs sequences. Basically a thin metadata layer on top of a contigs FASTA (e.g. from HGAP).')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}HdfSubreadSet uses Python identifier HdfSubreadSet
-    __HdfSubreadSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'HdfSubreadSet'), 'HdfSubreadSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdHdfSubreadSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 87, 1), )
+    __HdfSubreadSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'HdfSubreadSet'), 'HdfSubreadSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdHdfSubreadSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 87, 1), )
 
     
     HdfSubreadSet = property(__HdfSubreadSet.value, __HdfSubreadSet.set, None, 'DataSets of subreads in bax.h5 or bas.h5 format.')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ReferenceSet uses Python identifier ReferenceSet
-    __ReferenceSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReferenceSet'), 'ReferenceSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdReferenceSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 97, 1), )
+    __ReferenceSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReferenceSet'), 'ReferenceSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdReferenceSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 97, 1), )
 
     
     ReferenceSet = property(__ReferenceSet.value, __ReferenceSet.set, None, 'DataSets of reference sequences. Replaces the reference.info.xml.')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}SubreadSet uses Python identifier SubreadSet
-    __SubreadSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SubreadSet'), 'SubreadSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdSubreadSet', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 107, 1), )
+    __SubreadSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SubreadSet'), 'SubreadSet', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetRootType_httppacificbiosciences_comPacBioDatasets_xsdSubreadSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 117, 1), )
 
     
     SubreadSet = property(__SubreadSet.value, __SubreadSet.set, None, None)
@@ -256,13 +256,13 @@ class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 235, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 246, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Filter uses Python identifier Filter
-    __Filter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filter'), 'Filter', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON__httppacificbiosciences_comPacBioDatasets_xsdFilter', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 237, 8), )
+    __Filter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filter'), 'Filter', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON__httppacificbiosciences_comPacBioDatasets_xsdFilter', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 248, 8), )
 
     
     Filter = property(__Filter.value, __Filter.set, None, None)
@@ -283,13 +283,13 @@ class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 242, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 253, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSet uses Python identifier DataSet
-    __DataSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSet'), 'DataSet', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioDatasets_xsdDataSet', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 85, 1), )
+    __DataSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSet'), 'DataSet', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioDatasets_xsdDataSet', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 85, 1), )
 
     
     DataSet = property(__DataSet.value, __DataSet.set, None, None)
@@ -310,90 +310,90 @@ class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 259, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 270, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}AdapterDimerFraction uses Python identifier AdapterDimerFraction
-    __AdapterDimerFraction = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AdapterDimerFraction'), 'AdapterDimerFraction', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdAdapterDimerFraction', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 261, 8), )
+    __AdapterDimerFraction = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AdapterDimerFraction'), 'AdapterDimerFraction', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdAdapterDimerFraction', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 272, 8), )
 
     
     AdapterDimerFraction = property(__AdapterDimerFraction.value, __AdapterDimerFraction.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ShortInsertFraction uses Python identifier ShortInsertFraction
-    __ShortInsertFraction = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ShortInsertFraction'), 'ShortInsertFraction', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdShortInsertFraction', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 262, 8), )
+    __ShortInsertFraction = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ShortInsertFraction'), 'ShortInsertFraction', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdShortInsertFraction', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 273, 8), )
 
     
     ShortInsertFraction = property(__ShortInsertFraction.value, __ShortInsertFraction.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}NumSequencingZmws uses Python identifier NumSequencingZmws
-    __NumSequencingZmws = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'NumSequencingZmws'), 'NumSequencingZmws', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdNumSequencingZmws', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 263, 8), )
+    __NumSequencingZmws = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'NumSequencingZmws'), 'NumSequencingZmws', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdNumSequencingZmws', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 274, 8), )
 
     
     NumSequencingZmws = property(__NumSequencingZmws.value, __NumSequencingZmws.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ProdDist uses Python identifier ProdDist
-    __ProdDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ProdDist'), 'ProdDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdProdDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 264, 8), )
+    __ProdDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ProdDist'), 'ProdDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdProdDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 275, 8), )
 
     
     ProdDist = property(__ProdDist.value, __ProdDist.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ReadTypeDist uses Python identifier ReadTypeDist
-    __ReadTypeDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReadTypeDist'), 'ReadTypeDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdReadTypeDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 265, 8), )
+    __ReadTypeDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReadTypeDist'), 'ReadTypeDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdReadTypeDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 276, 8), )
 
     
     ReadTypeDist = property(__ReadTypeDist.value, __ReadTypeDist.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ReadLenDist uses Python identifier ReadLenDist
-    __ReadLenDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReadLenDist'), 'ReadLenDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdReadLenDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 266, 8), )
+    __ReadLenDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReadLenDist'), 'ReadLenDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdReadLenDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 277, 8), )
 
     
     ReadLenDist = property(__ReadLenDist.value, __ReadLenDist.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ReadQualDist uses Python identifier ReadQualDist
-    __ReadQualDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReadQualDist'), 'ReadQualDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdReadQualDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 267, 8), )
+    __ReadQualDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReadQualDist'), 'ReadQualDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdReadQualDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 278, 8), )
 
     
     ReadQualDist = property(__ReadQualDist.value, __ReadQualDist.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ControlReadLenDist uses Python identifier ControlReadLenDist
-    __ControlReadLenDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ControlReadLenDist'), 'ControlReadLenDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdControlReadLenDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 268, 8), )
+    __ControlReadLenDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ControlReadLenDist'), 'ControlReadLenDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdControlReadLenDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 279, 8), )
 
     
     ControlReadLenDist = property(__ControlReadLenDist.value, __ControlReadLenDist.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ControlReadQualDist uses Python identifier ControlReadQualDist
-    __ControlReadQualDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ControlReadQualDist'), 'ControlReadQualDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdControlReadQualDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 269, 8), )
+    __ControlReadQualDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ControlReadQualDist'), 'ControlReadQualDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdControlReadQualDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 280, 8), )
 
     
     ControlReadQualDist = property(__ControlReadQualDist.value, __ControlReadQualDist.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}MedianInsertDist uses Python identifier MedianInsertDist
-    __MedianInsertDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MedianInsertDist'), 'MedianInsertDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdMedianInsertDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 270, 8), )
+    __MedianInsertDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MedianInsertDist'), 'MedianInsertDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdMedianInsertDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 281, 8), )
 
     
     MedianInsertDist = property(__MedianInsertDist.value, __MedianInsertDist.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}InsertReadLenDist uses Python identifier InsertReadLenDist
-    __InsertReadLenDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InsertReadLenDist'), 'InsertReadLenDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdInsertReadLenDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 271, 8), )
+    __InsertReadLenDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InsertReadLenDist'), 'InsertReadLenDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdInsertReadLenDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 282, 8), )
 
     
     InsertReadLenDist = property(__InsertReadLenDist.value, __InsertReadLenDist.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}InsertReadQualDist uses Python identifier InsertReadQualDist
-    __InsertReadQualDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InsertReadQualDist'), 'InsertReadQualDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdInsertReadQualDist', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 272, 8), )
+    __InsertReadQualDist = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InsertReadQualDist'), 'InsertReadQualDist', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioDatasets_xsdInsertReadQualDist', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 283, 8), )
 
     
     InsertReadQualDist = property(__InsertReadQualDist.value, __InsertReadQualDist.set, None, None)
@@ -425,13 +425,13 @@ class CTD_ANON_4 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 315, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 326, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Filter uses Python identifier Filter
-    __Filter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filter'), 'Filter', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioDatasets_xsdFilter', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 317, 8), )
+    __Filter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filter'), 'Filter', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioDatasets_xsdFilter', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 328, 8), )
 
     
     Filter = property(__Filter.value, __Filter.set, None, None)
@@ -452,13 +452,13 @@ class AlignmentSetMetadataType (DataSetMetadataType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'AlignmentSetMetadataType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 121, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 131, 1)
     _ElementMap = DataSetMetadataType._ElementMap.copy()
     _AttributeMap = DataSetMetadataType._AttributeMap.copy()
     # Base type is DataSetMetadataType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Aligner uses Python identifier Aligner
-    __Aligner = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Aligner'), 'Aligner', '__httppacificbiosciences_comPacBioDatasets_xsd_AlignmentSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdAligner', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 125, 5), )
+    __Aligner = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Aligner'), 'Aligner', '__httppacificbiosciences_comPacBioDatasets_xsd_AlignmentSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdAligner', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 135, 5), )
 
     
     Aligner = property(__Aligner.value, __Aligner.set, None, None)
@@ -485,13 +485,13 @@ class BarcodeSetMetadataType (DataSetMetadataType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'BarcodeSetMetadataType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 142, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 152, 1)
     _ElementMap = DataSetMetadataType._ElementMap.copy()
     _AttributeMap = DataSetMetadataType._AttributeMap.copy()
     # Base type is DataSetMetadataType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}BarcodeConstruction uses Python identifier BarcodeConstruction
-    __BarcodeConstruction = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BarcodeConstruction'), 'BarcodeConstruction', '__httppacificbiosciences_comPacBioDatasets_xsd_BarcodeSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdBarcodeConstruction', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 146, 5), )
+    __BarcodeConstruction = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BarcodeConstruction'), 'BarcodeConstruction', '__httppacificbiosciences_comPacBioDatasets_xsd_BarcodeSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdBarcodeConstruction', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 156, 5), )
 
     
     BarcodeConstruction = property(__BarcodeConstruction.value, __BarcodeConstruction.set, None, None)
@@ -518,27 +518,27 @@ class ContigSetMetadataType (DataSetMetadataType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ContigSetMetadataType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 163, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 173, 1)
     _ElementMap = DataSetMetadataType._ElementMap.copy()
     _AttributeMap = DataSetMetadataType._AttributeMap.copy()
     # Base type is DataSetMetadataType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Contigs uses Python identifier Contigs
-    __Contigs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Contigs'), 'Contigs', '__httppacificbiosciences_comPacBioDatasets_xsd_ContigSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdContigs', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 52, 1), )
+    __Contigs = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Contigs'), 'Contigs', '__httppacificbiosciences_comPacBioDatasets_xsd_ContigSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdContigs', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 52, 1), )
 
     
     Contigs = property(__Contigs.value, __Contigs.set, None, 'List of contigs in a ContigSet')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Organism uses Python identifier Organism
-    __Organism = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Organism'), 'Organism', '__httppacificbiosciences_comPacBioDatasets_xsd_ContigSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdOrganism', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 167, 5), )
+    __Organism = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Organism'), 'Organism', '__httppacificbiosciences_comPacBioDatasets_xsd_ContigSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdOrganism', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 177, 5), )
 
     
     Organism = property(__Organism.value, __Organism.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Ploidy uses Python identifier Ploidy
-    __Ploidy = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Ploidy'), 'Ploidy', '__httppacificbiosciences_comPacBioDatasets_xsd_ContigSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdPloidy', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 168, 5), )
+    __Ploidy = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Ploidy'), 'Ploidy', '__httppacificbiosciences_comPacBioDatasets_xsd_ContigSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdPloidy', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 178, 5), )
 
     
     Ploidy = property(__Ploidy.value, __Ploidy.set, None, None)
@@ -567,43 +567,50 @@ class CTD_ANON_5 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 194, 4)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 204, 4)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}CommonServicesInstanceId uses Python identifier CommonServicesInstanceId
-    __CommonServicesInstanceId = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CommonServicesInstanceId'), 'CommonServicesInstanceId', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdCommonServicesInstanceId', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 196, 6), )
+    __CommonServicesInstanceId = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CommonServicesInstanceId'), 'CommonServicesInstanceId', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdCommonServicesInstanceId', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 206, 6), )
 
     
     CommonServicesInstanceId = property(__CommonServicesInstanceId.value, __CommonServicesInstanceId.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}CreatorUserId uses Python identifier CreatorUserId
-    __CreatorUserId = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CreatorUserId'), 'CreatorUserId', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdCreatorUserId', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 197, 6), )
+    __CreatorUserId = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CreatorUserId'), 'CreatorUserId', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdCreatorUserId', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 207, 6), )
 
     
     CreatorUserId = property(__CreatorUserId.value, __CreatorUserId.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ParentJobId uses Python identifier ParentJobId
-    __ParentJobId = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ParentJobId'), 'ParentJobId', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdParentJobId', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 198, 6), )
+    __ParentJobId = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ParentJobId'), 'ParentJobId', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdParentJobId', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 208, 6), )
 
     
     ParentJobId = property(__ParentJobId.value, __ParentJobId.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ParentTool uses Python identifier ParentTool
-    __ParentTool = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ParentTool'), 'ParentTool', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdParentTool', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 199, 6), )
+    __ParentTool = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ParentTool'), 'ParentTool', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdParentTool', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 209, 6), )
 
     
     ParentTool = property(__ParentTool.value, __ParentTool.set, None, None)
 
     
+    # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}ParentDataSet uses Python identifier ParentDataSet
+    __ParentDataSet = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ParentDataSet'), 'ParentDataSet', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioDatasets_xsdParentDataSet', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 210, 6), )
+
+    
+    ParentDataSet = property(__ParentDataSet.value, __ParentDataSet.set, None, None)
+
+    
     # Attribute CreatedBy uses Python identifier CreatedBy
     __CreatedBy = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'CreatedBy'), 'CreatedBy', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_5_CreatedBy', STD_ANON, required=True)
-    __CreatedBy._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 201, 5)
-    __CreatedBy._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 201, 5)
+    __CreatedBy._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 212, 5)
+    __CreatedBy._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 212, 5)
     
     CreatedBy = property(__CreatedBy.value, __CreatedBy.set, None, None)
 
@@ -611,7 +618,8 @@ class CTD_ANON_5 (pyxb.binding.basis.complexTypeDefinition):
         __CommonServicesInstanceId.name() : __CommonServicesInstanceId,
         __CreatorUserId.name() : __CreatorUserId,
         __ParentJobId.name() : __ParentJobId,
-        __ParentTool.name() : __ParentTool
+        __ParentTool.name() : __ParentTool,
+        __ParentDataSet.name() : __ParentDataSet
     })
     _AttributeMap.update({
         __CreatedBy.name() : __CreatedBy
@@ -626,13 +634,13 @@ class ReadSetMetadataType (DataSetMetadataType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ReadSetMetadataType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 252, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 263, 1)
     _ElementMap = DataSetMetadataType._ElementMap.copy()
     _AttributeMap = DataSetMetadataType._AttributeMap.copy()
     # Base type is DataSetMetadataType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Collections uses Python identifier Collections
-    __Collections = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbmeta, 'Collections'), 'Collections', '__httppacificbiosciences_comPacBioDatasets_xsd_ReadSetMetadataType_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollections', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 20, 1), )
+    __Collections = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbmeta, 'Collections'), 'Collections', '__httppacificbiosciences_comPacBioDatasets_xsd_ReadSetMetadataType_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollections', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 20, 1), )
 
     
     Collections = property(__Collections.value, __Collections.set, None, 'A set of acquisition definitions')
@@ -645,17 +653,17 @@ class ReadSetMetadataType (DataSetMetadataType):
     # Element Provenance ({http://pacificbiosciences.com/PacBioDatasets.xsd}Provenance) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetMetadataType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}SummaryStats uses Python identifier SummaryStats
-    __SummaryStats = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SummaryStats'), 'SummaryStats', '__httppacificbiosciences_comPacBioDatasets_xsd_ReadSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdSummaryStats', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 258, 5), )
+    __SummaryStats = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SummaryStats'), 'SummaryStats', '__httppacificbiosciences_comPacBioDatasets_xsd_ReadSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdSummaryStats', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 269, 5), )
 
     
     SummaryStats = property(__SummaryStats.value, __SummaryStats.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSamples uses Python identifier BioSamples
-    __BioSamples = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples'), 'BioSamples', '__httppacificbiosciences_comPacBioDatasets_xsd_ReadSetMetadataType_httppacificbiosciences_comPacBioSampleInfo_xsdBioSamples', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 134, 1), )
+    __BioSamples = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples'), 'BioSamples', '__httppacificbiosciences_comPacBioDatasets_xsd_ReadSetMetadataType_httppacificbiosciences_comPacBioSampleInfo_xsdBioSamples', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 126, 1), )
 
     
-    BioSamples = property(__BioSamples.value, __BioSamples.set, None, None)
+    BioSamples = property(__BioSamples.value, __BioSamples.set, None, 'List of biological samples.')
 
     _ElementMap.update({
         __Collections.name() : __Collections,
@@ -675,7 +683,7 @@ class SubreadSetMetadataType (DataSetMetadataType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SubreadSetMetadataType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 292, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 303, 1)
     _ElementMap = DataSetMetadataType._ElementMap.copy()
     _AttributeMap = DataSetMetadataType._AttributeMap.copy()
     # Base type is DataSetMetadataType
@@ -687,14 +695,14 @@ class SubreadSetMetadataType (DataSetMetadataType):
     # Element Provenance ({http://pacificbiosciences.com/PacBioDatasets.xsd}Provenance) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetMetadataType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}AverageSubreadLength uses Python identifier AverageSubreadLength
-    __AverageSubreadLength = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadLength'), 'AverageSubreadLength', '__httppacificbiosciences_comPacBioDatasets_xsd_SubreadSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdAverageSubreadLength', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 296, 5), )
+    __AverageSubreadLength = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadLength'), 'AverageSubreadLength', '__httppacificbiosciences_comPacBioDatasets_xsd_SubreadSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdAverageSubreadLength', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 307, 5), )
 
     
     AverageSubreadLength = property(__AverageSubreadLength.value, __AverageSubreadLength.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}AverageSubreadQuality uses Python identifier AverageSubreadQuality
-    __AverageSubreadQuality = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadQuality'), 'AverageSubreadQuality', '__httppacificbiosciences_comPacBioDatasets_xsd_SubreadSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdAverageSubreadQuality', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 297, 5), )
+    __AverageSubreadQuality = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadQuality'), 'AverageSubreadQuality', '__httppacificbiosciences_comPacBioDatasets_xsd_SubreadSetMetadataType_httppacificbiosciences_comPacBioDatasets_xsdAverageSubreadQuality', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 308, 5), )
 
     
     AverageSubreadQuality = property(__AverageSubreadQuality.value, __AverageSubreadQuality.set, None, None)
@@ -716,7 +724,7 @@ class CTD_ANON_6 (_ImportedBinding__pbbase.BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 56, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 56, 2)
     _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.BaseEntityType
@@ -724,7 +732,7 @@ class CTD_ANON_6 (_ImportedBinding__pbbase.BaseEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Contig uses Python identifier Contig
-    __Contig = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Contig'), 'Contig', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioDatasets_xsdContig', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 60, 6), )
+    __Contig = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Contig'), 'Contig', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioDatasets_xsdContig', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 60, 6), )
 
     
     Contig = property(__Contig.value, __Contig.set, None, None)
@@ -761,7 +769,7 @@ class CTD_ANON_7 (_ImportedBinding__pbbase.BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 61, 7)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 61, 7)
     _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.BaseEntityType
@@ -786,16 +794,16 @@ class CTD_ANON_7 (_ImportedBinding__pbbase.BaseEntityType):
     
     # Attribute Length uses Python identifier Length
     __Length = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Length'), 'Length', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_7_Length', pyxb.binding.datatypes.anySimpleType, required=True)
-    __Length._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 64, 10)
-    __Length._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 64, 10)
+    __Length._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 64, 10)
+    __Length._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 64, 10)
     
     Length = property(__Length.value, __Length.set, None, None)
 
     
     # Attribute Digest uses Python identifier Digest
     __Digest = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Digest'), 'Digest', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_7_Digest', pyxb.binding.datatypes.anySimpleType, required=True)
-    __Digest._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 65, 10)
-    __Digest._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 65, 10)
+    __Digest._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 65, 10)
+    __Digest._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 65, 10)
     
     Digest = property(__Digest.value, __Digest.set, None, None)
 
@@ -816,7 +824,7 @@ class DataSetType (_ImportedBinding__pbbase.StrictEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'DataSetType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 226, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 237, 1)
     _ElementMap = _ImportedBinding__pbbase.StrictEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.StrictEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.StrictEntityType
@@ -824,21 +832,21 @@ class DataSetType (_ImportedBinding__pbbase.StrictEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExternalResources uses Python identifier ExternalResources
-    __ExternalResources = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources'), 'ExternalResources', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetType_httppacificbiosciences_comPacBioBaseDataModel_xsdExternalResources', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 256, 1), )
+    __ExternalResources = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources'), 'ExternalResources', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetType_httppacificbiosciences_comPacBioBaseDataModel_xsdExternalResources', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 258, 1), )
 
     
     ExternalResources = property(__ExternalResources.value, __ExternalResources.set, None, 'Pointers to data that do not reside inside the parent structure')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Filters uses Python identifier Filters
-    __Filters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filters'), 'Filters', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetType_httppacificbiosciences_comPacBioDatasets_xsdFilters', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5), )
+    __Filters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filters'), 'Filters', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetType_httppacificbiosciences_comPacBioDatasets_xsdFilters', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5), )
 
     
     Filters = property(__Filters.value, __Filters.set, None, 'The set of filters defined here apply to the resident data set.  Should DataSet subsets be created out of this parent DataSet, each sub-DataSet may contain its own filters.')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSets uses Python identifier DataSets
-    __DataSets = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSets'), 'DataSets', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSets', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5), )
+    __DataSets = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSets'), 'DataSets', '__httppacificbiosciences_comPacBioDatasets_xsd_DataSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSets', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5), )
 
     
     DataSets = property(__DataSets.value, __DataSets.set, None, None)
@@ -883,7 +891,7 @@ class SubsetType (_ImportedBinding__pbbase.StrictEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SubsetType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 307, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 318, 1)
     _ElementMap = _ImportedBinding__pbbase.StrictEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.StrictEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.StrictEntityType
@@ -891,14 +899,14 @@ class SubsetType (_ImportedBinding__pbbase.StrictEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataPointers uses Python identifier DataPointers
-    __DataPointers = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'DataPointers'), 'DataPointers', '__httppacificbiosciences_comPacBioDatasets_xsd_SubsetType_httppacificbiosciences_comPacBioBaseDataModel_xsdDataPointers', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 222, 1), )
+    __DataPointers = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'DataPointers'), 'DataPointers', '__httppacificbiosciences_comPacBioDatasets_xsd_SubsetType_httppacificbiosciences_comPacBioBaseDataModel_xsdDataPointers', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 224, 1), )
 
     
     DataPointers = property(__DataPointers.value, __DataPointers.set, None, 'Pointer list to UniqueIds in the system')
 
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}Filters uses Python identifier Filters
-    __Filters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filters'), 'Filters', '__httppacificbiosciences_comPacBioDatasets_xsd_SubsetType_httppacificbiosciences_comPacBioDatasets_xsdFilters', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 311, 5), )
+    __Filters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Filters'), 'Filters', '__httppacificbiosciences_comPacBioDatasets_xsd_SubsetType_httppacificbiosciences_comPacBioDatasets_xsdFilters', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 322, 5), )
 
     
     Filters = property(__Filters.value, __Filters.set, None, 'The set of filters defined here apply to the resident data set.  Should DataSet subsets be created out of this parent DataSet, each sub-DataSet may contain its own filters.')
@@ -942,7 +950,7 @@ class CTD_ANON_8 (DataSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 42, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 42, 2)
     _ElementMap = DataSetType._ElementMap.copy()
     _AttributeMap = DataSetType._AttributeMap.copy()
     # Base type is DataSetType
@@ -952,7 +960,7 @@ class CTD_ANON_8 (DataSetType):
     # Element ExternalResources ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExternalResources) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetMetadata uses Python identifier DataSetMetadata
-    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 46, 6), )
+    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 46, 6), )
 
     
     DataSetMetadata = property(__DataSetMetadata.value, __DataSetMetadata.set, None, None)
@@ -999,7 +1007,7 @@ class AlignmentSetType (DataSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'AlignmentSetType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 130, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 140, 1)
     _ElementMap = DataSetType._ElementMap.copy()
     _AttributeMap = DataSetType._AttributeMap.copy()
     # Base type is DataSetType
@@ -1009,7 +1017,7 @@ class AlignmentSetType (DataSetType):
     # Element ExternalResources ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExternalResources) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetMetadata uses Python identifier DataSetMetadata
-    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_AlignmentSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 137, 5), )
+    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_AlignmentSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 147, 5), )
 
     
     DataSetMetadata = property(__DataSetMetadata.value, __DataSetMetadata.set, None, None)
@@ -1056,7 +1064,7 @@ class BarcodeSetType (DataSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'BarcodeSetType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 151, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 161, 1)
     _ElementMap = DataSetType._ElementMap.copy()
     _AttributeMap = DataSetType._AttributeMap.copy()
     # Base type is DataSetType
@@ -1066,7 +1074,7 @@ class BarcodeSetType (DataSetType):
     # Element ExternalResources ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExternalResources) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetMetadata uses Python identifier DataSetMetadata
-    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_BarcodeSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 158, 5), )
+    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_BarcodeSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 168, 5), )
 
     
     DataSetMetadata = property(__DataSetMetadata.value, __DataSetMetadata.set, None, None)
@@ -1113,7 +1121,7 @@ class ContigSetType (DataSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ContigSetType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 174, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 184, 1)
     _ElementMap = DataSetType._ElementMap.copy()
     _AttributeMap = DataSetType._AttributeMap.copy()
     # Base type is DataSetType
@@ -1123,7 +1131,7 @@ class ContigSetType (DataSetType):
     # Element ExternalResources ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExternalResources) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetMetadata uses Python identifier DataSetMetadata
-    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_ContigSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 181, 5), )
+    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_ContigSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 191, 5), )
 
     
     DataSetMetadata = property(__DataSetMetadata.value, __DataSetMetadata.set, None, None)
@@ -1170,7 +1178,7 @@ class ReadSetType (DataSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ReadSetType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 280, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 291, 1)
     _ElementMap = DataSetType._ElementMap.copy()
     _AttributeMap = DataSetType._AttributeMap.copy()
     # Base type is DataSetType
@@ -1184,7 +1192,7 @@ class ReadSetType (DataSetType):
     # Element DataSets ({http://pacificbiosciences.com/PacBioDatasets.xsd}DataSets) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetType
     
     # Element {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetMetadata uses Python identifier DataSetMetadata
-    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_ReadSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5), )
+    __DataSetMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), 'DataSetMetadata', '__httppacificbiosciences_comPacBioDatasets_xsd_ReadSetType_httppacificbiosciences_comPacBioDatasets_xsdDataSetMetadata', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5), )
 
     
     DataSetMetadata = property(__DataSetMetadata.value, __DataSetMetadata.set, None, None)
@@ -1227,7 +1235,7 @@ class CTD_ANON_9 (AlignmentSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 12, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 12, 2)
     _ElementMap = AlignmentSetType._ElementMap.copy()
     _AttributeMap = AlignmentSetType._AttributeMap.copy()
     # Base type is AlignmentSetType
@@ -1279,7 +1287,7 @@ class CTD_ANON_10 (BarcodeSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 22, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 22, 2)
     _ElementMap = BarcodeSetType._ElementMap.copy()
     _AttributeMap = BarcodeSetType._AttributeMap.copy()
     # Base type is BarcodeSetType
@@ -1331,7 +1339,7 @@ class CTD_ANON_11 (AlignmentSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 32, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 32, 2)
     _ElementMap = AlignmentSetType._ElementMap.copy()
     _AttributeMap = AlignmentSetType._AttributeMap.copy()
     # Base type is AlignmentSetType
@@ -1383,7 +1391,7 @@ class CTD_ANON_12 (ContigSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 79, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 79, 2)
     _ElementMap = ContigSetType._ElementMap.copy()
     _AttributeMap = ContigSetType._AttributeMap.copy()
     # Base type is ContigSetType
@@ -1435,7 +1443,7 @@ class CTD_ANON_13 (ReadSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 91, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 91, 2)
     _ElementMap = ReadSetType._ElementMap.copy()
     _AttributeMap = ReadSetType._AttributeMap.copy()
     # Base type is ReadSetType
@@ -1487,7 +1495,59 @@ class CTD_ANON_14 (ContigSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 101, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 101, 2)
+    _ElementMap = ContigSetType._ElementMap.copy()
+    _AttributeMap = ContigSetType._AttributeMap.copy()
+    # Base type is ContigSetType
+    
+    # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Element ExternalResources ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ExternalResources) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetType
+    
+    # Element DataSetMetadata ({http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetMetadata) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}ContigSetType
+    
+    # Element Filters ({http://pacificbiosciences.com/PacBioDatasets.xsd}Filters) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetType
+    
+    # Element DataSets ({http://pacificbiosciences.com/PacBioDatasets.xsd}DataSets) inherited from {http://pacificbiosciences.com/PacBioDatasets.xsd}DataSetType
+    
+    # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Tags inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Format inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ResourceId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Version inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute CreatedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ModifiedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute UniqueId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
+    
+    # Attribute MetaType inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
+    
+    # Attribute TimeStampedName inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
+    _ElementMap.update({
+        
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_15 (ContigSetType):
+    """DataSets of reference sequences, with GMAP indices."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 111, 2)
     _ElementMap = ContigSetType._ElementMap.copy()
     _AttributeMap = ContigSetType._AttributeMap.copy()
     # Base type is ContigSetType
@@ -1539,7 +1599,7 @@ class SubreadSetType (ReadSetType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SubreadSetType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 302, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 313, 1)
     _ElementMap = ReadSetType._ElementMap.copy()
     _AttributeMap = ReadSetType._AttributeMap.copy()
     # Base type is ReadSetType
@@ -1585,13 +1645,13 @@ Namespace.addCategoryObject('typeBinding', 'SubreadSetType', SubreadSetType)
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_15 (SubreadSetType):
+class CTD_ANON_16 (SubreadSetType):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 108, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 118, 2)
     _ElementMap = SubreadSetType._ElementMap.copy()
     _AttributeMap = SubreadSetType._AttributeMap.copy()
     # Base type is SubreadSetType
@@ -1636,45 +1696,48 @@ class CTD_ANON_15 (SubreadSetType):
 
 
 
-DataSetRoot = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetRoot'), DataSetRootType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 86, 1))
+DataSetRoot = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetRoot'), DataSetRootType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 86, 1))
 Namespace.addCategoryObject('elementBinding', DataSetRoot.name().localName(), DataSetRoot)
 
-Subsets = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Subsets'), CTD_ANON, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 114, 1))
+Subsets = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Subsets'), CTD_ANON, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 124, 1))
 Namespace.addCategoryObject('elementBinding', Subsets.name().localName(), Subsets)
 
-Contigs = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Contigs'), CTD_ANON_6, documentation='List of contigs in a ContigSet', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 52, 1))
+Contigs = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Contigs'), CTD_ANON_6, documentation='List of contigs in a ContigSet', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 52, 1))
 Namespace.addCategoryObject('elementBinding', Contigs.name().localName(), Contigs)
 
-DataSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSet'), DataSetType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 85, 1))
+DataSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSet'), DataSetType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 85, 1))
 Namespace.addCategoryObject('elementBinding', DataSet.name().localName(), DataSet)
 
-ConsensusReadSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConsensusReadSet'), CTD_ANON_8, documentation='DataSets of CCS reads (typically in unaligned BAM format).', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 38, 1))
+ConsensusReadSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConsensusReadSet'), CTD_ANON_8, documentation='DataSets of CCS reads (typically in unaligned BAM format).', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 38, 1))
 Namespace.addCategoryObject('elementBinding', ConsensusReadSet.name().localName(), ConsensusReadSet)
 
-AlignmentSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AlignmentSet'), CTD_ANON_9, documentation='DataSets for aligned subreads and CCS reads.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 8, 1))
+AlignmentSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AlignmentSet'), CTD_ANON_9, documentation='DataSets for aligned subreads and CCS reads.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 8, 1))
 Namespace.addCategoryObject('elementBinding', AlignmentSet.name().localName(), AlignmentSet)
 
-BarcodeSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodeSet'), CTD_ANON_10, documentation='DataSets of Barcodes. Basically a thin metadata layer on top of the barcode FASTA.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 18, 1))
+BarcodeSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodeSet'), CTD_ANON_10, documentation='DataSets of Barcodes. Basically a thin metadata layer on top of the barcode FASTA.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 18, 1))
 Namespace.addCategoryObject('elementBinding', BarcodeSet.name().localName(), BarcodeSet)
 
-ConsensusAlignmentSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConsensusAlignmentSet'), CTD_ANON_11, documentation='DataSets of aligned CCS reads.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 28, 1))
+ConsensusAlignmentSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConsensusAlignmentSet'), CTD_ANON_11, documentation='DataSets of aligned CCS reads.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 28, 1))
 Namespace.addCategoryObject('elementBinding', ConsensusAlignmentSet.name().localName(), ConsensusAlignmentSet)
 
-ContigSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ContigSet'), CTD_ANON_12, documentation='DataSets of contigs sequences. Basically a thin metadata layer on top of a contigs FASTA (e.g. from HGAP).', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 75, 1))
+ContigSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ContigSet'), CTD_ANON_12, documentation='DataSets of contigs sequences. Basically a thin metadata layer on top of a contigs FASTA (e.g. from HGAP).', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 75, 1))
 Namespace.addCategoryObject('elementBinding', ContigSet.name().localName(), ContigSet)
 
-HdfSubreadSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'HdfSubreadSet'), CTD_ANON_13, documentation='DataSets of subreads in bax.h5 or bas.h5 format.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 87, 1))
+HdfSubreadSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'HdfSubreadSet'), CTD_ANON_13, documentation='DataSets of subreads in bax.h5 or bas.h5 format.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 87, 1))
 Namespace.addCategoryObject('elementBinding', HdfSubreadSet.name().localName(), HdfSubreadSet)
 
-ReferenceSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReferenceSet'), CTD_ANON_14, documentation='DataSets of reference sequences. Replaces the reference.info.xml.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 97, 1))
+ReferenceSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReferenceSet'), CTD_ANON_14, documentation='DataSets of reference sequences. Replaces the reference.info.xml.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 97, 1))
 Namespace.addCategoryObject('elementBinding', ReferenceSet.name().localName(), ReferenceSet)
 
-SubreadSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SubreadSet'), CTD_ANON_15, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 107, 1))
+GmapReferenceSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'GmapReferenceSet'), CTD_ANON_15, documentation='DataSets of reference sequences, with GMAP indices.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 107, 1))
+Namespace.addCategoryObject('elementBinding', GmapReferenceSet.name().localName(), GmapReferenceSet)
+
+SubreadSet = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SubreadSet'), CTD_ANON_16, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 117, 1))
 Namespace.addCategoryObject('elementBinding', SubreadSet.name().localName(), SubreadSet)
 
 
 
-CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Subset'), SubsetType, scope=CTD_ANON, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 117, 4)))
+CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Subset'), SubsetType, scope=CTD_ANON, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 127, 4)))
 
 def _BuildAutomaton ():
     # Remove this helper function from the namespace after it is invoked
@@ -1685,7 +1748,7 @@ def _BuildAutomaton ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Subset')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 117, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Subset')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 127, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -1698,11 +1761,11 @@ CTD_ANON._Automaton = _BuildAutomaton()
 
 
 
-DataSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TotalLength'), pyxb.binding.datatypes.long, scope=DataSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 191, 3)))
+DataSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TotalLength'), pyxb.binding.datatypes.long, scope=DataSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 201, 3)))
 
-DataSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'NumRecords'), pyxb.binding.datatypes.int, scope=DataSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 192, 3)))
+DataSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'NumRecords'), pyxb.binding.datatypes.int, scope=DataSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 202, 3)))
 
-DataSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Provenance'), CTD_ANON_5, scope=DataSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3)))
+DataSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Provenance'), CTD_ANON_5, scope=DataSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3)))
 
 def _BuildAutomaton_ ():
     # Remove this helper function from the namespace after it is invoked
@@ -1711,20 +1774,20 @@ def _BuildAutomaton_ ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     counters.add(cc_0)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(DataSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 191, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 201, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(DataSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 192, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 202, 3))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     transitions = []
@@ -1745,21 +1808,21 @@ DataSetMetadataType._Automaton = _BuildAutomaton_()
 
 
 
-DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AlignmentSet'), CTD_ANON_9, scope=DataSetRootType, documentation='DataSets for aligned subreads and CCS reads.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 8, 1)))
+DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AlignmentSet'), CTD_ANON_9, scope=DataSetRootType, documentation='DataSets for aligned subreads and CCS reads.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 8, 1)))
 
-DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodeSet'), CTD_ANON_10, scope=DataSetRootType, documentation='DataSets of Barcodes. Basically a thin metadata layer on top of the barcode FASTA.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 18, 1)))
+DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodeSet'), CTD_ANON_10, scope=DataSetRootType, documentation='DataSets of Barcodes. Basically a thin metadata layer on top of the barcode FASTA.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 18, 1)))
 
-DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConsensusAlignmentSet'), CTD_ANON_11, scope=DataSetRootType, documentation='DataSets of aligned CCS reads.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 28, 1)))
+DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConsensusAlignmentSet'), CTD_ANON_11, scope=DataSetRootType, documentation='DataSets of aligned CCS reads.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 28, 1)))
 
-DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConsensusReadSet'), CTD_ANON_8, scope=DataSetRootType, documentation='DataSets of CCS reads (typically in unaligned BAM format).', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 38, 1)))
+DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConsensusReadSet'), CTD_ANON_8, scope=DataSetRootType, documentation='DataSets of CCS reads (typically in unaligned BAM format).', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 38, 1)))
 
-DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ContigSet'), CTD_ANON_12, scope=DataSetRootType, documentation='DataSets of contigs sequences. Basically a thin metadata layer on top of a contigs FASTA (e.g. from HGAP).', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 75, 1)))
+DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ContigSet'), CTD_ANON_12, scope=DataSetRootType, documentation='DataSets of contigs sequences. Basically a thin metadata layer on top of a contigs FASTA (e.g. from HGAP).', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 75, 1)))
 
-DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'HdfSubreadSet'), CTD_ANON_13, scope=DataSetRootType, documentation='DataSets of subreads in bax.h5 or bas.h5 format.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 87, 1)))
+DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'HdfSubreadSet'), CTD_ANON_13, scope=DataSetRootType, documentation='DataSets of subreads in bax.h5 or bas.h5 format.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 87, 1)))
 
-DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReferenceSet'), CTD_ANON_14, scope=DataSetRootType, documentation='DataSets of reference sequences. Replaces the reference.info.xml.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 97, 1)))
+DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReferenceSet'), CTD_ANON_14, scope=DataSetRootType, documentation='DataSets of reference sequences. Replaces the reference.info.xml.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 97, 1)))
 
-DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SubreadSet'), CTD_ANON_15, scope=DataSetRootType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 107, 1)))
+DataSetRootType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SubreadSet'), CTD_ANON_16, scope=DataSetRootType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 117, 1)))
 
 def _BuildAutomaton_2 ():
     # Remove this helper function from the namespace after it is invoked
@@ -1768,61 +1831,61 @@ def _BuildAutomaton_2 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 216, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 227, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 217, 3))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 228, 3))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 218, 3))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 229, 3))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 219, 3))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 230, 3))
     counters.add(cc_3)
-    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 220, 3))
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 231, 3))
     counters.add(cc_4)
-    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 221, 3))
+    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 232, 3))
     counters.add(cc_5)
-    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 222, 3))
+    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 233, 3))
     counters.add(cc_6)
-    cc_7 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 223, 3))
+    cc_7 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 234, 3))
     counters.add(cc_7)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AlignmentSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 216, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AlignmentSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 227, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BarcodeSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 217, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BarcodeSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 228, 3))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ConsensusAlignmentSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 218, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ConsensusAlignmentSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 229, 3))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ConsensusReadSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 219, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ConsensusReadSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 230, 3))
     st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_4, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ContigSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 220, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ContigSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 231, 3))
     st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_5, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'HdfSubreadSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 221, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'HdfSubreadSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 232, 3))
     st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_6, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReferenceSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 222, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReferenceSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 233, 3))
     st_6 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_6)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_7, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SubreadSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 223, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetRootType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SubreadSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 234, 3))
     st_7 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_7)
     transitions = []
@@ -1863,7 +1926,7 @@ DataSetRootType._Automaton = _BuildAutomaton_2()
 
 
 
-CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filter'), _ImportedBinding__pbbase.FilterType, scope=CTD_ANON_, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 237, 8)))
+CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filter'), _ImportedBinding__pbbase.FilterType, scope=CTD_ANON_, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 248, 8)))
 
 def _BuildAutomaton_3 ():
     # Remove this helper function from the namespace after it is invoked
@@ -1874,7 +1937,7 @@ def _BuildAutomaton_3 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filter')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 237, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filter')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 248, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -1887,7 +1950,7 @@ CTD_ANON_._Automaton = _BuildAutomaton_3()
 
 
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSet'), DataSetType, scope=CTD_ANON_2, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 85, 1)))
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSet'), DataSetType, scope=CTD_ANON_2, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 85, 1)))
 
 def _BuildAutomaton_4 ():
     # Remove this helper function from the namespace after it is invoked
@@ -1896,12 +1959,12 @@ def _BuildAutomaton_4 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 244, 8))
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 255, 8))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSet')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 244, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 255, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -1914,29 +1977,29 @@ CTD_ANON_2._Automaton = _BuildAutomaton_4()
 
 
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AdapterDimerFraction'), pyxb.binding.datatypes.float, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 261, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AdapterDimerFraction'), pyxb.binding.datatypes.float, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 272, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ShortInsertFraction'), pyxb.binding.datatypes.float, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 262, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ShortInsertFraction'), pyxb.binding.datatypes.float, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 273, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'NumSequencingZmws'), pyxb.binding.datatypes.int, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 263, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'NumSequencingZmws'), pyxb.binding.datatypes.int, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 274, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ProdDist'), _ImportedBinding__pbbase.StatsDiscreteDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 264, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ProdDist'), _ImportedBinding__pbbase.StatsDiscreteDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 275, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReadTypeDist'), _ImportedBinding__pbbase.StatsDiscreteDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 265, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReadTypeDist'), _ImportedBinding__pbbase.StatsDiscreteDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 276, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReadLenDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 266, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReadLenDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 277, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReadQualDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 267, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReadQualDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 278, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ControlReadLenDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 268, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ControlReadLenDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 279, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ControlReadQualDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 269, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ControlReadQualDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 280, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MedianInsertDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 270, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MedianInsertDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 281, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InsertReadLenDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 271, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InsertReadLenDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 282, 8)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InsertReadQualDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 272, 8)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InsertReadQualDist'), _ImportedBinding__pbbase.StatsContinuousDistType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 283, 8)))
 
 def _BuildAutomaton_5 ():
     # Remove this helper function from the namespace after it is invoked
@@ -1947,51 +2010,51 @@ def _BuildAutomaton_5 ():
     counters = set()
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AdapterDimerFraction')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 261, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AdapterDimerFraction')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 272, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ShortInsertFraction')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 262, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ShortInsertFraction')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 273, 8))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumSequencingZmws')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 263, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumSequencingZmws')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 274, 8))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ProdDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 264, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ProdDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 275, 8))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReadTypeDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 265, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReadTypeDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 276, 8))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReadLenDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 266, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReadLenDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 277, 8))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReadQualDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 267, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReadQualDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 278, 8))
     st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_6)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ControlReadLenDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 268, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ControlReadLenDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 279, 8))
     st_7 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_7)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ControlReadQualDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 269, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ControlReadQualDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 280, 8))
     st_8 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_8)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MedianInsertDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 270, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MedianInsertDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 281, 8))
     st_9 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_9)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InsertReadLenDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 271, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InsertReadLenDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 282, 8))
     st_10 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_10)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InsertReadQualDist')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 272, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InsertReadQualDist')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 283, 8))
     st_11 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_11)
     transitions = []
@@ -2046,7 +2109,7 @@ CTD_ANON_3._Automaton = _BuildAutomaton_5()
 
 
 
-CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filter'), _ImportedBinding__pbbase.FilterType, scope=CTD_ANON_4, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 317, 8)))
+CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filter'), _ImportedBinding__pbbase.FilterType, scope=CTD_ANON_4, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 328, 8)))
 
 def _BuildAutomaton_6 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2057,7 +2120,7 @@ def _BuildAutomaton_6 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filter')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 317, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filter')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 328, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2070,7 +2133,7 @@ CTD_ANON_4._Automaton = _BuildAutomaton_6()
 
 
 
-AlignmentSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Aligner'), pyxb.binding.datatypes.anyType, scope=AlignmentSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 125, 5)))
+AlignmentSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Aligner'), pyxb.binding.datatypes.anyType, scope=AlignmentSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 135, 5)))
 
 def _BuildAutomaton_7 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2079,27 +2142,27 @@ def _BuildAutomaton_7 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 125, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 135, 5))
     counters.add(cc_1)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 191, 3))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 201, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 192, 3))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 202, 3))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Aligner')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 125, 5))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Aligner')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 135, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     transitions = []
@@ -2128,7 +2191,7 @@ AlignmentSetMetadataType._Automaton = _BuildAutomaton_7()
 
 
 
-BarcodeSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodeConstruction'), pyxb.binding.datatypes.string, scope=BarcodeSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 146, 5)))
+BarcodeSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodeConstruction'), pyxb.binding.datatypes.string, scope=BarcodeSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 156, 5)))
 
 def _BuildAutomaton_8 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2137,23 +2200,23 @@ def _BuildAutomaton_8 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     counters.add(cc_0)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 191, 3))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 201, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 192, 3))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 202, 3))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BarcodeConstruction')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 146, 5))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BarcodeConstruction')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 156, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     transitions = []
@@ -2180,11 +2243,11 @@ BarcodeSetMetadataType._Automaton = _BuildAutomaton_8()
 
 
 
-ContigSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Contigs'), CTD_ANON_6, scope=ContigSetMetadataType, documentation='List of contigs in a ContigSet', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 52, 1)))
+ContigSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Contigs'), CTD_ANON_6, scope=ContigSetMetadataType, documentation='List of contigs in a ContigSet', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 52, 1)))
 
-ContigSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Organism'), pyxb.binding.datatypes.string, scope=ContigSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 167, 5)))
+ContigSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Organism'), pyxb.binding.datatypes.string, scope=ContigSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 177, 5)))
 
-ContigSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Ploidy'), pyxb.binding.datatypes.string, scope=ContigSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 168, 5)))
+ContigSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Ploidy'), pyxb.binding.datatypes.string, scope=ContigSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 178, 5)))
 
 def _BuildAutomaton_9 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2193,35 +2256,35 @@ def _BuildAutomaton_9 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 167, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 177, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 168, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 178, 5))
     counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 191, 3))
+    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 201, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 192, 3))
+    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 202, 3))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Organism')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 167, 5))
+    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Organism')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 177, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Ploidy')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 168, 5))
+    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Ploidy')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 178, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Contigs')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 169, 5))
+    symbol = pyxb.binding.content.ElementUse(ContigSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Contigs')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 179, 5))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     transitions = []
@@ -2270,13 +2333,15 @@ ContigSetMetadataType._Automaton = _BuildAutomaton_9()
 
 
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CommonServicesInstanceId'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 196, 6)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CommonServicesInstanceId'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 206, 6)))
+
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CreatorUserId'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 207, 6)))
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CreatorUserId'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 197, 6)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ParentJobId'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 208, 6)))
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ParentJobId'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 198, 6)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ParentTool'), _ImportedBinding__pbbase.BaseEntityType, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 209, 6)))
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ParentTool'), _ImportedBinding__pbbase.BaseEntityType, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 199, 6)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ParentDataSet'), _ImportedBinding__pbbase.StrictEntityType, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 210, 6)))
 
 def _BuildAutomaton_10 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2285,35 +2350,42 @@ def _BuildAutomaton_10 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 196, 6))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 206, 6))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 197, 6))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 207, 6))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 198, 6))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 208, 6))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 199, 6))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 209, 6))
     counters.add(cc_3)
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 210, 6))
+    counters.add(cc_4)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CommonServicesInstanceId')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 196, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CommonServicesInstanceId')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 206, 6))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CreatorUserId')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 197, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CreatorUserId')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 207, 6))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ParentJobId')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 198, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ParentJobId')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 208, 6))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ParentTool')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 199, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ParentTool')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 209, 6))
     st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_4, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ParentDataSet')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 210, 6))
+    st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_4)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -2323,6 +2395,8 @@ def _BuildAutomaton_10 ():
         fac.UpdateInstruction(cc_0, False) ]))
     transitions.append(fac.Transition(st_3, [
         fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_0, False) ]))
     st_0._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_1, [
@@ -2331,28 +2405,38 @@ def _BuildAutomaton_10 ():
         fac.UpdateInstruction(cc_1, False) ]))
     transitions.append(fac.Transition(st_3, [
         fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_1, False) ]))
     st_1._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_2, [
         fac.UpdateInstruction(cc_2, True) ]))
     transitions.append(fac.Transition(st_3, [
         fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_2, False) ]))
     st_2._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_3, [
         fac.UpdateInstruction(cc_3, True) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_3, False) ]))
     st_3._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_4, True) ]))
+    st_4._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
 CTD_ANON_5._Automaton = _BuildAutomaton_10()
 
 
 
 
-ReadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbmeta, 'Collections'), _ImportedBinding__pbmeta.CTD_ANON_, scope=ReadSetMetadataType, documentation='A set of acquisition definitions', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 20, 1)))
+ReadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbmeta, 'Collections'), _ImportedBinding__pbmeta.CTD_ANON_, scope=ReadSetMetadataType, documentation='A set of acquisition definitions', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 20, 1)))
 
-ReadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SummaryStats'), CTD_ANON_3, scope=ReadSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 258, 5)))
+ReadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SummaryStats'), CTD_ANON_3, scope=ReadSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 269, 5)))
 
-ReadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples'), _ImportedBinding__pbsample.CTD_ANON_3, scope=ReadSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 134, 1)))
+ReadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples'), _ImportedBinding__pbsample.CTD_ANON_2, scope=ReadSetMetadataType, documentation='List of biological samples.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 126, 1)))
 
 def _BuildAutomaton_11 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2361,41 +2445,41 @@ def _BuildAutomaton_11 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 256, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 267, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 257, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 268, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 258, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 269, 5))
     counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 191, 3))
+    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 201, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 192, 3))
+    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 202, 3))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbmeta, 'Collections')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 256, 5))
+    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbmeta, 'Collections')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 267, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 257, 5))
+    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 268, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SummaryStats')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 258, 5))
+    symbol = pyxb.binding.content.ElementUse(ReadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SummaryStats')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 269, 5))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     transitions = []
@@ -2446,9 +2530,9 @@ ReadSetMetadataType._Automaton = _BuildAutomaton_11()
 
 
 
-SubreadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadLength'), pyxb.binding.datatypes.int, scope=SubreadSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 296, 5)))
+SubreadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadLength'), pyxb.binding.datatypes.int, scope=SubreadSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 307, 5)))
 
-SubreadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadQuality'), pyxb.binding.datatypes.float, scope=SubreadSetMetadataType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 297, 5)))
+SubreadSetMetadataType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadQuality'), pyxb.binding.datatypes.float, scope=SubreadSetMetadataType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 308, 5)))
 
 def _BuildAutomaton_12 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2457,27 +2541,27 @@ def _BuildAutomaton_12 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     counters.add(cc_0)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 191, 3))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TotalLength')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 201, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 192, 3))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'NumRecords')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 202, 3))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 193, 3))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Provenance')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 203, 3))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadLength')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 296, 5))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadLength')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 307, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadQuality')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 297, 5))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetMetadataType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AverageSubreadQuality')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 308, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -2508,7 +2592,7 @@ SubreadSetMetadataType._Automaton = _BuildAutomaton_12()
 
 
 
-CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Contig'), CTD_ANON_7, scope=CTD_ANON_6, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 60, 6)))
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Contig'), CTD_ANON_7, scope=CTD_ANON_6, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 60, 6)))
 
 def _BuildAutomaton_13 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2517,19 +2601,19 @@ def _BuildAutomaton_13 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 60, 6))
+    cc_1 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 60, 6))
     counters.add(cc_1)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Contig')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 60, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Contig')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 60, 6))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     transitions = []
@@ -2555,12 +2639,12 @@ def _BuildAutomaton_14 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -2573,11 +2657,11 @@ CTD_ANON_7._Automaton = _BuildAutomaton_14()
 
 
 
-DataSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources'), _ImportedBinding__pbbase.CTD_ANON_4, scope=DataSetType, documentation='Pointers to data that do not reside inside the parent structure', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 256, 1)))
+DataSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources'), _ImportedBinding__pbbase.CTD_ANON_4, scope=DataSetType, documentation='Pointers to data that do not reside inside the parent structure', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 258, 1)))
 
-DataSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filters'), CTD_ANON_, scope=DataSetType, documentation='The set of filters defined here apply to the resident data set.  Should DataSet subsets be created out of this parent DataSet, each sub-DataSet may contain its own filters.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5)))
+DataSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filters'), CTD_ANON_, scope=DataSetType, documentation='The set of filters defined here apply to the resident data set.  Should DataSet subsets be created out of this parent DataSet, each sub-DataSet may contain its own filters.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5)))
 
-DataSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSets'), CTD_ANON_2, scope=DataSetType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5)))
+DataSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSets'), CTD_ANON_2, scope=DataSetType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5)))
 
 def _BuildAutomaton_15 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2586,29 +2670,29 @@ def _BuildAutomaton_15 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(DataSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(DataSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(DataSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(DataSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(DataSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(DataSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(DataSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     transitions = []
@@ -2639,9 +2723,9 @@ DataSetType._Automaton = _BuildAutomaton_15()
 
 
 
-SubsetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'DataPointers'), _ImportedBinding__pbbase.CTD_ANON_3, scope=SubsetType, documentation='Pointer list to UniqueIds in the system', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 222, 1)))
+SubsetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'DataPointers'), _ImportedBinding__pbbase.CTD_ANON_3, scope=SubsetType, documentation='Pointer list to UniqueIds in the system', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 224, 1)))
 
-SubsetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filters'), CTD_ANON_4, scope=SubsetType, documentation='The set of filters defined here apply to the resident data set.  Should DataSet subsets be created out of this parent DataSet, each sub-DataSet may contain its own filters.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 311, 5)))
+SubsetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Filters'), CTD_ANON_4, scope=SubsetType, documentation='The set of filters defined here apply to the resident data set.  Should DataSet subsets be created out of this parent DataSet, each sub-DataSet may contain its own filters.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 322, 5)))
 
 def _BuildAutomaton_16 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2650,26 +2734,26 @@ def _BuildAutomaton_16 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 311, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 322, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 321, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 332, 5))
     counters.add(cc_2)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(SubsetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SubsetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(SubsetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 311, 5))
+    symbol = pyxb.binding.content.ElementUse(SubsetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 322, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(SubsetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'DataPointers')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 321, 5))
+    symbol = pyxb.binding.content.ElementUse(SubsetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'DataPointers')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 332, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     transitions = []
@@ -2696,7 +2780,7 @@ SubsetType._Automaton = _BuildAutomaton_16()
 
 
 
-CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), DataSetMetadataType, scope=CTD_ANON_8, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 46, 6)))
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), DataSetMetadataType, scope=CTD_ANON_8, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 46, 6)))
 
 def _BuildAutomaton_17 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2705,31 +2789,31 @@ def _BuildAutomaton_17 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 46, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 46, 6))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -2768,7 +2852,7 @@ CTD_ANON_8._Automaton = _BuildAutomaton_17()
 
 
 
-AlignmentSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), AlignmentSetMetadataType, scope=AlignmentSetType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 137, 5)))
+AlignmentSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), AlignmentSetMetadataType, scope=AlignmentSetType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 147, 5)))
 
 def _BuildAutomaton_18 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2777,36 +2861,36 @@ def _BuildAutomaton_18 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 137, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 147, 5))
     counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 137, 5))
+    symbol = pyxb.binding.content.ElementUse(AlignmentSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 147, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -2847,7 +2931,7 @@ AlignmentSetType._Automaton = _BuildAutomaton_18()
 
 
 
-BarcodeSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), BarcodeSetMetadataType, scope=BarcodeSetType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 158, 5)))
+BarcodeSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), BarcodeSetMetadataType, scope=BarcodeSetType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 168, 5)))
 
 def _BuildAutomaton_19 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2856,31 +2940,31 @@ def _BuildAutomaton_19 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 158, 5))
+    symbol = pyxb.binding.content.ElementUse(BarcodeSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 168, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -2919,7 +3003,7 @@ BarcodeSetType._Automaton = _BuildAutomaton_19()
 
 
 
-ContigSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), ContigSetMetadataType, scope=ContigSetType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 181, 5)))
+ContigSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), ContigSetMetadataType, scope=ContigSetType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 191, 5)))
 
 def _BuildAutomaton_20 ():
     # Remove this helper function from the namespace after it is invoked
@@ -2928,31 +3012,31 @@ def _BuildAutomaton_20 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 181, 5))
+    symbol = pyxb.binding.content.ElementUse(ContigSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 191, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -2991,7 +3075,7 @@ ContigSetType._Automaton = _BuildAutomaton_20()
 
 
 
-ReadSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), ReadSetMetadataType, scope=ReadSetType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5)))
+ReadSetType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata'), ReadSetMetadataType, scope=ReadSetType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5)))
 
 def _BuildAutomaton_21 ():
     # Remove this helper function from the namespace after it is invoked
@@ -3000,36 +3084,36 @@ def _BuildAutomaton_21 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5))
     counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5))
+    symbol = pyxb.binding.content.ElementUse(ReadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3077,36 +3161,36 @@ def _BuildAutomaton_22 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 137, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 147, 5))
     counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 137, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 147, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3154,31 +3238,31 @@ def _BuildAutomaton_23 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 158, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 168, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3224,36 +3308,36 @@ def _BuildAutomaton_24 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 137, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 147, 5))
     counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 137, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 147, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3301,31 +3385,31 @@ def _BuildAutomaton_25 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 181, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 191, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3371,36 +3455,36 @@ def _BuildAutomaton_26 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5))
     counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3448,31 +3532,31 @@ def _BuildAutomaton_27 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 181, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 191, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3518,36 +3602,106 @@ def _BuildAutomaton_28 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
+    counters.add(cc_2)
+    states = []
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
+    st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
+    st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_3)
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 191, 5))
+    st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_4)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+         ]))
+    transitions.append(fac.Transition(st_3, [
+         ]))
+    transitions.append(fac.Transition(st_4, [
+         ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_2._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    st_3._set_transitionSet(transitions)
+    transitions = []
+    st_4._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_15._Automaton = _BuildAutomaton_28()
+
+
+
+
+def _BuildAutomaton_29 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_29
+    del _BuildAutomaton_29
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5))
     counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5))
+    symbol = pyxb.binding.content.ElementUse(SubreadSetType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3583,48 +3737,48 @@ def _BuildAutomaton_28 ():
         fac.UpdateInstruction(cc_3, True) ]))
     st_4._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-SubreadSetType._Automaton = _BuildAutomaton_28()
+SubreadSetType._Automaton = _BuildAutomaton_29()
 
 
 
 
-def _BuildAutomaton_29 ():
+def _BuildAutomaton_30 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_29
-    del _BuildAutomaton_29
+    global _BuildAutomaton_30
+    del _BuildAutomaton_30
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5))
     counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_16._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 230, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_16._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ExternalResources')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 241, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 231, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_16._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Filters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 242, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 241, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_16._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSets')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 252, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioDatasets.xsd', 287, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_16._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DataSetMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioDatasets.xsd', 298, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -3660,5 +3814,5 @@ def _BuildAutomaton_29 ():
         fac.UpdateInstruction(cc_3, True) ]))
     st_4._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_15._Automaton = _BuildAutomaton_29()
+CTD_ANON_16._Automaton = _BuildAutomaton_30()
 
diff --git a/pbcore/io/dataset/_pbmeta.py b/pbcore/io/dataset/pyxb/_pbmeta.py
similarity index 61%
rename from pbcore/io/dataset/_pbmeta.py
rename to pbcore/io/dataset/pyxb/_pbmeta.py
index e2133e6..4b92993 100644
--- a/pbcore/io/dataset/_pbmeta.py
+++ b/pbcore/io/dataset/pyxb/_pbmeta.py
@@ -1,7 +1,7 @@
-# ./_pbmeta.py
+# pbcore/io/dataset/pyxb/_pbmeta.py
 # -*- coding: utf-8 -*-
 # PyXB bindings for NM:9efc6641c22b876b2d5ab7b8523f84c3396b188b
-# Generated 2015-12-08 13:20:39.145540 by PyXB version 1.2.4 using Python 2.7.6.final.0
+# Generated 2017-09-27 15:52:12.391473 by PyXB version 1.2.4 using Python 2.7.9.final.0
 # Namespace http://pacificbiosciences.com/PacBioCollectionMetadata.xsd [xmlns:pbmeta]
 
 from __future__ import unicode_literals
@@ -15,7 +15,7 @@ import sys
 import pyxb.utils.six as _six
 
 # Unique identifier for bindings created at the same time
-_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:8749368c-9df1-11e5-86b0-001a4acb6b14')
+_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:7fa6c9c0-a3d6-11e7-96cb-0026b9fe0a90')
 
 # Version of PyXB used to generate the bindings
 _PyXBVersion = '1.2.4'
@@ -24,9 +24,9 @@ if pyxb.__version__ != _PyXBVersion:
     raise pyxb.PyXBVersionError(_PyXBVersion)
 
 # Import bindings for namespaces imported into schema
+import _pbrk as _ImportedBinding__pbrk
 import pyxb.binding.datatypes
 import _pbsample as _ImportedBinding__pbsample
-import _pbrk as _ImportedBinding__pbrk
 import _pbbase as _ImportedBinding__pbbase
 
 # NOTE: All namespace declarations are reserved within the binding
@@ -86,11 +86,12 @@ class STD_ANON (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mi
     """An atomic simple type."""
 
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 387, 8)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 405, 8)
     _Documentation = None
 STD_ANON._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=STD_ANON, enum_prefix=None)
 STD_ANON.Pulses = STD_ANON._CF_enumeration.addEnumeration(unicode_value='Pulses', tag='Pulses')
 STD_ANON.Bases = STD_ANON._CF_enumeration.addEnumeration(unicode_value='Bases', tag='Bases')
+STD_ANON.Bases_Without_QVs = STD_ANON._CF_enumeration.addEnumeration(unicode_value='Bases_Without_QVs', tag='Bases_Without_QVs')
 STD_ANON._InitializeFacetMap(STD_ANON._CF_enumeration)
 
 # Atomic simple type: [anonymous]
@@ -99,7 +100,7 @@ class STD_ANON_ (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_m
     """An atomic simple type."""
 
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 398, 8)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 417, 8)
     _Documentation = None
 STD_ANON_._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=STD_ANON_, enum_prefix=None)
 STD_ANON_.Minimal = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='Minimal', tag='Minimal')
@@ -107,13 +108,39 @@ STD_ANON_.High = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='High',
 STD_ANON_.None_ = STD_ANON_._CF_enumeration.addEnumeration(unicode_value='None', tag='None_')
 STD_ANON_._InitializeFacetMap(STD_ANON_._CF_enumeration)
 
+# Atomic simple type: [anonymous]
+class STD_ANON_2 (pyxb.binding.datatypes.string):
+
+    """An atomic simple type."""
+
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 435, 11)
+    _Documentation = None
+STD_ANON_2._CF_pattern = pyxb.binding.facets.CF_pattern()
+STD_ANON_2._CF_pattern.addPattern(pattern='([a-zA-Z0-9_\\-])*')
+STD_ANON_2._InitializeFacetMap(STD_ANON_2._CF_pattern)
+
+# Atomic simple type: [anonymous]
+class STD_ANON_3 (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin):
+
+    """An atomic simple type."""
+
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 445, 11)
+    _Documentation = None
+STD_ANON_3._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=STD_ANON_3, enum_prefix=None)
+STD_ANON_3.RSYNC = STD_ANON_3._CF_enumeration.addEnumeration(unicode_value='RSYNC', tag='RSYNC')
+STD_ANON_3.SRS = STD_ANON_3._CF_enumeration.addEnumeration(unicode_value='SRS', tag='SRS')
+STD_ANON_3.NFS = STD_ANON_3._CF_enumeration.addEnumeration(unicode_value='NFS', tag='NFS')
+STD_ANON_3._InitializeFacetMap(STD_ANON_3._CF_enumeration)
+
 # Atomic simple type: {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}PapOutputFile
 class PapOutputFile (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin):
 
     """Defines a list of available file output types from primary output that can be copied out to the CollectionPathUri. The types Pulse, Base, Fasta, and Fastq are for legacy use only."""
 
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'PapOutputFile')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 469, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 539, 1)
     _Documentation = 'Defines a list of available file output types from primary output that can be copied out to the CollectionPathUri. The types Pulse, Base, Fasta, and Fastq are for legacy use only.'
 PapOutputFile._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=PapOutputFile, enum_prefix=None)
 PapOutputFile.None_ = PapOutputFile._CF_enumeration.addEnumeration(unicode_value='None', tag='None_')
@@ -122,6 +149,7 @@ PapOutputFile.Fasta = PapOutputFile._CF_enumeration.addEnumeration(unicode_value
 PapOutputFile.Baz = PapOutputFile._CF_enumeration.addEnumeration(unicode_value='Baz', tag='Baz')
 PapOutputFile.Bam = PapOutputFile._CF_enumeration.addEnumeration(unicode_value='Bam', tag='Bam')
 PapOutputFile.DarkFrame = PapOutputFile._CF_enumeration.addEnumeration(unicode_value='DarkFrame', tag='DarkFrame')
+PapOutputFile.StatsH5 = PapOutputFile._CF_enumeration.addEnumeration(unicode_value='StatsH5', tag='StatsH5')
 PapOutputFile._InitializeFacetMap(PapOutputFile._CF_enumeration)
 Namespace.addCategoryObject('typeBinding', 'PapOutputFile', PapOutputFile)
 
@@ -132,13 +160,13 @@ class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 14, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 14, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CollectionMetadata uses Python identifier CollectionMetadata
-    __CollectionMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), 'CollectionMetadata', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionMetadata', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 30, 1), )
+    __CollectionMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), 'CollectionMetadata', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionMetadata', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 30, 1), )
 
     
     CollectionMetadata = property(__CollectionMetadata.value, __CollectionMetadata.set, None, 'Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. ')
@@ -159,13 +187,13 @@ class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 24, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 24, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CollectionMetadata uses Python identifier CollectionMetadata
-    __CollectionMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), 'CollectionMetadata', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON__httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionMetadata', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 30, 1), )
+    __CollectionMetadata = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), 'CollectionMetadata', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON__httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionMetadata', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 30, 1), )
 
     
     CollectionMetadata = property(__CollectionMetadata.value, __CollectionMetadata.set, None, 'Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. ')
@@ -181,64 +209,99 @@ class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
 class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
+    """Subcomponents involved in the generation of the data"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 139, 7)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}VersionInfo uses Python identifier VersionInfo
+    __VersionInfo = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'VersionInfo'), 'VersionInfo', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioCollectionMetadata_xsdVersionInfo', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 141, 9), )
+
+    
+    VersionInfo = property(__VersionInfo.value, __VersionInfo.set, None, 'Each component should list its name and version attribute')
+
+    _ElementMap.update({
+        __VersionInfo.name() : __VersionInfo
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
     """Information related to an instrument run.  A run can contain multiple chips, wells, and movies. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 150, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 174, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}TimeStampedName uses Python identifier TimeStampedName
-    __TimeStampedName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TimeStampedName'), 'TimeStampedName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioCollectionMetadata_xsdTimeStampedName', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 152, 4), )
+    __TimeStampedName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TimeStampedName'), 'TimeStampedName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdTimeStampedName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 176, 4), )
 
     
     TimeStampedName = property(__TimeStampedName.value, __TimeStampedName.set, None, 'A unique identifier for this run.  Format is r[sid]_[iname]_[ts]. Where [id] is a system generated id and [iname] is the instrument name and [ts] is a timestamp YYMMDD Example:  r000123_00117_100713 ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Name uses Python identifier Name
-    __Name = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Name'), 'Name', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioCollectionMetadata_xsdName', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 157, 4), )
+    __Name = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Name'), 'Name', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 181, 4), )
 
     
     Name = property(__Name.value, __Name.set, None, 'Assigned name for a run, which consists of multiple wells. There is no constraint on the uniqueness of this data. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CreatedBy uses Python identifier CreatedBy
-    __CreatedBy = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CreatedBy'), 'CreatedBy', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioCollectionMetadata_xsdCreatedBy', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 162, 4), )
+    __CreatedBy = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CreatedBy'), 'CreatedBy', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdCreatedBy', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 186, 4), )
 
     
     CreatedBy = property(__CreatedBy.value, __CreatedBy.set, None, 'Who created the run. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}WhenCreated uses Python identifier WhenCreated
-    __WhenCreated = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WhenCreated'), 'WhenCreated', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioCollectionMetadata_xsdWhenCreated', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 167, 4), )
+    __WhenCreated = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WhenCreated'), 'WhenCreated', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdWhenCreated', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 191, 4), )
 
     
     WhenCreated = property(__WhenCreated.value, __WhenCreated.set, None, 'Date and time of when the overall run was created in the system. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}StartedBy uses Python identifier StartedBy
-    __StartedBy = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'StartedBy'), 'StartedBy', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioCollectionMetadata_xsdStartedBy', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 172, 4), )
+    __StartedBy = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'StartedBy'), 'StartedBy', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdStartedBy', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 196, 4), )
 
     
     StartedBy = property(__StartedBy.value, __StartedBy.set, None, 'Who started the run. Could be different from who created it. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}WhenStarted uses Python identifier WhenStarted
-    __WhenStarted = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted'), 'WhenStarted', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioCollectionMetadata_xsdWhenStarted', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 177, 4), )
+    __WhenStarted = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted'), 'WhenStarted', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdWhenStarted', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 201, 4), )
 
     
     WhenStarted = property(__WhenStarted.value, __WhenStarted.set, None, 'Date and time of when the overall run was started. ')
 
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}WhenCompleted uses Python identifier WhenCompleted
+    __WhenCompleted = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WhenCompleted'), 'WhenCompleted', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdWhenCompleted', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 206, 4), )
+
+    
+    WhenCompleted = property(__WhenCompleted.value, __WhenCompleted.set, None, 'Date and time of when the overall run was completed. ')
+
     _ElementMap.update({
         __TimeStampedName.name() : __TimeStampedName,
         __Name.name() : __Name,
         __CreatedBy.name() : __CreatedBy,
         __WhenCreated.name() : __WhenCreated,
         __StartedBy.name() : __StartedBy,
-        __WhenStarted.name() : __WhenStarted
+        __WhenStarted.name() : __WhenStarted,
+        __WhenCompleted.name() : __WhenCompleted
     })
     _AttributeMap.update({
         
@@ -247,33 +310,33 @@ class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_4 (pyxb.binding.basis.complexTypeDefinition):
     """A movie corresponds to one acquisition for a chip, one set (look) and one strobe. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 189, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 218, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}WhenStarted uses Python identifier WhenStarted
-    __WhenStarted = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted'), 'WhenStarted', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdWhenStarted', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 191, 4), )
+    __WhenStarted = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted'), 'WhenStarted', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdWhenStarted', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 220, 4), )
 
     
     WhenStarted = property(__WhenStarted.value, __WhenStarted.set, None, 'Date and time of when this movie acquisition started. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}DurationInSec uses Python identifier DurationInSec
-    __DurationInSec = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DurationInSec'), 'DurationInSec', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdDurationInSec', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 196, 4), )
+    __DurationInSec = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DurationInSec'), 'DurationInSec', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdDurationInSec', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 225, 4), )
 
     
     DurationInSec = property(__DurationInSec.value, __DurationInSec.set, None, 'The actual length of the movie acquisition (in seconds), irrespective of the movie duration specified by an automation parameter. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Number uses Python identifier Number
-    __Number = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Number'), 'Number', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioCollectionMetadata_xsdNumber', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 201, 4), )
+    __Number = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Number'), 'Number', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdNumber', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 230, 4), )
 
     
     Number = property(__Number.value, __Number.set, None, "The number of this movie within the set (i.e., look).  This is unique when combined with the 'SetNumber'. ")
@@ -290,54 +353,54 @@ class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_4 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_5 (pyxb.binding.basis.complexTypeDefinition):
     """Container for the expired consumable data. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 213, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 242, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}TemplatePrepKitPastExpiration uses Python identifier TemplatePrepKitPastExpiration
-    __TemplatePrepKitPastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKitPastExpiration'), 'TemplatePrepKitPastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdTemplatePrepKitPastExpiration', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 215, 4), )
+    __TemplatePrepKitPastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKitPastExpiration'), 'TemplatePrepKitPastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdTemplatePrepKitPastExpiration', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 244, 4), )
 
     
     TemplatePrepKitPastExpiration = property(__TemplatePrepKitPastExpiration.value, __TemplatePrepKitPastExpiration.set, None, 'Number of days past expiration the template prep kit was (if at all). ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}BindingKitPastExpiration uses Python identifier BindingKitPastExpiration
-    __BindingKitPastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BindingKitPastExpiration'), 'BindingKitPastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdBindingKitPastExpiration', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 220, 4), )
+    __BindingKitPastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BindingKitPastExpiration'), 'BindingKitPastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdBindingKitPastExpiration', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 249, 4), )
 
     
     BindingKitPastExpiration = property(__BindingKitPastExpiration.value, __BindingKitPastExpiration.set, None, 'Number of days past expiration the binding kit was (if at all). ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CellPacPastExpiration uses Python identifier CellPacPastExpiration
-    __CellPacPastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellPacPastExpiration'), 'CellPacPastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdCellPacPastExpiration', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 225, 4), )
+    __CellPacPastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellPacPastExpiration'), 'CellPacPastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdCellPacPastExpiration', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 254, 4), )
 
     
     CellPacPastExpiration = property(__CellPacPastExpiration.value, __CellPacPastExpiration.set, None, 'Number of days past expiration the cell pac was (if at all). ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SequencingKitPastExpiration uses Python identifier SequencingKitPastExpiration
-    __SequencingKitPastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPastExpiration'), 'SequencingKitPastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingKitPastExpiration', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 235, 4), )
+    __SequencingKitPastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPastExpiration'), 'SequencingKitPastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingKitPastExpiration', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 264, 4), )
 
     
     SequencingKitPastExpiration = property(__SequencingKitPastExpiration.value, __SequencingKitPastExpiration.set, None, 'Number of days past expiration the reagent kit was (if at all). ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SequencingTube0PastExpiration uses Python identifier SequencingTube0PastExpiration
-    __SequencingTube0PastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube0PastExpiration'), 'SequencingTube0PastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingTube0PastExpiration', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 240, 4), )
+    __SequencingTube0PastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube0PastExpiration'), 'SequencingTube0PastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingTube0PastExpiration', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 269, 4), )
 
     
     SequencingTube0PastExpiration = property(__SequencingTube0PastExpiration.value, __SequencingTube0PastExpiration.set, None, 'Number of days past expiration the reagent tube 0 was (if at all). ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SequencingTube1PastExpiration uses Python identifier SequencingTube1PastExpiration
-    __SequencingTube1PastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube1PastExpiration'), 'SequencingTube1PastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingTube1PastExpiration', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 245, 4), )
+    __SequencingTube1PastExpiration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube1PastExpiration'), 'SequencingTube1PastExpiration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingTube1PastExpiration', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 274, 4), )
 
     
     SequencingTube1PastExpiration = property(__SequencingTube1PastExpiration.value, __SequencingTube1PastExpiration.set, None, 'Number of days past expiration the reagent tube 1 was (if at all). ')
@@ -357,47 +420,47 @@ class CTD_ANON_4 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_5 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_6 (pyxb.binding.basis.complexTypeDefinition):
     """Container for the primary analysis related data. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 323, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 341, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SampleTrace uses Python identifier SampleTrace
-    __SampleTrace = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleTrace'), 'SampleTrace', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdSampleTrace', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 325, 4), )
+    __SampleTrace = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleTrace'), 'SampleTrace', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioCollectionMetadata_xsdSampleTrace', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 343, 4), )
 
     
     SampleTrace = property(__SampleTrace.value, __SampleTrace.set, None, 'Tag to indicate that the trace file will be sampled. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}AutomationName uses Python identifier AutomationName
-    __AutomationName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationName'), 'AutomationName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomationName', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 344, 4), )
+    __AutomationName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationName'), 'AutomationName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomationName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 362, 4), )
 
     
     AutomationName = property(__AutomationName.value, __AutomationName.set, None, 'Name of primary analysis protocol. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}ConfigFileName uses Python identifier ConfigFileName
-    __ConfigFileName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ConfigFileName'), 'ConfigFileName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdConfigFileName', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 349, 4), )
+    __ConfigFileName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ConfigFileName'), 'ConfigFileName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioCollectionMetadata_xsdConfigFileName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 367, 4), )
 
     
     ConfigFileName = property(__ConfigFileName.value, __ConfigFileName.set, None, 'Name of primary analysis config file. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SequencingCondition uses Python identifier SequencingCondition
-    __SequencingCondition = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingCondition'), 'SequencingCondition', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingCondition', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 354, 4), )
+    __SequencingCondition = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingCondition'), 'SequencingCondition', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingCondition', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 372, 4), )
 
     
     SequencingCondition = property(__SequencingCondition.value, __SequencingCondition.set, None, 'A sequencing condition tag to be used by primary analysis, e.g., to select basecaller calibration or training parameters. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}OutputOptions uses Python identifier OutputOptions
-    __OutputOptions = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'OutputOptions'), 'OutputOptions', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioCollectionMetadata_xsdOutputOptions', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 359, 4), )
+    __OutputOptions = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'OutputOptions'), 'OutputOptions', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioCollectionMetadata_xsdOutputOptions', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 377, 4), )
 
     
     OutputOptions = property(__OutputOptions.value, __OutputOptions.set, None, None)
@@ -416,26 +479,26 @@ class CTD_ANON_5 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_6 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_7 (pyxb.binding.basis.complexTypeDefinition):
     """Tag to indicate that the trace file will be sampled. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 329, 5)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 347, 5)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}TraceSamplingFactor uses Python identifier TraceSamplingFactor
-    __TraceSamplingFactor = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TraceSamplingFactor'), 'TraceSamplingFactor', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioCollectionMetadata_xsdTraceSamplingFactor', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 331, 7), )
+    __TraceSamplingFactor = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TraceSamplingFactor'), 'TraceSamplingFactor', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioCollectionMetadata_xsdTraceSamplingFactor', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 349, 7), )
 
     
     TraceSamplingFactor = property(__TraceSamplingFactor.value, __TraceSamplingFactor.set, None, 'Percentage of traces to sample. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}FullPulseFile uses Python identifier FullPulseFile
-    __FullPulseFile = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'FullPulseFile'), 'FullPulseFile', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioCollectionMetadata_xsdFullPulseFile', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 336, 7), )
+    __FullPulseFile = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'FullPulseFile'), 'FullPulseFile', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioCollectionMetadata_xsdFullPulseFile', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 354, 7), )
 
     
     FullPulseFile = property(__FullPulseFile.value, __FullPulseFile.set, None, 'Whether full or sampled pulse file is transferred if requested. ')
@@ -451,57 +514,65 @@ class CTD_ANON_6 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_7 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_8 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 360, 5)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 378, 5)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}ResultsFolder uses Python identifier ResultsFolder
-    __ResultsFolder = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ResultsFolder'), 'ResultsFolder', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioCollectionMetadata_xsdResultsFolder', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 362, 7), )
+    __ResultsFolder = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ResultsFolder'), 'ResultsFolder', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioCollectionMetadata_xsdResultsFolder', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 380, 7), )
 
     
     ResultsFolder = property(__ResultsFolder.value, __ResultsFolder.set, None, "NOTE: not for customers. A sub-folder under the CollectionPath created by Primary Analysis. This is a field that will be updated by the primary analysis pipeline.  The default (as created by homer) should be set to 'Reports_Sms' for now.  Consumers of the data should be aware that they will find collection metadata (and trace files if acquisition is so-configured) at the CollectionPathUri, and all primary ana [...]
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CollectionPathUri uses Python identifier CollectionPathUri
-    __CollectionPathUri = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionPathUri'), 'CollectionPathUri', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionPathUri', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 367, 7), )
+    __CollectionPathUri = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionPathUri'), 'CollectionPathUri', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionPathUri', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 385, 7), )
 
     
     CollectionPathUri = property(__CollectionPathUri.value, __CollectionPathUri.set, None, 'User-specified location of where the results should be copied after an analysis has been completed. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CopyFiles uses Python identifier CopyFiles
-    __CopyFiles = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CopyFiles'), 'CopyFiles', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioCollectionMetadata_xsdCopyFiles', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 372, 7), )
+    __CopyFiles = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CopyFiles'), 'CopyFiles', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioCollectionMetadata_xsdCopyFiles', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 390, 7), )
 
     
     CopyFiles = property(__CopyFiles.value, __CopyFiles.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Readout uses Python identifier Readout
-    __Readout = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Readout'), 'Readout', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioCollectionMetadata_xsdReadout', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 383, 7), )
+    __Readout = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Readout'), 'Readout', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioCollectionMetadata_xsdReadout', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 401, 7), )
 
     
     Readout = property(__Readout.value, __Readout.set, None, 'BazIO Readout option; valid values are Bases (default) and Pulses')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}MetricsVerbosity uses Python identifier MetricsVerbosity
-    __MetricsVerbosity = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MetricsVerbosity'), 'MetricsVerbosity', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioCollectionMetadata_xsdMetricsVerbosity', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 394, 7), )
+    __MetricsVerbosity = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'MetricsVerbosity'), 'MetricsVerbosity', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioCollectionMetadata_xsdMetricsVerbosity', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 413, 7), )
 
     
     MetricsVerbosity = property(__MetricsVerbosity.value, __MetricsVerbosity.set, None, 'BazIO MetricsVerbosity option; valid values are Minimal (default), High, and None')
 
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}TransferResource uses Python identifier TransferResource
+    __TransferResource = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TransferResource'), 'TransferResource', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioCollectionMetadata_xsdTransferResource', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 425, 7), )
+
+    
+    TransferResource = property(__TransferResource.value, __TransferResource.set, None, 'Transfer Resource (optional for now, but will be made required when ICS implements this)')
+
     _ElementMap.update({
         __ResultsFolder.name() : __ResultsFolder,
         __CollectionPathUri.name() : __CollectionPathUri,
         __CopyFiles.name() : __CopyFiles,
         __Readout.name() : __Readout,
-        __MetricsVerbosity.name() : __MetricsVerbosity
+        __MetricsVerbosity.name() : __MetricsVerbosity,
+        __TransferResource.name() : __TransferResource
     })
     _AttributeMap.update({
         
@@ -510,19 +581,19 @@ class CTD_ANON_7 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_8 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_9 (pyxb.binding.basis.complexTypeDefinition):
     """Complex type [anonymous] with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 373, 8)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 391, 8)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CollectionFileCopy uses Python identifier CollectionFileCopy
-    __CollectionFileCopy = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionFileCopy'), 'CollectionFileCopy', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_8_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionFileCopy', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 375, 10), )
+    __CollectionFileCopy = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionFileCopy'), 'CollectionFileCopy', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_9_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionFileCopy', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 393, 10), )
 
     
     CollectionFileCopy = property(__CollectionFileCopy.value, __CollectionFileCopy.set, None, 'Defines the set of files to be copied to the CollectionPathUri. 1 or more. ')
@@ -537,33 +608,100 @@ class CTD_ANON_8 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_9 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_10 (pyxb.binding.basis.complexTypeDefinition):
+    """Transfer Resource (optional for now, but will be made required when ICS implements this)"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 429, 8)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Id uses Python identifier Id
+    __Id = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Id'), 'Id', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioCollectionMetadata_xsdId', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 431, 10), )
+
+    
+    Id = property(__Id.value, __Id.set, None, 'Id of the Transfer Resource that is unique to the Scheme Type. A tuple of (TransferScheme, Id) will be globally unique')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}TransferScheme uses Python identifier TransferScheme
+    __TransferScheme = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TransferScheme'), 'TransferScheme', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioCollectionMetadata_xsdTransferScheme', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 441, 10), )
+
+    
+    TransferScheme = property(__TransferScheme.value, __TransferScheme.set, None, 'Transfer Scheme type (this should be an enum Scheme of rsync, srs or nfs)')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Name uses Python identifier Name
+    __Name = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Name'), 'Name', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioCollectionMetadata_xsdName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 453, 10), )
+
+    
+    Name = property(__Name.value, __Name.set, None, 'Display Name of the Transfer Resource')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Description uses Python identifier Description
+    __Description = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Description'), 'Description', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioCollectionMetadata_xsdDescription', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 458, 10), )
+
+    
+    Description = property(__Description.value, __Description.set, None, 'Description of the Transfer Resource')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}DestPath uses Python identifier DestPath
+    __DestPath = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DestPath'), 'DestPath', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioCollectionMetadata_xsdDestPath', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 463, 10), )
+
+    
+    DestPath = property(__DestPath.value, __DestPath.set, None, 'Remote Root Destination Path of the Transfer Resource')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}RelativePath uses Python identifier RelativePath
+    __RelativePath = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RelativePath'), 'RelativePath', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioCollectionMetadata_xsdRelativePath', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 468, 10), )
+
+    
+    RelativePath = property(__RelativePath.value, __RelativePath.set, None, 'Remote Relative Path of the Transfer Resource')
+
+    _ElementMap.update({
+        __Id.name() : __Id,
+        __TransferScheme.name() : __TransferScheme,
+        __Name.name() : __Name,
+        __Description.name() : __Description,
+        __DestPath.name() : __DestPath,
+        __RelativePath.name() : __RelativePath
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_11 (pyxb.binding.basis.complexTypeDefinition):
     """Container for the primary analysis related data. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 417, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 487, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}AutomationName uses Python identifier AutomationName
-    __AutomationName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationName'), 'AutomationName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_9_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomationName', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 419, 4), )
+    __AutomationName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationName'), 'AutomationName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_11_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomationName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 489, 4), )
 
     
     AutomationName = property(__AutomationName.value, __AutomationName.set, None, 'The secondary analysis protocol name specified in the sample sheet. Ignored by secondary. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}AutomationParameters uses Python identifier AutomationParameters
-    __AutomationParameters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), 'AutomationParameters', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_9_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomationParameters', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 424, 4), )
+    __AutomationParameters = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), 'AutomationParameters', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_11_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomationParameters', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 494, 4), )
 
     
     AutomationParameters = property(__AutomationParameters.value, __AutomationParameters.set, None, 'The parameters for secondary analysis specified in the sample sheet. Ignored by secondary. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CellCountInJob uses Python identifier CellCountInJob
-    __CellCountInJob = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellCountInJob'), 'CellCountInJob', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_9_httppacificbiosciences_comPacBioCollectionMetadata_xsdCellCountInJob', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 438, 4), )
+    __CellCountInJob = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellCountInJob'), 'CellCountInJob', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_11_httppacificbiosciences_comPacBioCollectionMetadata_xsdCellCountInJob', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 508, 4), )
 
     
     CellCountInJob = property(__CellCountInJob.value, __CellCountInJob.set, None, "The number of cells in this secondary analysis job, identified by the secondary analysis parameter 'JobName'.  Supports automated secondary analysis. ")
@@ -580,19 +718,19 @@ class CTD_ANON_9 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_10 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_12 (pyxb.binding.basis.complexTypeDefinition):
     """The parameters for secondary analysis specified in the sample sheet. Ignored by secondary. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 428, 5)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 498, 5)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}AutomationParameter uses Python identifier AutomationParameter
-    __AutomationParameter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), 'AutomationParameter', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_10_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomationParameter', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 430, 7), )
+    __AutomationParameter = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), 'AutomationParameter', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomationParameter', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 500, 7), )
 
     
     AutomationParameter = property(__AutomationParameter.value, __AutomationParameter.set, None, 'One or more secondary analysis parameters, such as JobName, Workflow, etc..')
@@ -607,29 +745,29 @@ class CTD_ANON_10 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type SIMPLE
-class CTD_ANON_11 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_13 (pyxb.binding.basis.complexTypeDefinition):
     """One custom, possibly non-unique, key-value pair. """
     _TypeDefinition = pyxb.binding.datatypes.string
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_SIMPLE
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 456, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 526, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.string
     
     # Attribute key uses Python identifier key
-    __key = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'key'), 'key', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_11_key', pyxb.binding.datatypes.string, required=True)
-    __key._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 459, 5)
-    __key._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 459, 5)
+    __key = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'key'), 'key', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_key', pyxb.binding.datatypes.string, required=True)
+    __key._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 529, 5)
+    __key._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 529, 5)
     
     key = property(__key.value, __key.set, None, 'Key (attribute) and Value (element content). ')
 
     
     # Attribute label uses Python identifier label
-    __label = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'label'), 'label', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_11_label', pyxb.binding.datatypes.string)
-    __label._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 464, 5)
-    __label._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 464, 5)
+    __label = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'label'), 'label', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_label', pyxb.binding.datatypes.string)
+    __label._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 534, 5)
+    __label._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 534, 5)
     
     label = property(__label.value, __label.set, None, None)
 
@@ -644,13 +782,13 @@ class CTD_ANON_11 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_12 (_ImportedBinding__pbbase.BaseEntityType):
+class CTD_ANON_14 (_ImportedBinding__pbbase.BaseEntityType):
     """Container for the sample related data. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 257, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 286, 2)
     _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.BaseEntityType
@@ -658,73 +796,66 @@ class CTD_ANON_12 (_ImportedBinding__pbbase.BaseEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}WellName uses Python identifier WellName
-    __WellName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WellName'), 'WellName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdWellName', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 261, 6), )
+    __WellName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WellName'), 'WellName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioCollectionMetadata_xsdWellName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 290, 6), )
 
     
     WellName = property(__WellName.value, __WellName.set, None, 'Identifies which well this sample came from (e.g., coordinate on a plate). ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Concentration uses Python identifier Concentration
-    __Concentration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Concentration'), 'Concentration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdConcentration', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 266, 6), )
+    __Concentration = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Concentration'), 'Concentration', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioCollectionMetadata_xsdConcentration', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 295, 6), )
 
     
     Concentration = property(__Concentration.value, __Concentration.set, None, 'Sample input concentration. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}InsertSize uses Python identifier InsertSize
-    __InsertSize = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InsertSize'), 'InsertSize', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdInsertSize', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 271, 6), )
+    __InsertSize = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InsertSize'), 'InsertSize', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioCollectionMetadata_xsdInsertSize', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 300, 6), )
 
     
     InsertSize = property(__InsertSize.value, __InsertSize.set, None, 'Length of the sheared template, e.g. 500, 2000, 30000')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SampleReuseEnabled uses Python identifier SampleReuseEnabled
-    __SampleReuseEnabled = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleReuseEnabled'), 'SampleReuseEnabled', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdSampleReuseEnabled', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 276, 6), )
+    __SampleReuseEnabled = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleReuseEnabled'), 'SampleReuseEnabled', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioCollectionMetadata_xsdSampleReuseEnabled', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 305, 6), )
 
     
     SampleReuseEnabled = property(__SampleReuseEnabled.value, __SampleReuseEnabled.set, None, 'Whether or not complex reuse is enabled for this well. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}StageHotstartEnabled uses Python identifier StageHotstartEnabled
-    __StageHotstartEnabled = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'StageHotstartEnabled'), 'StageHotstartEnabled', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdStageHotstartEnabled', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 281, 6), )
+    __StageHotstartEnabled = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'StageHotstartEnabled'), 'StageHotstartEnabled', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioCollectionMetadata_xsdStageHotstartEnabled', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 310, 6), )
 
     
     StageHotstartEnabled = property(__StageHotstartEnabled.value, __StageHotstartEnabled.set, None, 'Whether or not hotstart at the stage is enabled for this well. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SizeSelectionEnabled uses Python identifier SizeSelectionEnabled
-    __SizeSelectionEnabled = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SizeSelectionEnabled'), 'SizeSelectionEnabled', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdSizeSelectionEnabled', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 286, 6), )
+    __SizeSelectionEnabled = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SizeSelectionEnabled'), 'SizeSelectionEnabled', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioCollectionMetadata_xsdSizeSelectionEnabled', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 315, 6), )
 
     
     SizeSelectionEnabled = property(__SizeSelectionEnabled.value, __SizeSelectionEnabled.set, None, 'Whether or not size selection is enabled for this well. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}UseCount uses Python identifier UseCount
-    __UseCount = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'UseCount'), 'UseCount', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdUseCount', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 291, 6), )
+    __UseCount = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'UseCount'), 'UseCount', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioCollectionMetadata_xsdUseCount', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 320, 6), )
 
     
     UseCount = property(__UseCount.value, __UseCount.set, None, 'Count of usages for this batch of complex. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}DNAControlComplex uses Python identifier DNAControlComplex
-    __DNAControlComplex = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DNAControlComplex'), 'DNAControlComplex', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdDNAControlComplex', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 296, 6), )
+    __DNAControlComplex = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DNAControlComplex'), 'DNAControlComplex', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioCollectionMetadata_xsdDNAControlComplex', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 325, 6), )
 
     
     DNAControlComplex = property(__DNAControlComplex.value, __DNAControlComplex.set, None, 'Indicating what kind (if any) control was used. ')
 
     
-    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SampleBarcodeInfo uses Python identifier SampleBarcodeInfo
-    __SampleBarcodeInfo = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SampleBarcodeInfo'), 'SampleBarcodeInfo', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioCollectionMetadata_xsdSampleBarcodeInfo', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 301, 6), )
-
-    
-    SampleBarcodeInfo = property(__SampleBarcodeInfo.value, __SampleBarcodeInfo.set, None, 'When utilizing DNA barcoding, store the list of smaple barcodes in this element.')
-
-    
-    # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSamplePointers uses Python identifier BioSamplePointers
-    __BioSamplePointers = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamplePointers'), 'BioSamplePointers', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_12_httppacificbiosciences_comPacBioSampleInfo_xsdBioSamplePointers', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 100, 1), )
+    # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSamples uses Python identifier BioSamples
+    __BioSamples = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples'), 'BioSamples', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_14_httppacificbiosciences_comPacBioSampleInfo_xsdBioSamples', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 126, 1), )
 
     
-    BioSamplePointers = property(__BioSamplePointers.value, __BioSamplePointers.set, None, 'Back references to other BarcodedSampleType object UniqueIds which utilize this sample')
+    BioSamples = property(__BioSamples.value, __BioSamples.set, None, 'List of biological samples.')
 
     
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -751,8 +882,7 @@ class CTD_ANON_12 (_ImportedBinding__pbbase.BaseEntityType):
         __SizeSelectionEnabled.name() : __SizeSelectionEnabled,
         __UseCount.name() : __UseCount,
         __DNAControlComplex.name() : __DNAControlComplex,
-        __SampleBarcodeInfo.name() : __SampleBarcodeInfo,
-        __BioSamplePointers.name() : __BioSamplePointers
+        __BioSamples.name() : __BioSamples
     })
     _AttributeMap.update({
         
@@ -761,13 +891,13 @@ class CTD_ANON_12 (_ImportedBinding__pbbase.BaseEntityType):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_13 (_ImportedBinding__pbbase.StrictEntityType):
+class CTD_ANON_15 (_ImportedBinding__pbbase.StrictEntityType):
     """Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. """
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 34, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 34, 2)
     _ElementMap = _ImportedBinding__pbbase.StrictEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.StrictEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.StrictEntityType
@@ -775,119 +905,140 @@ class CTD_ANON_13 (_ImportedBinding__pbbase.StrictEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}InstCtrlVer uses Python identifier InstCtrlVer
-    __InstCtrlVer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InstCtrlVer'), 'InstCtrlVer', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdInstCtrlVer', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 38, 6), )
+    __InstCtrlVer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'InstCtrlVer'), 'InstCtrlVer', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdInstCtrlVer', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 38, 6), )
 
     
     InstCtrlVer = property(__InstCtrlVer.value, __InstCtrlVer.set, None, 'Instrument control software version. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SigProcVer uses Python identifier SigProcVer
-    __SigProcVer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SigProcVer'), 'SigProcVer', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdSigProcVer', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 43, 6), )
+    __SigProcVer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SigProcVer'), 'SigProcVer', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdSigProcVer', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 43, 6), )
 
     
     SigProcVer = property(__SigProcVer.value, __SigProcVer.set, None, 'Signal processing software version. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Automation uses Python identifier Automation
-    __Automation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Automation'), 'Automation', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomation', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 65, 6), )
+    __Automation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Automation'), 'Automation', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdAutomation', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 65, 6), )
 
     
     Automation = property(__Automation.value, __Automation.set, None, 'Defines the collection workflow (e.g., robotic movement, movie acquisition) for a particular cell. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CollectionNumber uses Python identifier CollectionNumber
-    __CollectionNumber = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionNumber'), 'CollectionNumber', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionNumber', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 70, 6), )
+    __CollectionNumber = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CollectionNumber'), 'CollectionNumber', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdCollectionNumber', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 70, 6), )
 
     
     CollectionNumber = property(__CollectionNumber.value, __CollectionNumber.set, None, 'Collection number for this plate well. Sample from one plate well or tube can be distributed to more than one cell. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CellIndex uses Python identifier CellIndex
-    __CellIndex = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellIndex'), 'CellIndex', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdCellIndex', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 75, 6), )
+    __CellIndex = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellIndex'), 'CellIndex', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdCellIndex', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 75, 6), )
 
     
     CellIndex = property(__CellIndex.value, __CellIndex.set, None, 'The zero-based index of this particular cell within the cell tray.  Likely to be in the range of [0-3]')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SetNumber uses Python identifier SetNumber
-    __SetNumber = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SetNumber'), 'SetNumber', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdSetNumber', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 80, 6), )
+    __SetNumber = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SetNumber'), 'SetNumber', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdSetNumber', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 80, 6), )
 
     
     SetNumber = property(__SetNumber.value, __SetNumber.set, None, 'Formerly known as the look number.  1 - N.  Defaults to 1. 0 if the look is unknown. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}CellPac uses Python identifier CellPac
-    __CellPac = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellPac'), 'CellPac', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdCellPac', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 85, 6), )
+    __CellPac = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellPac'), 'CellPac', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdCellPac', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 85, 6), )
 
     
     CellPac = property(__CellPac.value, __CellPac.set, None, 'The SMRT cell packaging supply information. ')
 
     
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}ControlKit uses Python identifier ControlKit
+    __ControlKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ControlKit'), 'ControlKit', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdControlKit', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 90, 6), )
+
+    
+    ControlKit = property(__ControlKit.value, __ControlKit.set, None, 'Defines the DNA control used for this experiment. ')
+
+    
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}TemplatePrepKit uses Python identifier TemplatePrepKit
-    __TemplatePrepKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit'), 'TemplatePrepKit', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdTemplatePrepKit', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 90, 6), )
+    __TemplatePrepKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit'), 'TemplatePrepKit', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdTemplatePrepKit', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 95, 6), )
 
     
     TemplatePrepKit = property(__TemplatePrepKit.value, __TemplatePrepKit.set, None, 'Defines the template (sample) prep kit used for this experiment. Can be used to get back to the primary and adapter used. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}BindingKit uses Python identifier BindingKit
-    __BindingKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BindingKit'), 'BindingKit', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdBindingKit', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 95, 6), )
+    __BindingKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BindingKit'), 'BindingKit', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdBindingKit', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 100, 6), )
 
     
     BindingKit = property(__BindingKit.value, __BindingKit.set, None, 'The binding kit supply information. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}SequencingKitPlate uses Python identifier SequencingKitPlate
-    __SequencingKitPlate = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPlate'), 'SequencingKitPlate', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingKitPlate', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 100, 6), )
+    __SequencingKitPlate = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPlate'), 'SequencingKitPlate', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdSequencingKitPlate', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 105, 6), )
 
     
     SequencingKitPlate = property(__SequencingKitPlate.value, __SequencingKitPlate.set, None, 'The sequencing kit supply information. ')
 
     
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}WashKitPlate uses Python identifier WashKitPlate
+    __WashKitPlate = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WashKitPlate'), 'WashKitPlate', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdWashKitPlate', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 110, 6), )
+
+    
+    WashKitPlate = property(__WashKitPlate.value, __WashKitPlate.set, None, 'The wash kit supply information. ')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}ComponentVersions uses Python identifier ComponentVersions
+    __ComponentVersions = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ComponentVersions'), 'ComponentVersions', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdComponentVersions', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 135, 6), )
+
+    
+    ComponentVersions = property(__ComponentVersions.value, __ComponentVersions.set, None, 'Subcomponents involved in the generation of the data')
+
+    
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}RunDetails uses Python identifier RunDetails
-    __RunDetails = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RunDetails'), 'RunDetails', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdRunDetails', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 146, 1), )
+    __RunDetails = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'RunDetails'), 'RunDetails', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdRunDetails', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 170, 1), )
 
     
     RunDetails = property(__RunDetails.value, __RunDetails.set, None, 'Information related to an instrument run.  A run can contain multiple chips, wells, and movies. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Movie uses Python identifier Movie
-    __Movie = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Movie'), 'Movie', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdMovie', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 185, 1), )
+    __Movie = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Movie'), 'Movie', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdMovie', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 214, 1), )
 
     
     Movie = property(__Movie.value, __Movie.set, None, 'A movie corresponds to one acquisition for a chip, one set (look) and one strobe. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}ExpirationData uses Python identifier ExpirationData
-    __ExpirationData = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExpirationData'), 'ExpirationData', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdExpirationData', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 209, 1), )
+    __ExpirationData = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ExpirationData'), 'ExpirationData', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdExpirationData', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 238, 1), )
 
     
     ExpirationData = property(__ExpirationData.value, __ExpirationData.set, None, 'Container for the expired consumable data. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}WellSample uses Python identifier WellSample
-    __WellSample = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WellSample'), 'WellSample', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdWellSample', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 253, 1), )
+    __WellSample = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'WellSample'), 'WellSample', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdWellSample', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 282, 1), )
 
     
     WellSample = property(__WellSample.value, __WellSample.set, None, 'Container for the sample related data. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Primary uses Python identifier Primary
-    __Primary = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Primary'), 'Primary', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdPrimary', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 319, 1), )
+    __Primary = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Primary'), 'Primary', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdPrimary', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 337, 1), )
 
     
     Primary = property(__Primary.value, __Primary.set, None, 'Container for the primary analysis related data. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}Secondary uses Python identifier Secondary
-    __Secondary = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Secondary'), 'Secondary', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdSecondary', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 413, 1), )
+    __Secondary = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Secondary'), 'Secondary', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdSecondary', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 483, 1), )
 
     
     Secondary = property(__Secondary.value, __Secondary.set, None, 'Container for the primary analysis related data. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioCollectionMetadata.xsd}UserDefinedFields uses Python identifier UserDefinedFields
-    __UserDefinedFields = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFields'), 'UserDefinedFields', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_httppacificbiosciences_comPacBioCollectionMetadata_xsdUserDefinedFields', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 447, 1), )
+    __UserDefinedFields = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFields'), 'UserDefinedFields', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_httppacificbiosciences_comPacBioCollectionMetadata_xsdUserDefinedFields', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 517, 1), )
 
     
     UserDefinedFields = property(__UserDefinedFields.value, __UserDefinedFields.set, None, 'A set of key-value pairs specified by a user via the run input mechanism. Note that uniqueness of keys is not enforced here and so may contain duplicate keys. ')
@@ -916,33 +1067,33 @@ class CTD_ANON_13 (_ImportedBinding__pbbase.StrictEntityType):
     # Attribute TimeStampedName inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
     
     # Attribute Context uses Python identifier Context
-    __Context = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Context'), 'Context', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_Context', pyxb.binding.datatypes.string)
-    __Context._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 126, 5)
-    __Context._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 126, 5)
+    __Context = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Context'), 'Context', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_Context', pyxb.binding.datatypes.string)
+    __Context._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 150, 5)
+    __Context._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 150, 5)
     
     Context = property(__Context.value, __Context.set, None, 'Replace with TimeStampedName')
 
     
     # Attribute Status uses Python identifier Status
-    __Status = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Status'), 'Status', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_Status', _ImportedBinding__pbbase.SupportedAcquisitionStates)
-    __Status._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 131, 5)
-    __Status._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 131, 5)
+    __Status = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Status'), 'Status', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_Status', _ImportedBinding__pbbase.SupportedAcquisitionStates)
+    __Status._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 155, 5)
+    __Status._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 155, 5)
     
     Status = property(__Status.value, __Status.set, None, None)
 
     
     # Attribute InstrumentId uses Python identifier InstrumentId
-    __InstrumentId = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'InstrumentId'), 'InstrumentId', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_InstrumentId', pyxb.binding.datatypes.string)
-    __InstrumentId._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 132, 5)
-    __InstrumentId._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 132, 5)
+    __InstrumentId = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'InstrumentId'), 'InstrumentId', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_InstrumentId', pyxb.binding.datatypes.string)
+    __InstrumentId._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 156, 5)
+    __InstrumentId._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 156, 5)
     
     InstrumentId = property(__InstrumentId.value, __InstrumentId.set, None, 'World unique id assigned by PacBio. ')
 
     
     # Attribute InstrumentName uses Python identifier InstrumentName
-    __InstrumentName = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'InstrumentName'), 'InstrumentName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_13_InstrumentName', pyxb.binding.datatypes.string)
-    __InstrumentName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 137, 5)
-    __InstrumentName._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 137, 5)
+    __InstrumentName = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'InstrumentName'), 'InstrumentName', '__httppacificbiosciences_comPacBioCollectionMetadata_xsd_CTD_ANON_15_InstrumentName', pyxb.binding.datatypes.string)
+    __InstrumentName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 161, 5)
+    __InstrumentName._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 161, 5)
     
     InstrumentName = property(__InstrumentName.value, __InstrumentName.set, None, 'Friendly name assigned by customer')
 
@@ -954,9 +1105,12 @@ class CTD_ANON_13 (_ImportedBinding__pbbase.StrictEntityType):
         __CellIndex.name() : __CellIndex,
         __SetNumber.name() : __SetNumber,
         __CellPac.name() : __CellPac,
+        __ControlKit.name() : __ControlKit,
         __TemplatePrepKit.name() : __TemplatePrepKit,
         __BindingKit.name() : __BindingKit,
         __SequencingKitPlate.name() : __SequencingKitPlate,
+        __WashKitPlate.name() : __WashKitPlate,
+        __ComponentVersions.name() : __ComponentVersions,
         __RunDetails.name() : __RunDetails,
         __Movie.name() : __Movie,
         __ExpirationData.name() : __ExpirationData,
@@ -974,42 +1128,42 @@ class CTD_ANON_13 (_ImportedBinding__pbbase.StrictEntityType):
 
 
 
-PacBioCollectionMetadata = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PacBioCollectionMetadata'), CTD_ANON, documentation='Root element of a standalone CollectionMetadata file.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 10, 1))
+PacBioCollectionMetadata = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PacBioCollectionMetadata'), CTD_ANON, documentation='Root element of a standalone CollectionMetadata file.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 10, 1))
 Namespace.addCategoryObject('elementBinding', PacBioCollectionMetadata.name().localName(), PacBioCollectionMetadata)
 
-Collections = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Collections'), CTD_ANON_, documentation='A set of acquisition definitions', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 20, 1))
+Collections = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Collections'), CTD_ANON_, documentation='A set of acquisition definitions', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 20, 1))
 Namespace.addCategoryObject('elementBinding', Collections.name().localName(), Collections)
 
-RunDetails = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RunDetails'), CTD_ANON_2, documentation='Information related to an instrument run.  A run can contain multiple chips, wells, and movies. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 146, 1))
+RunDetails = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RunDetails'), CTD_ANON_3, documentation='Information related to an instrument run.  A run can contain multiple chips, wells, and movies. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 170, 1))
 Namespace.addCategoryObject('elementBinding', RunDetails.name().localName(), RunDetails)
 
-Movie = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Movie'), CTD_ANON_3, documentation='A movie corresponds to one acquisition for a chip, one set (look) and one strobe. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 185, 1))
+Movie = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Movie'), CTD_ANON_4, documentation='A movie corresponds to one acquisition for a chip, one set (look) and one strobe. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 214, 1))
 Namespace.addCategoryObject('elementBinding', Movie.name().localName(), Movie)
 
-ExpirationData = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExpirationData'), CTD_ANON_4, documentation='Container for the expired consumable data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 209, 1))
+ExpirationData = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExpirationData'), CTD_ANON_5, documentation='Container for the expired consumable data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 238, 1))
 Namespace.addCategoryObject('elementBinding', ExpirationData.name().localName(), ExpirationData)
 
-Primary = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Primary'), CTD_ANON_5, documentation='Container for the primary analysis related data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 319, 1))
+Primary = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Primary'), CTD_ANON_6, documentation='Container for the primary analysis related data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 337, 1))
 Namespace.addCategoryObject('elementBinding', Primary.name().localName(), Primary)
 
-Secondary = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Secondary'), CTD_ANON_9, documentation='Container for the primary analysis related data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 413, 1))
+Secondary = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Secondary'), CTD_ANON_11, documentation='Container for the primary analysis related data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 483, 1))
 Namespace.addCategoryObject('elementBinding', Secondary.name().localName(), Secondary)
 
-UserDefinedFields = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFields'), _ImportedBinding__pbbase.UserDefinedFieldsType, documentation='A set of key-value pairs specified by a user via the run input mechanism. Note that uniqueness of keys is not enforced here and so may contain duplicate keys. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 447, 1))
+UserDefinedFields = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFields'), _ImportedBinding__pbbase.UserDefinedFieldsType, documentation='A set of key-value pairs specified by a user via the run input mechanism. Note that uniqueness of keys is not enforced here and so may contain duplicate keys. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 517, 1))
 Namespace.addCategoryObject('elementBinding', UserDefinedFields.name().localName(), UserDefinedFields)
 
-KeyValue = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'KeyValue'), CTD_ANON_11, documentation='One custom, possibly non-unique, key-value pair. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 452, 1))
+KeyValue = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'KeyValue'), CTD_ANON_13, documentation='One custom, possibly non-unique, key-value pair. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 522, 1))
 Namespace.addCategoryObject('elementBinding', KeyValue.name().localName(), KeyValue)
 
-WellSample = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WellSample'), CTD_ANON_12, documentation='Container for the sample related data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 253, 1))
+WellSample = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WellSample'), CTD_ANON_14, documentation='Container for the sample related data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 282, 1))
 Namespace.addCategoryObject('elementBinding', WellSample.name().localName(), WellSample)
 
-CollectionMetadata = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), CTD_ANON_13, documentation='Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. ', location=pyxb.utils.utility.Location(' [...]
+CollectionMetadata = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), CTD_ANON_15, documentation='Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. ', location=pyxb.utils.utility.Location(' [...]
 Namespace.addCategoryObject('elementBinding', CollectionMetadata.name().localName(), CollectionMetadata)
 
 
 
-CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), CTD_ANON_13, scope=CTD_ANON, documentation='Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. ', location=pyxb.utils.ut [...]
+CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), CTD_ANON_15, scope=CTD_ANON, documentation='Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. ', location=pyxb.utils.ut [...]
 
 def _BuildAutomaton ():
     # Remove this helper function from the namespace after it is invoked
@@ -1020,7 +1174,7 @@ def _BuildAutomaton ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 16, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 16, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -1031,7 +1185,7 @@ CTD_ANON._Automaton = _BuildAutomaton()
 
 
 
-CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), CTD_ANON_13, scope=CTD_ANON_, documentation='Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. ', location=pyxb.utils. [...]
+CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata'), CTD_ANON_15, scope=CTD_ANON_, documentation='Root-level element for the metadata.  The purpose of which is to contain pertinent instrument information related to the conditions present during a movie acquisition.  It also serves to provide key pieces of information for integration with primary and secondary analysis.  This file is associated with 1 movie. ', location=pyxb.utils. [...]
 
 def _BuildAutomaton_ ():
     # Remove this helper function from the namespace after it is invoked
@@ -1042,7 +1196,7 @@ def _BuildAutomaton_ ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 26, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionMetadata')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 26, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -1055,65 +1209,98 @@ CTD_ANON_._Automaton = _BuildAutomaton_()
 
 
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TimeStampedName'), pyxb.binding.datatypes.string, scope=CTD_ANON_2, documentation='A unique identifier for this run.  Format is r[sid]_[iname]_[ts]. Where [id] is a system generated id and [iname] is the instrument name and [ts] is a timestamp YYMMDD Example:  r000123_00117_100713 ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 152, 4)))
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'VersionInfo'), _ImportedBinding__pbbase.BaseEntityType, scope=CTD_ANON_2, documentation='Each component should list its name and version attribute', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 141, 9)))
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Name'), pyxb.binding.datatypes.string, scope=CTD_ANON_2, documentation='Assigned name for a run, which consists of multiple wells. There is no constraint on the uniqueness of this data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 157, 4)))
+def _BuildAutomaton_2 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_2
+    del _BuildAutomaton_2
+    import pyxb.utils.fac as fac
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CreatedBy'), pyxb.binding.datatypes.string, scope=CTD_ANON_2, documentation='Who created the run. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 162, 4)))
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'VersionInfo')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 141, 9))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_2._Automaton = _BuildAutomaton_2()
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WhenCreated'), pyxb.binding.datatypes.dateTime, scope=CTD_ANON_2, documentation='Date and time of when the overall run was created in the system. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 167, 4)))
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'StartedBy'), pyxb.binding.datatypes.string, scope=CTD_ANON_2, documentation='Who started the run. Could be different from who created it. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 172, 4)))
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted'), pyxb.binding.datatypes.dateTime, scope=CTD_ANON_2, documentation='Date and time of when the overall run was started. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 177, 4)))
 
-def _BuildAutomaton_2 ():
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TimeStampedName'), pyxb.binding.datatypes.string, scope=CTD_ANON_3, documentation='A unique identifier for this run.  Format is r[sid]_[iname]_[ts]. Where [id] is a system generated id and [iname] is the instrument name and [ts] is a timestamp YYMMDD Example:  r000123_00117_100713 ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 176, 4)))
+
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Name'), pyxb.binding.datatypes.string, scope=CTD_ANON_3, documentation='Assigned name for a run, which consists of multiple wells. There is no constraint on the uniqueness of this data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 181, 4)))
+
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CreatedBy'), pyxb.binding.datatypes.string, scope=CTD_ANON_3, documentation='Who created the run. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 186, 4)))
+
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WhenCreated'), pyxb.binding.datatypes.dateTime, scope=CTD_ANON_3, documentation='Date and time of when the overall run was created in the system. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 191, 4)))
+
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'StartedBy'), pyxb.binding.datatypes.string, scope=CTD_ANON_3, documentation='Who started the run. Could be different from who created it. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 196, 4)))
+
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted'), pyxb.binding.datatypes.dateTime, scope=CTD_ANON_3, documentation='Date and time of when the overall run was started. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 201, 4)))
+
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WhenCompleted'), pyxb.binding.datatypes.dateTime, scope=CTD_ANON_3, documentation='Date and time of when the overall run was completed. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 206, 4)))
+
+def _BuildAutomaton_3 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_2
-    del _BuildAutomaton_2
+    global _BuildAutomaton_3
+    del _BuildAutomaton_3
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 157, 4))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 181, 4))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 162, 4))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 186, 4))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 167, 4))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 191, 4))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 172, 4))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 196, 4))
     counters.add(cc_3)
-    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 177, 4))
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 201, 4))
     counters.add(cc_4)
+    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 206, 4))
+    counters.add(cc_5)
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TimeStampedName')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 152, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TimeStampedName')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 176, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Name')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 157, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Name')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 181, 4))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CreatedBy')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 162, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CreatedBy')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 186, 4))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WhenCreated')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 167, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WhenCreated')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 191, 4))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'StartedBy')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 172, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'StartedBy')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 196, 4))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_4, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 177, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 201, 4))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_5, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WhenCompleted')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 206, 4))
+    st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_6)
     transitions = []
     transitions.append(fac.Transition(st_1, [
          ]))
@@ -1125,6 +1312,8 @@ def _BuildAutomaton_2 ():
          ]))
     transitions.append(fac.Transition(st_5, [
          ]))
+    transitions.append(fac.Transition(st_6, [
+         ]))
     st_0._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_1, [
@@ -1137,6 +1326,8 @@ def _BuildAutomaton_2 ():
         fac.UpdateInstruction(cc_0, False) ]))
     transitions.append(fac.Transition(st_5, [
         fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_0, False) ]))
     st_1._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_2, [
@@ -1147,6 +1338,8 @@ def _BuildAutomaton_2 ():
         fac.UpdateInstruction(cc_1, False) ]))
     transitions.append(fac.Transition(st_5, [
         fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_1, False) ]))
     st_2._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_3, [
@@ -1155,47 +1348,57 @@ def _BuildAutomaton_2 ():
         fac.UpdateInstruction(cc_2, False) ]))
     transitions.append(fac.Transition(st_5, [
         fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_2, False) ]))
     st_3._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_4, [
         fac.UpdateInstruction(cc_3, True) ]))
     transitions.append(fac.Transition(st_5, [
         fac.UpdateInstruction(cc_3, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_3, False) ]))
     st_4._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_5, [
         fac.UpdateInstruction(cc_4, True) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_4, False) ]))
     st_5._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_5, True) ]))
+    st_6._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_2._Automaton = _BuildAutomaton_2()
+CTD_ANON_3._Automaton = _BuildAutomaton_3()
 
 
 
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted'), pyxb.binding.datatypes.dateTime, scope=CTD_ANON_3, documentation='Date and time of when this movie acquisition started. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 191, 4)))
+CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted'), pyxb.binding.datatypes.dateTime, scope=CTD_ANON_4, documentation='Date and time of when this movie acquisition started. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 220, 4)))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DurationInSec'), pyxb.binding.datatypes.int, scope=CTD_ANON_3, documentation='The actual length of the movie acquisition (in seconds), irrespective of the movie duration specified by an automation parameter. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 196, 4), unicode_default='0'))
+CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DurationInSec'), pyxb.binding.datatypes.int, scope=CTD_ANON_4, documentation='The actual length of the movie acquisition (in seconds), irrespective of the movie duration specified by an automation parameter. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 225, 4), unicode_default='0'))
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Number'), pyxb.binding.datatypes.int, scope=CTD_ANON_3, documentation="The number of this movie within the set (i.e., look).  This is unique when combined with the 'SetNumber'. ", location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 201, 4), unicode_default='0'))
+CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Number'), pyxb.binding.datatypes.int, scope=CTD_ANON_4, documentation="The number of this movie within the set (i.e., look).  This is unique when combined with the 'SetNumber'. ", location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 230, 4), unicode_default='0'))
 
-def _BuildAutomaton_3 ():
+def _BuildAutomaton_4 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_3
-    del _BuildAutomaton_3
+    global _BuildAutomaton_4
+    del _BuildAutomaton_4
     import pyxb.utils.fac as fac
 
     counters = set()
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 191, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WhenStarted')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 220, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DurationInSec')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 196, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DurationInSec')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 225, 4))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Number')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 201, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Number')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 230, 4))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     transitions = []
@@ -1209,57 +1412,57 @@ def _BuildAutomaton_3 ():
     transitions = []
     st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_3._Automaton = _BuildAutomaton_3()
+CTD_ANON_4._Automaton = _BuildAutomaton_4()
 
 
 
 
-CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKitPastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_4, documentation='Number of days past expiration the template prep kit was (if at all). ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 215, 4)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKitPastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_5, documentation='Number of days past expiration the template prep kit was (if at all). ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 244, 4)))
 
-CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BindingKitPastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_4, documentation='Number of days past expiration the binding kit was (if at all). ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 220, 4)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BindingKitPastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_5, documentation='Number of days past expiration the binding kit was (if at all). ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 249, 4)))
 
-CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellPacPastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_4, documentation='Number of days past expiration the cell pac was (if at all). ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 225, 4)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellPacPastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_5, documentation='Number of days past expiration the cell pac was (if at all). ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 254, 4)))
 
-CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_4, documentation='Number of days past expiration the reagent kit was (if at all). ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 235, 4)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_5, documentation='Number of days past expiration the reagent kit was (if at all). ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 264, 4)))
 
-CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube0PastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_4, documentation='Number of days past expiration the reagent tube 0 was (if at all). ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 240, 4)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube0PastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_5, documentation='Number of days past expiration the reagent tube 0 was (if at all). ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 269, 4)))
 
-CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube1PastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_4, documentation='Number of days past expiration the reagent tube 1 was (if at all). ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 245, 4)))
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube1PastExpiration'), pyxb.binding.datatypes.int, scope=CTD_ANON_5, documentation='Number of days past expiration the reagent tube 1 was (if at all). ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 274, 4)))
 
-def _BuildAutomaton_4 ():
+def _BuildAutomaton_5 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_4
-    del _BuildAutomaton_4
+    global _BuildAutomaton_5
+    del _BuildAutomaton_5
     import pyxb.utils.fac as fac
 
     counters = set()
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKitPastExpiration')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 215, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKitPastExpiration')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 244, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BindingKitPastExpiration')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 220, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BindingKitPastExpiration')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 249, 4))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellPacPastExpiration')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 225, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellPacPastExpiration')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 254, 4))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellPacPastExpiration')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 230, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellPacPastExpiration')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 259, 4))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPastExpiration')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 235, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPastExpiration')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 264, 4))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube0PastExpiration')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 240, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube0PastExpiration')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 269, 4))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube1PastExpiration')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 245, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingTube1PastExpiration')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 274, 4))
     st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_6)
     transitions = []
@@ -1289,49 +1492,49 @@ def _BuildAutomaton_4 ():
     transitions = []
     st_6._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_4._Automaton = _BuildAutomaton_4()
+CTD_ANON_5._Automaton = _BuildAutomaton_5()
 
 
 
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleTrace'), CTD_ANON_6, scope=CTD_ANON_5, documentation='Tag to indicate that the trace file will be sampled. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 325, 4)))
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleTrace'), CTD_ANON_7, scope=CTD_ANON_6, documentation='Tag to indicate that the trace file will be sampled. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 343, 4)))
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationName'), pyxb.binding.datatypes.string, scope=CTD_ANON_5, documentation='Name of primary analysis protocol. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 344, 4)))
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationName'), pyxb.binding.datatypes.string, scope=CTD_ANON_6, documentation='Name of primary analysis protocol. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 362, 4)))
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConfigFileName'), pyxb.binding.datatypes.string, scope=CTD_ANON_5, documentation='Name of primary analysis config file. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 349, 4)))
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ConfigFileName'), pyxb.binding.datatypes.string, scope=CTD_ANON_6, documentation='Name of primary analysis config file. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 367, 4)))
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingCondition'), pyxb.binding.datatypes.string, scope=CTD_ANON_5, documentation='A sequencing condition tag to be used by primary analysis, e.g., to select basecaller calibration or training parameters. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 354, 4)))
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingCondition'), pyxb.binding.datatypes.string, scope=CTD_ANON_6, documentation='A sequencing condition tag to be used by primary analysis, e.g., to select basecaller calibration or training parameters. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 372, 4)))
 
-CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'OutputOptions'), CTD_ANON_7, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 359, 4)))
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'OutputOptions'), CTD_ANON_8, scope=CTD_ANON_6, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 377, 4)))
 
-def _BuildAutomaton_5 ():
+def _BuildAutomaton_6 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_5
-    del _BuildAutomaton_5
+    global _BuildAutomaton_6
+    del _BuildAutomaton_6
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 325, 4))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 343, 4))
     counters.add(cc_0)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleTrace')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 325, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleTrace')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 343, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationName')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 344, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationName')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 362, 4))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ConfigFileName')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 349, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ConfigFileName')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 367, 4))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingCondition')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 354, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingCondition')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 372, 4))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'OutputOptions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 359, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'OutputOptions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 377, 4))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     transitions = []
@@ -1355,29 +1558,29 @@ def _BuildAutomaton_5 ():
     transitions = []
     st_4._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_5._Automaton = _BuildAutomaton_5()
+CTD_ANON_6._Automaton = _BuildAutomaton_6()
 
 
 
 
-CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TraceSamplingFactor'), pyxb.binding.datatypes.float, scope=CTD_ANON_6, documentation='Percentage of traces to sample. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 331, 7)))
+CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TraceSamplingFactor'), pyxb.binding.datatypes.float, scope=CTD_ANON_7, documentation='Percentage of traces to sample. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 349, 7)))
 
-CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'FullPulseFile'), pyxb.binding.datatypes.boolean, scope=CTD_ANON_6, documentation='Whether full or sampled pulse file is transferred if requested. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 336, 7)))
+CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'FullPulseFile'), pyxb.binding.datatypes.boolean, scope=CTD_ANON_7, documentation='Whether full or sampled pulse file is transferred if requested. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 354, 7)))
 
-def _BuildAutomaton_6 ():
+def _BuildAutomaton_7 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_6
-    del _BuildAutomaton_6
+    global _BuildAutomaton_7
+    del _BuildAutomaton_7
     import pyxb.utils.fac as fac
 
     counters = set()
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TraceSamplingFactor')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 331, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TraceSamplingFactor')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 349, 7))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'FullPulseFile')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 336, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'FullPulseFile')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 354, 7))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     transitions = []
@@ -1387,49 +1590,58 @@ def _BuildAutomaton_6 ():
     transitions = []
     st_1._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_6._Automaton = _BuildAutomaton_6()
+CTD_ANON_7._Automaton = _BuildAutomaton_7()
 
 
 
 
-CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ResultsFolder'), pyxb.binding.datatypes.string, scope=CTD_ANON_7, documentation="NOTE: not for customers. A sub-folder under the CollectionPath created by Primary Analysis. This is a field that will be updated by the primary analysis pipeline.  The default (as created by homer) should be set to 'Reports_Sms' for now.  Consumers of the data should be aware that they will find collection metadata (and [...]
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ResultsFolder'), pyxb.binding.datatypes.string, scope=CTD_ANON_8, documentation="NOTE: not for customers. A sub-folder under the CollectionPath created by Primary Analysis. This is a field that will be updated by the primary analysis pipeline.  The default (as created by homer) should be set to 'Reports_Sms' for now.  Consumers of the data should be aware that they will find collection metadata (and [...]
 
-CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionPathUri'), pyxb.binding.datatypes.anyURI, scope=CTD_ANON_7, documentation='User-specified location of where the results should be copied after an analysis has been completed. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 367, 7)))
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionPathUri'), pyxb.binding.datatypes.anyURI, scope=CTD_ANON_8, documentation='User-specified location of where the results should be copied after an analysis has been completed. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 385, 7)))
 
-CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CopyFiles'), CTD_ANON_8, scope=CTD_ANON_7, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 372, 7)))
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CopyFiles'), CTD_ANON_9, scope=CTD_ANON_8, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 390, 7)))
 
-CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Readout'), STD_ANON, scope=CTD_ANON_7, documentation='BazIO Readout option; valid values are Bases (default) and Pulses', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 383, 7), unicode_default='Bases'))
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Readout'), STD_ANON, scope=CTD_ANON_8, documentation='BazIO Readout option; valid values are Bases (default) and Pulses', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 401, 7), unicode_default='Bases'))
 
-CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MetricsVerbosity'), STD_ANON_, scope=CTD_ANON_7, documentation='BazIO MetricsVerbosity option; valid values are Minimal (default), High, and None', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 394, 7), unicode_default='Minimal'))
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'MetricsVerbosity'), STD_ANON_, scope=CTD_ANON_8, documentation='BazIO MetricsVerbosity option; valid values are Minimal (default), High, and None', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 413, 7), unicode_default='Minimal'))
 
-def _BuildAutomaton_7 ():
+CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TransferResource'), CTD_ANON_10, scope=CTD_ANON_8, documentation='Transfer Resource (optional for now, but will be made required when ICS implements this)', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 425, 7)))
+
+def _BuildAutomaton_8 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_7
-    del _BuildAutomaton_7
+    global _BuildAutomaton_8
+    del _BuildAutomaton_8
     import pyxb.utils.fac as fac
 
     counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 425, 7))
+    counters.add(cc_0)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ResultsFolder')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 362, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ResultsFolder')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 380, 7))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionPathUri')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 367, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionPathUri')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 385, 7))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CopyFiles')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 372, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CopyFiles')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 390, 7))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Readout')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 383, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Readout')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 401, 7))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MetricsVerbosity')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 394, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'MetricsVerbosity')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 413, 7))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TransferResource')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 425, 7))
+    st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_5)
     transitions = []
     transitions.append(fac.Transition(st_1, [
          ]))
@@ -1447,25 +1659,31 @@ def _BuildAutomaton_7 ():
          ]))
     st_3._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_5, [
+         ]))
     st_4._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_5._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_7._Automaton = _BuildAutomaton_7()
+CTD_ANON_8._Automaton = _BuildAutomaton_8()
 
 
 
 
-CTD_ANON_8._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionFileCopy'), PapOutputFile, scope=CTD_ANON_8, documentation='Defines the set of files to be copied to the CollectionPathUri. 1 or more. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 375, 10)))
+CTD_ANON_9._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionFileCopy'), PapOutputFile, scope=CTD_ANON_9, documentation='Defines the set of files to be copied to the CollectionPathUri. 1 or more. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 393, 10)))
 
-def _BuildAutomaton_8 ():
+def _BuildAutomaton_9 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_8
-    del _BuildAutomaton_8
+    global _BuildAutomaton_9
+    del _BuildAutomaton_9
     import pyxb.utils.fac as fac
 
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionFileCopy')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 375, 10))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionFileCopy')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 393, 10))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -1473,37 +1691,114 @@ def _BuildAutomaton_8 ():
          ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_8._Automaton = _BuildAutomaton_8()
+CTD_ANON_9._Automaton = _BuildAutomaton_9()
 
 
 
 
-CTD_ANON_9._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationName'), pyxb.binding.datatypes.string, scope=CTD_ANON_9, documentation='The secondary analysis protocol name specified in the sample sheet. Ignored by secondary. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 419, 4)))
+CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Id'), STD_ANON_2, scope=CTD_ANON_10, documentation='Id of the Transfer Resource that is unique to the Scheme Type. A tuple of (TransferScheme, Id) will be globally unique', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 431, 10)))
 
-CTD_ANON_9._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), CTD_ANON_10, scope=CTD_ANON_9, documentation='The parameters for secondary analysis specified in the sample sheet. Ignored by secondary. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 424, 4)))
+CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TransferScheme'), STD_ANON_3, scope=CTD_ANON_10, documentation='Transfer Scheme type (this should be an enum Scheme of rsync, srs or nfs)', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 441, 10)))
 
-CTD_ANON_9._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellCountInJob'), pyxb.binding.datatypes.int, scope=CTD_ANON_9, documentation="The number of cells in this secondary analysis job, identified by the secondary analysis parameter 'JobName'.  Supports automated secondary analysis. ", location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 438, 4)))
+CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Name'), pyxb.binding.datatypes.string, scope=CTD_ANON_10, documentation='Display Name of the Transfer Resource', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 453, 10)))
 
-def _BuildAutomaton_9 ():
+CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Description'), pyxb.binding.datatypes.string, scope=CTD_ANON_10, documentation='Description of the Transfer Resource', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 458, 10)))
+
+CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DestPath'), pyxb.binding.datatypes.string, scope=CTD_ANON_10, documentation='Remote Root Destination Path of the Transfer Resource', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 463, 10)))
+
+CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RelativePath'), pyxb.binding.datatypes.string, scope=CTD_ANON_10, documentation='Remote Relative Path of the Transfer Resource', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 468, 10)))
+
+def _BuildAutomaton_10 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_9
-    del _BuildAutomaton_9
+    global _BuildAutomaton_10
+    del _BuildAutomaton_10
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 468, 10))
+    counters.add(cc_0)
+    states = []
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Id')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 431, 10))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TransferScheme')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 441, 10))
+    st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Name')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 453, 10))
+    st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    final_update = None
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Description')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 458, 10))
+    st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_3)
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DestPath')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 463, 10))
+    st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_4)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RelativePath')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 468, 10))
+    st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_5)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+         ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_3, [
+         ]))
+    st_2._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_4, [
+         ]))
+    st_3._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_5, [
+         ]))
+    st_4._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    st_5._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_10._Automaton = _BuildAutomaton_10()
+
+
+
+
+CTD_ANON_11._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationName'), pyxb.binding.datatypes.string, scope=CTD_ANON_11, documentation='The secondary analysis protocol name specified in the sample sheet. Ignored by secondary. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 489, 4)))
+
+CTD_ANON_11._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters'), CTD_ANON_12, scope=CTD_ANON_11, documentation='The parameters for secondary analysis specified in the sample sheet. Ignored by secondary. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 494, 4)))
+
+CTD_ANON_11._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellCountInJob'), pyxb.binding.datatypes.int, scope=CTD_ANON_11, documentation="The number of cells in this secondary analysis job, identified by the secondary analysis parameter 'JobName'.  Supports automated secondary analysis. ", location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 508, 4)))
+
+def _BuildAutomaton_11 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_11
+    del _BuildAutomaton_11
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 424, 4))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 494, 4))
     counters.add(cc_0)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationName')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 419, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationName')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 489, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 424, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameters')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 494, 4))
     st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_9._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellCountInJob')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 438, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_11._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellCountInJob')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 508, 4))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     transitions = []
@@ -1521,26 +1816,26 @@ def _BuildAutomaton_9 ():
     transitions = []
     st_2._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_9._Automaton = _BuildAutomaton_9()
+CTD_ANON_11._Automaton = _BuildAutomaton_11()
 
 
 
 
-CTD_ANON_10._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), _ImportedBinding__pbbase.DataEntityType, scope=CTD_ANON_10, documentation='One or more secondary analysis parameters, such as JobName, Workflow, etc..', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 430, 7)))
+CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter'), _ImportedBinding__pbbase.DataEntityType, scope=CTD_ANON_12, documentation='One or more secondary analysis parameters, such as JobName, Workflow, etc..', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 500, 7)))
 
-def _BuildAutomaton_10 ():
+def _BuildAutomaton_12 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_10
-    del _BuildAutomaton_10
+    global _BuildAutomaton_12
+    del _BuildAutomaton_12
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 430, 7))
+    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 500, 7))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_10._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 430, 7))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'AutomationParameter')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 500, 7))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -1548,94 +1843,85 @@ def _BuildAutomaton_10 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-CTD_ANON_10._Automaton = _BuildAutomaton_10()
-
+CTD_ANON_12._Automaton = _BuildAutomaton_12()
 
 
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WellName'), pyxb.binding.datatypes.string, scope=CTD_ANON_12, documentation='Identifies which well this sample came from (e.g., coordinate on a plate). ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 261, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Concentration'), pyxb.binding.datatypes.double, scope=CTD_ANON_12, documentation='Sample input concentration. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 266, 6)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WellName'), pyxb.binding.datatypes.string, scope=CTD_ANON_14, documentation='Identifies which well this sample came from (e.g., coordinate on a plate). ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 290, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InsertSize'), pyxb.binding.datatypes.int, scope=CTD_ANON_12, documentation='Length of the sheared template, e.g. 500, 2000, 30000', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 271, 6)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Concentration'), pyxb.binding.datatypes.double, scope=CTD_ANON_14, documentation='Sample input concentration. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 295, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleReuseEnabled'), pyxb.binding.datatypes.boolean, scope=CTD_ANON_12, documentation='Whether or not complex reuse is enabled for this well. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 276, 6)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InsertSize'), pyxb.binding.datatypes.int, scope=CTD_ANON_14, documentation='Length of the sheared template, e.g. 500, 2000, 30000', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 300, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'StageHotstartEnabled'), pyxb.binding.datatypes.boolean, scope=CTD_ANON_12, documentation='Whether or not hotstart at the stage is enabled for this well. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 281, 6)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleReuseEnabled'), pyxb.binding.datatypes.boolean, scope=CTD_ANON_14, documentation='Whether or not complex reuse is enabled for this well. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 305, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SizeSelectionEnabled'), pyxb.binding.datatypes.boolean, scope=CTD_ANON_12, documentation='Whether or not size selection is enabled for this well. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 286, 6)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'StageHotstartEnabled'), pyxb.binding.datatypes.boolean, scope=CTD_ANON_14, documentation='Whether or not hotstart at the stage is enabled for this well. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 310, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'UseCount'), pyxb.binding.datatypes.int, scope=CTD_ANON_12, documentation='Count of usages for this batch of complex. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 291, 6)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SizeSelectionEnabled'), pyxb.binding.datatypes.boolean, scope=CTD_ANON_14, documentation='Whether or not size selection is enabled for this well. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 315, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DNAControlComplex'), pyxb.binding.datatypes.string, scope=CTD_ANON_12, documentation='Indicating what kind (if any) control was used. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 296, 6)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'UseCount'), pyxb.binding.datatypes.int, scope=CTD_ANON_14, documentation='Count of usages for this batch of complex. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 320, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SampleBarcodeInfo'), _ImportedBinding__pbbase.DataEntityType, scope=CTD_ANON_12, documentation='When utilizing DNA barcoding, store the list of smaple barcodes in this element.', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 301, 6)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DNAControlComplex'), pyxb.binding.datatypes.string, scope=CTD_ANON_14, documentation='Indicating what kind (if any) control was used. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 325, 6)))
 
-CTD_ANON_12._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamplePointers'), _ImportedBinding__pbsample.CTD_ANON_, scope=CTD_ANON_12, documentation='Back references to other BarcodedSampleType object UniqueIds which utilize this sample', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 100, 1)))
+CTD_ANON_14._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples'), _ImportedBinding__pbsample.CTD_ANON_2, scope=CTD_ANON_14, documentation='List of biological samples.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 126, 1)))
 
-def _BuildAutomaton_11 ():
+def _BuildAutomaton_13 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_11
-    del _BuildAutomaton_11
+    global _BuildAutomaton_13
+    del _BuildAutomaton_13
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 296, 6))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 325, 6))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 301, 6))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 330, 6))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 306, 6))
-    counters.add(cc_3)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WellName')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 261, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WellName')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 290, 6))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Concentration')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 266, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Concentration')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 295, 6))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InsertSize')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 271, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InsertSize')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 300, 6))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleReuseEnabled')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 276, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleReuseEnabled')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 305, 6))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'StageHotstartEnabled')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 281, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'StageHotstartEnabled')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 310, 6))
     st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SizeSelectionEnabled')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 286, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SizeSelectionEnabled')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 315, 6))
     st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_6)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'UseCount')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 291, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'UseCount')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 320, 6))
     st_7 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_7)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DNAControlComplex')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 296, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DNAControlComplex')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 325, 6))
     st_8 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_8)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SampleBarcodeInfo')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 301, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_14._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamples')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 330, 6))
     st_9 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_9)
-    final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_12._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbsample, 'BioSamplePointers')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 306, 6))
-    st_10 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
-    states.append(st_10)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -1671,190 +1957,207 @@ def _BuildAutomaton_11 ():
          ]))
     transitions.append(fac.Transition(st_9, [
          ]))
-    transitions.append(fac.Transition(st_10, [
-         ]))
     st_7._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_8, [
         fac.UpdateInstruction(cc_1, True) ]))
     transitions.append(fac.Transition(st_9, [
         fac.UpdateInstruction(cc_1, False) ]))
-    transitions.append(fac.Transition(st_10, [
-        fac.UpdateInstruction(cc_1, False) ]))
     st_8._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_9, [
         fac.UpdateInstruction(cc_2, True) ]))
-    transitions.append(fac.Transition(st_10, [
-        fac.UpdateInstruction(cc_2, False) ]))
     st_9._set_transitionSet(transitions)
-    transitions = []
-    transitions.append(fac.Transition(st_10, [
-        fac.UpdateInstruction(cc_3, True) ]))
-    st_10._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_12._Automaton = _BuildAutomaton_11()
+CTD_ANON_14._Automaton = _BuildAutomaton_13()
 
 
 
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InstCtrlVer'), pyxb.binding.datatypes.string, scope=CTD_ANON_13, documentation='Instrument control software version. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 38, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'InstCtrlVer'), pyxb.binding.datatypes.string, scope=CTD_ANON_15, documentation='Instrument control software version. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 38, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SigProcVer'), pyxb.binding.datatypes.string, scope=CTD_ANON_13, documentation='Signal processing software version. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 43, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SigProcVer'), pyxb.binding.datatypes.string, scope=CTD_ANON_15, documentation='Signal processing software version. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 43, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Automation'), _ImportedBinding__pbbase.AutomationType, scope=CTD_ANON_13, documentation='Defines the collection workflow (e.g., robotic movement, movie acquisition) for a particular cell. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 65, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Automation'), _ImportedBinding__pbbase.AutomationType, scope=CTD_ANON_15, documentation='Defines the collection workflow (e.g., robotic movement, movie acquisition) for a particular cell. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 65, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionNumber'), pyxb.binding.datatypes.int, scope=CTD_ANON_13, documentation='Collection number for this plate well. Sample from one plate well or tube can be distributed to more than one cell. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 70, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CollectionNumber'), pyxb.binding.datatypes.int, scope=CTD_ANON_15, documentation='Collection number for this plate well. Sample from one plate well or tube can be distributed to more than one cell. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 70, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellIndex'), pyxb.binding.datatypes.int, scope=CTD_ANON_13, documentation='The zero-based index of this particular cell within the cell tray.  Likely to be in the range of [0-3]', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 75, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellIndex'), pyxb.binding.datatypes.int, scope=CTD_ANON_15, documentation='The zero-based index of this particular cell within the cell tray.  Likely to be in the range of [0-3]', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 75, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SetNumber'), pyxb.binding.datatypes.unsignedShort, scope=CTD_ANON_13, documentation='Formerly known as the look number.  1 - N.  Defaults to 1. 0 if the look is unknown. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 80, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SetNumber'), pyxb.binding.datatypes.unsignedShort, scope=CTD_ANON_15, documentation='Formerly known as the look number.  1 - N.  Defaults to 1. 0 if the look is unknown. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 80, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellPac'), _ImportedBinding__pbbase.SupplyKitCellPack, scope=CTD_ANON_13, documentation='The SMRT cell packaging supply information. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 85, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellPac'), _ImportedBinding__pbbase.SupplyKitCellPack, scope=CTD_ANON_15, documentation='The SMRT cell packaging supply information. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 85, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit'), _ImportedBinding__pbbase.SupplyKitTemplate, scope=CTD_ANON_13, documentation='Defines the template (sample) prep kit used for this experiment. Can be used to get back to the primary and adapter used. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 90, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ControlKit'), _ImportedBinding__pbbase.SupplyKitControl, scope=CTD_ANON_15, documentation='Defines the DNA control used for this experiment. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 90, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BindingKit'), _ImportedBinding__pbbase.SupplyKitBinding, scope=CTD_ANON_13, documentation='The binding kit supply information. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 95, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit'), _ImportedBinding__pbbase.SupplyKitTemplate, scope=CTD_ANON_15, documentation='Defines the template (sample) prep kit used for this experiment. Can be used to get back to the primary and adapter used. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 95, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPlate'), _ImportedBinding__pbrk.SupplyKitSequencing, scope=CTD_ANON_13, documentation='The sequencing kit supply information. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 100, 6)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BindingKit'), _ImportedBinding__pbbase.SupplyKitBinding, scope=CTD_ANON_15, documentation='The binding kit supply information. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 100, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RunDetails'), CTD_ANON_2, scope=CTD_ANON_13, documentation='Information related to an instrument run.  A run can contain multiple chips, wells, and movies. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 146, 1)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPlate'), _ImportedBinding__pbrk.SupplyKitSequencing, scope=CTD_ANON_15, documentation='The sequencing kit supply information. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 105, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Movie'), CTD_ANON_3, scope=CTD_ANON_13, documentation='A movie corresponds to one acquisition for a chip, one set (look) and one strobe. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 185, 1)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WashKitPlate'), _ImportedBinding__pbrk.SupplyKitSequencing, scope=CTD_ANON_15, documentation='The wash kit supply information. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 110, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExpirationData'), CTD_ANON_4, scope=CTD_ANON_13, documentation='Container for the expired consumable data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 209, 1)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ComponentVersions'), CTD_ANON_2, nillable=pyxb.binding.datatypes.boolean(1), scope=CTD_ANON_15, documentation='Subcomponents involved in the generation of the data', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 135, 6)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WellSample'), CTD_ANON_12, scope=CTD_ANON_13, documentation='Container for the sample related data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 253, 1)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'RunDetails'), CTD_ANON_3, scope=CTD_ANON_15, documentation='Information related to an instrument run.  A run can contain multiple chips, wells, and movies. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 170, 1)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Primary'), CTD_ANON_5, scope=CTD_ANON_13, documentation='Container for the primary analysis related data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 319, 1)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Movie'), CTD_ANON_4, scope=CTD_ANON_15, documentation='A movie corresponds to one acquisition for a chip, one set (look) and one strobe. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 214, 1)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Secondary'), CTD_ANON_9, scope=CTD_ANON_13, documentation='Container for the primary analysis related data. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 413, 1)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ExpirationData'), CTD_ANON_5, scope=CTD_ANON_15, documentation='Container for the expired consumable data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 238, 1)))
 
-CTD_ANON_13._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFields'), _ImportedBinding__pbbase.UserDefinedFieldsType, scope=CTD_ANON_13, documentation='A set of key-value pairs specified by a user via the run input mechanism. Note that uniqueness of keys is not enforced here and so may contain duplicate keys. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 447, 1)))
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'WellSample'), CTD_ANON_14, scope=CTD_ANON_15, documentation='Container for the sample related data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 282, 1)))
 
-def _BuildAutomaton_12 ():
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Primary'), CTD_ANON_6, scope=CTD_ANON_15, documentation='Container for the primary analysis related data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 337, 1)))
+
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Secondary'), CTD_ANON_11, scope=CTD_ANON_15, documentation='Container for the primary analysis related data. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 483, 1)))
+
+CTD_ANON_15._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFields'), _ImportedBinding__pbbase.UserDefinedFieldsType, scope=CTD_ANON_15, documentation='A set of key-value pairs specified by a user via the run input mechanism. Note that uniqueness of keys is not enforced here and so may contain duplicate keys. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 517, 1)))
+
+def _BuildAutomaton_14 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_12
-    del _BuildAutomaton_12
+    global _BuildAutomaton_14
+    del _BuildAutomaton_14
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 38, 6))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 38, 6))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 43, 6))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 43, 6))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 48, 6))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 48, 6))
     counters.add(cc_3)
-    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 53, 6))
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 53, 6))
     counters.add(cc_4)
-    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 70, 6))
+    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 70, 6))
     counters.add(cc_5)
-    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 75, 6))
+    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 75, 6))
     counters.add(cc_6)
-    cc_7 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 80, 6))
+    cc_7 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 80, 6))
     counters.add(cc_7)
-    cc_8 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 85, 6))
+    cc_8 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 85, 6))
     counters.add(cc_8)
-    cc_9 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 90, 6))
+    cc_9 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 90, 6))
     counters.add(cc_9)
-    cc_10 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 95, 6))
+    cc_10 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 95, 6))
     counters.add(cc_10)
-    cc_11 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 100, 6))
+    cc_11 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 100, 6))
     counters.add(cc_11)
-    cc_12 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 105, 6))
+    cc_12 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 105, 6))
     counters.add(cc_12)
-    cc_13 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 110, 6))
+    cc_13 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 110, 6))
     counters.add(cc_13)
-    cc_14 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 115, 6))
+    cc_14 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 115, 6))
     counters.add(cc_14)
-    cc_15 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 120, 6))
+    cc_15 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 120, 6))
     counters.add(cc_15)
+    cc_16 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 125, 6))
+    counters.add(cc_16)
+    cc_17 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 130, 6))
+    counters.add(cc_17)
+    cc_18 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 135, 6))
+    counters.add(cc_18)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InstCtrlVer')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 38, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'InstCtrlVer')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 38, 6))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SigProcVer')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 43, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SigProcVer')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 43, 6))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RunDetails')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 48, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'RunDetails')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 48, 6))
     st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Movie')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 53, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Movie')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 53, 6))
     st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WellSample')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 58, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WellSample')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 58, 6))
     st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Automation')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 65, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Automation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 65, 6))
     st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_6)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_5, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionNumber')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 70, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CollectionNumber')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 70, 6))
     st_7 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_7)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_6, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellIndex')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 75, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellIndex')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 75, 6))
     st_8 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_8)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_7, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SetNumber')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 80, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SetNumber')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 80, 6))
     st_9 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_9)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_8, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellPac')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 85, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellPac')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 85, 6))
     st_10 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_10)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_9, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 90, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ControlKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 90, 6))
     st_11 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_11)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_10, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BindingKit')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 95, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 95, 6))
     st_12 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_12)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_11, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPlate')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 100, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BindingKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 100, 6))
     st_13 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_13)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_12, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Primary')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 105, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitPlate')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 105, 6))
     st_14 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_14)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_13, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Secondary')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 110, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'WashKitPlate')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 110, 6))
     st_15 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_15)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_14, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFields')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 115, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Primary')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 115, 6))
     st_16 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_16)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_15, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_13._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExpirationData')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioCollectionMetadata.xsd', 120, 6))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Secondary')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 120, 6))
     st_17 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_17)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_16, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'UserDefinedFields')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 125, 6))
+    st_18 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_18)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_17, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ExpirationData')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 130, 6))
+    st_19 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_19)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_18, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_15._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ComponentVersions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioCollectionMetadata.xsd', 135, 6))
+    st_20 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_20)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -1932,6 +2235,12 @@ def _BuildAutomaton_12 ():
          ]))
     transitions.append(fac.Transition(st_17, [
          ]))
+    transitions.append(fac.Transition(st_18, [
+         ]))
+    transitions.append(fac.Transition(st_19, [
+         ]))
+    transitions.append(fac.Transition(st_20, [
+         ]))
     st_6._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_7, [
@@ -1956,6 +2265,12 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_5, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_5, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_5, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_5, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_5, False) ]))
     st_7._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_8, [
@@ -1978,6 +2293,12 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_6, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_6, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_6, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_6, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_6, False) ]))
     st_8._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_9, [
@@ -1998,6 +2319,12 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_7, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_7, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_7, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_7, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_7, False) ]))
     st_9._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_10, [
@@ -2016,6 +2343,12 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_8, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_8, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_8, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_8, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_8, False) ]))
     st_10._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_11, [
@@ -2032,6 +2365,12 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_9, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_9, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_9, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_9, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_9, False) ]))
     st_11._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_12, [
@@ -2046,6 +2385,12 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_10, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_10, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_10, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_10, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_10, False) ]))
     st_12._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_13, [
@@ -2058,6 +2403,12 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_11, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_11, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_11, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_11, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_11, False) ]))
     st_13._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_14, [
@@ -2068,6 +2419,12 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_12, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_12, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_12, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_12, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_12, False) ]))
     st_14._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_15, [
@@ -2076,17 +2433,53 @@ def _BuildAutomaton_12 ():
         fac.UpdateInstruction(cc_13, False) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_13, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_13, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_13, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_13, False) ]))
     st_15._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_16, [
         fac.UpdateInstruction(cc_14, True) ]))
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_14, False) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_14, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_14, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_14, False) ]))
     st_16._set_transitionSet(transitions)
     transitions = []
     transitions.append(fac.Transition(st_17, [
         fac.UpdateInstruction(cc_15, True) ]))
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_15, False) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_15, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_15, False) ]))
     st_17._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_18, [
+        fac.UpdateInstruction(cc_16, True) ]))
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_16, False) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_16, False) ]))
+    st_18._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_19, [
+        fac.UpdateInstruction(cc_17, True) ]))
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_17, False) ]))
+    st_19._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_20, [
+        fac.UpdateInstruction(cc_18, True) ]))
+    st_20._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-CTD_ANON_13._Automaton = _BuildAutomaton_12()
+CTD_ANON_15._Automaton = _BuildAutomaton_14()
 
diff --git a/pbcore/io/dataset/pyxb/_pbpn.py b/pbcore/io/dataset/pyxb/_pbpn.py
new file mode 100644
index 0000000..dc13be8
--- /dev/null
+++ b/pbcore/io/dataset/pyxb/_pbpn.py
@@ -0,0 +1,941 @@
+# pbcore/io/dataset/pyxb/_pbpn.py
+# -*- coding: utf-8 -*-
+# PyXB bindings for NM:20ebb32585e5dee1a245d71277cd3ba8c5a400aa
+# Generated 2017-09-27 15:52:12.398825 by PyXB version 1.2.4 using Python 2.7.9.final.0
+# Namespace http://pacificbiosciences.com/PacBioPartNumbers.xsd [xmlns:pbpn]
+
+from __future__ import unicode_literals
+import pyxb
+import pyxb.binding
+import pyxb.binding.saxer
+import io
+import pyxb.utils.utility
+import pyxb.utils.domutils
+import sys
+import pyxb.utils.six as _six
+
+# Unique identifier for bindings created at the same time
+_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:7fa6c9c0-a3d6-11e7-96cb-0026b9fe0a90')
+
+# Version of PyXB used to generate the bindings
+_PyXBVersion = '1.2.4'
+# Generated bindings are not compatible across PyXB versions
+if pyxb.__version__ != _PyXBVersion:
+    raise pyxb.PyXBVersionError(_PyXBVersion)
+
+# Import bindings for namespaces imported into schema
+import _pbrk as _ImportedBinding__pbrk
+import pyxb.binding.datatypes
+import _pbbase as _ImportedBinding__pbbase
+
+# NOTE: All namespace declarations are reserved within the binding
+Namespace = pyxb.namespace.NamespaceForURI('http://pacificbiosciences.com/PacBioPartNumbers.xsd', create_if_missing=True)
+Namespace.configureCategories(['typeBinding', 'elementBinding'])
+_Namespace_pbbase = _ImportedBinding__pbbase.Namespace
+_Namespace_pbbase.configureCategories(['typeBinding', 'elementBinding'])
+
+def CreateFromDocument (xml_text, default_namespace=None, location_base=None):
+    """Parse the given XML and use the document element to create a
+    Python instance.
+
+    @param xml_text An XML document.  This should be data (Python 2
+    str or Python 3 bytes), or a text (Python 2 unicode or Python 3
+    str) in the L{pyxb._InputEncoding} encoding.
+
+    @keyword default_namespace The L{pyxb.Namespace} instance to use as the
+    default namespace where there is no default namespace in scope.
+    If unspecified or C{None}, the namespace of the module containing
+    this function will be used.
+
+    @keyword location_base: An object to be recorded as the base of all
+    L{pyxb.utils.utility.Location} instances associated with events and
+    objects handled by the parser.  You might pass the URI from which
+    the document was obtained.
+    """
+
+    if pyxb.XMLStyle_saxer != pyxb._XMLStyle:
+        dom = pyxb.utils.domutils.StringToDOM(xml_text)
+        return CreateFromDOM(dom.documentElement, default_namespace=default_namespace)
+    if default_namespace is None:
+        default_namespace = Namespace.fallbackNamespace()
+    saxer = pyxb.binding.saxer.make_parser(fallback_namespace=default_namespace, location_base=location_base)
+    handler = saxer.getContentHandler()
+    xmld = xml_text
+    if isinstance(xmld, _six.text_type):
+        xmld = xmld.encode(pyxb._InputEncoding)
+    saxer.parse(io.BytesIO(xmld))
+    instance = handler.rootObject()
+    return instance
+
+def CreateFromDOM (node, default_namespace=None):
+    """Create a Python instance from the given DOM node.
+    The node tag must correspond to an element declaration in this module.
+
+    @deprecated: Forcing use of DOM interface is unnecessary; use L{CreateFromDocument}."""
+    if default_namespace is None:
+        default_namespace = Namespace.fallbackNamespace()
+    return pyxb.binding.basis.element.AnyCreateFromDOM(node, default_namespace)
+
+
+# Atomic simple type: {http://pacificbiosciences.com/PacBioPartNumbers.xsd}PartTypes
+class PartTypes (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin):
+
+    """An atomic simple type."""
+
+    _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'PartTypes')
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 28, 1)
+    _Documentation = None
+PartTypes._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=PartTypes, enum_prefix=None)
+PartTypes.WFA = PartTypes._CF_enumeration.addEnumeration(unicode_value='WFA', tag='WFA')
+PartTypes.BDK = PartTypes._CF_enumeration.addEnumeration(unicode_value='BDK', tag='BDK')
+PartTypes.TPK = PartTypes._CF_enumeration.addEnumeration(unicode_value='TPK', tag='TPK')
+PartTypes.SQK = PartTypes._CF_enumeration.addEnumeration(unicode_value='SQK', tag='SQK')
+PartTypes.CCK = PartTypes._CF_enumeration.addEnumeration(unicode_value='CCK', tag='CCK')
+PartTypes.CPK = PartTypes._CF_enumeration.addEnumeration(unicode_value='CPK', tag='CPK')
+PartTypes.OSE = PartTypes._CF_enumeration.addEnumeration(unicode_value='OSE', tag='OSE')
+PartTypes.CMO = PartTypes._CF_enumeration.addEnumeration(unicode_value='CMO', tag='CMO')
+PartTypes.PRK = PartTypes._CF_enumeration.addEnumeration(unicode_value='PRK', tag='PRK')
+PartTypes.Other = PartTypes._CF_enumeration.addEnumeration(unicode_value='Other', tag='Other')
+PartTypes._InitializeFacetMap(PartTypes._CF_enumeration)
+Namespace.addCategoryObject('typeBinding', 'PartTypes', PartTypes)
+
+# Complex type {http://pacificbiosciences.com/PacBioPartNumbers.xsd}PacBioPartNumbersType with content type ELEMENT_ONLY
+class PacBioPartNumbersType (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type {http://pacificbiosciences.com/PacBioPartNumbers.xsd}PacBioPartNumbersType with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'PacBioPartNumbersType')
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 42, 1)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}KeyValueMap uses Python identifier KeyValueMap
+    __KeyValueMap = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'KeyValueMap'), 'KeyValueMap', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioBaseDataModel_xsdKeyValueMap', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 848, 1), )
+
+    
+    KeyValueMap = property(__KeyValueMap.value, __KeyValueMap.set, None, None)
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}Automations uses Python identifier Automations
+    __Automations = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Automations'), 'Automations', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioPartNumbers_xsdAutomations', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 45, 3), )
+
+    
+    Automations = property(__Automations.value, __Automations.set, None, None)
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}BindingKits uses Python identifier BindingKits
+    __BindingKits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BindingKits'), 'BindingKits', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioPartNumbers_xsdBindingKits', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 52, 3), )
+
+    
+    BindingKits = property(__BindingKits.value, __BindingKits.set, None, 'List the binding kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}TemplatePrepKits uses Python identifier TemplatePrepKits
+    __TemplatePrepKits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKits'), 'TemplatePrepKits', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioPartNumbers_xsdTemplatePrepKits', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 62, 3), )
+
+    
+    TemplatePrepKits = property(__TemplatePrepKits.value, __TemplatePrepKits.set, None, 'List the sample prep kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}SequencingKits uses Python identifier SequencingKits
+    __SequencingKits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingKits'), 'SequencingKits', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioPartNumbers_xsdSequencingKits', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 72, 3), )
+
+    
+    SequencingKits = property(__SequencingKits.value, __SequencingKits.set, None, 'List the sequencing kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}ControlKits uses Python identifier ControlKits
+    __ControlKits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ControlKits'), 'ControlKits', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioPartNumbers_xsdControlKits', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 82, 3), )
+
+    
+    ControlKits = property(__ControlKits.value, __ControlKits.set, None, 'List the DNA control complex part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}CellPackKits uses Python identifier CellPackKits
+    __CellPackKits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellPackKits'), 'CellPackKits', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioPartNumbers_xsdCellPackKits', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 92, 3), )
+
+    
+    CellPackKits = property(__CellPackKits.value, __CellPackKits.set, None, 'List the cell tray part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}OtherKits uses Python identifier OtherKits
+    __OtherKits = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'OtherKits'), 'OtherKits', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioPartNumbers_xsdOtherKits', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 102, 3), )
+
+    
+    OtherKits = property(__OtherKits.value, __OtherKits.set, None, 'A placeholder for miscellaneous parts, such as OS Enzyme tubes')
+
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}IncompatibleParts uses Python identifier IncompatibleParts
+    __IncompatibleParts = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'IncompatibleParts'), 'IncompatibleParts', '__httppacificbiosciences_comPacBioPartNumbers_xsd_PacBioPartNumbersType_httppacificbiosciences_comPacBioPartNumbers_xsdIncompatibleParts', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 112, 3), )
+
+    
+    IncompatibleParts = property(__IncompatibleParts.value, __IncompatibleParts.set, None, None)
+
+    _ElementMap.update({
+        __KeyValueMap.name() : __KeyValueMap,
+        __Automations.name() : __Automations,
+        __BindingKits.name() : __BindingKits,
+        __TemplatePrepKits.name() : __TemplatePrepKits,
+        __SequencingKits.name() : __SequencingKits,
+        __ControlKits.name() : __ControlKits,
+        __CellPackKits.name() : __CellPackKits,
+        __OtherKits.name() : __OtherKits,
+        __IncompatibleParts.name() : __IncompatibleParts
+    })
+    _AttributeMap.update({
+        
+    })
+Namespace.addCategoryObject('typeBinding', 'PacBioPartNumbersType', PacBioPartNumbersType)
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 46, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}Automation uses Python identifier Automation
+    __Automation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Automation'), 'Automation', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON_httppacificbiosciences_comPacBioPartNumbers_xsdAutomation', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 48, 6), )
+
+    
+    Automation = property(__Automation.value, __Automation.set, None, None)
+
+    _ElementMap.update({
+        __Automation.name() : __Automation
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
+    """List the binding kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 56, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}BindingKit uses Python identifier BindingKit
+    __BindingKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BindingKit'), 'BindingKit', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON__httppacificbiosciences_comPacBioPartNumbers_xsdBindingKit', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 15, 1), )
+
+    
+    BindingKit = property(__BindingKit.value, __BindingKit.set, None, None)
+
+    _ElementMap.update({
+        __BindingKit.name() : __BindingKit
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
+    """List the sample prep kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 66, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}TemplatePrepKit uses Python identifier TemplatePrepKit
+    __TemplatePrepKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit'), 'TemplatePrepKit', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioPartNumbers_xsdTemplatePrepKit', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 16, 1), )
+
+    
+    TemplatePrepKit = property(__TemplatePrepKit.value, __TemplatePrepKit.set, None, None)
+
+    _ElementMap.update({
+        __TemplatePrepKit.name() : __TemplatePrepKit
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
+    """List the sequencing kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 76, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}SequencingKit uses Python identifier SequencingKit
+    __SequencingKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingKit'), 'SequencingKit', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioPartNumbers_xsdSequencingKit', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 14, 1), )
+
+    
+    SequencingKit = property(__SequencingKit.value, __SequencingKit.set, None, None)
+
+    _ElementMap.update({
+        __SequencingKit.name() : __SequencingKit
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_4 (pyxb.binding.basis.complexTypeDefinition):
+    """List the DNA control complex part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 86, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}ControlKit uses Python identifier ControlKit
+    __ControlKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ControlKit'), 'ControlKit', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioPartNumbers_xsdControlKit', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 17, 1), )
+
+    
+    ControlKit = property(__ControlKit.value, __ControlKit.set, None, None)
+
+    _ElementMap.update({
+        __ControlKit.name() : __ControlKit
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_5 (pyxb.binding.basis.complexTypeDefinition):
+    """List the cell tray part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype."""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 96, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}CellPackKit uses Python identifier CellPackKit
+    __CellPackKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'CellPackKit'), 'CellPackKit', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON_5_httppacificbiosciences_comPacBioPartNumbers_xsdCellPackKit', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 18, 1), )
+
+    
+    CellPackKit = property(__CellPackKit.value, __CellPackKit.set, None, None)
+
+    _ElementMap.update({
+        __CellPackKit.name() : __CellPackKit
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_6 (pyxb.binding.basis.complexTypeDefinition):
+    """A placeholder for miscellaneous parts, such as OS Enzyme tubes"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 106, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}OtherKit uses Python identifier OtherKit
+    __OtherKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'OtherKit'), 'OtherKit', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON_6_httppacificbiosciences_comPacBioPartNumbers_xsdOtherKit', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 19, 1), )
+
+    
+    OtherKit = property(__OtherKit.value, __OtherKit.set, None, None)
+
+    _ElementMap.update({
+        __OtherKit.name() : __OtherKit
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_7 (pyxb.binding.basis.complexTypeDefinition):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 113, 4)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioPartNumbers.xsd}IncompatiblePart uses Python identifier IncompatiblePart
+    __IncompatiblePart = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'IncompatiblePart'), 'IncompatiblePart', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON_7_httppacificbiosciences_comPacBioPartNumbers_xsdIncompatiblePart', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 115, 6), )
+
+    
+    IncompatiblePart = property(__IncompatiblePart.value, __IncompatiblePart.set, None, None)
+
+    _ElementMap.update({
+        __IncompatiblePart.name() : __IncompatiblePart
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_8 (_ImportedBinding__pbbase.PartNumberType):
+    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 20, 2)
+    _ElementMap = _ImportedBinding__pbbase.PartNumberType._ElementMap.copy()
+    _AttributeMap = _ImportedBinding__pbbase.PartNumberType._AttributeMap.copy()
+    # Base type is _ImportedBinding__pbbase.PartNumberType
+    
+    # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Element Defaults ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
+    # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Tags inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Format inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ResourceId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute Version inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute CreatedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ModifiedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
+    
+    # Attribute ValueDataType inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Attribute SimpleValue inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Attribute MetaType inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Attribute TimeStampedName inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
+    
+    # Attribute PartNumber inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
+    # Attribute LotNumber inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
+    # Attribute Barcode inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
+    # Attribute ExpirationDate inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
+    # Attribute IsObsolete inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
+    # Attribute IsRestricted inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
+    # Attribute MaxCollections uses Python identifier MaxCollections
+    __MaxCollections = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MaxCollections'), 'MaxCollections', '__httppacificbiosciences_comPacBioPartNumbers_xsd_CTD_ANON_8_MaxCollections', pyxb.binding.datatypes.int)
+    __MaxCollections._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 23, 5)
+    __MaxCollections._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 23, 5)
+    
+    MaxCollections = property(__MaxCollections.value, __MaxCollections.set, None, None)
+
+    _ElementMap.update({
+        
+    })
+    _AttributeMap.update({
+        __MaxCollections.name() : __MaxCollections
+    })
+
+
+
+PacBioPartNumbers = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PacBioPartNumbers'), PacBioPartNumbersType, documentation='The root element of the Part Numbers ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 9, 1))
+Namespace.addCategoryObject('elementBinding', PacBioPartNumbers.name().localName(), PacBioPartNumbers)
+
+SequencingKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKit'), _ImportedBinding__pbrk.SupplyKitSequencing, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 14, 1))
+Namespace.addCategoryObject('elementBinding', SequencingKit.name().localName(), SequencingKit)
+
+BindingKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BindingKit'), _ImportedBinding__pbbase.SupplyKitBinding, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 15, 1))
+Namespace.addCategoryObject('elementBinding', BindingKit.name().localName(), BindingKit)
+
+TemplatePrepKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit'), _ImportedBinding__pbbase.SupplyKitTemplate, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 16, 1))
+Namespace.addCategoryObject('elementBinding', TemplatePrepKit.name().localName(), TemplatePrepKit)
+
+ControlKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ControlKit'), _ImportedBinding__pbbase.SupplyKitControl, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 17, 1))
+Namespace.addCategoryObject('elementBinding', ControlKit.name().localName(), ControlKit)
+
+CellPackKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellPackKit'), _ImportedBinding__pbbase.SupplyKitCellPack, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 18, 1))
+Namespace.addCategoryObject('elementBinding', CellPackKit.name().localName(), CellPackKit)
+
+OtherKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'OtherKit'), CTD_ANON_8, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 19, 1))
+Namespace.addCategoryObject('elementBinding', OtherKit.name().localName(), OtherKit)
+
+
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'KeyValueMap'), _ImportedBinding__pbbase.CTD_ANON_18, scope=PacBioPartNumbersType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 848, 1)))
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Automations'), CTD_ANON, scope=PacBioPartNumbersType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 45, 3)))
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BindingKits'), CTD_ANON_, scope=PacBioPartNumbersType, documentation='List the binding kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 52, 3)))
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKits'), CTD_ANON_2, scope=PacBioPartNumbersType, documentation='List the sample prep kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 62, 3)))
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKits'), CTD_ANON_3, scope=PacBioPartNumbersType, documentation='List the sequencing kit part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 72, 3)))
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ControlKits'), CTD_ANON_4, scope=PacBioPartNumbersType, documentation='List the DNA control complex part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 82, 3)))
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellPackKits'), CTD_ANON_5, scope=PacBioPartNumbersType, documentation='List the cell tray part numbers.  A list of incompatible part numbers and automations is available to specify in the PartNumber subtype.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 92, 3)))
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'OtherKits'), CTD_ANON_6, scope=PacBioPartNumbersType, documentation='A placeholder for miscellaneous parts, such as OS Enzyme tubes', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 102, 3)))
+
+PacBioPartNumbersType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'IncompatibleParts'), CTD_ANON_7, scope=PacBioPartNumbersType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 112, 3)))
+
+def _BuildAutomaton ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton
+    del _BuildAutomaton
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 45, 3))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 52, 3))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 62, 3))
+    counters.add(cc_2)
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 72, 3))
+    counters.add(cc_3)
+    cc_4 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 82, 3))
+    counters.add(cc_4)
+    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 92, 3))
+    counters.add(cc_5)
+    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 102, 3))
+    counters.add(cc_6)
+    cc_7 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 112, 3))
+    counters.add(cc_7)
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'KeyValueMap')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 44, 3))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Automations')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 45, 3))
+    st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BindingKits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 52, 3))
+    st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 62, 3))
+    st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_3)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_3, False))
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingKits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 72, 3))
+    st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_4)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_4, False))
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ControlKits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 82, 3))
+    st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_5)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_5, False))
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellPackKits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 92, 3))
+    st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_6)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_6, False))
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'OtherKits')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 102, 3))
+    st_7 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_7)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_7, False))
+    symbol = pyxb.binding.content.ElementUse(PacBioPartNumbersType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IncompatibleParts')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 112, 3))
+    st_8 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_8)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+         ]))
+    transitions.append(fac.Transition(st_2, [
+         ]))
+    transitions.append(fac.Transition(st_3, [
+         ]))
+    transitions.append(fac.Transition(st_4, [
+         ]))
+    transitions.append(fac.Transition(st_5, [
+         ]))
+    transitions.append(fac.Transition(st_6, [
+         ]))
+    transitions.append(fac.Transition(st_7, [
+         ]))
+    transitions.append(fac.Transition(st_8, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_8, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_8, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_2._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_3, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_8, [
+        fac.UpdateInstruction(cc_2, False) ]))
+    st_3._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_4, [
+        fac.UpdateInstruction(cc_3, True) ]))
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_3, False) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_3, False) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_3, False) ]))
+    transitions.append(fac.Transition(st_8, [
+        fac.UpdateInstruction(cc_3, False) ]))
+    st_4._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_4, True) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_4, False) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_4, False) ]))
+    transitions.append(fac.Transition(st_8, [
+        fac.UpdateInstruction(cc_4, False) ]))
+    st_5._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_5, True) ]))
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_5, False) ]))
+    transitions.append(fac.Transition(st_8, [
+        fac.UpdateInstruction(cc_5, False) ]))
+    st_6._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_7, [
+        fac.UpdateInstruction(cc_6, True) ]))
+    transitions.append(fac.Transition(st_8, [
+        fac.UpdateInstruction(cc_6, False) ]))
+    st_7._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_8, [
+        fac.UpdateInstruction(cc_7, True) ]))
+    st_8._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+PacBioPartNumbersType._Automaton = _BuildAutomaton()
+
+
+
+
+CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Automation'), _ImportedBinding__pbbase.AutomationType, scope=CTD_ANON, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 48, 6)))
+
+def _BuildAutomaton_ ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_
+    del _BuildAutomaton_
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Automation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 48, 6))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON._Automaton = _BuildAutomaton_()
+
+
+
+
+CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BindingKit'), _ImportedBinding__pbbase.SupplyKitBinding, scope=CTD_ANON_, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 15, 1)))
+
+def _BuildAutomaton_2 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_2
+    del _BuildAutomaton_2
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BindingKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 58, 6))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_._Automaton = _BuildAutomaton_2()
+
+
+
+
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit'), _ImportedBinding__pbbase.SupplyKitTemplate, scope=CTD_ANON_2, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 16, 1)))
+
+def _BuildAutomaton_3 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_3
+    del _BuildAutomaton_3
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'TemplatePrepKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 68, 6))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_2._Automaton = _BuildAutomaton_3()
+
+
+
+
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKit'), _ImportedBinding__pbrk.SupplyKitSequencing, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 14, 1)))
+
+def _BuildAutomaton_4 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_4
+    del _BuildAutomaton_4
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 78, 6))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_3._Automaton = _BuildAutomaton_4()
+
+
+
+
+CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ControlKit'), _ImportedBinding__pbbase.SupplyKitControl, scope=CTD_ANON_4, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 17, 1)))
+
+def _BuildAutomaton_5 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_5
+    del _BuildAutomaton_5
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ControlKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 88, 6))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_4._Automaton = _BuildAutomaton_5()
+
+
+
+
+CTD_ANON_5._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'CellPackKit'), _ImportedBinding__pbbase.SupplyKitCellPack, scope=CTD_ANON_5, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 18, 1)))
+
+def _BuildAutomaton_6 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_6
+    del _BuildAutomaton_6
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_5._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'CellPackKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 98, 6))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_5._Automaton = _BuildAutomaton_6()
+
+
+
+
+CTD_ANON_6._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'OtherKit'), CTD_ANON_8, scope=CTD_ANON_6, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 19, 1)))
+
+def _BuildAutomaton_7 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_7
+    del _BuildAutomaton_7
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_6._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'OtherKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 108, 6))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_6._Automaton = _BuildAutomaton_7()
+
+
+
+
+CTD_ANON_7._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'IncompatiblePart'), _ImportedBinding__pbbase.IncompatiblePairType, scope=CTD_ANON_7, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 115, 6)))
+
+def _BuildAutomaton_8 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_8
+    del _BuildAutomaton_8
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_7._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'IncompatiblePart')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioPartNumbers.xsd', 115, 6))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_7._Automaton = _BuildAutomaton_8()
+
+
+
+
+def _BuildAutomaton_9 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_9
+    del _BuildAutomaton_9
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
+    counters.add(cc_2)
+    states = []
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_8._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
+    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_2)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_0, False) ]))
+    st_0._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_1._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_2, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    st_2._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, True, containing_state=None)
+CTD_ANON_8._Automaton = _BuildAutomaton_9()
+
diff --git a/pbcore/io/dataset/_pbrk.py b/pbcore/io/dataset/pyxb/_pbrk.py
similarity index 74%
rename from pbcore/io/dataset/_pbrk.py
rename to pbcore/io/dataset/pyxb/_pbrk.py
index ec6009c..0bf2760 100644
--- a/pbcore/io/dataset/_pbrk.py
+++ b/pbcore/io/dataset/pyxb/_pbrk.py
@@ -1,7 +1,7 @@
-# ./_pbrk.py
+# pbcore/io/dataset/pyxb/_pbrk.py
 # -*- coding: utf-8 -*-
 # PyXB bindings for NM:82fd17ff8c81a0cc423cbd13a9167bcda5f96419
-# Generated 2015-12-08 13:20:39.138291 by PyXB version 1.2.4 using Python 2.7.6.final.0
+# Generated 2017-09-27 15:52:12.385838 by PyXB version 1.2.4 using Python 2.7.9.final.0
 # Namespace http://pacificbiosciences.com/PacBioReagentKit.xsd [xmlns:pbrk]
 
 from __future__ import unicode_literals
@@ -15,7 +15,7 @@ import sys
 import pyxb.utils.six as _six
 
 # Unique identifier for bindings created at the same time
-_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:8749368c-9df1-11e5-86b0-001a4acb6b14')
+_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:7fa6c9c0-a3d6-11e7-96cb-0026b9fe0a90')
 
 # Version of PyXB used to generate the bindings
 _PyXBVersion = '1.2.4'
@@ -82,7 +82,7 @@ class TubeLocation (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeratio
     """An atomic simple type."""
 
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'TubeLocation')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 122, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 145, 1)
     _Documentation = None
 TubeLocation._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=TubeLocation, enum_prefix=None)
 TubeLocation.ReagentTube0 = TubeLocation._CF_enumeration.addEnumeration(unicode_value='ReagentTube0', tag='ReagentTube0')
@@ -96,7 +96,7 @@ class TubeSize (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mi
     """An atomic simple type."""
 
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'TubeSize')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 128, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 151, 1)
     _Documentation = None
 TubeSize._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=TubeSize, enum_prefix=None)
 TubeSize.DeepTube = TubeSize._CF_enumeration.addEnumeration(unicode_value='DeepTube', tag='DeepTube')
@@ -110,7 +110,7 @@ class ReagentKey (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_
     """An atomic simple type."""
 
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ReagentKey')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 134, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 157, 1)
     _Documentation = None
 ReagentKey._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=ReagentKey, enum_prefix=None)
 ReagentKey.Base = ReagentKey._CF_enumeration.addEnumeration(unicode_value='Base', tag='Base')
@@ -136,6 +136,7 @@ ReagentKey.Sample = ReagentKey._CF_enumeration.addEnumeration(unicode_value='Sam
 ReagentKey.PEGDilBuffer = ReagentKey._CF_enumeration.addEnumeration(unicode_value='PEGDilBuffer', tag='PEGDilBuffer')
 ReagentKey.ExtraBuffer = ReagentKey._CF_enumeration.addEnumeration(unicode_value='ExtraBuffer', tag='ExtraBuffer')
 ReagentKey.PrewetBuffer = ReagentKey._CF_enumeration.addEnumeration(unicode_value='PrewetBuffer', tag='PrewetBuffer')
+ReagentKey.ProtK = ReagentKey._CF_enumeration.addEnumeration(unicode_value='ProtK', tag='ProtK')
 ReagentKey._InitializeFacetMap(ReagentKey._CF_enumeration)
 Namespace.addCategoryObject('typeBinding', 'ReagentKey', ReagentKey)
 
@@ -146,13 +147,13 @@ class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 11, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 11, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentKit uses Python identifier ReagentKit
-    __ReagentKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentKit'), 'ReagentKit', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON_httppacificbiosciences_comPacBioReagentKit_xsdReagentKit', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 18, 1), )
+    __ReagentKit = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentKit'), 'ReagentKit', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON_httppacificbiosciences_comPacBioReagentKit_xsdReagentKit', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 18, 1), )
 
     
     ReagentKit = property(__ReagentKit.value, __ReagentKit.set, None, None)
@@ -173,13 +174,13 @@ class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 70, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 80, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}Reagent uses Python identifier Reagent
-    __Reagent = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Reagent'), 'Reagent', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON__httppacificbiosciences_comPacBioReagentKit_xsdReagent', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 17, 1), )
+    __Reagent = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Reagent'), 'Reagent', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON__httppacificbiosciences_comPacBioReagentKit_xsdReagent', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 17, 1), )
 
     
     Reagent = property(__Reagent.value, __Reagent.set, None, None)
@@ -200,13 +201,13 @@ class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 77, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 87, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentTube uses Python identifier ReagentTube
-    __ReagentTube = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentTube'), 'ReagentTube', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioReagentKit_xsdReagentTube', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 19, 1), )
+    __ReagentTube = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentTube'), 'ReagentTube', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioReagentKit_xsdReagentTube', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 19, 1), )
 
     
     ReagentTube = property(__ReagentTube.value, __ReagentTube.set, None, None)
@@ -227,13 +228,13 @@ class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 84, 6)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 94, 6)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentPlateRow uses Python identifier ReagentPlateRow
-    __ReagentPlateRow = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRow'), 'ReagentPlateRow', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioReagentKit_xsdReagentPlateRow', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 20, 1), )
+    __ReagentPlateRow = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRow'), 'ReagentPlateRow', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioReagentKit_xsdReagentPlateRow', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 20, 1), )
 
     
     ReagentPlateRow = property(__ReagentPlateRow.value, __ReagentPlateRow.set, None, None)
@@ -247,6 +248,33 @@ class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
 
 
 
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_4 (pyxb.binding.basis.complexTypeDefinition):
+    """Automations that are deemed compatible with this kit.  Parameters specified within an automation will override a parameter with the same name and data type specified in the above Defaults section"""
+    _TypeDefinition = None
+    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
+    _Abstract = False
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 106, 6)
+    _ElementMap = {}
+    _AttributeMap = {}
+    # Base type is pyxb.binding.datatypes.anyType
+    
+    # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}Automation uses Python identifier Automation
+    __Automation = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Automation'), 'Automation', '__httppacificbiosciences_comPacBioReagentKit_xsd_CTD_ANON_4_httppacificbiosciences_comPacBioReagentKit_xsdAutomation', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 108, 8), )
+
+    
+    Automation = property(__Automation.value, __Automation.set, None, None)
+
+    _ElementMap.update({
+        __Automation.name() : __Automation
+    })
+    _AttributeMap.update({
+        
+    })
+
+
+
 # Complex type {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentType with content type ELEMENT_ONLY
 class ReagentType (_ImportedBinding__pbbase.BaseEntityType):
     """Complex type {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentType with content type ELEMENT_ONLY"""
@@ -254,7 +282,7 @@ class ReagentType (_ImportedBinding__pbbase.BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ReagentType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 54, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 64, 1)
     _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.BaseEntityType
@@ -279,40 +307,40 @@ class ReagentType (_ImportedBinding__pbbase.BaseEntityType):
     
     # Attribute ReagentKey uses Python identifier ReagentKey
     __ReagentKey = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ReagentKey'), 'ReagentKey', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentType_ReagentKey', ReagentKey, required=True)
-    __ReagentKey._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 57, 4)
-    __ReagentKey._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 57, 4)
+    __ReagentKey._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 67, 4)
+    __ReagentKey._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 67, 4)
     
     ReagentKey = property(__ReagentKey.value, __ReagentKey.set, None, None)
 
     
     # Attribute PlateColumn uses Python identifier PlateColumn
     __PlateColumn = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'PlateColumn'), 'PlateColumn', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentType_PlateColumn', pyxb.binding.datatypes.string, required=True)
-    __PlateColumn._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 58, 4)
-    __PlateColumn._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 58, 4)
+    __PlateColumn._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 68, 4)
+    __PlateColumn._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 68, 4)
     
     PlateColumn = property(__PlateColumn.value, __PlateColumn.set, None, None)
 
     
     # Attribute Volume uses Python identifier Volume
     __Volume = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Volume'), 'Volume', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentType_Volume', pyxb.binding.datatypes.int, required=True)
-    __Volume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 59, 4)
-    __Volume._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 59, 4)
+    __Volume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 69, 4)
+    __Volume._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 69, 4)
     
     Volume = property(__Volume.value, __Volume.set, None, None)
 
     
     # Attribute DeadVolume uses Python identifier DeadVolume
     __DeadVolume = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'DeadVolume'), 'DeadVolume', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentType_DeadVolume', pyxb.binding.datatypes.int, required=True)
-    __DeadVolume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 60, 4)
-    __DeadVolume._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 60, 4)
+    __DeadVolume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 70, 4)
+    __DeadVolume._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 70, 4)
     
     DeadVolume = property(__DeadVolume.value, __DeadVolume.set, None, None)
 
     
     # Attribute ActiveInHour uses Python identifier ActiveInHour
     __ActiveInHour = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ActiveInHour'), 'ActiveInHour', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentType_ActiveInHour', pyxb.binding.datatypes.int, required=True)
-    __ActiveInHour._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 61, 4)
-    __ActiveInHour._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 61, 4)
+    __ActiveInHour._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 71, 4)
+    __ActiveInHour._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 71, 4)
     
     ActiveInHour = property(__ActiveInHour.value, __ActiveInHour.set, None, None)
 
@@ -336,7 +364,7 @@ class ReagentKitType (_ImportedBinding__pbbase.BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ReagentKitType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 65, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 75, 1)
     _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.BaseEntityType
@@ -344,33 +372,47 @@ class ReagentKitType (_ImportedBinding__pbbase.BaseEntityType):
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}ChemistryConfig uses Python identifier ChemistryConfig
-    __ChemistryConfig = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ChemistryConfig'), 'ChemistryConfig', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioBaseDataModel_xsdChemistryConfig', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 797, 1), )
+    __ChemistryConfig = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ChemistryConfig'), 'ChemistryConfig', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioBaseDataModel_xsdChemistryConfig', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 877, 1), )
 
     
     ChemistryConfig = property(__ChemistryConfig.value, __ChemistryConfig.set, None, None)
 
     
+    # Element {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults uses Python identifier Defaults
+    __Defaults = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Defaults'), 'Defaults', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioBaseDataModel_xsdDefaults', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 878, 4), )
+
+    
+    Defaults = property(__Defaults.value, __Defaults.set, None, 'Default paramaters and filters which may be applied to PartNumber types in order to constrain them via parameterization')
+
+    
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}Reagents uses Python identifier Reagents
-    __Reagents = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Reagents'), 'Reagents', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioReagentKit_xsdReagents', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 69, 5), )
+    __Reagents = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Reagents'), 'Reagents', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioReagentKit_xsdReagents', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 79, 5), )
 
     
     Reagents = property(__Reagents.value, __Reagents.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentTubes uses Python identifier ReagentTubes
-    __ReagentTubes = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes'), 'ReagentTubes', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioReagentKit_xsdReagentTubes', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 76, 5), )
+    __ReagentTubes = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes'), 'ReagentTubes', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioReagentKit_xsdReagentTubes', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 86, 5), )
 
     
     ReagentTubes = property(__ReagentTubes.value, __ReagentTubes.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentPlateRows uses Python identifier ReagentPlateRows
-    __ReagentPlateRows = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRows'), 'ReagentPlateRows', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioReagentKit_xsdReagentPlateRows', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 83, 5), )
+    __ReagentPlateRows = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRows'), 'ReagentPlateRows', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioReagentKit_xsdReagentPlateRows', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 93, 5), )
 
     
     ReagentPlateRows = property(__ReagentPlateRows.value, __ReagentPlateRows.set, None, None)
 
     
+    # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}Automations uses Python identifier Automations
+    __Automations = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Automations'), 'Automations', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_httppacificbiosciences_comPacBioReagentKit_xsdAutomations', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 102, 5), )
+
+    
+    Automations = property(__Automations.value, __Automations.set, None, 'Automations that are deemed compatible with this kit.  Parameters specified within an automation will override a parameter with the same name and data type specified in the above Defaults section')
+
+    
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -389,48 +431,50 @@ class ReagentKitType (_ImportedBinding__pbbase.BaseEntityType):
     
     # Attribute ProductCode uses Python identifier ProductCode
     __ProductCode = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ProductCode'), 'ProductCode', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_ProductCode', pyxb.binding.datatypes.string)
-    __ProductCode._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 92, 4)
-    __ProductCode._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 92, 4)
+    __ProductCode._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 113, 4)
+    __ProductCode._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 113, 4)
     
     ProductCode = property(__ProductCode.value, __ProductCode.set, None, None)
 
     
     # Attribute PlateType uses Python identifier PlateType
     __PlateType = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'PlateType'), 'PlateType', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_PlateType', pyxb.binding.datatypes.string)
-    __PlateType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 93, 4)
-    __PlateType._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 93, 4)
+    __PlateType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 114, 4)
+    __PlateType._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 114, 4)
     
     PlateType = property(__PlateType.value, __PlateType.set, None, None)
 
     
     # Attribute ActiveInHour uses Python identifier ActiveInHour
     __ActiveInHour = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ActiveInHour'), 'ActiveInHour', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_ActiveInHour', pyxb.binding.datatypes.int)
-    __ActiveInHour._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 94, 4)
-    __ActiveInHour._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 94, 4)
+    __ActiveInHour._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 115, 4)
+    __ActiveInHour._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 115, 4)
     
     ActiveInHour = property(__ActiveInHour.value, __ActiveInHour.set, None, None)
 
     
     # Attribute BasesPerSecond uses Python identifier BasesPerSecond
     __BasesPerSecond = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'BasesPerSecond'), 'BasesPerSecond', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_BasesPerSecond', pyxb.binding.datatypes.decimal)
-    __BasesPerSecond._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 95, 4)
-    __BasesPerSecond._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 95, 4)
+    __BasesPerSecond._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 116, 4)
+    __BasesPerSecond._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 116, 4)
     
     BasesPerSecond = property(__BasesPerSecond.value, __BasesPerSecond.set, None, None)
 
     
     # Attribute AcquisitionCount uses Python identifier AcquisitionCount
     __AcquisitionCount = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'AcquisitionCount'), 'AcquisitionCount', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentKitType_AcquisitionCount', pyxb.binding.datatypes.int)
-    __AcquisitionCount._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 96, 4)
-    __AcquisitionCount._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 96, 4)
+    __AcquisitionCount._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 117, 4)
+    __AcquisitionCount._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 117, 4)
     
     AcquisitionCount = property(__AcquisitionCount.value, __AcquisitionCount.set, None, None)
 
     _ElementMap.update({
         __ChemistryConfig.name() : __ChemistryConfig,
+        __Defaults.name() : __Defaults,
         __Reagents.name() : __Reagents,
         __ReagentTubes.name() : __ReagentTubes,
-        __ReagentPlateRows.name() : __ReagentPlateRows
+        __ReagentPlateRows.name() : __ReagentPlateRows,
+        __Automations.name() : __Automations
     })
     _AttributeMap.update({
         __ProductCode.name() : __ProductCode,
@@ -449,7 +493,7 @@ class ReagentTubeType (_ImportedBinding__pbbase.BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ReagentTubeType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 100, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 121, 1)
     _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.BaseEntityType
@@ -474,64 +518,80 @@ class ReagentTubeType (_ImportedBinding__pbbase.BaseEntityType):
     
     # Attribute ProductCode uses Python identifier ProductCode
     __ProductCode = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ProductCode'), 'ProductCode', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_ProductCode', pyxb.binding.datatypes.string, required=True)
-    __ProductCode._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 103, 4)
-    __ProductCode._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 103, 4)
+    __ProductCode._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 124, 4)
+    __ProductCode._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 124, 4)
     
     ProductCode = property(__ProductCode.value, __ProductCode.set, None, None)
 
     
     # Attribute ReagentKey uses Python identifier ReagentKey
     __ReagentKey = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ReagentKey'), 'ReagentKey', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_ReagentKey', ReagentKey, required=True)
-    __ReagentKey._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 104, 4)
-    __ReagentKey._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 104, 4)
+    __ReagentKey._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 125, 4)
+    __ReagentKey._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 125, 4)
     
     ReagentKey = property(__ReagentKey.value, __ReagentKey.set, None, None)
 
     
     # Attribute Volume uses Python identifier Volume
     __Volume = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Volume'), 'Volume', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_Volume', pyxb.binding.datatypes.short, required=True)
-    __Volume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 105, 4)
-    __Volume._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 105, 4)
+    __Volume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 126, 4)
+    __Volume._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 126, 4)
     
     Volume = property(__Volume.value, __Volume.set, None, None)
 
     
+    # Attribute UsageVolume uses Python identifier UsageVolume
+    __UsageVolume = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'UsageVolume'), 'UsageVolume', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_UsageVolume', pyxb.binding.datatypes.double, required=True)
+    __UsageVolume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 127, 4)
+    __UsageVolume._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 127, 4)
+    
+    UsageVolume = property(__UsageVolume.value, __UsageVolume.set, None, None)
+
+    
+    # Attribute UsageKey uses Python identifier UsageKey
+    __UsageKey = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'UsageKey'), 'UsageKey', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_UsageKey', pyxb.binding.datatypes.string, required=True)
+    __UsageKey._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 128, 4)
+    __UsageKey._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 128, 4)
+    
+    UsageKey = property(__UsageKey.value, __UsageKey.set, None, None)
+
+    
     # Attribute DeadVolume uses Python identifier DeadVolume
     __DeadVolume = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'DeadVolume'), 'DeadVolume', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_DeadVolume', pyxb.binding.datatypes.short, required=True)
-    __DeadVolume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 106, 4)
-    __DeadVolume._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 106, 4)
+    __DeadVolume._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 129, 4)
+    __DeadVolume._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 129, 4)
     
     DeadVolume = property(__DeadVolume.value, __DeadVolume.set, None, None)
 
     
     # Attribute ActiveInHour uses Python identifier ActiveInHour
     __ActiveInHour = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ActiveInHour'), 'ActiveInHour', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_ActiveInHour', pyxb.binding.datatypes.int, required=True)
-    __ActiveInHour._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 107, 4)
-    __ActiveInHour._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 107, 4)
+    __ActiveInHour._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 130, 4)
+    __ActiveInHour._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 130, 4)
     
     ActiveInHour = property(__ActiveInHour.value, __ActiveInHour.set, None, None)
 
     
     # Attribute TubeWellType uses Python identifier TubeWellType
     __TubeWellType = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'TubeWellType'), 'TubeWellType', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_TubeWellType', TubeSize, required=True)
-    __TubeWellType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 108, 4)
-    __TubeWellType._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 108, 4)
+    __TubeWellType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 131, 4)
+    __TubeWellType._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 131, 4)
     
     TubeWellType = property(__TubeWellType.value, __TubeWellType.set, None, None)
 
     
     # Attribute ReagentTubeType uses Python identifier ReagentTubeType
     __ReagentTubeType = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ReagentTubeType'), 'ReagentTubeType', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_ReagentTubeType', TubeLocation, required=True)
-    __ReagentTubeType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 109, 4)
-    __ReagentTubeType._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 109, 4)
+    __ReagentTubeType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 132, 4)
+    __ReagentTubeType._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 132, 4)
     
     ReagentTubeType = property(__ReagentTubeType.value, __ReagentTubeType.set, None, None)
 
     
     # Attribute InitialUse uses Python identifier InitialUse
     __InitialUse = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'InitialUse'), 'InitialUse', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentTubeType_InitialUse', pyxb.binding.datatypes.dateTime)
-    __InitialUse._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 110, 4)
-    __InitialUse._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 110, 4)
+    __InitialUse._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 133, 4)
+    __InitialUse._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 133, 4)
     
     InitialUse = property(__InitialUse.value, __InitialUse.set, None, None)
 
@@ -542,6 +602,8 @@ class ReagentTubeType (_ImportedBinding__pbbase.BaseEntityType):
         __ProductCode.name() : __ProductCode,
         __ReagentKey.name() : __ReagentKey,
         __Volume.name() : __Volume,
+        __UsageVolume.name() : __UsageVolume,
+        __UsageKey.name() : __UsageKey,
         __DeadVolume.name() : __DeadVolume,
         __ActiveInHour.name() : __ActiveInHour,
         __TubeWellType.name() : __TubeWellType,
@@ -558,7 +620,7 @@ class ReagentPlateRowType (_ImportedBinding__pbbase.BaseEntityType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRowType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 114, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 137, 1)
     _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.BaseEntityType
@@ -583,16 +645,16 @@ class ReagentPlateRowType (_ImportedBinding__pbbase.BaseEntityType):
     
     # Attribute PlateRow uses Python identifier PlateRow
     __PlateRow = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'PlateRow'), 'PlateRow', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentPlateRowType_PlateRow', pyxb.binding.datatypes.string, required=True)
-    __PlateRow._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 117, 4)
-    __PlateRow._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 117, 4)
+    __PlateRow._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 140, 4)
+    __PlateRow._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 140, 4)
     
     PlateRow = property(__PlateRow.value, __PlateRow.set, None, None)
 
     
     # Attribute InitialUse uses Python identifier InitialUse
     __InitialUse = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'InitialUse'), 'InitialUse', '__httppacificbiosciences_comPacBioReagentKit_xsd_ReagentPlateRowType_InitialUse', pyxb.binding.datatypes.dateTime)
-    __InitialUse._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 118, 4)
-    __InitialUse._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 118, 4)
+    __InitialUse._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 141, 4)
+    __InitialUse._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 141, 4)
     
     InitialUse = property(__InitialUse.value, __InitialUse.set, None, None)
 
@@ -613,40 +675,40 @@ class SupplyKitSequencing (_ImportedBinding__pbbase.PartNumberType):
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'SupplyKitSequencing')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 21, 1)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 21, 1)
     _ElementMap = _ImportedBinding__pbbase.PartNumberType._ElementMap.copy()
     _AttributeMap = _ImportedBinding__pbbase.PartNumberType._AttributeMap.copy()
     # Base type is _ImportedBinding__pbbase.PartNumberType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element EncodedValue ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}EncodedValue) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
-    
     # Element CheckSum ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}CheckSum) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}DataEntityType
     
+    # Element Defaults ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Defaults) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}PartNumberType
+    
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentAutomationName uses Python identifier ReagentAutomationName
-    __ReagentAutomationName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentAutomationName'), 'ReagentAutomationName', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_httppacificbiosciences_comPacBioReagentKit_xsdReagentAutomationName', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 28, 5), )
+    __ReagentAutomationName = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentAutomationName'), 'ReagentAutomationName', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_httppacificbiosciences_comPacBioReagentKit_xsdReagentAutomationName', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 28, 5), )
 
     
     ReagentAutomationName = property(__ReagentAutomationName.value, __ReagentAutomationName.set, None, 'The reagent-mixing protocol used. ')
 
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}ReagentTubes uses Python identifier ReagentTubes
-    __ReagentTubes = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes'), 'ReagentTubes', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_httppacificbiosciences_comPacBioReagentKit_xsdReagentTubes', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 33, 5), )
+    __ReagentTubes = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes'), 'ReagentTubes', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_httppacificbiosciences_comPacBioReagentKit_xsdReagentTubes', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 33, 5), )
 
     
     ReagentTubes = property(__ReagentTubes.value, __ReagentTubes.set, None, "Tubes associated with the reagent kit - can have up to two; don't forget to set the location, 0 or 1")
 
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}SequencingChemistry uses Python identifier SequencingChemistry
-    __SequencingChemistry = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingChemistry'), 'SequencingChemistry', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_httppacificbiosciences_comPacBioReagentKit_xsdSequencingChemistry', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 38, 5), )
+    __SequencingChemistry = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingChemistry'), 'SequencingChemistry', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_httppacificbiosciences_comPacBioReagentKit_xsdSequencingChemistry', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 38, 5), )
 
     
     SequencingChemistry = property(__SequencingChemistry.value, __SequencingChemistry.set, None, None)
 
     
     # Element {http://pacificbiosciences.com/PacBioReagentKit.xsd}SequencingKitDefinition uses Python identifier SequencingKitDefinition
-    __SequencingKitDefinition = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitDefinition'), 'SequencingKitDefinition', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_httppacificbiosciences_comPacBioReagentKit_xsdSequencingKitDefinition', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 39, 5), )
+    __SequencingKitDefinition = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitDefinition'), 'SequencingKitDefinition', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_httppacificbiosciences_comPacBioReagentKit_xsdSequencingKitDefinition', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 39, 5), )
 
     
     SequencingKitDefinition = property(__SequencingKitDefinition.value, __SequencingKitDefinition.set, None, None)
@@ -690,19 +752,35 @@ class SupplyKitSequencing (_ImportedBinding__pbbase.PartNumberType):
     
     # Attribute Location uses Python identifier Location
     __Location = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Location'), 'Location', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_Location', pyxb.binding.datatypes.int, unicode_default='0')
-    __Location._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 41, 4)
-    __Location._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 41, 4)
+    __Location._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 41, 4)
+    __Location._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 41, 4)
     
     Location = property(__Location.value, __Location.set, None, 'The location of the supply kit - for a reagent plate, it could be 0 or 1, and for a tube it could be 0 or 1')
 
     
     # Attribute MaxCollections uses Python identifier MaxCollections
     __MaxCollections = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'MaxCollections'), 'MaxCollections', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_MaxCollections', pyxb.binding.datatypes.int, unicode_default='8')
-    __MaxCollections._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 46, 4)
-    __MaxCollections._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 46, 4)
+    __MaxCollections._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 46, 4)
+    __MaxCollections._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 46, 4)
     
     MaxCollections = property(__MaxCollections.value, __MaxCollections.set, None, 'The number of collections this supply kit is capable of')
 
+    
+    # Attribute ActiveHours uses Python identifier ActiveHours
+    __ActiveHours = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ActiveHours'), 'ActiveHours', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_ActiveHours', pyxb.binding.datatypes.double, unicode_default='0')
+    __ActiveHours._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 51, 4)
+    __ActiveHours._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 51, 4)
+    
+    ActiveHours = property(__ActiveHours.value, __ActiveHours.set, None, 'The number of hours that the kit has been active (i.e. hours since first opened)')
+
+    
+    # Attribute ActiveHoursLimit uses Python identifier ActiveHoursLimit
+    __ActiveHoursLimit = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'ActiveHoursLimit'), 'ActiveHoursLimit', '__httppacificbiosciences_comPacBioReagentKit_xsd_SupplyKitSequencing_ActiveHoursLimit', pyxb.binding.datatypes.int, unicode_default='0')
+    __ActiveHoursLimit._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 56, 4)
+    __ActiveHoursLimit._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 56, 4)
+    
+    ActiveHoursLimit = property(__ActiveHoursLimit.value, __ActiveHoursLimit.set, None, 'The limit on the number of hours after opening that a kit can be used')
+
     _ElementMap.update({
         __ReagentAutomationName.name() : __ReagentAutomationName,
         __ReagentTubes.name() : __ReagentTubes,
@@ -711,29 +789,31 @@ class SupplyKitSequencing (_ImportedBinding__pbbase.PartNumberType):
     })
     _AttributeMap.update({
         __Location.name() : __Location,
-        __MaxCollections.name() : __MaxCollections
+        __MaxCollections.name() : __MaxCollections,
+        __ActiveHours.name() : __ActiveHours,
+        __ActiveHoursLimit.name() : __ActiveHoursLimit
     })
 Namespace.addCategoryObject('typeBinding', 'SupplyKitSequencing', SupplyKitSequencing)
 
 
-PacBioReagentKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PacBioReagentKit'), CTD_ANON, documentation='The root element of the reagent kit standalone file', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 7, 1))
+PacBioReagentKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'PacBioReagentKit'), CTD_ANON, documentation='The root element of the reagent kit standalone file', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 7, 1))
 Namespace.addCategoryObject('elementBinding', PacBioReagentKit.name().localName(), PacBioReagentKit)
 
-Reagent = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Reagent'), ReagentType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 17, 1))
+Reagent = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Reagent'), ReagentType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 17, 1))
 Namespace.addCategoryObject('elementBinding', Reagent.name().localName(), Reagent)
 
-ReagentKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentKit'), ReagentKitType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 18, 1))
+ReagentKit = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentKit'), ReagentKitType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 18, 1))
 Namespace.addCategoryObject('elementBinding', ReagentKit.name().localName(), ReagentKit)
 
-ReagentTube = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentTube'), ReagentTubeType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 19, 1))
+ReagentTube = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentTube'), ReagentTubeType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 19, 1))
 Namespace.addCategoryObject('elementBinding', ReagentTube.name().localName(), ReagentTube)
 
-ReagentPlateRow = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRow'), ReagentPlateRowType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 20, 1))
+ReagentPlateRow = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRow'), ReagentPlateRowType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 20, 1))
 Namespace.addCategoryObject('elementBinding', ReagentPlateRow.name().localName(), ReagentPlateRow)
 
 
 
-CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentKit'), ReagentKitType, scope=CTD_ANON, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 18, 1)))
+CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentKit'), ReagentKitType, scope=CTD_ANON, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 18, 1)))
 
 def _BuildAutomaton ():
     # Remove this helper function from the namespace after it is invoked
@@ -744,7 +824,7 @@ def _BuildAutomaton ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentKit')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 13, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentKit')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 13, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -755,7 +835,7 @@ CTD_ANON._Automaton = _BuildAutomaton()
 
 
 
-CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Reagent'), ReagentType, scope=CTD_ANON_, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 17, 1)))
+CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Reagent'), ReagentType, scope=CTD_ANON_, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 17, 1)))
 
 def _BuildAutomaton_ ():
     # Remove this helper function from the namespace after it is invoked
@@ -766,7 +846,7 @@ def _BuildAutomaton_ ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Reagent')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 72, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Reagent')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 82, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -779,7 +859,7 @@ CTD_ANON_._Automaton = _BuildAutomaton_()
 
 
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentTube'), ReagentTubeType, scope=CTD_ANON_2, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 19, 1)))
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentTube'), ReagentTubeType, scope=CTD_ANON_2, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 19, 1)))
 
 def _BuildAutomaton_2 ():
     # Remove this helper function from the namespace after it is invoked
@@ -790,7 +870,7 @@ def _BuildAutomaton_2 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentTube')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 79, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentTube')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 89, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -803,7 +883,7 @@ CTD_ANON_2._Automaton = _BuildAutomaton_2()
 
 
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRow'), ReagentPlateRowType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 20, 1)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRow'), ReagentPlateRowType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 20, 1)))
 
 def _BuildAutomaton_3 ():
     # Remove this helper function from the namespace after it is invoked
@@ -814,7 +894,7 @@ def _BuildAutomaton_3 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRow')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 86, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRow')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 96, 8))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -827,6 +907,8 @@ CTD_ANON_3._Automaton = _BuildAutomaton_3()
 
 
 
+CTD_ANON_4._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Automation'), _ImportedBinding__pbbase.AutomationType, scope=CTD_ANON_4, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 108, 8)))
+
 def _BuildAutomaton_4 ():
     # Remove this helper function from the namespace after it is invoked
     global _BuildAutomaton_4
@@ -834,12 +916,34 @@ def _BuildAutomaton_4 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    states = []
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_4._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Automation')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 108, 8))
+    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_0)
+    transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
+    st_0._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
+CTD_ANON_4._Automaton = _BuildAutomaton_4()
+
+
+
+
+def _BuildAutomaton_5 ():
+    # Remove this helper function from the namespace after it is invoked
+    global _BuildAutomaton_5
+    del _BuildAutomaton_5
+    import pyxb.utils.fac as fac
+
+    counters = set()
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(ReagentType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(ReagentType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -847,49 +951,67 @@ def _BuildAutomaton_4 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-ReagentType._Automaton = _BuildAutomaton_4()
+ReagentType._Automaton = _BuildAutomaton_5()
 
 
 
 
-ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ChemistryConfig'), _ImportedBinding__pbbase.SequencingChemistryConfig, scope=ReagentKitType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 797, 1)))
+ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ChemistryConfig'), _ImportedBinding__pbbase.SequencingChemistryConfig, scope=ReagentKitType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 877, 1)))
 
-ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Reagents'), CTD_ANON_, scope=ReagentKitType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 69, 5)))
+ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Defaults'), _ImportedBinding__pbbase.DefaultsType, nillable=pyxb.binding.datatypes.boolean(1), scope=ReagentKitType, documentation='Default paramaters and filters which may be applied to PartNumber types in order to constrain them via parameterization', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 878, 4)))
 
-ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes'), CTD_ANON_2, scope=ReagentKitType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 76, 5)))
+ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Reagents'), CTD_ANON_, scope=ReagentKitType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 79, 5)))
 
-ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRows'), CTD_ANON_3, scope=ReagentKitType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 83, 5)))
+ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes'), CTD_ANON_2, scope=ReagentKitType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 86, 5)))
 
-def _BuildAutomaton_5 ():
+ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRows'), CTD_ANON_3, scope=ReagentKitType, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 93, 5)))
+
+ReagentKitType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Automations'), CTD_ANON_4, nillable=pyxb.binding.datatypes.boolean(1), scope=ReagentKitType, documentation='Automations that are deemed compatible with this kit.  Parameters specified within an automation will override a parameter with the same name and data type specified in the above Defaults section', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 1 [...]
+
+def _BuildAutomaton_6 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_5
-    del _BuildAutomaton_5
+    global _BuildAutomaton_6
+    del _BuildAutomaton_6
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 101, 5))
+    counters.add(cc_1)
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 102, 5))
+    counters.add(cc_2)
     states = []
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Reagents')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 69, 5))
+    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Reagents')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 79, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 76, 5))
+    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 86, 5))
     st_2 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = None
-    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRows')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 83, 5))
+    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentPlateRows')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 93, 5))
     st_3 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ChemistryConfig')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 90, 5))
+    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'ChemistryConfig')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 100, 5))
     st_4 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 101, 5))
+    st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_5)
+    final_update = set()
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(ReagentKitType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Automations')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 102, 5))
+    st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_6)
     transitions = []
     transitions.append(fac.Transition(st_0, [
         fac.UpdateInstruction(cc_0, True) ]))
@@ -909,26 +1031,40 @@ def _BuildAutomaton_5 ():
          ]))
     st_3._set_transitionSet(transitions)
     transitions = []
+    transitions.append(fac.Transition(st_5, [
+         ]))
+    transitions.append(fac.Transition(st_6, [
+         ]))
     st_4._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_5, [
+        fac.UpdateInstruction(cc_1, True) ]))
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_1, False) ]))
+    st_5._set_transitionSet(transitions)
+    transitions = []
+    transitions.append(fac.Transition(st_6, [
+        fac.UpdateInstruction(cc_2, True) ]))
+    st_6._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
-ReagentKitType._Automaton = _BuildAutomaton_5()
+ReagentKitType._Automaton = _BuildAutomaton_6()
 
 
 
 
-def _BuildAutomaton_6 ():
+def _BuildAutomaton_7 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_6
-    del _BuildAutomaton_6
+    global _BuildAutomaton_7
+    del _BuildAutomaton_7
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(ReagentTubeType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(ReagentTubeType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -936,24 +1072,24 @@ def _BuildAutomaton_6 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-ReagentTubeType._Automaton = _BuildAutomaton_6()
+ReagentTubeType._Automaton = _BuildAutomaton_7()
 
 
 
 
-def _BuildAutomaton_7 ():
+def _BuildAutomaton_8 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_7
-    del _BuildAutomaton_7
+    global _BuildAutomaton_8
+    del _BuildAutomaton_8
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(ReagentPlateRowType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(ReagentPlateRowType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -961,74 +1097,74 @@ def _BuildAutomaton_7 ():
         fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-ReagentPlateRowType._Automaton = _BuildAutomaton_7()
+ReagentPlateRowType._Automaton = _BuildAutomaton_8()
 
 
 
 
-SupplyKitSequencing._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentAutomationName'), pyxb.binding.datatypes.string, scope=SupplyKitSequencing, documentation='The reagent-mixing protocol used. ', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 28, 5)))
+SupplyKitSequencing._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentAutomationName'), pyxb.binding.datatypes.string, scope=SupplyKitSequencing, documentation='The reagent-mixing protocol used. ', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 28, 5)))
 
-SupplyKitSequencing._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes'), SupplyKitSequencing, scope=SupplyKitSequencing, documentation="Tubes associated with the reagent kit - can have up to two; don't forget to set the location, 0 or 1", location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 33, 5)))
+SupplyKitSequencing._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes'), SupplyKitSequencing, scope=SupplyKitSequencing, documentation="Tubes associated with the reagent kit - can have up to two; don't forget to set the location, 0 or 1", location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 33, 5)))
 
-SupplyKitSequencing._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingChemistry'), _ImportedBinding__pbbase.SequencingChemistry, scope=SupplyKitSequencing, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 38, 5)))
+SupplyKitSequencing._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingChemistry'), _ImportedBinding__pbbase.SequencingChemistry, scope=SupplyKitSequencing, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 38, 5)))
 
-SupplyKitSequencing._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitDefinition'), ReagentKitType, scope=SupplyKitSequencing, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 39, 5)))
+SupplyKitSequencing._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitDefinition'), ReagentKitType, scope=SupplyKitSequencing, location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 39, 5)))
 
-def _BuildAutomaton_8 ():
+def _BuildAutomaton_9 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_8
-    del _BuildAutomaton_8
+    global _BuildAutomaton_9
+    del _BuildAutomaton_9
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     counters.add(cc_2)
-    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 28, 5))
+    cc_3 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 28, 5))
     counters.add(cc_3)
-    cc_4 = fac.CounterCondition(min=0, max=2, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 33, 5))
+    cc_4 = fac.CounterCondition(min=0, max=2, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 33, 5))
     counters.add(cc_4)
-    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 38, 5))
+    cc_5 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 38, 5))
     counters.add(cc_5)
-    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 39, 5))
+    cc_6 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 39, 5))
     counters.add(cc_6)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'EncodedValue')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 188, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'CheckSum')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 195, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'CheckSum')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 193, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Defaults')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 420, 5))
     st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_2)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_3, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentAutomationName')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 28, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentAutomationName')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 28, 5))
     st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_3)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_4, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 33, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'ReagentTubes')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 33, 5))
     st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_4)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_5, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingChemistry')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 38, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingChemistry')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 38, 5))
     st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_5)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_6, False))
-    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitDefinition')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioReagentKit.xsd', 39, 5))
+    symbol = pyxb.binding.content.ElementUse(SupplyKitSequencing._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'SequencingKitDefinition')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioReagentKit.xsd', 39, 5))
     st_6 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_6)
     transitions = []
@@ -1102,5 +1238,5 @@ def _BuildAutomaton_8 ():
         fac.UpdateInstruction(cc_6, True) ]))
     st_6._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-SupplyKitSequencing._Automaton = _BuildAutomaton_8()
+SupplyKitSequencing._Automaton = _BuildAutomaton_9()
 
diff --git a/pbcore/io/dataset/_pbsample.py b/pbcore/io/dataset/pyxb/_pbsample.py
similarity index 62%
rename from pbcore/io/dataset/_pbsample.py
rename to pbcore/io/dataset/pyxb/_pbsample.py
index 00a3f68..8b6937e 100644
--- a/pbcore/io/dataset/_pbsample.py
+++ b/pbcore/io/dataset/pyxb/_pbsample.py
@@ -1,7 +1,7 @@
-# ./_pbsample.py
+# pbcore/io/dataset/pyxb/_pbsample.py
 # -*- coding: utf-8 -*-
 # PyXB bindings for NM:a7c0866985dba806fe3112e9fbc4707c9f978443
-# Generated 2015-12-08 13:20:39.140813 by PyXB version 1.2.4 using Python 2.7.6.final.0
+# Generated 2017-09-27 15:52:12.388872 by PyXB version 1.2.4 using Python 2.7.9.final.0
 # Namespace http://pacificbiosciences.com/PacBioSampleInfo.xsd [xmlns:pbsample]
 
 from __future__ import unicode_literals
@@ -15,7 +15,7 @@ import sys
 import pyxb.utils.six as _six
 
 # Unique identifier for bindings created at the same time
-_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:8749368c-9df1-11e5-86b0-001a4acb6b14')
+_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:7fa6c9c0-a3d6-11e7-96cb-0026b9fe0a90')
 
 # Version of PyXB used to generate the bindings
 _PyXBVersion = '1.2.4'
@@ -78,52 +78,25 @@ def CreateFromDOM (node, default_namespace=None):
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
 class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):
-    """A list of barcodes associated with the biological sample"""
-    _TypeDefinition = None
-    _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
-    _Abstract = False
-    _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 19, 6)
-    _ElementMap = {}
-    _AttributeMap = {}
-    # Base type is pyxb.binding.datatypes.anyType
-    
-    # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}Barcode uses Python identifier Barcode
-    __Barcode = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Barcode'), 'Barcode', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON_httppacificbiosciences_comPacBioSampleInfo_xsdBarcode', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 21, 8), )
-
-    
-    Barcode = property(__Barcode.value, __Barcode.set, None, 'A sequence of barcodes associated with the biological sample')
-
-    _ElementMap.update({
-        __Barcode.name() : __Barcode
-    })
-    _AttributeMap.update({
-        
-    })
-
-
-
-# Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
     """Back references to other BarcodedSampleType object UniqueIds which utilize this sample"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 104, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 96, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSamplePointer uses Python identifier BioSamplePointer
-    __BioSamplePointer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BioSamplePointer'), 'BioSamplePointer', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON__httppacificbiosciences_comPacBioSampleInfo_xsdBioSamplePointer', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 111, 5), )
+    __BioSamplePointer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BioSamplePointer'), 'BioSamplePointer', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON_httppacificbiosciences_comPacBioSampleInfo_xsdBioSamplePointer', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 103, 5), )
 
     
     BioSamplePointer = property(__BioSamplePointer.value, __BioSamplePointer.set, None, 'Pointer to a single biological sample')
 
     
     # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BarcodedSamplePointers uses Python identifier BarcodedSamplePointers
-    __BarcodedSamplePointers = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointers'), 'BarcodedSamplePointers', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON__httppacificbiosciences_comPacBioSampleInfo_xsdBarcodedSamplePointers', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 120, 1), )
+    __BarcodedSamplePointers = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointers'), 'BarcodedSamplePointers', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON_httppacificbiosciences_comPacBioSampleInfo_xsdBarcodedSamplePointers', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 112, 1), )
 
     
     BarcodedSamplePointers = property(__BarcodedSamplePointers.value, __BarcodedSamplePointers.set, None, 'Back references to other BarcodedSampleType object UniqueIds which utilize this sample')
@@ -139,19 +112,19 @@ class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
+class CTD_ANON_ (pyxb.binding.basis.complexTypeDefinition):
     """Back references to other BarcodedSampleType object UniqueIds which utilize this sample"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 124, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 116, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BarcodedSamplePointer uses Python identifier BarcodedSamplePointer
-    __BarcodedSamplePointer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointer'), 'BarcodedSamplePointer', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioSampleInfo_xsdBarcodedSamplePointer', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 126, 4), )
+    __BarcodedSamplePointer = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointer'), 'BarcodedSamplePointer', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON__httppacificbiosciences_comPacBioSampleInfo_xsdBarcodedSamplePointer', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 118, 4), )
 
     
     BarcodedSamplePointer = property(__BarcodedSamplePointer.value, __BarcodedSamplePointer.set, None, 'Pointer to a group of barcoded samples')
@@ -166,22 +139,22 @@ class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type [anonymous] with content type ELEMENT_ONLY
-class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
-    """Complex type [anonymous] with content type ELEMENT_ONLY"""
+class CTD_ANON_2 (pyxb.binding.basis.complexTypeDefinition):
+    """List of biological samples."""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = None
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 135, 2)
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 130, 2)
     _ElementMap = {}
     _AttributeMap = {}
     # Base type is pyxb.binding.datatypes.anyType
     
     # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSample uses Python identifier BioSample
-    __BioSample = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BioSample'), 'BioSample', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioSampleInfo_xsdBioSample', True, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 141, 1), )
+    __BioSample = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BioSample'), 'BioSample', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON_2_httppacificbiosciences_comPacBioSampleInfo_xsdBioSample', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 136, 1), )
 
     
-    BioSample = property(__BioSample.value, __BioSample.set, None, None)
+    BioSample = property(__BioSample.value, __BioSample.set, None, 'An individual biological sample.')
 
     _ElementMap.update({
         __BioSample.name() : __BioSample
@@ -193,24 +166,24 @@ class CTD_ANON_3 (pyxb.binding.basis.complexTypeDefinition):
 
 
 # Complex type {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType with content type ELEMENT_ONLY
-class BioSampleType (_ImportedBinding__pbbase.StrictEntityType):
+class BioSampleType (_ImportedBinding__pbbase.BaseEntityType):
     """The actual biological sample; this could be prep'd, or in original form; could be bound, or annealed..."""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'BioSampleType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 33, 1)
-    _ElementMap = _ImportedBinding__pbbase.StrictEntityType._ElementMap.copy()
-    _AttributeMap = _ImportedBinding__pbbase.StrictEntityType._AttributeMap.copy()
-    # Base type is _ImportedBinding__pbbase.StrictEntityType
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 8, 1)
+    _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
+    _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
+    # Base type is _ImportedBinding__pbbase.BaseEntityType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSamples uses Python identifier BioSamples
-    __BioSamples = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'BioSamples'), 'BioSamples', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_httppacificbiosciences_comPacBioSampleInfo_xsdBioSamples', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 134, 1), )
+    # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}DNABarcodes uses Python identifier DNABarcodes
+    __DNABarcodes = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DNABarcodes'), 'DNABarcodes', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_httppacificbiosciences_comPacBioSampleInfo_xsdDNABarcodes', False, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 15, 5), )
 
     
-    BioSamples = property(__BioSamples.value, __BioSamples.set, None, None)
+    DNABarcodes = property(__DNABarcodes.value, __DNABarcodes.set, None, 'A list of barcodes associated with the biological sample')
 
     
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -229,101 +202,95 @@ class BioSampleType (_ImportedBinding__pbbase.StrictEntityType):
     
     # Attribute ModifiedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Attribute UniqueId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
-    
-    # Attribute MetaType inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
-    
-    # Attribute TimeStampedName inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
-    
     # Attribute DateReceived uses Python identifier DateReceived
     __DateReceived = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'DateReceived'), 'DateReceived', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_DateReceived', pyxb.binding.datatypes.dateTime)
-    __DateReceived._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 42, 4)
-    __DateReceived._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 42, 4)
+    __DateReceived._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 34, 4)
+    __DateReceived._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 34, 4)
     
     DateReceived = property(__DateReceived.value, __DateReceived.set, None, 'Date the sample was received by the lab')
 
     
     # Attribute Organism uses Python identifier Organism
     __Organism = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Organism'), 'Organism', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_Organism', pyxb.binding.datatypes.string)
-    __Organism._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 47, 4)
-    __Organism._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 47, 4)
+    __Organism._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 39, 4)
+    __Organism._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 39, 4)
     
     Organism = property(__Organism.value, __Organism.set, None, 'e.g. HIV, E.coli')
 
     
     # Attribute Reference uses Python identifier Reference
     __Reference = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Reference'), 'Reference', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_Reference', pyxb.binding.datatypes.string)
-    __Reference._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 52, 4)
-    __Reference._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 52, 4)
+    __Reference._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 44, 4)
+    __Reference._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 44, 4)
     
     Reference = property(__Reference.value, __Reference.set, None, 'Name of reference, or pointer to one at e.g. NCBI RefSeq')
 
     
     # Attribute DNAType uses Python identifier DNAType
     __DNAType = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'DNAType'), 'DNAType', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_DNAType', pyxb.binding.datatypes.string)
-    __DNAType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 57, 4)
-    __DNAType._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 57, 4)
+    __DNAType._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 49, 4)
+    __DNAType._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 49, 4)
     
     DNAType = property(__DNAType.value, __DNAType.set, None, 'shotgun library, amplicon, etc.')
 
     
     # Attribute Concentration uses Python identifier Concentration
     __Concentration = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'Concentration'), 'Concentration', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_Concentration', pyxb.binding.datatypes.float)
-    __Concentration._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 62, 4)
-    __Concentration._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 62, 4)
+    __Concentration._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 54, 4)
+    __Concentration._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 54, 4)
     
     Concentration = property(__Concentration.value, __Concentration.set, None, 'in ng/uL, e.g. 250')
 
     
     # Attribute QuantificationMethod uses Python identifier QuantificationMethod
     __QuantificationMethod = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'QuantificationMethod'), 'QuantificationMethod', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_QuantificationMethod', pyxb.binding.datatypes.string)
-    __QuantificationMethod._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 67, 4)
-    __QuantificationMethod._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 67, 4)
+    __QuantificationMethod._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 59, 4)
+    __QuantificationMethod._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 59, 4)
     
     QuantificationMethod = property(__QuantificationMethod.value, __QuantificationMethod.set, None, 'e.g. Qubit')
 
     
     # Attribute SMRTBellConcentration uses Python identifier SMRTBellConcentration
     __SMRTBellConcentration = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SMRTBellConcentration'), 'SMRTBellConcentration', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_SMRTBellConcentration', pyxb.binding.datatypes.float)
-    __SMRTBellConcentration._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 72, 4)
-    __SMRTBellConcentration._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 72, 4)
+    __SMRTBellConcentration._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 64, 4)
+    __SMRTBellConcentration._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 64, 4)
     
     SMRTBellConcentration = property(__SMRTBellConcentration.value, __SMRTBellConcentration.set, None, 'in ng/uL, e.g. 4.5')
 
     
     # Attribute SMRTBellQuantificationMethod uses Python identifier SMRTBellQuantificationMethod
     __SMRTBellQuantificationMethod = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SMRTBellQuantificationMethod'), 'SMRTBellQuantificationMethod', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_SMRTBellQuantificationMethod', pyxb.binding.datatypes.string)
-    __SMRTBellQuantificationMethod._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 77, 4)
-    __SMRTBellQuantificationMethod._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 77, 4)
+    __SMRTBellQuantificationMethod._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 69, 4)
+    __SMRTBellQuantificationMethod._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 69, 4)
     
     SMRTBellQuantificationMethod = property(__SMRTBellQuantificationMethod.value, __SMRTBellQuantificationMethod.set, None, 'e.g. Qubit')
 
     
     # Attribute BufferName uses Python identifier BufferName
     __BufferName = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'BufferName'), 'BufferName', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_BufferName', pyxb.binding.datatypes.string)
-    __BufferName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 82, 4)
-    __BufferName._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 82, 4)
+    __BufferName._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 74, 4)
+    __BufferName._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 74, 4)
     
     BufferName = property(__BufferName.value, __BufferName.set, None, 'e.g. Tris HCl')
 
     
     # Attribute SamplePrepKit uses Python identifier SamplePrepKit
     __SamplePrepKit = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'SamplePrepKit'), 'SamplePrepKit', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_SamplePrepKit', pyxb.binding.datatypes.string)
-    __SamplePrepKit._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 87, 4)
-    __SamplePrepKit._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 87, 4)
+    __SamplePrepKit._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 79, 4)
+    __SamplePrepKit._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 79, 4)
     
     SamplePrepKit = property(__SamplePrepKit.value, __SamplePrepKit.set, None, 'e.g. SMRTbell Template Prep Kit')
 
     
     # Attribute TargetLibrarySize uses Python identifier TargetLibrarySize
     __TargetLibrarySize = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, 'TargetLibrarySize'), 'TargetLibrarySize', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BioSampleType_TargetLibrarySize', pyxb.binding.datatypes.string)
-    __TargetLibrarySize._DeclarationLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 92, 4)
-    __TargetLibrarySize._UseLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 92, 4)
+    __TargetLibrarySize._DeclarationLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 84, 4)
+    __TargetLibrarySize._UseLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 84, 4)
     
     TargetLibrarySize = property(__TargetLibrarySize.value, __TargetLibrarySize.set, None, '2000, 10000, 20000')
 
     _ElementMap.update({
-        __BioSamples.name() : __BioSamples
+        __DNABarcodes.name() : __DNABarcodes
     })
     _AttributeMap.update({
         __DateReceived.name() : __DateReceived,
@@ -341,29 +308,27 @@ class BioSampleType (_ImportedBinding__pbbase.StrictEntityType):
 Namespace.addCategoryObject('typeBinding', 'BioSampleType', BioSampleType)
 
 
-# Complex type {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BarcodedSampleType with content type ELEMENT_ONLY
-class BarcodedSampleType (BioSampleType):
-    """This is a data type to hold a barcoded biological sample, or a raw biological sample - so, barcode is optional."""
+# Complex type [anonymous] with content type ELEMENT_ONLY
+class CTD_ANON_3 (_ImportedBinding__pbbase.BaseEntityType):
+    """A list of barcodes associated with the biological sample"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
     _Abstract = False
-    _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'BarcodedSampleType')
-    _XSDLocation = pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 8, 1)
-    _ElementMap = BioSampleType._ElementMap.copy()
-    _AttributeMap = BioSampleType._AttributeMap.copy()
-    # Base type is BioSampleType
+    _ExpandedName = None
+    _XSDLocation = pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 19, 6)
+    _ElementMap = _ImportedBinding__pbbase.BaseEntityType._ElementMap.copy()
+    _AttributeMap = _ImportedBinding__pbbase.BaseEntityType._AttributeMap.copy()
+    # Base type is _ImportedBinding__pbbase.BaseEntityType
     
     # Element Extensions ({http://pacificbiosciences.com/PacBioBaseDataModel.xsd}Extensions) inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
-    # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}Barcodes uses Python identifier Barcodes
-    __Barcodes = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'Barcodes'), 'Barcodes', '__httppacificbiosciences_comPacBioSampleInfo_xsd_BarcodedSampleType_httppacificbiosciences_comPacBioSampleInfo_xsdBarcodes', False, pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 15, 5), )
+    # Element {http://pacificbiosciences.com/PacBioSampleInfo.xsd}DNABarcode uses Python identifier DNABarcode
+    __DNABarcode = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, 'DNABarcode'), 'DNABarcode', '__httppacificbiosciences_comPacBioSampleInfo_xsd_CTD_ANON_3_httppacificbiosciences_comPacBioSampleInfo_xsdDNABarcode', True, pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 23, 10), )
 
     
-    Barcodes = property(__Barcodes.value, __Barcodes.set, None, 'A list of barcodes associated with the biological sample')
+    DNABarcode = property(__DNABarcode.value, __DNABarcode.set, None, 'A sequence of barcodes associated with the biological sample')
 
     
-    # Element BioSamples ({http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSamples) inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
     # Attribute Name inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute Description inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
@@ -379,58 +344,32 @@ class BarcodedSampleType (BioSampleType):
     # Attribute CreatedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
     
     # Attribute ModifiedAt inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}BaseEntityType
-    
-    # Attribute UniqueId inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
-    
-    # Attribute MetaType inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
-    
-    # Attribute TimeStampedName inherited from {http://pacificbiosciences.com/PacBioBaseDataModel.xsd}StrictEntityType
-    
-    # Attribute DateReceived inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute Organism inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute Reference inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute DNAType inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute Concentration inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute QuantificationMethod inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute SMRTBellConcentration inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute SMRTBellQuantificationMethod inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute BufferName inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute SamplePrepKit inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
-    
-    # Attribute TargetLibrarySize inherited from {http://pacificbiosciences.com/PacBioSampleInfo.xsd}BioSampleType
     _ElementMap.update({
-        __Barcodes.name() : __Barcodes
+        __DNABarcode.name() : __DNABarcode
     })
     _AttributeMap.update({
         
     })
-Namespace.addCategoryObject('typeBinding', 'BarcodedSampleType', BarcodedSampleType)
 
 
-BioSamplePointers = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSamplePointers'), CTD_ANON_, documentation='Back references to other BarcodedSampleType object UniqueIds which utilize this sample', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 100, 1))
+
+BioSamplePointers = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSamplePointers'), CTD_ANON, documentation='Back references to other BarcodedSampleType object UniqueIds which utilize this sample', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 92, 1))
 Namespace.addCategoryObject('elementBinding', BioSamplePointers.name().localName(), BioSamplePointers)
 
-BarcodedSamplePointers = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointers'), CTD_ANON_2, documentation='Back references to other BarcodedSampleType object UniqueIds which utilize this sample', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 120, 1))
+BarcodedSamplePointers = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointers'), CTD_ANON_, documentation='Back references to other BarcodedSampleType object UniqueIds which utilize this sample', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 112, 1))
 Namespace.addCategoryObject('elementBinding', BarcodedSamplePointers.name().localName(), BarcodedSamplePointers)
 
-BioSamples = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSamples'), CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 134, 1))
+BioSamples = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSamples'), CTD_ANON_2, documentation='List of biological samples.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 126, 1))
 Namespace.addCategoryObject('elementBinding', BioSamples.name().localName(), BioSamples)
 
-BioSample = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSample'), BioSampleType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 141, 1))
+BioSample = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSample'), BioSampleType, documentation='An individual biological sample.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 136, 1))
 Namespace.addCategoryObject('elementBinding', BioSample.name().localName(), BioSample)
 
 
 
-CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Barcode'), _ImportedBinding__pbbase.DNABarcode, scope=CTD_ANON, documentation='A sequence of barcodes associated with the biological sample', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 21, 8)))
+CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSamplePointer'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON, documentation='Pointer to a single biological sample', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 103, 5)))
+
+CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointers'), CTD_ANON_, scope=CTD_ANON, documentation='Back references to other BarcodedSampleType object UniqueIds which utilize this sample', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 112, 1)))
 
 def _BuildAutomaton ():
     # Remove this helper function from the namespace after it is invoked
@@ -439,27 +378,26 @@ def _BuildAutomaton ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 21, 8))
-    counters.add(cc_0)
     states = []
     final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Barcode')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 21, 8))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointers')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 102, 5))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
+    final_update = set()
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BioSamplePointer')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 103, 5))
+    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
+    states.append(st_1)
     transitions = []
-    transitions.append(fac.Transition(st_0, [
-        fac.UpdateInstruction(cc_0, True) ]))
     st_0._set_transitionSet(transitions)
-    return fac.Automaton(states, counters, True, containing_state=None)
+    transitions = []
+    st_1._set_transitionSet(transitions)
+    return fac.Automaton(states, counters, False, containing_state=None)
 CTD_ANON._Automaton = _BuildAutomaton()
 
 
 
 
-CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSamplePointer'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_, documentation='Pointer to a single biological sample', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 111, 5)))
-
-CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointers'), CTD_ANON_2, scope=CTD_ANON_, documentation='Back references to other BarcodedSampleType object UniqueIds which utilize this sample', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 120, 1)))
+CTD_ANON_._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointer'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_, documentation='Pointer to a group of barcoded samples', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 118, 4)))
 
 def _BuildAutomaton_ ():
     # Remove this helper function from the namespace after it is invoked
@@ -470,24 +408,20 @@ def _BuildAutomaton_ ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointers')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 110, 5))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointer')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 118, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
-    final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BioSamplePointer')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 111, 5))
-    st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
-    states.append(st_1)
     transitions = []
+    transitions.append(fac.Transition(st_0, [
+         ]))
     st_0._set_transitionSet(transitions)
-    transitions = []
-    st_1._set_transitionSet(transitions)
     return fac.Automaton(states, counters, False, containing_state=None)
 CTD_ANON_._Automaton = _BuildAutomaton_()
 
 
 
 
-CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointer'), pyxb.binding.datatypes.IDREF, scope=CTD_ANON_2, documentation='Pointer to a group of barcoded samples', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 126, 4)))
+CTD_ANON_2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSample'), BioSampleType, scope=CTD_ANON_2, documentation='An individual biological sample.', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 136, 1)))
 
 def _BuildAutomaton_2 ():
     # Remove this helper function from the namespace after it is invoked
@@ -498,7 +432,7 @@ def _BuildAutomaton_2 ():
     counters = set()
     states = []
     final_update = set()
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BarcodedSamplePointer')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 126, 4))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_2._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BioSample')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 132, 4))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     transitions = []
@@ -511,7 +445,7 @@ CTD_ANON_2._Automaton = _BuildAutomaton_2()
 
 
 
-CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSample'), BioSampleType, scope=CTD_ANON_3, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 141, 1)))
+BioSampleType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DNABarcodes'), CTD_ANON_3, scope=BioSampleType, documentation='A list of barcodes associated with the biological sample', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 15, 5)))
 
 def _BuildAutomaton_3 ():
     # Remove this helper function from the namespace after it is invoked
@@ -520,46 +454,19 @@ def _BuildAutomaton_3 ():
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 137, 4))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_0)
-    states = []
-    final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BioSample')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 137, 4))
-    st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
-    states.append(st_0)
-    transitions = []
-    transitions.append(fac.Transition(st_0, [
-        fac.UpdateInstruction(cc_0, True) ]))
-    st_0._set_transitionSet(transitions)
-    return fac.Automaton(states, counters, True, containing_state=None)
-CTD_ANON_3._Automaton = _BuildAutomaton_3()
-
-
-
-
-BioSampleType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'BioSamples'), CTD_ANON_3, scope=BioSampleType, location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 134, 1)))
-
-def _BuildAutomaton_4 ():
-    # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_4
-    del _BuildAutomaton_4
-    import pyxb.utils.fac as fac
-
-    counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
-    counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 40, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 15, 5))
     counters.add(cc_1)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(BioSampleType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    symbol = pyxb.binding.content.ElementUse(BioSampleType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(BioSampleType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BioSamples')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 40, 5))
+    symbol = pyxb.binding.content.ElementUse(BioSampleType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DNABarcodes')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 15, 5))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
     transitions = []
@@ -573,60 +480,61 @@ def _BuildAutomaton_4 ():
         fac.UpdateInstruction(cc_1, True) ]))
     st_1._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-BioSampleType._Automaton = _BuildAutomaton_4()
+BioSampleType._Automaton = _BuildAutomaton_3()
 
 
 
 
-BarcodedSampleType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'Barcodes'), CTD_ANON, scope=BarcodedSampleType, documentation='A list of barcodes associated with the biological sample', location=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 15, 5)))
+CTD_ANON_3._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'DNABarcode'), _ImportedBinding__pbbase.DNABarcode, scope=CTD_ANON_3, documentation='A sequence of barcodes associated with the biological sample', location=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 23, 10)))
 
-def _BuildAutomaton_5 ():
+def _BuildAutomaton_4 ():
     # Remove this helper function from the namespace after it is invoked
-    global _BuildAutomaton_5
-    del _BuildAutomaton_5
+    global _BuildAutomaton_4
+    del _BuildAutomaton_4
     import pyxb.utils.fac as fac
 
     counters = set()
-    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    cc_0 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 19, 6))
     counters.add(cc_0)
-    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 40, 5))
+    cc_1 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     counters.add(cc_1)
-    cc_2 = fac.CounterCondition(min=0, max=1, metadata=pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 15, 5))
+    cc_2 = fac.CounterCondition(min=0, max=None, metadata=pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 23, 10))
     counters.add(cc_2)
     states = []
     final_update = set()
     final_update.add(fac.UpdateInstruction(cc_0, False))
-    symbol = pyxb.binding.content.ElementUse(BarcodedSampleType._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioBaseDataModel.xsd', 86, 3))
+    final_update.add(fac.UpdateInstruction(cc_1, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(_Namespace_pbbase, 'Extensions')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioBaseDataModel.xsd', 88, 3))
     st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_0)
     final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_1, False))
-    symbol = pyxb.binding.content.ElementUse(BarcodedSampleType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'BioSamples')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 40, 5))
+    final_update.add(fac.UpdateInstruction(cc_0, False))
+    final_update.add(fac.UpdateInstruction(cc_2, False))
+    symbol = pyxb.binding.content.ElementUse(CTD_ANON_3._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'DNABarcode')), pyxb.utils.utility.Location('/tmp/user/71303/tmpykSXGWxsds/PacBioSampleInfo.xsd', 23, 10))
     st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
     states.append(st_1)
-    final_update = set()
-    final_update.add(fac.UpdateInstruction(cc_2, False))
-    symbol = pyxb.binding.content.ElementUse(BarcodedSampleType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'Barcodes')), pyxb.utils.utility.Location('/tmp/tmpiM7rWfxsds/PacBioSampleInfo.xsd', 15, 5))
-    st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
-    states.append(st_2)
     transitions = []
     transitions.append(fac.Transition(st_0, [
-        fac.UpdateInstruction(cc_0, True) ]))
+        fac.UpdateInstruction(cc_0, True),
+        fac.UpdateInstruction(cc_1, False) ]))
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_1, True) ]))
     transitions.append(fac.Transition(st_1, [
-        fac.UpdateInstruction(cc_0, False) ]))
-    transitions.append(fac.Transition(st_2, [
-        fac.UpdateInstruction(cc_0, False) ]))
-    st_0._set_transitionSet(transitions)
-    transitions = []
+        fac.UpdateInstruction(cc_0, True),
+        fac.UpdateInstruction(cc_1, False) ]))
     transitions.append(fac.Transition(st_1, [
-        fac.UpdateInstruction(cc_1, True) ]))
-    transitions.append(fac.Transition(st_2, [
         fac.UpdateInstruction(cc_1, False) ]))
-    st_1._set_transitionSet(transitions)
+    st_0._set_transitionSet(transitions)
     transitions = []
-    transitions.append(fac.Transition(st_2, [
+    transitions.append(fac.Transition(st_0, [
+        fac.UpdateInstruction(cc_0, True),
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_1, [
+        fac.UpdateInstruction(cc_0, True),
+        fac.UpdateInstruction(cc_2, False) ]))
+    transitions.append(fac.Transition(st_1, [
         fac.UpdateInstruction(cc_2, True) ]))
-    st_2._set_transitionSet(transitions)
+    st_1._set_transitionSet(transitions)
     return fac.Automaton(states, counters, True, containing_state=None)
-BarcodedSampleType._Automaton = _BuildAutomaton_5()
+CTD_ANON_3._Automaton = _BuildAutomaton_4()
 
diff --git a/pbcore/io/dataset/utils.py b/pbcore/io/dataset/utils.py
index 949ac94..2494189 100755
--- a/pbcore/io/dataset/utils.py
+++ b/pbcore/io/dataset/utils.py
@@ -43,7 +43,6 @@ import json
 import shutil
 import datetime
 import pysam
-import numpy as np
 from pbcore.util.Process import backticks
 
 log = logging.getLogger(__name__)
@@ -56,6 +55,10 @@ def getTimeStampedName(mType):
     time = datetime.datetime.utcnow().strftime("%y%m%d_%H%M%S%f")[:-3]
     return "{m}-{t}".format(m=mType, t=time)
 
+def getCreatedAt():
+    """Generate a CreatedAt string using the current UTC time"""
+    return datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S%f")[:-6]
+
 def which(exe):
     if os.path.exists(exe) and os.access(exe, os.X_OK):
         return exe
@@ -67,10 +70,7 @@ def which(exe):
     return None
 
 def consolidateXml(indset, outbam, useTmp=True, cleanup=True):
-    tmpout = tempfile.mkdtemp(suffix="consolidate-xml")
-    tmp_xml = os.path.join(tmpout,
-                           "orig.{t}.xml".format(
-                               t=indset.__class__.__name__.lower()))
+    log.debug("Consolidating to {o}".format(o=outbam))
 
     final_free_space = disk_free(os.path.split(outbam)[0])
     projected_size = sum(file_size(infn)
@@ -79,20 +79,33 @@ def consolidateXml(indset, outbam, useTmp=True, cleanup=True):
     log.debug("In place free space:       {f}".format(f=final_free_space))
     # give it a 5% buffer
     if final_free_space < (projected_size * 1.05):
-        raise RuntimeError("No space available to consolidate")
+        raise RuntimeError("Not enough space available in {o} to consolidate, "
+                           "{p} required, {a} available".format(
+                               o=os.path.split(outbam)[0],
+                               p=projected_size * 1.05,
+                               a=final_free_space
+                               ))
+    # indset is a dataset, not a filename. So we need to write the dataset out
+    # to a file anyway. We'll use tmp for that, but we won't go so far as to
+    # copy the actual resources:
+    tmpout = tempfile.mkdtemp(suffix="consolidate-xml")
+    tmp_xml = os.path.join(tmpout,
+                           "orig.{t}.xml".format(
+                               t=indset.__class__.__name__.lower()))
+    tmp_free_space = disk_free(tmpout)
+
+    # need 2x for tmp in and out, plus 10% buffer
     if useTmp:
-        tmp_free_space = disk_free(tmpout)
         log.debug("Tmp free space (need ~2x): {f}".format(f=tmp_free_space))
-        # need 2x for tmp in and out, plus 10% buffer
-        if tmp_free_space > (projected_size * 2.1):
-            log.debug("Using tmp storage: " + tmpout)
-            indset.copyTo(tmp_xml)
-            origOutBam = outbam
-            outbam = os.path.join(tmpout, "outfile.bam")
-        else:
-            log.debug("Using in place storage")
-            indset.write(tmp_xml)
-            useTmp = False
+    if (tmp_free_space > (projected_size * 2.1)) and useTmp:
+        log.debug("Using tmp storage: " + tmpout)
+        indset.copyTo(tmp_xml)
+        origOutBam = outbam
+        outbam = os.path.join(tmpout, "outfile.bam")
+    else:
+        log.debug("Using in place storage")
+        indset.write(tmp_xml)
+        useTmp = False
     _pbmergeXML(tmp_xml, outbam)
     if useTmp:
         shutil.copy(outbam, origOutBam)
@@ -101,49 +114,6 @@ def consolidateXml(indset, outbam, useTmp=True, cleanup=True):
             shutil.rmtree(tmpout)
     return outbam
 
-def consolidateBams(inFiles, outFile, filterDset=None, useTmp=True):
-    """Take a list of infiles, an outFile to produce, and optionally a dataset
-    (filters) to provide the definition and content of filtrations."""
-    # check space available
-    final_free_space = disk_free(os.path.split(outFile)[0])
-    projected_size = sum(file_size(infn) for infn in inFiles)
-    log.debug("Projected size:            {p}".format(p=projected_size))
-    log.debug("In place free space:       {f}".format(f=final_free_space))
-    # give it a 5% buffer
-    if final_free_space < (projected_size * 1.05):
-        raise RuntimeError("No space available to consolidate")
-    if useTmp:
-        tmpout = tempfile.mkdtemp(suffix="consolidation-filtration")
-        tmp_free_space = disk_free(tmpout)
-        log.debug("Tmp free space (need ~2x): {f}".format(f=tmp_free_space))
-        # need 2x for tmp in and out, plus 10% buffer
-        if tmp_free_space > (projected_size * 2.1):
-            log.debug("Using tmp storage: " + tmpout)
-            tmpInFiles = _tmpFiles(inFiles, tmpout)
-            origOutFile = outFile
-            origInFiles = inFiles[:]
-            inFiles = tmpInFiles
-            outFile = os.path.join(tmpout, "outfile.bam")
-        else:
-            log.debug("Using in place storage")
-            useTmp = False
-
-    if filterDset and filterDset.filters:
-        finalOutfile = outFile
-        outFile = _infixFname(outFile, "_unfiltered")
-    _mergeBams(inFiles, outFile)
-    if filterDset and filterDset.filters:
-        _filterBam(outFile, finalOutfile, filterDset)
-        outFile = finalOutfile
-    _indexBam(outFile)
-    _pbindexBam(outFile)
-    if useTmp:
-        shutil.copy(outFile, origOutFile)
-        shutil.copy(outFile + ".bai", origOutFile + ".bai")
-        shutil.copy(outFile + ".pbi", origOutFile + ".pbi")
-        # cleanup:
-        shutil.rmtree(os.path.split(outFile)[0])
-
 def _tmpFiles(inFiles, tmpout=None):
     tmpInFiles = []
     if tmpout is None:
@@ -171,51 +141,6 @@ def _pbindexBam(fname):
         raise RuntimeError(m)
     return fname + ".pbi"
 
-# Singleton so we don't need to check and parse repeatedly
-class BamtoolsVersion:
-    class __BamtoolsVersion:
-        def __init__(self):
-            cmd = "bamtools -v"
-            o, r, m = backticks(cmd)
-
-            if r == 127:
-                self.good = False
-                return
-
-            version = ''
-            for line in o:
-                if line.startswith("bamtools"):
-                    version = line.split(' ')[-1]
-                    break
-            self.number = version
-            if map(int, version.split('.')) >= [2, 4, 0]:
-                self.good = True
-            else:
-                self.good = False
-
-    instance = None
-    def __init__(self):
-        if not BamtoolsVersion.instance:
-            BamtoolsVersion.instance = BamtoolsVersion.__BamtoolsVersion()
-
-    def __getattr__(self, name):
-        return getattr(self.instance, name)
-
-    def check(self):
-        if not self.good:
-            raise RuntimeError("Bamtools version >= 2.4.0 required for "
-                               "consolidation")
-
-def _sortBam(fname):
-    BamtoolsVersion().check()
-    tmpname = _infixFname(fname, "_sorted")
-    cmd = "bamtools sort -in {i} -out {o}".format(i=fname, o=tmpname)
-    log.info(cmd)
-    o, r, m = backticks(cmd)
-    if r != 0:
-        raise RuntimeError(m)
-    shutil.move(tmpname, fname)
-
 def _indexBam(fname):
     pysam.samtools.index(fname, catch_stdout=False)
     return fname + ".bai"
@@ -224,39 +149,16 @@ def _indexFasta(fname):
     pysam.samtools.faidx(fname, catch_stdout=False)
     return fname + ".fai"
 
-def _mergeBams(inFiles, outFile):
-    BamtoolsVersion().check()
-    if len(inFiles) > 1:
-        cmd = "bamtools merge -in {i} -out {o}".format(i=' -in '.join(inFiles),
-                                                       o=outFile)
-        log.info(cmd)
-        o, r, m = backticks(cmd)
-        if r != 0:
-            raise RuntimeError(m)
-    else:
-        shutil.copy(inFiles[0], outFile)
-
 def _pbmergeXML(indset, outbam):
     cmd = "pbmerge -o {o} {i} ".format(i=indset,
-                                             o=outbam)
+                                       o=outbam)
     log.info(cmd)
     o, r, m = backticks(cmd)
     if r != 0:
-        raise RuntimeError(m)
+        raise RuntimeError("Pbmerge command failed: {c}\n Message: "
+                           "{m}".format(c=cmd, m=m))
     return outbam
 
-def _filterBam(inFile, outFile, filterDset):
-    BamtoolsVersion().check()
-    tmpout = tempfile.mkdtemp(suffix="consolidation-filtration")
-    filtScriptName = os.path.join(tmpout, "filtScript.json")
-    _emitFilterScript(filterDset, filtScriptName)
-    cmd = "bamtools filter -in {i} -out {o} -script {s}".format(
-        i=inFile, o=outFile, s=filtScriptName)
-    log.info(cmd)
-    o, r, m = backticks(cmd)
-    if r != 0:
-        raise RuntimeError(m)
-
 def _infixFname(fname, infix):
     prefix, extension = os.path.splitext(fname)
     return prefix + str(infix) + extension
@@ -280,162 +182,7 @@ def _fileCopy(dest, infile, uuid=None):
         if not os.path.exists(subdir):
             os.mkdir(subdir)
         fn = _swapPath(subdir, fn)
-    shutil.copy(infile, fn)
+    shutil.copyfile(infile, fn)
     assert os.path.exists(fn)
     return fn
 
-
-def _emitFilterScript(filterDset, filtScriptName):
-    """Use the filter script feature of bamtools. Use with specific filters if
-    all that are needed are available, otherwise filter by readname (easy but
-    uselessly expensive)"""
-    filterMap = {'rname': 'reference',
-                 'pos': 'position',
-                 'length': 'queryBases',
-                 'qname': 'name',
-                 'rq': 'mapQuality'}
-    cheapFilters = True
-    for filt in filterDset.filters:
-        for req in filt:
-            if not filterMap.get(req.name):
-                cheapFilters = False
-    if cheapFilters:
-        script = {"filters":[]}
-        for filt in filterDset.filters:
-            filtDict = {}
-            for req in filt:
-                name = filterMap[req.name]
-                if name == 'reference':
-                    if req.operator == '=' or req.operator == '==':
-                        filtDict[name] = req.value
-                    else:
-                        raise NotImplementedError()
-                else:
-                    filtDict[name] = req.operator + req.value
-            script['filters'].append(filtDict)
-    else:
-        names = [rec.qName for rec in filterDset]
-        script = {"filters":[{"name": name} for name in names]}
-    with open(filtScriptName, 'w') as scriptFile:
-        scriptFile.write(json.dumps(script))
-
-RS = 65536
-
-def xy_to_hn(x, y):
-    return x * RS + y
-
-def hn_to_xy(hn):
-    x = hn/RS
-    y = hn - (x * RS)
-    return x, y
-
-def shift(cx, cy, d):
-    # 0 is up, 1 is right, 2 is down, 3 is left
-    if d == 0:
-        cy += 1
-    elif d == 1:
-        cx += 1
-    elif d == 2:
-        cy -= 1
-    elif d == 3:
-        cx -= 1
-    return cx, cy, d
-
-def change_d(d):
-    d += 1
-    d %= 4
-    return d
-
-def move(cx, cy, x, y, d):
-    if cx == x and cy == y:
-        return cx - 1, y, 0
-    if abs(x - cx) == abs(y - cy):
-        d = change_d(d)
-        # expand the search
-        if d == 0:
-            cx -= 1
-        return shift(cx, cy, d)
-    else:
-        return shift(cx, cy, d)
-
-def find_closest(x, y, pos, limit=81):
-    found = False
-    cx = x
-    cy = y
-    d = None
-    fails = 0
-    while not found:
-        hn = xy_to_hn(cx, cy)
-        if hn in pos:
-            return hn
-        else:
-            fails += 1
-            cx, cy, d = move(cx, cy, x, y, d)
-        if fails >= limit:
-            return None
-
-def quadratic_expand(lol):
-    samples = [[p] for p in lol[0]]
-    for ps in lol[1:]:
-        newsamples = []
-        for p in ps:
-            for s in samples:
-                newsamples.append(s[:] + [p])
-        samples = newsamples
-    return samples
-
-def prodround(values, target):
-    """Round the floats in values (whose product is <target>) to integers in a
-    way that minimizes the absolute change in values
-    Args:
-        values: a list of numbers
-        target: the product of values (perhaps approximate)
-    Returns:
-        The values array, rounded to integers
-    """
-    opts = [[np.floor(v), round(v), np.ceil(v)] for v in values]
-    combos = quadratic_expand(opts)
-    best = combos[0]
-    for combo in combos[1:]:
-        p = np.prod(combo)
-        err = abs(target - p)
-        berr = abs(target - np.prod(best))
-        rnd = np.sum([abs(v-c) for v, c in zip(values, combo)])
-        brnd = np.sum([abs(v-c) for v, c in zip(values, best)])
-        if (err < berr) or ((err == berr) and (rnd < brnd)):
-            best = combo
-    return best
-
-def sampleUniformly(nsamples, dimbounds):
-    """dimbounds is list of tuples of range, inclusive"""
-    volume = 1
-    for dmin, dmax in dimbounds:
-        volume *= dmax - dmin
-    volume_per_sample = np.true_divide(volume, nsamples)
-    sample_side_length = np.power(volume_per_sample,
-                                  np.true_divide(1.0, len(dimbounds)))
-    per_axis = [max(1.0, np.true_divide((dmax - dmin), sample_side_length))
-                for dmin, dmax in dimbounds]
-    per_axis = prodround(per_axis, nsamples)
-    # Shrink the stride to account for end margins
-    strides = [np.true_divide(dmax - dmin, nsam + 1)
-               for (dmin, dmax), nsam in zip(dimbounds, per_axis)]
-    # introduce a margin
-    points = [np.linspace(dmin + dstride,
-                          dmax - dstride,
-                          round(nsamp))
-              for (dmin, dmax), nsamp, dstride in zip(dimbounds, per_axis,
-                                                      strides)]
-    points = [map(round, ps) for ps in points]
-    points = [map(int, ps) for ps in points]
-    samples = quadratic_expand(points)
-    return samples
-
-
-def sampleHolesUniformly(nsamples, samplefrom, faillimit=25, rowstart=64,
-                         colstart=64, nrows=1024, ncols=1144):
-    xys = sampleUniformly(nsamples, [(colstart, ncols), (rowstart, nrows)])
-    hns = [find_closest(x, y, samplefrom, limit=faillimit) for x, y in xys]
-    return [hn for hn in hns if not hn is None]
-
-
diff --git a/pbcore/io/opener.py b/pbcore/io/opener.py
index c5f5999..0a374de 100644
--- a/pbcore/io/opener.py
+++ b/pbcore/io/opener.py
@@ -101,7 +101,7 @@ def _openAny(fname, *extraArgs):
             lastException = e
     else:
         assert lastException is not None
-        raise lastException
+        raise lastException # pylint: disable=raising-bad-type
 
 def entryPoint():
     """
diff --git a/pbcore/io/rangeQueries.py b/pbcore/io/rangeQueries.py
index 814ecd3..50a9686 100644
--- a/pbcore/io/rangeQueries.py
+++ b/pbcore/io/rangeQueries.py
@@ -28,8 +28,7 @@
 # POSSIBILITY OF SUCH DAMAGE.
 #################################################################################
 
-import h5py as h
-import numpy as n
+import numpy as np
 import bisect
 
 def rightmostBinSearch(vec, val):
@@ -95,12 +94,12 @@ def getOverlappingRanges(tStart, tEnd, nBack, nOverlap, rangeStart, rangeEnd):
     assert(rM >= lM and rM >= 0 and lM >= 0)
 
     if (lM == rM):
-        return(n.array([], dtype = "uint32"))
+        return(np.array([], dtype = "uint32"))
     else:
         # We only keep the reads in the range lM .. rM that
         # actually overlap the range, as determined by
         # tEnd > rangeStart
-        idxs   = n.arange(lM, rM, dtype = "uint32")   # lM .. rM
+        idxs   = np.arange(lM, rM, dtype = "uint32")   # lM .. rM
         toKeep = tEnd[idxs] > rangeStart
         return(idxs[toKeep])
 
@@ -113,11 +112,11 @@ def projectIntoRange(tStart, tEnd, winStart, winEnd):
     or smaller range
     """
     assert(len(tStart) == len(tEnd))
-    res = n.zeros(shape=winEnd-winStart, dtype=n.uint)
+    res = np.zeros(shape=winEnd-winStart, dtype=np.uint)
     # Clip to window and translate.
     # Be careful to avoid underflow!
-    tStart_ = n.clip(tStart, winStart, winEnd) - winStart
-    tEnd_   = n.clip(tEnd,   winStart, winEnd) - winStart
+    tStart_ = np.clip(tStart, winStart, winEnd) - winStart
+    tEnd_   = np.clip(tEnd,   winStart, winEnd) - winStart
     for (s, e) in zip(tStart_, tEnd_):
         res[s:e] += 1
     return res
@@ -144,7 +143,7 @@ def makeReadLocator(cmpH5, refSeq):
             ## still has columns and these are what I want to preserve --
             ## h5py objects cannot be subset by a vector of length 0,
             ## however, numpy allows this.
-            idxs = n.array([], dtype = 'uint32')
+            idxs = np.array([], dtype = 'uint32')
         else:
             idxs = getOverlappingRanges(refAlignIdx.tStart, refAlignIdx.tEnd,
                                         refAlignIdx.nBackRead, refAlignIdx.nReadOverlap,
@@ -176,7 +175,7 @@ def getCoverageInRange(cmpH5, coords, rowNumbers=None):
     if rowNumbers==None:
         rowNumbers  = getReadsInRange(cmpH5, coords, justIndices=True)
     if (len(rowNumbers))==0:
-        return n.array([0]*(coords[2] - coords[1]))
+        return np.array([0]*(coords[2] - coords[1]))
     else:
         return(projectIntoRange(cmpH5.tStart[rowNumbers], cmpH5.tEnd[rowNumbers], coords[1], coords[2]))
 
diff --git a/pbcore/util/__init__.py b/pbcore/util/__init__.py
index 6861c47..c1c41ae 100644
--- a/pbcore/util/__init__.py
+++ b/pbcore/util/__init__.py
@@ -27,3 +27,7 @@
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 # POSSIBILITY OF SUCH DAMAGE.
 #################################################################################
+
+class h5py_dummy(object):
+    def __getattr__(self, name):
+        raise ImportError("The h5py module is required to use this optional feature; you can install it using 'pip install h5py' (requires HDF5 library already installed).")
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 3ae70f4..22fe4fa 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -1,3 +1,5 @@
-sphinx
+coverage
 nose
 pyxb==1.2.4
+sphinx
+h5py >= 2.0.1
diff --git a/requirements.txt b/requirements.txt
index 0182647..e503920 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,3 @@
 cython
 numpy >= 1.7.1
-h5py >= 2.0.1
 pysam >= 0.9.0
diff --git a/setup.py b/setup.py
index 5a2037f..dfe63bf 100755
--- a/setup.py
+++ b/setup.py
@@ -44,13 +44,13 @@ setup(
                                'data/*.fasta.fai', 'data/*.fofn', 'data/*.m4',
                                'data/*.fa', 'data/*.fa.fai',
                                'data/*.m5', 'data/*.bam', 'data/*.bam.bai', "data/*.bam.pbi",
+                               'data/chemistry.xml',
                                'chemistry/resources/*.xml',
                                'data/datasets/*.*',
                                'data/datasets/yieldtest/*.*']
                                },
     zip_safe = False,
     entry_points = { "console_scripts" : [ ".open = pbcore.io.opener:entryPoint" ] },
-    scripts=['bin/dataset.py'],
     install_requires=_get_local_requirements(_REQUIREMENTS_FILE),
     tests_require=_get_local_requirements(_REQUIREMENTS_TEST_FILE)
 )
diff --git a/tests/test_pbcore_extract_bam_sequence.py b/tests/test_pbcore_extract_bam_sequence.py
index ffd0399..c8c71d1 100644
--- a/tests/test_pbcore_extract_bam_sequence.py
+++ b/tests/test_pbcore_extract_bam_sequence.py
@@ -6,6 +6,7 @@ transcript from a BAM alignment file, specifically when the reverse complement
 is needed.
 """
 
+from pbcore.io.align.BamIO import AlignmentFile
 import pbcore.io
 import pysam
 import tempfile
@@ -31,8 +32,8 @@ class TestCase (unittest.TestCase):
         f.write(sam_str_)
         f.close()
         # convert to bam using pysam
-        sam_in = pysam.AlignmentFile("tst_pbcore.sam", "r")
-        bam_out = pysam.AlignmentFile("tst_pbcore.bam", "wb",
+        sam_in = AlignmentFile("tst_pbcore.sam", "r")
+        bam_out = AlignmentFile("tst_pbcore.bam", "wb",
             template=sam_in)
         for s in sam_in:
             bam_out.write(s)
diff --git a/tests/test_pbcore_io_AlnFileReaders.py b/tests/test_pbcore_io_AlnFileReaders.py
index 5d95a25..cf95596 100644
--- a/tests/test_pbcore_io_AlnFileReaders.py
+++ b/tests/test_pbcore_io_AlnFileReaders.py
@@ -19,6 +19,7 @@ from pbcore.io import CmpH5Reader, BamReader, IndexedBamReader
 from pbcore.io.align._BamSupport import UnavailableFeature
 from pbcore.sequence import reverseComplement as RC
 from pbcore.chemistry import ChemistryLookupError
+from pbcore.io.align.BamIO import AlignmentFile
 
 
 class _BasicAlnFileReaderTests(object):
@@ -498,8 +499,8 @@ m140906_231018_42161_c100676332550000001823129611271486_s1_p0/1/10_20\t2\tecoliK
         f2 = tempfile.NamedTemporaryFile(suffix=".bam").name
         with open(f1, "w") as f:
             f.write(self.SAM_IN)
-        with pysam.AlignmentFile(f1) as sam_in:
-            with pysam.AlignmentFile(f2, 'wb', template=sam_in) as bam_out:
+        with AlignmentFile(f1) as sam_in:
+            with AlignmentFile(f2, 'wb', template=sam_in) as bam_out:
                 for aln in sam_in:
                     bam_out.write(aln)
         movie_names = []
@@ -508,3 +509,21 @@ m140906_231018_42161_c100676332550000001823129611271486_s1_p0/1/10_20\t2\tecoliK
                 EQ(aln.sequencingChemistry, "P6-C4")
                 movie_names.append(aln.movieName)
         EQ(movie_names, ['movie1', 'm140906_231018_42161_c100676332550000001823129611271486_s1_p0'])
+
+
+class TestUpdatedChemistryMapping(object):
+    """
+    Verify we load the mapping from the updated chemistry mapping.xml
+    from SMRT_CHEMISTRY_BUNDLE_DIR
+    """
+
+    def test_load_updated_mapping(self):
+        import os
+        from os.path import dirname
+        from pbcore.chemistry.chemistry import _loadBarcodeMappings
+        os.environ["SMRT_CHEMISTRY_BUNDLE_DIR"] = dirname(data.getMappingXml())
+        mappings = _loadBarcodeMappings()
+        EQ(mappings.get(("1", "2", "3.4"), None), "FOUND")
+        del os.environ["SMRT_CHEMISTRY_BUNDLE_DIR"]
+        mappings = _loadBarcodeMappings()
+        EQ(mappings.get(("1", "2", "3.4"), None), None)
diff --git a/tests/test_pbcore_io_VcfIO.py b/tests/test_pbcore_io_VcfIO.py
new file mode 100644
index 0000000..73337ec
--- /dev/null
+++ b/tests/test_pbcore_io_VcfIO.py
@@ -0,0 +1,64 @@
+
+from __future__ import print_function
+
+import os.path
+import tempfile
+import unittest
+
+from textwrap import dedent
+
+from pbcore.io import Vcf4Record
+from pbcore.io.VcfIO import merge_vcfs_sorted
+
+def rm_out(fname):
+    if os.path.exists(fname):
+        os.remove(fname)
+
+class TestVcfSorting(unittest.TestCase):
+    vcf_meta = dedent("""\
+            ##fileformat=VCFv4.3
+            ##fileDate=20170328
+            ##source=GenomicConsensusV2.2.0
+            ##reference=ecoliK12_pbi_March2013.fasta
+            ##contig=<ID=ecoliK12_pbi_March2013,length=4642522>
+            #CHROM POS ID REF ALT QUAL FILTER INFO""")
+    vcf_recs = [
+            Vcf4Record.fromString("ecoliK12_pbi_March2013\t84\t.\tTG\tT\t48\tPASS\tDP=53"),
+            Vcf4Record.fromString("ecoliK12_pbi_March2013\t218\t.\tGA\tG\t47\tPASS\tDP=58"),
+            Vcf4Record.fromString("ecoliK12_pbi_March2013\t1536\t.\tG\tGC\t47\tPASS\tDP=91")]
+
+    @classmethod
+    def setUpClass(cls):
+        cls.files = []
+        for i in range(2):
+            file_name = "tmp_pbcore_%d.vcf" % i
+            with open(file_name, "w") as f:
+                print(cls.vcf_meta, file=f)
+                recs = cls.vcf_recs[2:] if i == 0 else cls.vcf_recs[:2]
+                for r in recs:
+                    print(str(r), file=f)
+            cls.files.append(file_name)
+
+    @classmethod
+    def tearDownClass(cls):
+        for file_name in cls.files:
+            if os.path.exists(file_name):
+                os.remove(file_name)
+
+    def test_merge_vcfs_sorted(self):
+        vcf_out = "tmp_pbcore_merged_sorted.vcf"
+        merge_vcfs_sorted(self.files, vcf_out)
+        meta = []
+        recs = []
+        with open(vcf_out) as f:
+            for l in f:
+                l = l.strip()
+                if not l:
+                    continue
+                elif l[0] == "#":
+                    meta.append(l)
+                else:
+                    recs.append(Vcf4Record.fromString(l))
+        self.assertEqual(self.vcf_meta.strip().split('\n'), meta)
+        self.assertEqual(self.vcf_recs, recs)
+        rm_out(vcf_out)
diff --git a/tests/test_pbcore_io_lossless_bam.py b/tests/test_pbcore_io_lossless_bam.py
index 5e105fe..e54e497 100755
--- a/tests/test_pbcore_io_lossless_bam.py
+++ b/tests/test_pbcore_io_lossless_bam.py
@@ -14,6 +14,7 @@ os.environ["PBCORE_BAM_LOSSLESS_KINETICS"] = "1"
 import pysam
 
 import pbcore.io.align.BamAlignment
+from pbcore.io.align.BamIO import AlignmentFile
 pbcore.io.align.BamAlignment.PBCORE_BAM_LOSSLESS_KINETICS = "1"
 
 class TestCase (unittest.TestCase):
@@ -29,8 +30,8 @@ movie1/54130/10_20\t2\tecoliK12_pbi_March2013_2955000_to_2980000\t12\t10\t10M\t*
         sam_file = "tmp_pbcore_io_subreads.sam"
         with open(sam_file, "w") as f:
             f.write(self.sam_str_)
-        sam_in = pysam.AlignmentFile(sam_file, "r")
-        bam_out = pysam.AlignmentFile(sam_file[:-3]+"bam", "wb",
+        sam_in = AlignmentFile(sam_file, "r")
+        bam_out = AlignmentFile(sam_file[:-3]+"bam", "wb",
             template=sam_in)
         for s in sam_in:
             bam_out.write(s)
diff --git a/tests/test_pbdataset.py b/tests/test_pbdataset.py
index 8b0d0a5..5576900 100644
--- a/tests/test_pbdataset.py
+++ b/tests/test_pbdataset.py
@@ -5,6 +5,8 @@ import logging
 import itertools
 import tempfile
 import unittest
+from urllib import quote
+from functools import partial
 from unittest.case import SkipTest
 
 import shutil
@@ -17,7 +19,11 @@ from pbcore.io import (DataSet, SubreadSet, ReferenceSet, AlignmentSet,
                        openDataSet, HdfSubreadSet,
                        ConsensusReadSet, ConsensusAlignmentSet)
 from pbcore.io.dataset.DataSetMetaTypes import InvalidDataSetIOError
-from pbcore.io.dataset.DataSetMembers import ExternalResource, Filters
+from pbcore.io.dataset.DataSetMembers import (ExternalResource, Filters,
+                                              ContinuousDistribution,
+                                              DiscreteDistribution,
+                                              SubreadSetMetadata)
+from pbcore.io.dataset.DataSetIO import _pathChanger
 from pbcore.io.dataset.DataSetValidator import validateFile
 from pbcore.util.Process import backticks
 import pbcore.data.datasets as data
@@ -25,6 +31,14 @@ import pbcore.data as upstreamdata
 
 from utils import _pbtestdata, _check_constools, _internal_data
 
+try:
+    import pbtestdata
+except ImportError:
+    pbtestdata = None
+
+skip_if_no_pbtestdata = unittest.skipUnless(pbtestdata is not None,
+                                            "PacBioTestData not installed")
+
 log = logging.getLogger(__name__)
 
 class TestDataSet(unittest.TestCase):
@@ -87,6 +101,251 @@ class TestDataSet(unittest.TestCase):
             ds.externalResources[-1].indices[0].resourceId ==
             "IdontExist.bam.pbi")
 
+    def test_merge_uuid(self):
+        ds1 = AlignmentSet(data.getBam(0))
+        u1 = ds1.uuid
+        ds2 = AlignmentSet(data.getBam(1))
+        u2 = ds2.uuid
+        self.assertNotEqual(u1, u2)
+        merged = ds1 + ds2
+        u3 = merged.uuid
+        self.assertNotEqual(u1, u3)
+        self.assertNotEqual(u2, u3)
+        self.assertEqual(u1, ds1.uuid)
+        self.assertEqual(u2, ds2.uuid)
+
+        ds1 = AlignmentSet(data.getXml(8))
+        u1 = ds1.uuid
+        ds2 = AlignmentSet(data.getXml(11))
+        u2 = ds2.uuid
+        self.assertNotEqual(u1, u2)
+        merged = AlignmentSet(data.getXml(8), data.getXml(11))
+        u3 = merged.uuid
+        self.assertNotEqual(u1, u3)
+        self.assertNotEqual(u2, u3)
+        self.assertEqual(u1, ds1.uuid)
+        self.assertEqual(u2, ds2.uuid)
+
+    def test_merged_CreatedAt(self):
+        ds1 = AlignmentSet(data.getXml(8))
+        u1 = ds1.createdAt
+        self.assertEqual(u1, '2015-08-05T10:25:18')
+        ds2 = AlignmentSet(data.getXml(11))
+        u2 = ds2.createdAt
+        self.assertEqual(u2, '2015-08-05T10:43:42')
+        self.assertNotEqual(u1, u2)
+        merged = AlignmentSet(data.getXml(8), data.getXml(11))
+        u3 = merged.createdAt
+        self.assertNotEqual(u1, u3)
+        self.assertNotEqual(u2, u3)
+        self.assertEqual(u1, ds1.createdAt)
+        self.assertEqual(u2, ds2.createdAt)
+
+        ds1 = AlignmentSet(data.getXml(8))
+        u1 = ds1.createdAt
+        self.assertEqual(u1, '2015-08-05T10:25:18')
+        ds2 = AlignmentSet(data.getXml(11))
+        u2 = ds2.createdAt
+        self.assertEqual(u2, '2015-08-05T10:43:42')
+        self.assertNotEqual(u1, u2)
+        merged = ds1 + ds2
+        u3 = merged.createdAt
+        self.assertNotEqual(u1, u3)
+        self.assertNotEqual(u2, u3)
+        self.assertEqual(u1, ds1.createdAt)
+        self.assertEqual(u2, ds2.createdAt)
+
+    def test_merged_Name(self):
+        # First has a name
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = 'Foo'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = ''
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.name, 'Foo')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = 'Foo'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = ''
+        merged = ds1 + ds2
+        self.assertEqual(merged.name, 'Foo')
+
+        # Second has a name
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = ''
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = 'Foo'
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.name, 'Foo')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = ''
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = 'Foo'
+        merged = ds1 + ds2
+        self.assertEqual(merged.name, 'Foo')
+
+        # Neither has a name
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = ''
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = ''
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.name, '')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = ''
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = ''
+        merged = ds1 + ds2
+        self.assertEqual(merged.name, '')
+
+        # both have a names
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = 'Foo'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = 'Bar'
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        # Just take a peek:
+        ds1 = AlignmentSet(fn1)
+        self.assertEqual(ds1.name, 'Foo')
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.name, 'Foo AND Bar')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = 'Foo'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = 'Bar'
+        merged = ds1 + ds2
+        self.assertEqual(merged.name, 'Foo AND Bar')
+
+        # if the names are the same don't append:
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.name = 'Foo'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.name = 'Foo'
+        merged = ds1 + ds2
+        self.assertEqual(merged.name, 'Foo')
+
+    def test_merged_Tags(self):
+        # First has tags
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = 'Foo Bar'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = ''
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.tags, 'Foo Bar')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = 'Foo Bar'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = ''
+        merged = ds1 + ds2
+        self.assertEqual(merged.tags, 'Foo Bar')
+
+        # Second has tags
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = ''
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = 'Foo Bar'
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.tags, 'Foo Bar')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = ''
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = 'Foo'
+        merged = ds1 + ds2
+        self.assertEqual(merged.tags, 'Foo')
+
+        # Neither has tags
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = ''
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = ''
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.tags, '')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = ''
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = ''
+        merged = ds1 + ds2
+        self.assertEqual(merged.tags, '')
+
+        # both have tags
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = 'Foo Bar'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = 'Baz'
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        # Just take a peek:
+        ds1 = AlignmentSet(fn1)
+        self.assertEqual(ds1.tags, 'Foo Bar')
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.tags, 'Foo Bar Baz')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = 'Foo Bar'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = 'Baz'
+        merged = ds1 + ds2
+        self.assertEqual(merged.tags, 'Foo Bar Baz')
+
+        # both have same tags
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = 'Foo Bar'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = 'Foo Bar'
+        fn1 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        fn2 = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds1.write(fn1)
+        ds2.write(fn2)
+        # Just take a peek:
+        ds1 = AlignmentSet(fn1)
+        self.assertEqual(ds1.tags, 'Foo Bar')
+        merged = AlignmentSet(fn1, fn2)
+        self.assertEqual(merged.tags, 'Foo Bar')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.tags = 'Foo Bar'
+        ds2 = AlignmentSet(data.getXml(11))
+        ds2.tags = 'Foo Bar'
+        merged = ds1 + ds2
+        self.assertEqual(merged.tags, 'Foo Bar')
+
+
     def test_merge_subdatasets(self):
         # from data file
         ds1 = AlignmentSet(data.getBam(0))
@@ -360,6 +619,27 @@ class TestDataSet(unittest.TestCase):
         # The DataSet API
         self.assertTrue(len(sset.index.qId) != 0)
 
+    def test_space_in_filename(self):
+        outdir = tempfile.mkdtemp(suffix="dataset unittest")
+        ofn = os.path.join(outdir, 'spaced.subreadset.xml')
+        ss = SubreadSet(data.getXml(10), strict=True)
+        ss.copyTo(ofn)
+        ss = SubreadSet(ofn, strict=True)
+        for fn in ss.toExternalFiles():
+            assert ' ' in fn
+        ss._modResources(partial(_pathChanger,
+                                 lambda x: ('file://' + quote(x)),
+                                 lambda x: x))
+        # have to dig deep to not get a processed version:
+        for er in ss.externalResources:
+            assert '%20' in er.attrib['ResourceId']
+        # this should have been cleaned for actual use:
+        for fn in ss.toExternalFiles():
+            assert ' ' in fn
+        ss.write(ofn)
+        ss = SubreadSet(ofn, strict=True)
+        shutil.rmtree(outdir)
+
     def test_empty_aligned_bam_index_dtype(self):
         # Make sure the BAM and DataSet APIs are consistent
         empty_bam = data.getEmptyAlignedBam()
@@ -589,7 +869,7 @@ class TestDataSet(unittest.TestCase):
                      "Internal data not available")
     def test_scraps_detection(self):
         path = ('/pbi/dept/secondary/siv/testdata/SA3-Sequel/'
-                'lambda/315/3150128/r54008_20160308_001811/'
+                'lambda/3150128/r54008_20160308_001811/'
                 '2_B01/m54008_160308_053311.')
         subreads = path + 'subreads.bam'
         control = path + 'control.subreads.bam'
@@ -720,12 +1000,21 @@ class TestDataSet(unittest.TestCase):
         shutil.copy(fn_orig, fn1)
         shutil.copy(fn_orig, fn2)
         ds1 = openDataSet(fn1)
+
+        original_uuid = ds1.uuid
+
         ds2 = openDataSet(fn2)
+        ds3 = openDataSet(fn1)
         self.assertEqual(ds1.uuid, ds2.uuid)
         for _ in range(10):
             ds1.newUuid(random=True)
             ds2.newUuid(random=True)
+            ds3.newRandomUuid()
+            for ds in [ds1, ds2, ds3]:
+                self.assertNotEqual(original_uuid, ds.uuid)
+
             self.assertNotEqual(ds1.uuid, ds2.uuid)
+            self.assertNotEqual(ds1.uuid, ds3.uuid)
 
     def test_bad_xml_extension(self):
         fn = tempfile.NamedTemporaryFile(
@@ -1402,10 +1691,10 @@ class TestDataSet(unittest.TestCase):
         aln = AlignmentSet(data.getBam(0))
         readers = aln.resourceReaders()
         self.assertEqual(len(readers[0].referenceInfoTable), 59)
-        self.assertEqual(
-            str(readers[0].referenceInfo('E.faecalis.1')),
-            "(27, 27, 'E.faecalis.1', 'E.faecalis.1', 1482, "
-            "'a1a59c267ac1341e5a12bce7a7d37bcb', 0L, 0L)")
+        obstbl = [readers[0].referenceInfo('E.faecalis.1')]
+        exptbl = [(27, 27, 'E.faecalis.1', 'E.faecalis.1', 1482,
+                   'a1a59c267ac1341e5a12bce7a7d37bcb', 0L, 0L)]
+        self.assertListOfTuplesEqual(obstbl, exptbl)
         # TODO: add a bam with a different referenceInfoTable to check merging
         # and id remapping:
         #self.assertEqual(
@@ -1609,6 +1898,143 @@ class TestDataSet(unittest.TestCase):
             len(ds3.metadata.summaryStats.readLenDist),
             len(ds.metadata.summaryStats.readLenDist))
 
+    def test_distribution_name_accessor(self):
+        exp = ['MovieName', 'MovieLength', 'NumFramesDropped',
+               'NumSequencingZmws', 'TraceFileSize', 'PulseFileSize',
+               'BaseFileSize', 'AdapterDimerFraction', 'ShortInsertFraction',
+               'IsReadsFraction', 'FailedZmwClippedLowFraction',
+               'FailedZmwClippedHighFraction', 'ProdDist', 'ReadTypeDist',
+               'TotalBaseFractionPerChannel', 'TotalBaseFractionPerChannel',
+               'TotalBaseFractionPerChannel', 'TotalBaseFractionPerChannel',
+               'PkMidCVPerChannel', 'PkMidCVPerChannel', 'PkMidCVPerChannel',
+               'PkMidCVPerChannel', 'BaselineLevelDist', 'BaselineLevelDist',
+               'BaselineLevelDist', 'BaselineLevelDist', 'BaselineStdDist',
+               'BaselineStdDist', 'BaselineStdDist', 'BaselineStdDist',
+               'MovieReadQualDist', 'PulseRateDist', 'PulseWidthDist',
+               'BaseRateDist', 'BaseWidthDist', 'BaseIpdDist',
+               'LocalBaseRateDist', 'NumUnfilteredBasecallsDist', 'ReadLenDist',
+               'ReadQualDist', 'HqBaseFractionDist', 'RmBasQvDist',
+               'InsertReadLenDist', 'InsertReadQualDist', 'LocalYieldDist',
+               'LocalSnrDist', 'LocalSnrDist', 'LocalSnrDist', 'LocalSnrDist',
+               'TraceClippedFractionDist', 'TraceClippedFractionDist',
+               'TraceClippedFractionDist', 'TraceClippedFractionDist',
+               'TraceLowClippedFractionDist', 'TraceLowClippedFractionDist',
+               'TraceLowClippedFractionDist', 'TraceLowClippedFractionDist',
+               'TraceHighClippedFractionDist', 'TraceHighClippedFractionDist',
+               'TraceHighClippedFractionDist', 'TraceHighClippedFractionDist',
+               'PausinessDist', 'MedianInsertDist', 'SnrDist', 'SnrDist',
+               'SnrDist', 'SnrDist', 'HqRegionSnrDist', 'HqRegionSnrDist',
+               'HqRegionSnrDist', 'HqRegionSnrDist', 'HqBasPkMidDist',
+               'HqBasPkMidDist', 'HqBasPkMidDist', 'HqBasPkMidDist',
+               'BaselineLevelSequencingDist', 'BaselineLevelSequencingDist',
+               'BaselineLevelSequencingDist', 'BaselineLevelSequencingDist',
+               'BaselineLevelAntiholeDist', 'BaselineLevelAntiholeDist',
+               'BaselineLevelAntiholeDist', 'BaselineLevelAntiholeDist',
+               'BaselineLevelAntimirrorDist', 'BaselineLevelAntimirrorDist',
+               'BaselineLevelAntimirrorDist', 'BaselineLevelAntimirrorDist',
+               'BaselineLevelFiducialDist', 'BaselineLevelFiducialDist',
+               'BaselineLevelFiducialDist', 'BaselineLevelFiducialDist',
+               'SpectralDiagRRDist', 'SpectralDiagRRDist', 'SpectralDiagRRDist',
+               'SpectralDiagRRDist', 'MaxPauseFractionVsT', 'TMaxPauseFraction',
+               'MaxSlopePauseFractionVsT', 'TMaxSlopePauseFraction',
+               'MaxBaseRateRatioVsT', 'TMaxBaseRateRatio',
+               'MaxSlopeBaseRateRatioVsT', 'TMaxSlopeBaseRateRatio',
+               'SgnMaxSlopeBaseRateRatio', 'BaseRateChngStrtToEnd',
+               'YieldCvOverRegions', 'YieldChngCntrToEdge',
+               'SnrRatioEdgeToCntr_0', 'SnrRatioEdgeToCntr_2', 'PauseFractionVsT',
+               'BaseRateRatioVsT']
+        ds = DataSet(data.getBam())
+        ds.loadStats(data.getStats())
+        self.assertEqual(ds.metadata.summaryStats.availableDists(),
+                         exp)
+
+    def test_distribution_accessors(self):
+        ds = DataSet(data.getBam())
+        ds.loadStats(data.getStats())
+
+        dist = ds.metadata.summaryStats.getDist('HqBaseFractionDist')
+        self.assertAlmostEqual(dist[0].sampleMean, 0.8369355201721191, places=3)
+        self.assertTrue(isinstance(dist[0], ContinuousDistribution))
+
+        dist = ds.metadata.summaryStats.getDist('NumUnfilteredBasecallsDist')
+        self.assertAlmostEqual(dist[0].sampleMean, 5481.8447265625, places=3)
+
+        dist = ds.metadata.summaryStats.getDist('NumUnfilteredBasecallsDist')
+        self.assertAlmostEqual(dist[0].sampleMean, 5481.8447265625, places=3)
+
+        dist = ds.metadata.summaryStats.getDist('ProdDist')
+        self.assertTrue(isinstance(dist, DiscreteDistribution))
+
+        dist = ds.metadata.summaryStats.getDist('ProdDist', unwrap=False)
+        self.assertTrue(isinstance(dist[0], DiscreteDistribution))
+
+        dist = ds.metadata.summaryStats.getDist('BaselineLevelDist')
+        self.assertTrue(isinstance(dist['A'][0], ContinuousDistribution))
+
+        dist = ds.metadata.summaryStats.getDist('BaselineLevelDist',
+                                                unwrap=False)
+        self.assertTrue(isinstance(dist['A'][0], ContinuousDistribution))
+
+        # merge two
+        ds2 = DataSet(data.getBam())
+        ds2.loadStats(data.getStats())
+        ds3 = ds + ds2
+
+        # should be unmerged
+        dist = ds3.metadata.summaryStats.getDist('HqBaseFractionDist')
+        self.assertAlmostEqual(dist[0].sampleMean, 0.8369355201721191,
+                               places=3)
+        self.assertTrue(isinstance(dist[0], ContinuousDistribution))
+
+        # should be merged
+        dist = ds3.metadata.summaryStats.getDist('ProdDist')
+        self.assertTrue(isinstance(dist, DiscreteDistribution))
+
+        # should be unmerged channel
+        dist = ds3.metadata.summaryStats.getDist('BaselineLevelDist')
+        self.assertTrue(isinstance(dist['A'][0], ContinuousDistribution))
+
+        # should be same as above (unmerged channel)
+        dist = ds3.metadata.summaryStats.getDist('BaselineLevelDist',
+                                                 unwrap=False)
+        self.assertTrue(isinstance(dist['A'][0], ContinuousDistribution))
+
+        # what about subdatasets?
+        ds4 = SubreadSet(data.getBam())
+        ds5 = SubreadSet(data.getBam())
+        ds4.externalResources[0].sts = data.getStats()
+        ds5.externalResources[0].sts = data.getStats()
+        ds6 = ds4 + ds5
+        # but what happens when we write it out and read it again?
+        fn = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds6.write(fn)
+        ds6re = SubreadSet(fn)
+        dist = ds6re.metadata.summaryStats.getDist('ProdDist')
+        self.assertTrue(isinstance(dist, DiscreteDistribution))
+        dist = ds6re.subdatasets[0].metadata.summaryStats.getDist('ProdDist')
+        # it is empty?! Yeah, we don't want to populate those automatically
+        self.assertEqual(dist, None)
+        # load them manually:
+        ds6re.loadStats()
+        # yaaay, summaryStats.
+        dist = ds6re.subdatasets[0].metadata.summaryStats.getDist('ProdDist')
+        self.assertTrue(isinstance(dist, DiscreteDistribution))
+        # lets just make sure the metadata object is the correct type:
+        self.assertTrue(isinstance(ds6re.subdatasets[0].metadata,
+                                   SubreadSetMetadata))
+
+
+    def test_new_distribution(self):
+        ds = DataSet(data.getBam())
+        ds.loadStats(data.getStats())
+        dist = ds.metadata.summaryStats.getDist('ReadLenDist')
+        self.assertTrue(isinstance(dist, ContinuousDistribution))
+        self.assertAlmostEqual(dist.sampleMean, 4528.69384765625, places=3)
+
+        dist = ds.metadata.summaryStats['HqBaseFractionDist']
+        self.assertTrue(isinstance(dist[0], ContinuousDistribution))
+        self.assertAlmostEqual(dist[0].sampleMean, 0.8369355201721191, places=3)
+
     def test_stats_metadata(self):
         ds = DataSet(data.getBam())
         ds.loadStats(data.getStats())
@@ -1638,6 +2064,9 @@ class TestDataSet(unittest.TestCase):
                          [0, 124, 78, 72, 58, 74, 38, 58, 74, 64, 64, 80, 90,
                           108, 146, 154, 194, 190, 98, 34, 4, 0, 0, 0, 0, 0,
                           0, 0, 0, 0, 0, 0])
+        self.assertEqual(ds3.metadata.summaryStats.readLenDist.sampleSize,
+                         ds1.metadata.summaryStats.readLenDist.sampleSize +
+                         ds2.metadata.summaryStats.readLenDist.sampleSize)
         # Lets check some manual values
         ds1 = DataSet(data.getXml(8))
         ds1.loadStats(data.getStats())
@@ -1655,9 +2084,50 @@ class TestDataSet(unittest.TestCase):
                          [0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1])
         ds2.metadata.summaryStats.readLenDist.minBinValue = 20
         ds2.metadata.summaryStats.readLenDist.binWidth = 10
+        self.assertEqual(ds1.metadata.summaryStats.readLenDist.sampleStd,
+                         2322.805559802698)
+        self.assertEqual(ds2.metadata.summaryStats.readLenDist.sampleStd,
+                         2322.805559802698)
+        self.assertAlmostEqual(
+            ds1.metadata.summaryStats.readLenDist.sampleMean,
+            4528.69384766)
+        self.assertAlmostEqual(
+            ds2.metadata.summaryStats.readLenDist.sampleMean,
+            4528.69384766)
+        self.assertEqual(ds1.metadata.summaryStats.readLenDist.sampleSize,
+                         901)
+        self.assertEqual(ds2.metadata.summaryStats.readLenDist.sampleSize,
+                         901)
         ds3 = ds1 + ds2
         self.assertEqual(ds3.metadata.summaryStats.readLenDist.bins,
                          [0, 10, 10, 9, 8, 7, 5, 3, 2, 1, 0, 1, 1])
+        self.assertEqual(ds1.metadata.summaryStats.readLenDist.sampleSize,
+                         901)
+        self.assertEqual(ds2.metadata.summaryStats.readLenDist.sampleSize,
+                         901)
+        self.assertEqual(ds3.metadata.summaryStats.readLenDist.sampleSize,
+                         ds1.metadata.summaryStats.readLenDist.sampleSize +
+                         ds2.metadata.summaryStats.readLenDist.sampleSize)
+        self.assertAlmostEqual(
+            ds1.metadata.summaryStats.readLenDist.sampleMean,
+            4528.69384766)
+        self.assertAlmostEqual(
+            ds2.metadata.summaryStats.readLenDist.sampleMean,
+            4528.69384766)
+        self.assertAlmostEqual(
+            ds3.metadata.summaryStats.readLenDist.sampleMean,
+            4528.69384766)
+        self.assertEqual(ds1.metadata.summaryStats.readLenDist.sampleStd,
+                         2322.805559802698)
+        self.assertEqual(ds2.metadata.summaryStats.readLenDist.sampleStd,
+                         2322.805559802698)
+        self.assertEqual(ds3.metadata.summaryStats.readLenDist.sampleStd,
+                         2322.16060475)
+        # uses the bins, not the previous values for mean, std, etc.:
+        self.assertEqual(ds3.metadata.summaryStats.readLenDist.sampleMed, 45)
+        self.assertEqual(ds3.metadata.summaryStats.readLenDist.sample95thPct,
+                         105.0)
+
         # now lets swap
         ds1 = DataSet(data.getXml(8))
         ds1.loadStats(data.getStats())
@@ -1699,6 +2169,9 @@ class TestDataSet(unittest.TestCase):
         ds3 = ds1 + ds2
         self.assertEqual(ds3.metadata.summaryStats.readLenDist.bins,
                          [1, 1, 1, 0, 2, 2, 2])
+        self.assertEqual(ds3.metadata.summaryStats.readLenDist.sampleMed, 55)
+        self.assertEqual(ds3.metadata.summaryStats.readLenDist.sample95thPct,
+                         75)
 
         # now lets test the subdataset metadata retention:
         # or not, disabling for performance reasons
@@ -1745,10 +2218,10 @@ class TestDataSet(unittest.TestCase):
         len3 = len(aln)
         self.assertEqual(len1 + len2, len3)
         self.assertEqual(len3, 338114)
-        self.assertEqual(
-            str(aln.referenceInfoTable),
-            ("[ (1, 1, 'lambda_NEB3011', 'lambda_NEB3011', "
-             "48502, 'a1319ff90e994c8190a4fe6569d0822a', 0L, 338113L)]"))
+        obstbl = aln.referenceInfoTable
+        exptbl = [(1, 1, 'lambda_NEB3011', 'lambda_NEB3011',
+                   48502, 'a1319ff90e994c8190a4fe6569d0822a', 0L, 338113L)]
+        self.assertListOfTuplesEqual(obstbl, exptbl)
         self.assertEqual(set(aln.tId), {1})
         # + 1, because bounds are inclusive, rather than exclusive
         self.assertEqual(len3, (aln.referenceInfoTable[0].EndRow -
@@ -1772,12 +2245,12 @@ class TestDataSet(unittest.TestCase):
         len3 = len(aln)
         self.assertEqual(len1 + len2, len3)
         self.assertEqual(len3, 57147)
-        self.assertEqual(
-            str(aln.referenceInfoTable),
-            ("[ (0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013', "
-             "4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 57034L)\n"
-             " (1, 1, 'lambda_NEB3011', 'lambda_NEB3011', 48502, "
-             "'a1319ff90e994c8190a4fe6569d0822a', 57035L, 57146L)]"))
+        obstbl = aln.referenceInfoTable
+        exptbl = [(0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013',
+                   4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 57034L),
+                  (1, 1, 'lambda_NEB3011', 'lambda_NEB3011', 48502,
+                   'a1319ff90e994c8190a4fe6569d0822a', 57035L, 57146L)]
+        self.assertListOfTuplesEqual(obstbl, exptbl)
         self.assertEqual(set(aln.tId), {0, 1})
         # + 1, because bounds are inclusive, rather than exclusive
         self.assertEqual(len1, (aln.referenceInfoTable[1].EndRow -
@@ -1807,10 +2280,10 @@ class TestDataSet(unittest.TestCase):
         len3 = len(aln)
         self.assertEqual(len1 + len2, len3)
         self.assertEqual(len3, 65346)
-        self.assertEqual(
-            str(aln.referenceInfoTable),
-            ("[ (0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013', "
-             "4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 0L)]"))
+        obstbl = aln.referenceInfoTable
+        exptbl = [(0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013',
+                   4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 0L)]
+        self.assertListOfTuplesEqual(obstbl, exptbl)
         self.assertEqual(set(aln.tId), {0})
         self.assertEqual(aln.referenceInfo('ecoliK12_pbi_March2013'),
                          aln.referenceInfo(0))
@@ -1832,14 +2305,20 @@ class TestDataSet(unittest.TestCase):
         len3 = len(aln)
         self.assertEqual(len1 + len2, len3)
         self.assertEqual(len3, 160264)
-        self.assertEqual(
-            str(aln.referenceInfoTable),
-            ("[ (0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013', "
-             "4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 0L)]"))
+        exptbl = [(0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013',
+                   4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 0L)]
+        obstbl = aln.referenceInfoTable
+        self.assertListOfTuplesEqual(obstbl, exptbl)
         self.assertEqual(set(aln.tId), {0})
         self.assertEqual(aln.referenceInfo('ecoliK12_pbi_March2013'),
                          aln.referenceInfo(0))
 
+    def assertListOfTuplesEqual(self, obslot, explot):
+        self.assertEqual(len(obslot), len(explot))
+        for obs, exp in zip(obslot, explot):
+            for o, e in zip(obs, exp):
+                self.assertEqual(o, e)
+
     @unittest.skipIf(not _internal_data(),
                      "Internal data not available")
     def test_two_ref_bam(self):
@@ -1857,12 +2336,12 @@ class TestDataSet(unittest.TestCase):
         self.assertEqual(len3, 57344)
         # TODO(mdsmith)(2016-01-25) I would like to be able to use the startrow
         # and endrow fields for bams someday...
-        self.assertEqual(
-            str(aln.referenceInfoTable),
-            ("[ (0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013', "
-             "4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 0L)\n"
-             " (1, 1, 'lambda_NEB3011', 'lambda_NEB3011', 48502, "
-             "'a1319ff90e994c8190a4fe6569d0822a', 0L, 0L)]"))
+        obstbl = aln.referenceInfoTable
+        exptbl = [(0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013',
+                   4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 0L),
+                  (1, 1, 'lambda_NEB3011', 'lambda_NEB3011', 48502,
+                   'a1319ff90e994c8190a4fe6569d0822a', 0L, 0L)]
+        self.assertListOfTuplesEqual(obstbl, exptbl)
         self.assertEqual(set(aln.tId), {0, 1})
         self.assertEqual(aln.referenceInfo('ecoliK12_pbi_March2013'),
                          aln.referenceInfo(0))
@@ -1891,12 +2370,12 @@ class TestDataSet(unittest.TestCase):
         len4 = len(aln)
         self.assertEqual(len1 + len2 + len3, len4)
         self.assertEqual(len4, 160376)
-        self.assertEqual(
-            str(aln.referenceInfoTable),
-            ("[ (0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013', "
-             "4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 0L)\n"
-             " (1, 1, 'lambda_NEB3011', 'lambda_NEB3011', 48502, "
-             "'a1319ff90e994c8190a4fe6569d0822a', 0L, 0L)]"))
+        obstbl = aln.referenceInfoTable
+        exptbl = [(0, 0, 'ecoliK12_pbi_March2013', 'ecoliK12_pbi_March2013',
+                   4642522, '52cd7c5fa92877152fa487906ae484c5', 0L, 0L),
+                  (1, 1, 'lambda_NEB3011', 'lambda_NEB3011', 48502,
+                   'a1319ff90e994c8190a4fe6569d0822a', 0L, 0L)]
+        self.assertListOfTuplesEqual(obstbl, exptbl)
         self.assertEqual(set(aln.tId), {0, 1})
         self.assertEqual(aln.referenceInfo('ecoliK12_pbi_March2013'),
                          aln.referenceInfo(0))
@@ -2095,3 +2574,29 @@ class TestDataSet(unittest.TestCase):
             sset.write(resXml, validate=False)
             with self.assertRaises(InvalidDataSetIOError):
                 sset = SubreadSet(resXml)
+
+    def test_opening(self):
+        """ Test whether relativizing paths is working. If your subdataset
+        objects contain the same external resource objects as your dataset, and
+        you make everything relative, paths will be relativized twice, making
+        them invalid. """
+        ifn1 = data.getXml(8)
+        ifn2 = data.getXml(11)
+        outdir = tempfile.mkdtemp(suffix="dataset-unittest")
+        ofn = os.path.join(outdir, 'test.alignmentset.xml')
+        log.info(ofn)
+        aset = AlignmentSet(ifn1, ifn2)
+        aset.write(ofn, validate=True,
+                   relPaths=True)
+        naset = AlignmentSet(ofn)
+
+    @skip_if_no_pbtestdata
+    def test_subreadset_get_movie_sample_names(self):
+        ds_file1 = pbtestdata.get_file("subreads-biosample-1")
+        ds_file2 = pbtestdata.get_file("subreads-biosample-2")
+        ds1 = SubreadSet(ds_file1, strict=True)
+        ds2 = SubreadSet(ds_file2, strict=True)
+        self.assertEqual(ds1.getMovieSampleNames(), {"m1": "Alice"})
+        self.assertEqual(ds2.getMovieSampleNames(), {"m2": "Bob"})
+        ds3 = SubreadSet(ds_file1, ds_file2, strict=True)
+        self.assertEqual(ds3.getMovieSampleNames(), {"m1": "Alice", "m2": "Bob"})
diff --git a/tests/test_pbdataset_filters.py b/tests/test_pbdataset_filters.py
index afbbb02..6a15bd4 100644
--- a/tests/test_pbdataset_filters.py
+++ b/tests/test_pbdataset_filters.py
@@ -7,7 +7,8 @@ from unittest.case import SkipTest
 
 import numpy as np
 
-from pbcore.io import DataSet, SubreadSet, ReferenceSet, AlignmentSet
+from pbcore.io import (DataSet, SubreadSet, ReferenceSet, AlignmentSet,
+                       ConsensusReadSet)
 from pbcore.io.dataset.DataSetMembers import Filters
 import pbcore.data.datasets as data
 import pbcore.data as upstreamdata
@@ -69,6 +70,12 @@ class TestDataSetFilters(unittest.TestCase):
         self.assertEqual(len(list(ds2.records)), 87)
         self.assertEqual(len(ds2), 87)
 
+    def test_mapqv_filter(self):
+        ds2 = AlignmentSet(data.getXml(8))
+        self.assertEqual(len(list(ds2.records)), 92)
+        ds2.filters.addRequirement(mapqv=[('>', '128')])
+        self.assertEqual(len(list(ds2.records)), 16)
+
     def test_filter(self):
         ds2 = AlignmentSet(data.getXml(8))
         ds2.filters.addRequirement(rname=[('=', 'E.faecalis.1')])
@@ -78,6 +85,85 @@ class TestDataSetFilters(unittest.TestCase):
         ds2.enableFilters()
         self.assertEqual(len(list(ds2.records)), 20)
 
+    def test_broadcastFilters(self):
+        # test the broadcastFilters function with different numbers of existing
+        # and new filters
+        filt1 = [[('zm', '<', 1000),
+                  ('zm', '>', 0)]]
+        filt2 = [[('zm', '<', 1000),
+                  ('zm', '>', 0)],
+                 [('zm', '<', 2000),
+                  ('zm', '>', '1000')]]
+
+        # no new filters, no existing:
+        ds0 = AlignmentSet(data.getXml(8))
+        ds0.filters.broadcastFilters([])
+        self.assertEqual(str(ds0.filters), '')
+        self.assertEqual(len(list(ds0.records)), 92)
+
+        # no new filters, one existing:
+        ds0 = AlignmentSet(data.getXml(8))
+        ds0.filters.addRequirement(rname=[('=', 'E.faecalis.1')])
+        self.assertEqual(str(ds0.filters), '( rname = E.faecalis.1 )')
+        self.assertEqual(len(list(ds0.records)), 20)
+        ds0.filters.broadcastFilters([])
+        self.assertEqual(str(ds0.filters), '( rname = E.faecalis.1 )')
+        self.assertEqual(len(list(ds0.records)), 20)
+
+        # no existing filters:
+        ds0 = AlignmentSet(data.getXml(8))
+        self.assertEqual(len(list(ds0.records)), 92)
+
+        ds0.filters.broadcastFilters(filt1)
+        self.assertEqual(str(ds0.filters), '( zm < 1000 AND zm > 0 )')
+
+        ds0 = AlignmentSet(data.getXml(8))
+        ds0.filters.broadcastFilters(filt2)
+        self.assertEqual(
+            str(ds0.filters),
+            '( zm < 1000 AND zm > 0 ) OR ( zm < 2000 AND zm > 1000 )')
+
+        # one filter:
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.filters.addRequirement(rname=[('=', 'E.faecalis.1')])
+        self.assertEqual(len(list(ds1.records)), 20)
+
+        ds1.filters.broadcastFilters(filt1)
+        self.assertEqual(
+            str(ds1.filters),
+            '( rname = E.faecalis.1 AND zm < 1000 AND zm > 0 )')
+
+        ds1 = AlignmentSet(data.getXml(8))
+        ds1.filters.addRequirement(rname=[('=', 'E.faecalis.1')])
+        ds1.filters.broadcastFilters(filt2)
+        self.assertEqual(
+            str(ds1.filters),
+            ('( rname = E.faecalis.1 AND zm < 1000 AND zm > 0 ) OR '
+             '( rname = E.faecalis.1 AND zm < 2000 AND zm > 1000 )'))
+
+        # two filters:
+        ds2 = AlignmentSet(data.getXml(8))
+        ds2.filters.addRequirement(rname=[('=', 'E.faecalis.1'),
+                                          ('=', 'E.faecalis.2')])
+        self.assertEqual(len(list(ds2.records)), 23)
+
+        ds2.filters.broadcastFilters(filt1)
+        self.assertEqual(
+            str(ds2.filters),
+            ('( rname = E.faecalis.1 AND zm < 1000 AND zm > 0 ) OR '
+             '( rname = E.faecalis.2 AND zm < 1000 AND zm > 0 )'))
+
+        ds2 = AlignmentSet(data.getXml(8))
+        ds2.filters.addRequirement(rname=[('=', 'E.faecalis.1'),
+                                          ('=', 'E.faecalis.2')])
+        ds2.filters.broadcastFilters(filt2)
+        self.assertEqual(
+            str(ds2.filters),
+            ('( rname = E.faecalis.1 AND zm < 1000 AND zm > 0 ) OR '
+             '( rname = E.faecalis.2 AND zm < 1000 AND zm > 0 ) OR '
+             '( rname = E.faecalis.1 AND zm < 2000 AND zm > 1000 ) OR '
+             '( rname = E.faecalis.2 AND zm < 2000 AND zm > 1000 )'))
+
     def test_context_filters(self):
         ss = SubreadSet(upstreamdata.getUnalignedBam())
         self.assertEqual(set(ss.index.contextFlag), {0, 1, 2, 3})
@@ -204,6 +290,103 @@ class TestDataSetFilters(unittest.TestCase):
         self.assertEqual(len(list(ds2.records)), 1)
         self.assertEqual(len(list(ds2.records)), len(ds2.index))
 
+    def test_file_arg(self):
+        fn = tempfile.NamedTemporaryFile(suffix="filterVals.txt").name
+        log.debug(fn)
+        sset = SubreadSet(data.getXml(10))
+        self.assertEqual(len(sset), 92)
+        size = 10
+        qn = [r.qName for r in sset[:size]]
+        with open(fn, 'w') as ofh:
+            for q in qn:
+                ofh.write(q)
+                ofh.write('\n')
+        good_qn = [('=', fn)]
+        sset.filters.addRequirement(qname=good_qn)
+        self.assertEqual(size, sum(1 for _ in sset))
+        self.assertEqual(size, len(sset))
+        og = set(qn)
+        for r in sset:
+            og.discard(r.qName)
+        self.assertEqual(len(og), 0)
+
+        fn = tempfile.NamedTemporaryFile(suffix="filterVals.txt").name
+        log.debug(fn)
+        sset = SubreadSet(data.getXml(10))
+        self.assertEqual(len(sset), 92)
+        size = 4
+        hn = [r
+              for r in sorted(list(set(sset.index.holeNumber)))[:size]]
+        with open(fn, 'w') as ofh:
+            for h in hn:
+                ofh.write(str(h))
+                ofh.write('\n')
+        good_hn = [('=', fn)]
+        sset.filters.addRequirement(zm=good_hn)
+        self.assertEqual(size, len(set(sset.index.holeNumber)))
+        og = set(hn)
+        for r in sset:
+            og.discard(r.holeNumber)
+        self.assertEqual(len(og), 0)
+
+    @unittest.skipIf(not _internal_data(),
+                     "Internal data not available")
+    def test_qname_css(self):
+        fn = ('/pbi/dept/secondary/siv/testdata/ccs-unittest/'
+              'tiny/little.ccs.bam')
+        sset = ConsensusReadSet(fn)
+
+        self.assertEqual(len(sset), 14)
+        size = 4
+        qn = [r.qName for r in sset[:size]]
+        good_qn = [('=', qn)]
+        sset.filters.addRequirement(qname=good_qn)
+        self.assertEqual(size, sum(1 for _ in sset))
+        self.assertEqual(size, len(sset))
+
+
+    def test_not_in_filter(self):
+        nreads = 92
+        fn = tempfile.NamedTemporaryFile(suffix="filterVals.txt").name
+        log.debug(fn)
+        sset = SubreadSet(data.getXml(10))
+        nzmws = len(set(sset.index.holeNumber))
+        self.assertEqual(len(sset), nreads)
+        size = 10
+        qn = [r.qName for r in sset[:size]]
+        with open(fn, 'w') as ofh:
+            for q in qn:
+                ofh.write(q)
+                ofh.write('\n')
+        good_qn = [('!=', fn)]
+        sset.filters.addRequirement(qname=good_qn)
+        self.assertEqual(nreads - size, sum(1 for _ in sset))
+        self.assertEqual(nreads - size, len(sset))
+        og = set(qn)
+        for r in sset:
+            og.discard(r.qName)
+        self.assertEqual(len(og), size)
+
+        fn = tempfile.NamedTemporaryFile(suffix="filterVals.txt").name
+        log.debug(fn)
+        sset = SubreadSet(data.getXml(10))
+        self.assertEqual(len(sset), nreads)
+        size = 4
+        hn = [r
+              for r in sorted(list(set(sset.index.holeNumber)))[:size]]
+        with open(fn, 'w') as ofh:
+            for h in hn:
+                ofh.write(str(h))
+                ofh.write('\n')
+        good_hn = [('!=', fn)]
+        sset.filters.addRequirement(zm=good_hn)
+        self.assertEqual(nzmws - size, len(set(sset.index.holeNumber)))
+        og = set(hn)
+        for r in sset:
+            og.discard(r.holeNumber)
+        self.assertEqual(len(og), size)
+
+
     @unittest.skipIf(not _internal_data(),
                      "Internal data not available")
     def test_qname_filter_scaling(self):
@@ -216,26 +399,48 @@ class TestDataSetFilters(unittest.TestCase):
                 "SA3-DS/ecoli/2590953/0001/"
                 "Analysis_Results/m140913_005018_42139_c10071"
                 "3652400000001823152404301534_s1_p0.all.subreadset.xml")
+
+        # separate '==' takes 120 seconds to addReq for 10k qnames:
+        """
         sset = SubreadSet(bam0, bam1)
         self.assertEqual(len(sset), 178570)
+        size = 100
+        qn = [r.qName for r in sset[:size]]
+        good_qn = [('=', name) for name in qn]
+        sset.filters.addRequirement(qname=good_qn)
+        #self.assertEqual(size, sum(1 for _ in sset))
+        self.assertEqual(size, len(sset))
+
+        sset = SubreadSet(data.getXml(10))
+        self.assertEqual(len(sset), 92)
         size = 10
         qn = [r.qName for r in sset[:size]]
         good_qn = [('=', name) for name in qn]
         sset.filters.addRequirement(qname=good_qn)
         self.assertEqual(size, sum(1 for _ in sset))
         self.assertEqual(size, len(sset))
+        """
+
+        # "in" takes 1.2 seconds to addReq for 10k qnames:
 
+        sset = SubreadSet(bam0, bam1)
+        self.assertEqual(len(sset), 178570)
+        size = 100
+        qn = [r.qName for r in sset[:size]]
+        good_qn = [('=', qn)]
+        sset.filters.addRequirement(qname=good_qn)
+        #self.assertEqual(size, sum(1 for _ in sset))
+        self.assertEqual(size, len(sset))
 
         sset = SubreadSet(data.getXml(10))
         self.assertEqual(len(sset), 92)
         size = 10
         qn = [r.qName for r in sset[:size]]
-        good_qn = [('=', name) for name in qn]
+        good_qn = [('=', qn)]
         sset.filters.addRequirement(qname=good_qn)
         self.assertEqual(size, sum(1 for _ in sset))
         self.assertEqual(size, len(sset))
 
-
     @unittest.skipIf(not _internal_data(),
                      "Internal data not available")
     def test_movie_filter(self):
@@ -350,6 +555,12 @@ class TestDataSetFilters(unittest.TestCase):
         aln.filters.addRequirement(qname=[('in', qnames)])
         self.assertEqual(len(list(aln)), 10)
 
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        qnames = [r.qName for r in aln[:1]]
+        aln.filters.addRequirement(qname=[('in', qnames)])
+        self.assertEqual(len(list(aln)), 1)
+
         fn = tempfile.NamedTemporaryFile(suffix="alignmentset.xml").name
         aln = AlignmentSet(data.getXml(12))
         self.assertEqual(len(list(aln)), 177)
@@ -360,6 +571,63 @@ class TestDataSetFilters(unittest.TestCase):
         aln2 = AlignmentSet(fn)
         self.assertEqual(len(list(aln2)), 5)
 
+    def test_membership_filter_with_equal_operator(self):
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        hns = np.unique(aln.index.holeNumber)[:1]
+        aln.filters.addRequirement(zm=[('=', hns)])
+        self.assertEqual(len(list(aln)), 5)
+
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        hns = np.unique(aln.index.holeNumber)
+        aln.filters.addRequirement(zm=[('==', hns)])
+        self.assertEqual(len(list(aln)), 177)
+
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        hns = np.unique(aln.index.holeNumber)
+        hns = [n for _ in range(10000) for n in hns]
+        hns = np.array(hns)
+        aln.filters.addRequirement(zm=[('==', hns)])
+        self.assertEqual(len(list(aln)), 177)
+
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        hns = np.unique(aln.index.holeNumber)[:1]
+        hns = list(hns)
+        aln.filters.addRequirement(zm=[('==', hns)])
+        self.assertEqual(len(list(aln)), 5)
+
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        hns = np.unique(aln.index.holeNumber)[:1]
+        hns = set(hns)
+        aln.filters.addRequirement(zm=[('==', hns)])
+        self.assertEqual(len(list(aln)), 5)
+
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        qnames = [r.qName for r in aln[:10]]
+        aln.filters.addRequirement(qname=[('==', qnames)])
+        self.assertEqual(len(list(aln)), 10)
+
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        qnames = [r.qName for r in aln[:1]]
+        aln.filters.addRequirement(qname=[('==', qnames)])
+        self.assertEqual(len(list(aln)), 1)
+
+        fn = tempfile.NamedTemporaryFile(suffix="alignmentset.xml").name
+        aln = AlignmentSet(data.getXml(12))
+        self.assertEqual(len(list(aln)), 177)
+        hns = np.unique(aln.index.holeNumber)[:1]
+        aln.filters.addRequirement(zm=[('==', hns)])
+        aln.write(fn)
+        aln.close()
+        aln2 = AlignmentSet(fn)
+        self.assertEqual(len(list(aln2)), 5)
+
     def test_contigset_filter(self):
         ref = ReferenceSet(data.getXml(9))
         self.assertEqual(len(list(ref)), 59)
diff --git a/tests/test_pbdataset_metadata.py b/tests/test_pbdataset_metadata.py
index e20f7c1..a244f23 100644
--- a/tests/test_pbdataset_metadata.py
+++ b/tests/test_pbdataset_metadata.py
@@ -3,6 +3,8 @@ import logging
 import unittest
 import tempfile
 import copy
+import os
+from collections import Counter
 
 from pbcore.io import SubreadSet, AlignmentSet
 from pbcore.io.dataset.DataSetErrors import InvalidDataSetIOError
@@ -20,8 +22,19 @@ class TestDataSet(unittest.TestCase):
 
     def test_existing(self):
         ds = SubreadSet(data.getSubreadSet(), skipMissing=True)
-        self.assertEqual(ds.metadata.bioSamples[0].name,
-                         'consectetur purus')
+        # check that we aren't adding any additional biosamples elements:
+        self.assertEqual(
+            Counter(
+                ds.metadata.collections[0].wellSample.tags)['BioSamples'],
+            1)
+        self.assertEqual(
+            ds.metadata.collections[0].wellSample.bioSamples[0].name,
+            'consectetur purus')
+
+        self.assertEqual(
+            ds.metadata.collections[
+                0].wellSample.bioSamples[0].DNABarcodes[0].name,
+            'F1--R1')
 
         self.assertTrue(ds.metadata.collections[0].getV('children',
                                                         'Automation'))
@@ -69,8 +82,35 @@ class TestDataSet(unittest.TestCase):
         ss.metadata.collections[0].wellSample.concentration = 'baz'
         self.assertEqual('baz',
                          ss.metadata.collections[0].wellSample.concentration)
+
+        # There are no existing biosamples:
+        self.assertFalse(
+            'BioSamples' in ss.metadata.collections[0].wellSample.tags)
+        # Therefore the metadata is falsy
+        self.assertFalse(ss.metadata.collections[0].wellSample.bioSamples)
+
+        ss.metadata.collections[0].wellSample.bioSamples.addSample('Clown')
+        self.assertEqual(
+            'Clown',
+            ss.metadata.collections[0].wellSample.bioSamples[0].name)
+
+        ss.metadata.collections[
+                0].wellSample.bioSamples[0].DNABarcodes.addBarcode('Dentist')
+        self.assertEqual(
+            'Dentist',
+            ss.metadata.collections[
+                0].wellSample.bioSamples[0].DNABarcodes[0].name)
+
+        # check that we are adding one additional biosamples element:
+        self.assertEqual(
+            Counter(
+                ss.metadata.collections[0].wellSample.tags)['BioSamples'],
+            1)
+        # Therefore the metadata is truthy
+        self.assertTrue(ss.metadata.collections[0].wellSample.bioSamples)
         ss.write(ofn, validate=False)
 
+
     @unittest.skipIf(not _internal_data(),
                      "Internal data not available")
     def test_loadMetadata(self):
@@ -90,7 +130,6 @@ class TestDataSet(unittest.TestCase):
         sset.loadMetadata('/pbi/dept/secondary/siv/testdata/'
                           'SA3-Sequel/lambda/roche_SAT/'
                           'm54013_151205_032353.run.metadata.xml')
-        stack = zip(sset.metadata, orig_metadata)
         fn = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
         sset.write(fn)
         validateFile(fn)
@@ -112,3 +151,17 @@ class TestDataSet(unittest.TestCase):
                               'm54013_151205_032353.sts.xml')
 
 
+    def test_uuid(self):
+        ds = AlignmentSet()
+        old = ds.uuid
+        _ = ds.newUuid()
+        self.assertNotEqual(old, ds.uuid)
+
+        aln = AlignmentSet(data.getXml(no=8))
+        oldUuid = aln.uuid
+        outdir = tempfile.mkdtemp(suffix="dataset-doctest")
+        outXml = os.path.join(outdir, 'tempfile.xml')
+        aln.write(outXml)
+        aln = AlignmentSet(outXml)
+        self.assertEqual(aln.uuid, oldUuid)
+
diff --git a/tests/test_pbdataset_split.py b/tests/test_pbdataset_split.py
index 9ca3b26..e98a1bf 100644
--- a/tests/test_pbdataset_split.py
+++ b/tests/test_pbdataset_split.py
@@ -18,6 +18,15 @@ from utils import _pbtestdata, _check_constools, _internal_data
 
 log = logging.getLogger(__name__)
 
+
+def skip_if_not_internal():
+    # this should probably be centralized within utils
+    def wrapper(f):
+        return unittest.skipUnless(os.path.isdir("/pbi/dept/secondary/siv/testdata"),
+                                   "Missing internal testadata directory")(f)
+    return wrapper
+
+
 class TestDataSetSplit(unittest.TestCase):
     """Unit and integrationt tests for the DataSet class and \
     associated module functions"""
@@ -103,6 +112,48 @@ class TestDataSetSplit(unittest.TestCase):
                 ds1.index.holeNumber < rg[1],
                 ds1.index.holeNumber > rg[0]))[0]), 0)
 
+    def test_split_zmws_targetsize(self):
+        N_RECORDS = 117
+        N_ZMWS = 48
+        test_file = upstreamdata.getUnalignedBam()
+        ds1 = openDataFile(test_file)
+        self.assertEqual(len([r for r in ds1]), N_RECORDS)
+        self.assertEqual(len(ds1), N_RECORDS)
+        self.assertEqual(len(set(ds1.index.holeNumber)), N_ZMWS)
+
+        # with no split
+        dss = ds1.split(targetSize=1000, zmws=True)
+        self.assertEqual(len(dss), 1)
+        self.assertEqual(sum([len([r for r in ds_]) for ds_ in dss]),
+                         N_RECORDS)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         N_RECORDS)
+        exp = [48]
+        obs = sorted([len(set(ds.index.holeNumber)) for ds in dss])
+        self.assertListEqual(exp, obs)
+
+        # with a split
+        dss = ds1.split(targetSize=25, zmws=True)
+        self.assertEqual(len(dss), 2)
+        self.assertEqual(sum([len([r for r in ds_]) for ds_ in dss]),
+                         N_RECORDS)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         N_RECORDS)
+        exp = [24, 24]
+        obs = sorted([len(set(ds.index.holeNumber)) for ds in dss])
+        self.assertListEqual(exp, obs)
+
+        # with a split
+        dss = ds1.split(targetSize=5, zmws=True)
+        self.assertEqual(len(dss), 10)
+        self.assertEqual(sum([len([r for r in ds_]) for ds_ in dss]),
+                         N_RECORDS)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         N_RECORDS)
+        exp = [4, 4, 5, 5, 5, 5, 5, 5, 5, 5]
+        obs = sorted([len(set(ds.index.holeNumber)) for ds in dss])
+        self.assertListEqual(exp, obs)
+
     #@unittest.skipUnless(os.path.isdir("/pbi/dept/secondary/siv/testdata"),
     #                     "Missing testadata directory")
     @unittest.skip("Too expensive")
@@ -125,11 +176,11 @@ class TestDataSetSplit(unittest.TestCase):
         self.assertEqual(
             dss[0].zmwRanges,
             [('m150404_101626_42267_c100807920800000001823174110291514_s1_p0',
-              7, 14007)])
+              7, 14009)])
         self.assertEqual(
             dss[-1].zmwRanges,
             [('m150404_101626_42267_c100807920800000001823174110291514_s1_p0',
-              149876, 163475)])
+              149881, 163475)])
         ranges = sorted([c.zmwRanges[0][1:] for c in dss])
         interspans = []
         last = None
@@ -143,9 +194,7 @@ class TestDataSetSplit(unittest.TestCase):
                 ds1.index.holeNumber < rg[1],
                 ds1.index.holeNumber > rg[0]))[0]), 0)
 
-
-    @unittest.skipUnless(os.path.isdir("/pbi/dept/secondary/siv/testdata"),
-                         "Missing testadata directory")
+    @skip_if_not_internal()
     def test_multi_movie_split_zmws(self):
         N_RECORDS = 1745161
         test_file_1 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
@@ -172,12 +221,221 @@ class TestDataSetSplit(unittest.TestCase):
         self.assertEqual(
             dss[0].zmwRanges,
             [('m150404_101626_42267_c100807920800000001823174110291514_s1_p0',
-              7, 22098)])
+              7, 22099)])
+        self.assertEqual(
+            dss[-1].zmwRanges,
+            [('m141115_075238_ethan_c100699872550000001823139203261572_s1_p0',
+              127819, 163468)])
+
+    @skip_if_not_internal()
+    def test_multi_movie_split_zmws_existing_simple_filters(self):
+        N_RECORDS = 1745161
+        test_file_1 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
+                       "2372215/0007/Analysis_Results/m150404_101626_42"
+                       "267_c100807920800000001823174110291514_s1_p0.al"
+                       "l.subreadset.xml")
+        test_file_2 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
+                       "2590980/0008/Analysis_Results/m141115_075238_et"
+                       "han_c100699872550000001823139203261572_s1_p0.al"
+                       "l.subreadset.xml")
+        ds1 = SubreadSet(test_file_1, test_file_2)
+        # used to get total:
+        #self.assertEqual(sum(1 for _ in ds1), N_RECORDS)
+        self.assertEqual(len(ds1), N_RECORDS)
+        ds1.filters.addRequirement(rq=[('>', '0.7'), ('<', '0.5')])
+        FILT_RECORDS = 1732613
+        self.assertEqual(len(ds1), FILT_RECORDS)
+        ds1._index = None
+        ds1.updateCounts()
+        self.assertEqual(len(ds1), FILT_RECORDS)
+
+        dss = ds1.split(chunks=1, zmws=True)
+        dss[0]._index = None
+        dss[0].updateCounts()
+
+        self.assertEqual(len(dss), 1)
+        self.assertEqual(len(dss[0]), FILT_RECORDS)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         FILT_RECORDS)
+
+        dss = ds1.split(chunks=12, zmws=True)
+        self.assertEqual(len(dss), 12)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         FILT_RECORDS)
+        self.assertEqual(
+            dss[0].zmwRanges,
+            [('m150404_101626_42267_c100807920800000001823174110291514_s1_p0',
+              7, 22073)])
+        self.assertEqual(
+            dss[-1].zmwRanges,
+            [('m141115_075238_ethan_c100699872550000001823139203261572_s1_p0',
+              127695, 163468)])
+
+    @skip_if_not_internal()
+    def test_multi_movie_split_zmws_existing_filters(self):
+        N_RECORDS = 1745161
+        test_file_1 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
+                       "2372215/0007/Analysis_Results/m150404_101626_42"
+                       "267_c100807920800000001823174110291514_s1_p0.al"
+                       "l.subreadset.xml")
+        test_file_2 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
+                       "2590980/0008/Analysis_Results/m141115_075238_et"
+                       "han_c100699872550000001823139203261572_s1_p0.al"
+                       "l.subreadset.xml")
+        ds1 = SubreadSet(test_file_1, test_file_2)
+        # used to get total:
+        #self.assertEqual(sum(1 for _ in ds1), N_RECORDS)
+        self.assertEqual(len(ds1), N_RECORDS)
+        ds1.filters.addRequirement(
+            movie=[('=',
+                'm150404_101626_42267_c100807920800000001823174110291514_s1_p0'),
+                   ('=',
+                'm141115_075238_ethan_c100699872550000001823139203261572_s1_p0')],
+            zm=[('>', 10), ('>', 127900)])
+        ds1.filters.mapRequirement(
+            zm=[('<', 10000), ('<', 140000)])
+        FILT_RECORDS = 117776
+        self.assertEqual(len(ds1), FILT_RECORDS)
+        ds1._index = None
+        ds1.updateCounts()
+        self.assertEqual(len(ds1), FILT_RECORDS)
+
+        dss = ds1.split(chunks=1, zmws=True)
+
+        self.assertEqual(len(dss), 1)
+        self.assertEqual(len(dss[0]), FILT_RECORDS)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         FILT_RECORDS)
+
+        dss = ds1.split(chunks=12, zmws=True)
+        self.assertEqual(len(dss), 12)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         FILT_RECORDS)
+        self.assertEqual(
+            dss[0].zmwRanges,
+            [('m150404_101626_42267_c100807920800000001823174110291514_s1_p0',
+              11, 1515)])
         self.assertEqual(
             dss[-1].zmwRanges,
             [('m141115_075238_ethan_c100699872550000001823139203261572_s1_p0',
-              127814, 163468)])
+              137634, 139999)])
+
+    @skip_if_not_internal()
+    def test_movie_split(self):
+        N_RECORDS = 1745161
+        N_RECORDS_1 = 959539
+        N_RECORDS_2 = 785622
+        test_file_1 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
+                       "2372215/0007/Analysis_Results/m150404_101626_42"
+                       "267_c100807920800000001823174110291514_s1_p0.al"
+                       "l.subreadset.xml")
+        test_file_2 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
+                       "2590980/0008/Analysis_Results/m141115_075238_et"
+                       "han_c100699872550000001823139203261572_s1_p0.al"
+                       "l.subreadset.xml")
+        ds1 = SubreadSet(test_file_1, test_file_2)
+        # used to get total:
+        #self.assertEqual(sum(1 for _ in ds1), N_RECORDS)
+        self.assertEqual(len(ds1), N_RECORDS)
+        dss = ds1.split_movies(1)
+        self.assertEqual(len(dss), 1)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         N_RECORDS)
+        self.assertEqual(len(ds1), N_RECORDS)
+        self.assertFalse(ds1.filters)
+
+        dss = ds1.split_movies(12)
+        self.assertEqual(len(dss), 2)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         N_RECORDS)
+        self.assertEqual(len(set(dss[0].index.qId)), 1)
+        self.assertEqual(len(set(dss[-1].index.qId)), 1)
+        self.assertEqual(
+            dss[0].qid2mov[list(set(dss[0].index.qId))[0]],
+            'm150404_101626_42267_c100807920800000001823174110291514_s1_p0')
+        self.assertEqual(len(dss[0]), N_RECORDS_1)
+        self.assertEqual(
+            dss[-1].qid2mov[list(set(dss[-1].index.qId))[0]],
+            'm141115_075238_ethan_c100699872550000001823139203261572_s1_p0')
+        self.assertEqual(len(dss[-1]), N_RECORDS_2)
+
+    @skip_if_not_internal()
+    def test_split_references(self):
+        test_file_1 = ('/pbi/dept/secondary/siv/testdata/SA3-RS/lambda/'
+                       '2372215/0007_tiny/Alignment_Results/m150404_1016'
+                       '26_42267_c100807920800000001823174110291514_s1_p'
+                       '0.1.aligned.bam')
+        test_file_2 = ('/pbi/dept/secondary/siv/testdata/SA3-Sequel/ecoli/'
+                       '315/3150204/r54049_20160508_152025/1_A01/Alignment'
+                       '_Results/m54049_160508_155917.alignmentset.xml')
+        test_file_3 = ('/pbi/dept/secondary/siv/testdata/SA3-RS/ecoli/'
+                       'tiny-multimovie/Alignment_Results/'
+                       'combined.alignmentset.xml')
+        NREC1 = len(AlignmentSet(test_file_1))
+        NREC2 = len(AlignmentSet(test_file_2))
+        NREC3 = len(AlignmentSet(test_file_3))
+        NREC = NREC1 + NREC2 + NREC3
+        self.assertNotEqual(NREC1, 0)
+        self.assertNotEqual(NREC2, 0)
+        self.assertNotEqual(NREC3, 0)
+        self.assertNotEqual(NREC, 0)
+        ds1 = AlignmentSet(test_file_1, test_file_2, test_file_3)
+        # used to get total:
+        #self.assertEqual(sum(1 for _ in ds1), N_RECORDS)
+        self.assertEqual(len(ds1), NREC)
+        dss = ds1.split_references(1)
+        self.assertEqual(len(dss), 1)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]), NREC)
+        self.assertEqual(len(ds1), NREC)
+        self.assertFalse(ds1.filters)
 
+        dss = ds1.split_references(12)
+        self.assertEqual(len(dss), 2)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         NREC)
+        self.assertEqual(len(set(dss[0].index.tId)), 1)
+        self.assertEqual(len(set(dss[-1].index.tId)), 1)
+        self.assertEqual(
+            dss[0].tid2rname[list(set(dss[0].index.tId))[0]],
+            'ecoliK12_pbi_March2013')
+        self.assertEqual(len(dss[0]), NREC2 + NREC3)
+        self.assertEqual(
+            dss[-1].tid2rname[list(set(dss[-1].index.tId))[0]],
+            'lambda_NEB3011')
+        self.assertEqual(len(dss[-1]), NREC1)
+
+    @skip_if_not_internal()
+    def test_multi_movie_split_zmws_with_existing_movie_filter(self):
+        # TODO: test with three movies and two chunks
+        N_RECORDS = 959539
+        test_file_1 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
+                       "2372215/0007/Analysis_Results/m150404_101626_42"
+                       "267_c100807920800000001823174110291514_s1_p0.al"
+                       "l.subreadset.xml")
+        test_file_2 = ("/pbi/dept/secondary/siv/testdata/SA3-DS/lambda/"
+                       "2590980/0008/Analysis_Results/m141115_075238_et"
+                       "han_c100699872550000001823139203261572_s1_p0.al"
+                       "l.subreadset.xml")
+        ds1 = SubreadSet(test_file_1, test_file_2)
+        dss = ds1.split_movies(2)
+        self.assertEqual(len(dss), 2)
+        ds1 = dss[0]
+        # used to get total:
+        #self.assertEqual(sum(1 for _ in ds1), N_RECORDS)
+        self.assertEqual(len(ds1), N_RECORDS)
+        dss = ds1.split(chunks=1, zmws=True)
+        self.assertEqual(len(dss), 1)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         N_RECORDS)
+
+        dss = ds1.split(chunks=12, zmws=True)
+        self.assertEqual(len(dss), 12)
+        self.assertEqual(sum([len(ds_) for ds_ in dss]),
+                         N_RECORDS)
+        for ds in dss:
+            self.assertEqual(
+                ds.zmwRanges[0][0],
+                'm150404_101626_42267_c100807920800000001823174110291514_s1_p0')
 
     @SkipTest
     def test_split_by_contigs_presplit(self):
@@ -439,16 +697,13 @@ class TestDataSetSplit(unittest.TestCase):
         sset = SubreadSet(human)
         ssets = sset.split(zmws=True, maxChunks=5)
 
-    @unittest.skipIf(not _internal_data(),
-                     "Internal data not found, skipping")
     def test_subreadset_split_metadata_element_name(self):
         fn = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
         log.debug(fn)
-        sset = SubreadSet("/pbi/dept/secondary/siv/testdata/"
-                          "SA3-Sequel/phi29/315/3150101/"
-                          "r54008_20160219_002905/1_A01/"
-                          "m54008_160219_003234.subreadset.xml")
+        sset = SubreadSet(data.getXml(10),
+                          data.getXml(13))
         chunks = sset.split(chunks=5, zmws=False, ignoreSubDatasets=True)
+        self.assertEqual(len(chunks), 2)
         chunks[0].write(fn)
 
     def test_contigset_split(self):
@@ -470,8 +725,37 @@ class TestDataSetSplit(unittest.TestCase):
         self.assertEqual(len(hdfdss[0].toExternalFiles()), 2)
         self.assertEqual(len(hdfdss[1].toExternalFiles()), 1)
 
-    @unittest.skipIf(not _internal_data(),
-                     "Internal data not found, skipping")
+    @unittest.skipIf((not _internal_data() or not _check_constools()),
+                     "Internal data or binaries not found, skipping")
+    def test_isBarcoded(self):
+        empty = upstreamdata.getEmptyBam()
+        nonempty = ('/pbi/dept/secondary/siv/testdata/'
+                    'pblaa-unittest/Sequel/Phi29/m54008_160219_003234'
+                    '.tiny.subreadset.xml')
+
+        # One empty one non empty
+        sset = SubreadSet(nonempty, empty, skipMissing=True)
+        self.assertTrue(sset.isBarcoded)
+
+        # Just nonempty
+        sset = SubreadSet(nonempty, skipMissing=True)
+        self.assertEqual(len(sset), 15133)
+        self.assertTrue(sset.isBarcoded)
+
+        # Just empty
+        #   This is crazy, the pbi must be out of date:
+        sset = SubreadSet(empty)
+        self.assertEqual(len(sset), 0)
+        self.assertTrue(sset.isBarcoded)
+        #   To confirm current behavior, I will regenerate the pbi with a
+        #   current pbindex:
+        efn = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        log.info("Copying to {}".format(efn))
+        sset.copyTo(efn)
+        sset.induceIndices(force=True)
+        self.assertFalse(sset.isBarcoded)
+
+    @skip_if_not_internal()
     def test_barcode_split_cornercases(self):
         fn = ('/pbi/dept/secondary/siv/testdata/'
               'pblaa-unittest/Sequel/Phi29/m54008_160219_003234'
@@ -504,3 +788,37 @@ class TestDataSetSplit(unittest.TestCase):
         sset.updateCounts()
         self.assertEqual(len(sset), 4710)
 
+    @skip_if_not_internal()
+    def test_barcode_split_maxChunks(self):
+        fn = ('/pbi/dept/secondary/siv/testdata/'
+              'pblaa-unittest/Sequel/Phi29/m54008_160219_003234'
+              '.tiny.subreadset.xml')
+        sset = SubreadSet(fn, skipMissing=True)
+        ssets = sset.split(maxChunks=2, barcodes=True)
+        self.assertEqual([str(ss.filters) for ss in ssets],
+                         ["( bc = [0, 0] )",
+                          "( bc = [1, 1] ) OR ( bc = [2, 2] )"])
+        sset = SubreadSet(fn, skipMissing=True)
+        self.assertEqual(len(sset), 15133)
+        sset.filters = None
+        self.assertEqual(str(sset.filters), "")
+        sset.updateCounts()
+        self.assertEqual(len(sset), 2667562)
+
+
+        sset.filters = ssets[0].filters
+        self.assertEqual(str(sset.filters), "( bc = [0, 0] )")
+        sset.updateCounts()
+        self.assertEqual(len(sset), 5370)
+
+        sset.filters = None
+        self.assertEqual(str(sset.filters), "")
+        sset.updateCounts()
+        self.assertEqual(len(sset), 2667562)
+
+        sset.filters = ssets[1].filters
+        self.assertEqual(str(sset.filters),
+                         "( bc = [1, 1] ) OR ( bc = [2, 2] )")
+        sset.updateCounts()
+        self.assertEqual(len(sset), 9763)
+
diff --git a/tests/test_pbdataset_subtypes.py b/tests/test_pbdataset_subtypes.py
index 9d74aeb..c27d6c5 100644
--- a/tests/test_pbdataset_subtypes.py
+++ b/tests/test_pbdataset_subtypes.py
@@ -8,8 +8,7 @@ import itertools
 import xml.etree.ElementTree as ET
 
 from pbcore.util.Process import backticks
-from pbcore.io.dataset.utils import (consolidateBams, _infixFname,
-                                     BamtoolsVersion, consolidateXml)
+from pbcore.io.dataset.utils import _infixFname, consolidateXml
 from pbcore.io import (SubreadSet, ConsensusReadSet,
                        ReferenceSet, ContigSet, AlignmentSet, BarcodeSet,
                        FastaReader, FastaWriter, IndexedFastaReader,
@@ -19,30 +18,10 @@ from pbcore.io import (SubreadSet, ConsensusReadSet,
 import pbcore.data as upstreamData
 import pbcore.data.datasets as data
 from pbcore.io.dataset.DataSetValidator import validateXml
+from utils import _check_constools, _internal_data
 
 log = logging.getLogger(__name__)
 
-def _check_constools():
-    if not BamtoolsVersion().good:
-        log.warn("Bamtools not found or out of date")
-        return False
-
-    cmd = "pbindex"
-    o, r, m = backticks(cmd)
-    if r != 1:
-        return False
-
-    cmd = "samtools"
-    o, r, m = backticks(cmd)
-    if r != 1:
-        return False
-    return True
-
-def _internal_data():
-    if os.path.exists("/pbi/dept/secondary/siv/testdata"):
-        return True
-    return False
-
 class TestDataSet(unittest.TestCase):
     """Unit and integrationt tests for the DataSet class and \
     associated module functions"""
@@ -297,60 +276,73 @@ class TestDataSet(unittest.TestCase):
 
     @unittest.skipIf(not _check_constools(),
                      "bamtools or pbindex not found, skipping")
-    def test_pbmerge_indexing(self):
+    def test_pbmerge(self):
         log.debug("Test through API")
         aln = AlignmentSet(data.getXml(12))
         self.assertEqual(len(aln.toExternalFiles()), 2)
         outdir = tempfile.mkdtemp(suffix="dataset-unittest")
         outfn = os.path.join(outdir, 'merged.bam')
         log.info(outfn)
+
         consolidateXml(aln, outfn, cleanup=False)
         self.assertTrue(os.path.exists(outfn))
         self.assertTrue(os.path.exists(outfn + '.pbi'))
         cons = AlignmentSet(outfn)
         self.assertEqual(len(aln), len(cons))
         orig_stats = os.stat(outfn + '.pbi')
+
         cons.externalResources[0].pbi = None
         self.assertEqual(None, cons.externalResources[0].pbi)
         cons.induceIndices()
         self.assertEqual(outfn + '.pbi', cons.externalResources[0].pbi)
         self.assertEqual(orig_stats, os.stat(cons.externalResources[0].pbi))
+
         cons.externalResources[0].pbi = None
         self.assertEqual(None, cons.externalResources[0].pbi)
         cons.induceIndices(force=True)
         self.assertNotEqual(orig_stats, os.stat(cons.externalResources[0].pbi))
 
-    @unittest.skipIf(not _check_constools(),
-                     "bamtools or pbindex not found, skipping")
-    def test_alignmentset_consolidate(self):
-        log.debug("Test methods directly")
         aln = AlignmentSet(data.getXml(12))
         self.assertEqual(len(aln.toExternalFiles()), 2)
         outdir = tempfile.mkdtemp(suffix="dataset-unittest")
         outfn = os.path.join(outdir, 'merged.bam')
-        consolidateBams(aln.toExternalFiles(), outfn, filterDset=aln,
-                        useTmp=False)
+        log.info(outfn)
+
+        consolidateXml(aln, outfn, cleanup=False, useTmp=False)
         self.assertTrue(os.path.exists(outfn))
-        consAln = AlignmentSet(outfn)
-        self.assertEqual(len(consAln.toExternalFiles()), 1)
-        for read1, read2 in zip(sorted(list(aln)), sorted(list(consAln))):
-            self.assertEqual(read1, read2)
-        self.assertEqual(len(aln), len(consAln))
+        self.assertTrue(os.path.exists(outfn + '.pbi'))
+        cons = AlignmentSet(outfn)
+        self.assertEqual(len(aln), len(cons))
+        orig_stats = os.stat(outfn + '.pbi')
 
-        log.debug("Test methods directly in tmp")
+    @unittest.skipIf(not _check_constools(),
+                     "bamtools or pbindex not found, skipping")
+    def test_pbmerge_indexing(self):
+        log.debug("Test through API")
         aln = AlignmentSet(data.getXml(12))
         self.assertEqual(len(aln.toExternalFiles()), 2)
         outdir = tempfile.mkdtemp(suffix="dataset-unittest")
         outfn = os.path.join(outdir, 'merged.bam')
-        consolidateBams(aln.toExternalFiles(), outfn, filterDset=aln,
-                        useTmp=True)
+        log.info(outfn)
+        consolidateXml(aln, outfn, cleanup=False)
         self.assertTrue(os.path.exists(outfn))
-        consAln = AlignmentSet(outfn)
-        self.assertEqual(len(consAln.toExternalFiles()), 1)
-        for read1, read2 in zip(sorted(list(aln)), sorted(list(consAln))):
-            self.assertEqual(read1, read2)
-        self.assertEqual(len(aln), len(consAln))
+        self.assertTrue(os.path.exists(outfn + '.pbi'))
+        cons = AlignmentSet(outfn)
+        self.assertEqual(len(aln), len(cons))
+        orig_stats = os.stat(outfn + '.pbi')
+        cons.externalResources[0].pbi = None
+        self.assertEqual(None, cons.externalResources[0].pbi)
+        cons.induceIndices()
+        self.assertEqual(outfn + '.pbi', cons.externalResources[0].pbi)
+        self.assertEqual(orig_stats, os.stat(cons.externalResources[0].pbi))
+        cons.externalResources[0].pbi = None
+        self.assertEqual(None, cons.externalResources[0].pbi)
+        cons.induceIndices(force=True)
+        self.assertNotEqual(orig_stats, os.stat(cons.externalResources[0].pbi))
 
+    @unittest.skipIf(not _check_constools(),
+                     "bamtools or pbindex not found, skipping")
+    def test_alignmentset_consolidate(self):
         log.debug("Test through API")
         aln = AlignmentSet(data.getXml(12))
         self.assertEqual(len(aln.toExternalFiles()), 2)
@@ -493,19 +485,6 @@ class TestDataSet(unittest.TestCase):
     @unittest.skipIf(not _check_constools(),
                      "bamtools or pbindex not found, skipping")
     def test_subreadset_consolidate(self):
-        log.debug("Test methods directly")
-        aln = SubreadSet(data.getXml(10), data.getXml(13))
-        self.assertEqual(len(aln.toExternalFiles()), 2)
-        outdir = tempfile.mkdtemp(suffix="dataset-unittest")
-        outfn = os.path.join(outdir, 'merged.bam')
-        consolidateBams(aln.toExternalFiles(), outfn, filterDset=aln)
-        self.assertTrue(os.path.exists(outfn))
-        consAln = SubreadSet(outfn)
-        self.assertEqual(len(consAln.toExternalFiles()), 1)
-        for read1, read2 in zip(sorted(list(aln)), sorted(list(consAln))):
-            self.assertEqual(read1, read2)
-        self.assertEqual(len(aln), len(consAln))
-
         log.debug("Test through API")
         aln = SubreadSet(data.getXml(10), data.getXml(13))
         self.assertEqual(len(aln.toExternalFiles()), 2)
@@ -670,6 +649,7 @@ class TestDataSet(unittest.TestCase):
               '823139203261572_s1_p0.1.subreads.fastq')
         fq_out = tempfile.NamedTemporaryFile(suffix=".fastq").name
         cfq_out = tempfile.NamedTemporaryFile(suffix=".fastq").name
+        cset_out = tempfile.NamedTemporaryFile(suffix=".contigset.xml").name
         with open(fq_out, 'w') as fqh:
             with open(fn, 'r') as fih:
                 for line in itertools.islice(fih, 240):
@@ -685,7 +665,7 @@ class TestDataSet(unittest.TestCase):
         cfq = FastqReader(cfq_out)
         self.assertEqual(cset_l, 23)
         self.assertEqual(cset_l, sum(1 for _ in cfq))
-
+        cset.write(cset_out)
 
     @unittest.skipIf(not _internal_data(),
                      "Internal data not found, skipping")
@@ -1076,3 +1056,17 @@ class TestDataSet(unittest.TestCase):
             str(cm.exception),
             ( "Companion FASTA index (.fai) file not found or malformatted! "
              "Use 'samtools faidx' to generate FASTA index."))
+
+    def test_subreads_parent_dataset(self):
+        ds1 = SubreadSet(data.getXml(no=5), skipMissing=True)
+        self.assertEqual(ds1.metadata.provenance.parentDataSet.uniqueId,
+                         "f81cf391-b3da-41f8-84cb-a0de71f460f4")
+        ds2 = SubreadSet(ds1.externalResources[0].bam, skipMissing=True)
+        self.assertEqual(ds2.metadata.provenance.parentDataSet.uniqueId, None)
+        ds2.metadata.addParentDataSet("f81cf391-b3da-41f8-84cb-a0de71f460f4",
+                                      "PacBio.DataSet.SubreadSet",
+                                      "timestamped_name")
+        self.assertEqual(ds2.metadata.provenance.parentDataSet.uniqueId,
+                         "f81cf391-b3da-41f8-84cb-a0de71f460f4")
+        ds_out = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
+        ds2.write(ds_out, validate=False)
diff --git a/tests/test_pbdataset_utils.py b/tests/test_pbdataset_utils.py
index e19e02c..d6fe50c 100644
--- a/tests/test_pbdataset_utils.py
+++ b/tests/test_pbdataset_utils.py
@@ -4,11 +4,8 @@ import tempfile
 import unittest
 
 from pbcore.io.dataset.DataSetMetaTypes import dsIdToSuffix
-from pbcore.io import (DataSetMetaTypes, divideKeys, keysToRanges,
+from pbcore.io import (DataSetMetaTypes, divideKeys,
                        SubreadSet, getDataSetUuid, getDataSetMetaType)
-from pbcore.io.dataset.utils import (xy_to_hn, hn_to_xy, sampleHolesUniformly,
-                                     sampleUniformly, quadratic_expand,
-                                     prodround)
 
 import pbcore.data as upstreamdata
 
@@ -16,76 +13,14 @@ from utils import _pbtestdata, _check_constools, _internal_data
 
 log = logging.getLogger(__name__)
 
+def keysToRanges(keys):
+    key_ranges = [[min(k), max(k)] for k in keys]
+    return key_ranges
+
 class TestDataSetUtils(unittest.TestCase):
     """Unit and integrationt tests for the DataSet class and \
     associated module functions"""
 
-    def test_hn_xy_converters(self):
-        for x in range(64, 1024, 10):
-            for y in range(64, 1144, 10):
-                hn = xy_to_hn(x, y)
-                ox, oy = hn_to_xy(hn)
-                self.assertEqual(x, ox)
-                self.assertEqual(y, oy)
-
-    def test_quadratic_expand(self):
-        i = [[0, 1, 2]]
-        e = [[0], [1], [2]]
-        o = quadratic_expand(i)
-        self.assertEqual(e, o)
-
-        i = [[0, 1, 2], [3, 4, 5]]
-        e = [[0, 3], [1, 3], [2, 3],
-             [0, 4], [1, 4], [2, 4],
-             [0, 5], [1, 5], [2, 5]]
-        o = quadratic_expand(i)
-        self.assertEqual(e, o)
-
-    def test_prodround(self):
-        i = [1.1, 2.5, 3.8]
-        e = [1, 2, 4]
-        o = prodround(i, 8)
-        self.assertEqual(e, o)
-        e = [1, 3, 3]
-        o = prodround(i, 9)
-        self.assertEqual(e, o)
-        e = [1, 3, 4]
-        o = prodround(i, 12)
-        self.assertEqual(e, o)
-
-    def test_sampleUniformly(self):
-        hns = sampleUniformly(4, [(0, 1), (0, 1)])
-        self.assertEqual(hns, [[0, 0], [1, 0], [0, 1], [1, 1]])
-
-        hns = sampleUniformly(4, [(0, 4), (0, 4)])
-        self.assertEqual(hns, [[1, 1], [3, 1], [1, 3], [3, 3]])
-
-        hns = sampleUniformly(4, [(0, 4), (0, 8)])
-        self.assertEqual(hns, [[1, 3], [3, 3], [1, 5], [3, 5]])
-
-        hns = sampleUniformly(3, [(0, 4), (0, 8)])
-        self.assertEqual(hns, [[2, 2], [2, 4], [2, 6]])
-
-    def test_sampleHolesUniformly(self):
-        ncols = 1144
-        nrows = 1024
-        bounds = [(64, ncols), (64, nrows)]
-        expected = [xy_to_hn(x, y) for x,y in sampleUniformly(100, bounds)]
-        all_xy = quadratic_expand([range(64, ncols), range(64, nrows)])
-        all_holes = [xy_to_hn(x, y) for x, y in all_xy]
-        samples = sampleHolesUniformly(100, all_holes)
-        self.assertEqual(expected, samples)
-
-    @unittest.skipIf(not _internal_data(),
-                     "Internal data not available")
-    def test_sampleHolesUniformly_realdata(self):
-        path = ('/pbi/dept/secondary/siv/testdata/SA3-Sequel/'
-                'lambda/315/3150128/r54008_20160308_001811/'
-                '2_B01/m54008_160308_053311.subreads.bam')
-        ds = SubreadSet(path, strict=True)
-        samples = sampleHolesUniformly(100, ds.index.holeNumber)
-        self.assertEqual(len(samples), 100)
-
     def test_get_dataset_uuid(self):
         ds = SubreadSet(upstreamdata.getUnalignedBam(), strict=True)
         ds_file = tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name
diff --git a/tests/utils.py b/tests/utils.py
index 4b0d2da..6c76eb9 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -2,7 +2,7 @@
 import logging
 import os
 from pbcore.util.Process import backticks
-from pbcore.io.dataset.utils import BamtoolsVersion
+from pbcore.io.dataset.utils import which
 
 log = logging.getLogger(__name__)
 
@@ -14,25 +14,7 @@ def _pbtestdata():
         return False
 
 def _check_constools():
-    if not BamtoolsVersion().good:
-        log.warn("Bamtools not found or out of date")
-        return False
-
-    cmd = "pbindex"
-    o, r, m = backticks(cmd)
-    if r != 1:
-        return False
-
-    cmd = "samtools"
-    o, r, m = backticks(cmd)
-    if r != 1:
-        return False
-
-    cmd = "pbmerge"
-    o, r, m = backticks(cmd)
-    if r != 1:
-        return False
-    return True
+    return which('pbindex') and which('samtools') and which('pbmerge')
 
 def _internal_data():
     if os.path.exists("/pbi/dept/secondary/siv/testdata"):

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/python-pbcore.git



More information about the debian-med-commit mailing list